diff --git a/third_party/googleapis/google/ads/googleads/v14/BUILD.bazel b/third_party/googleapis/google/ads/googleads/v14/BUILD.bazel new file mode 100644 index 000000000..6f4bfa272 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/BUILD.bazel @@ -0,0 +1,275 @@ +# 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/v14/common:common_proto", + "//google/ads/googleads/v14/enums:enums_proto", + "//google/ads/googleads/v14/errors:errors_proto", + "//google/ads/googleads/v14/resources:resources_proto", + "//google/ads/googleads/v14/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_v14.yaml", + deps = [ + "//google/ads/googleads/v14/common:common_java_proto", + "//google/ads/googleads/v14/enums:enums_java_proto", + "//google/ads/googleads/v14/resources:resources_java_proto", + "//google/ads/googleads/v14/services:services_java_grpc", + "//google/ads/googleads/v14/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.v14.services.CampaignServiceClientTest", + ], + runtime_deps = [":googleads_java_gapic_test"], +) + +java_gapic_assembly_gradle_pkg( + name = "googleads-java", + deps = [ + ":googleads_java_gapic", + "//google/ads/googleads/v14:googleads_proto", + "//google/ads/googleads/v14/common:common_java_proto", + "//google/ads/googleads/v14/enums:enums_java_proto", + "//google/ads/googleads/v14/errors:errors_java_proto", + "//google/ads/googleads/v14/resources:resources_java_proto", + "//google/ads/googleads/v14/services:services_java_grpc", + "//google/ads/googleads/v14/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_v14.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", +<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v11/BUILD.bazel + service_yaml = "googleads_v11.yaml", +======= + service_yaml = "googleads_v14.yaml", +>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/BUILD.bazel + deps = [ + "//google/ads/googleads/v14/services:services_csharp_grpc", + ], +) + +csharp_gapic_assembly_pkg( + name = "googleads-csharp", + deps = [ + ":googleads_csharp_gapic", + "//google/ads/googleads/v14/common:common_csharp_proto", + "//google/ads/googleads/v14/enums:enums_csharp_proto", + "//google/ads/googleads/v14/errors:errors_csharp_proto", + "//google/ads/googleads/v14/resources:resources_csharp_proto", + "//google/ads/googleads/v14/services:services_csharp_grpc", + "//google/ads/googleads/v14/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", +<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v11/BUILD.bazel + service_yaml = "googleads_v11.yaml", +======= + service_yaml = "googleads_v14.yaml", +>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/BUILD.bazel +) + +ruby_gapic_assembly_pkg( + name = "googleads-ruby", + deps = [ + ":googleads_ruby_gapic", + "//google/ads/googleads/v14/common:common_ruby_proto", + "//google/ads/googleads/v14/enums:enums_ruby_proto", + "//google/ads/googleads/v14/errors:errors_ruby_proto", + "//google/ads/googleads/v14/resources:resources_ruby_proto", + "//google/ads/googleads/v14/services:services_ruby_grpc", + "//google/ads/googleads/v14/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_v14.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", + ], + service_yaml = "googleads_v11.yaml", +) + +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.v14", + service_yaml = "googleads_v14.yaml", + deps = [], +) + +nodejs_gapic_assembly_pkg( + name = "googleads-nodejs", + deps = [ + ":googleads_nodejs_gapic", + ":googleads_proto", + ], +) diff --git a/third_party/googleapis/google/ads/googleads/v14/common/BUILD.bazel b/third_party/googleapis/google/ads/googleads/v14/common/BUILD.bazel new file mode 100644 index 000000000..6429d5352 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/common/BUILD.bazel @@ -0,0 +1,98 @@ +# 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 = [ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/BUILD.bazel + "//google/ads/googleads/v12/enums:enums_proto", +======== + "//google/ads/googleads/v14/enums:enums_proto", +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/BUILD.bazel + "//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/v14/common/ad_asset.proto b/third_party/googleapis/google/ads/googleads/v14/common/ad_asset.proto new file mode 100644 index 000000000..4d864f5ac --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/common/ad_asset.proto @@ -0,0 +1,114 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/ad_asset.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/ad_asset.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/ad_asset.proto +package google.ads.googleads.v13.common; + +import "google/ads/googleads/v13/common/asset_policy.proto"; +import "google/ads/googleads/v13/enums/asset_performance_label.proto"; +import "google/ads/googleads/v13/enums/served_asset_field_type.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/common;common"; +option java_multiple_files = true; +option java_outer_classname = "AdAssetProto"; +option java_package = "com.google.ads.googleads.v13.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V13::Common"; +======== +package google.ads.googleads.v14.common; + +import "google/ads/googleads/v14/common/asset_policy.proto"; +import "google/ads/googleads/v14/enums/asset_performance_label.proto"; +import "google/ads/googleads/v14/enums/served_asset_field_type.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/common;common"; +option java_multiple_files = true; +option java_outer_classname = "AdAssetProto"; +option java_package = "com.google.ads.googleads.v14.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V14::Common"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/ad_asset.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/ad_asset.proto + google.ads.googleads.v13.enums.ServedAssetFieldTypeEnum.ServedAssetFieldType + pinned_field = 2; + + // The performance label of this text asset. + google.ads.googleads.v13.enums.AssetPerformanceLabelEnum.AssetPerformanceLabel +======== + google.ads.googleads.v14.enums.ServedAssetFieldTypeEnum.ServedAssetFieldType + pinned_field = 2; + + // The performance label of this text asset. + google.ads.googleads.v14.enums.AssetPerformanceLabelEnum.AssetPerformanceLabel +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/ad_asset.proto + 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; +} +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/ad_asset.proto +======== + +// 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; +} +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/ad_asset.proto diff --git a/third_party/googleapis/google/ads/googleads/v14/common/ad_type_infos.proto b/third_party/googleapis/google/ads/googleads/v14/common/ad_type_infos.proto new file mode 100644 index 000000000..990a2856d --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/common/ad_type_infos.proto @@ -0,0 +1,804 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/ad_type_infos.proto +package google.ads.googleads.v12.common; + +import "google/ads/googleads/v12/common/ad_asset.proto"; +import "google/ads/googleads/v12/enums/call_conversion_reporting_state.proto"; +import "google/ads/googleads/v12/enums/display_ad_format_setting.proto"; +import "google/ads/googleads/v12/enums/display_upload_product_type.proto"; +import "google/ads/googleads/v12/enums/legacy_app_install_ad_app_store.proto"; +import "google/ads/googleads/v12/enums/mime_type.proto"; +import "google/ads/googleads/v12/enums/video_thumbnail.proto"; +import "google/api/field_behavior.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/common;common"; +option java_multiple_files = true; +option java_outer_classname = "AdTypeInfosProto"; +option java_package = "com.google.ads.googleads.v12.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V12::Common"; +======== +package google.ads.googleads.v14.common; + +import "google/ads/googleads/v14/common/ad_asset.proto"; +import "google/ads/googleads/v14/enums/call_conversion_reporting_state.proto"; +import "google/ads/googleads/v14/enums/display_ad_format_setting.proto"; +import "google/ads/googleads/v14/enums/display_upload_product_type.proto"; +import "google/ads/googleads/v14/enums/legacy_app_install_ad_app_store.proto"; +import "google/ads/googleads/v14/enums/mime_type.proto"; +import "google/ads/googleads/v14/enums/video_thumbnail.proto"; +import "google/api/field_behavior.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/common;common"; +option java_multiple_files = true; +option java_outer_classname = "AdTypeInfosProto"; +option java_package = "com.google.ads.googleads.v14.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V14::Common"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/ad_type_infos.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/ad_type_infos.proto + google.ads.googleads.v12.enums.MimeTypeEnum.MimeType mime_type = 10; +======== + google.ads.googleads.v14.enums.MimeTypeEnum.MimeType mime_type = 10; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/ad_type_infos.proto + + // 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 MediaFile resource to use for the image. + string media_file = 12; + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/ad_type_infos.proto + google.ads.googleads.v12.enums.VideoThumbnailEnum.VideoThumbnail thumbnail = 4; +======== + google.ads.googleads.v14.enums.VideoThumbnailEnum.VideoThumbnail thumbnail = + 4; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/ad_type_infos.proto +} + +// 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, for example, the "Call To + // Action" banner. 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/ad_type_infos.proto + google.ads.googleads.v12.enums.DisplayAdFormatSettingEnum.DisplayAdFormatSetting format_setting = 13; +======== + google.ads.googleads.v14.enums.DisplayAdFormatSettingEnum + .DisplayAdFormatSetting format_setting = 13; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/ad_type_infos.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/ad_type_infos.proto + google.ads.googleads.v12.enums.LegacyAppInstallAdAppStoreEnum.LegacyAppInstallAdAppStore app_store = 2; +======== + google.ads.googleads.v14.enums.LegacyAppInstallAdAppStoreEnum + .LegacyAppInstallAdAppStore app_store = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/ad_type_infos.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/ad_type_infos.proto + google.ads.googleads.v12.enums.DisplayAdFormatSettingEnum.DisplayAdFormatSetting format_setting = 16; +======== + google.ads.googleads.v14.enums.DisplayAdFormatSettingEnum + .DisplayAdFormatSetting format_setting = 16; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/ad_type_infos.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/ad_type_infos.proto + google.ads.googleads.v12.enums.DisplayUploadProductTypeEnum.DisplayUploadProductType display_upload_product_type = 1; +======== + google.ads.googleads.v14.enums.DisplayUploadProductTypeEnum + .DisplayUploadProductType display_upload_product_type = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/ad_type_infos.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/ad_type_infos.proto + google.ads.googleads.v12.enums.CallConversionReportingStateEnum.CallConversionReportingState conversion_reporting_state = 10; +======== + google.ads.googleads.v14.enums.CallConversionReportingStateEnum + .CallConversionReportingState conversion_reporting_state = 10; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/ad_type_infos.proto + + // 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, for example, the "Call To + // Action" banner. + 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; +} diff --git a/third_party/googleapis/google/ads/googleads/v14/common/asset_policy.proto b/third_party/googleapis/google/ads/googleads/v14/common/asset_policy.proto new file mode 100644 index 000000000..8c36ab233 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/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.v14.common; + +import "google/ads/googleads/v14/common/policy.proto"; +import "google/ads/googleads/v14/enums/asset_link_primary_status.proto"; +import "google/ads/googleads/v14/enums/asset_link_primary_status_reason.proto"; +import "google/ads/googleads/v14/enums/asset_offline_evaluation_error_reasons.proto"; +import "google/ads/googleads/v14/enums/policy_approval_status.proto"; +import "google/ads/googleads/v14/enums/policy_review_status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/common;common"; +option java_multiple_files = true; +option java_outer_classname = "AssetPolicyProto"; +option java_package = "com.google.ads.googleads.v14.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V14::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.v14.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.v14.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.v14.enums.AssetLinkPrimaryStatusReasonEnum + .AssetLinkPrimaryStatusReason reason = 1; + + // Provides the PrimaryStatus of this status detail. + optional google.ads.googleads.v14.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.v14.enums.AssetOfflineEvaluationErrorReasonsEnum + .AssetOfflineEvaluationErrorReasons offline_evaluation_error_reasons = 1; +} diff --git a/third_party/googleapis/google/ads/googleads/v14/common/asset_set_types.proto b/third_party/googleapis/google/ads/googleads/v14/common/asset_set_types.proto new file mode 100644 index 000000000..7cfcf0bb1 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/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.v14.common; + +import "google/ads/googleads/v14/enums/chain_relationship_type.proto"; +import "google/ads/googleads/v14/enums/location_ownership_type.proto"; +import "google/ads/googleads/v14/enums/location_string_filter_type.proto"; +import "google/api/field_behavior.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/common;common"; +option java_multiple_files = true; +option java_outer_classname = "AssetSetTypesProto"; +option java_package = "com.google.ads.googleads.v14.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V14::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.v14.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.v14.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.v14.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/v14/common/asset_types.proto b/third_party/googleapis/google/ads/googleads/v14/common/asset_types.proto new file mode 100644 index 000000000..442de2ba0 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/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.v14.common; + +import "google/ads/googleads/v14/common/criteria.proto"; +import "google/ads/googleads/v14/common/feed_common.proto"; +import "google/ads/googleads/v14/enums/call_conversion_reporting_state.proto"; +import "google/ads/googleads/v14/enums/call_to_action_type.proto"; +import "google/ads/googleads/v14/enums/lead_form_call_to_action_type.proto"; +import "google/ads/googleads/v14/enums/lead_form_desired_intent.proto"; +import "google/ads/googleads/v14/enums/lead_form_field_user_input_type.proto"; +import "google/ads/googleads/v14/enums/lead_form_post_submit_call_to_action_type.proto"; +import "google/ads/googleads/v14/enums/location_ownership_type.proto"; +import "google/ads/googleads/v14/enums/mime_type.proto"; +import "google/ads/googleads/v14/enums/mobile_app_vendor.proto"; +import "google/ads/googleads/v14/enums/price_extension_price_qualifier.proto"; +import "google/ads/googleads/v14/enums/price_extension_price_unit.proto"; +import "google/ads/googleads/v14/enums/price_extension_type.proto"; +import "google/ads/googleads/v14/enums/promotion_extension_discount_modifier.proto"; +import "google/ads/googleads/v14/enums/promotion_extension_occasion.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/common;common"; +option java_multiple_files = true; +option java_outer_classname = "AssetTypesProto"; +option java_package = "com.google.ads.googleads.v14.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V14::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.v14.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.v14.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.v14.enums.LeadFormPostSubmitCallToActionTypeEnum + .LeadFormPostSubmitCallToActionType post_submit_call_to_action_type = 19; + + // Asset resource name of the background image. The minimum size is 600x314 + // and the aspect ratio must be 1.91:1 (+-1%). + optional string background_image_asset = 20; + + // Chosen intent for the lead form, for example, more volume or more + // qualified. + google.ads.googleads.v14.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.v14.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.v14.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.v14.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.v14.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.v14.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.v14.enums.PriceExtensionTypeEnum.PriceExtensionType + type = 1 [(google.api.field_behavior) = REQUIRED]; + + // The price qualifier of the price asset. + google.ads.googleads.v14.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.v14.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.v14.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.v14.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/v14/common/asset_usage.proto b/third_party/googleapis/google/ads/googleads/v14/common/asset_usage.proto new file mode 100644 index 000000000..125b959b7 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/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.v14.common; + +import "google/ads/googleads/v14/enums/served_asset_field_type.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/common;common"; +option java_multiple_files = true; +option java_outer_classname = "AssetUsageProto"; +option java_package = "com.google.ads.googleads.v14.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V14::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.v14.enums.ServedAssetFieldTypeEnum.ServedAssetFieldType + served_asset_field_type = 2; +} diff --git a/third_party/googleapis/google/ads/googleads/v14/common/audiences.proto b/third_party/googleapis/google/ads/googleads/v14/common/audiences.proto new file mode 100644 index 000000000..2b315299c --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/common/audiences.proto @@ -0,0 +1,179 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.ads.googleads.v14.common; + +import "google/ads/googleads/v14/enums/gender_type.proto"; +import "google/ads/googleads/v14/enums/income_range_type.proto"; +import "google/ads/googleads/v14/enums/parental_status_type.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/common;common"; +option java_multiple_files = true; +option java_outer_classname = "AudiencesProto"; +option java_package = "com.google.ads.googleads.v14.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V14::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.v14.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.v14.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.v14.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; +} + +// Detailed demographic segment. +message DetailedDemographicSegment { + // The detailed demographic resource. + optional string detailed_demographic = 1; +} + +// Custom audience segment. +message CustomAudienceSegment { + // The custom audience resource. + optional string custom_audience = 1; +} diff --git a/third_party/googleapis/google/ads/googleads/v14/common/bidding.proto b/third_party/googleapis/google/ads/googleads/v14/common/bidding.proto new file mode 100644 index 000000000..ace1448e6 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/common/bidding.proto @@ -0,0 +1,246 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/bidding.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/bidding.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/bidding.proto +package google.ads.googleads.v13.common; + +import "google/ads/googleads/v13/enums/target_frequency_time_unit.proto"; +import "google/ads/googleads/v13/enums/target_impression_share_location.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/common;common"; +option java_multiple_files = true; +option java_outer_classname = "BiddingProto"; +option java_package = "com.google.ads.googleads.v13.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V13::Common"; +======== +package google.ads.googleads.v14.common; + +import "google/ads/googleads/v14/enums/target_frequency_time_unit.proto"; +import "google/ads/googleads/v14/enums/target_impression_share_location.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/common;common"; +option java_multiple_files = true; +option java_outer_classname = "BiddingProto"; +option java_package = "com.google.ads.googleads.v14.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V14::Common"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/bidding.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/bidding.proto + google.ads.googleads.v13.enums.TargetFrequencyTimeUnitEnum +======== + google.ads.googleads.v14.enums.TargetFrequencyTimeUnitEnum +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/bidding.proto + .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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/bidding.proto + google.ads.googleads.v13.enums.TargetImpressionShareLocationEnum +======== + google.ads.googleads.v14.enums.TargetImpressionShareLocationEnum +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/bidding.proto + .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/v14/common/click_location.proto b/third_party/googleapis/google/ads/googleads/v14/common/click_location.proto new file mode 100644 index 000000000..cf4a96186 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/common/click_location.proto @@ -0,0 +1,63 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/click_location.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/click_location.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/click_location.proto +package google.ads.googleads.v12.common; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/common;common"; +option java_multiple_files = true; +option java_outer_classname = "ClickLocationProto"; +option java_package = "com.google.ads.googleads.v12.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V12::Common"; +======== +package google.ads.googleads.v14.common; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/common;common"; +option java_multiple_files = true; +option java_outer_classname = "ClickLocationProto"; +option java_package = "com.google.ads.googleads.v14.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V14::Common"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/click_location.proto + +// 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/v14/common/criteria.proto b/third_party/googleapis/google/ads/googleads/v14/common/criteria.proto new file mode 100644 index 000000000..ee32f6203 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/common/criteria.proto @@ -0,0 +1,920 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/criteria.proto +package google.ads.googleads.v12.common; + +import "google/ads/googleads/v12/enums/age_range_type.proto"; +import "google/ads/googleads/v12/enums/app_payment_model_type.proto"; +import "google/ads/googleads/v12/enums/content_label_type.proto"; +import "google/ads/googleads/v12/enums/day_of_week.proto"; +import "google/ads/googleads/v12/enums/device.proto"; +import "google/ads/googleads/v12/enums/gender_type.proto"; +import "google/ads/googleads/v12/enums/hotel_date_selection_type.proto"; +import "google/ads/googleads/v12/enums/income_range_type.proto"; +import "google/ads/googleads/v12/enums/interaction_type.proto"; +import "google/ads/googleads/v12/enums/keyword_match_type.proto"; +import "google/ads/googleads/v12/enums/listing_group_type.proto"; +import "google/ads/googleads/v12/enums/location_group_radius_units.proto"; +import "google/ads/googleads/v12/enums/minute_of_hour.proto"; +import "google/ads/googleads/v12/enums/parental_status_type.proto"; +import "google/ads/googleads/v12/enums/preferred_content_type.proto"; +import "google/ads/googleads/v12/enums/product_bidding_category_level.proto"; +import "google/ads/googleads/v12/enums/product_channel.proto"; +import "google/ads/googleads/v12/enums/product_channel_exclusivity.proto"; +import "google/ads/googleads/v12/enums/product_condition.proto"; +import "google/ads/googleads/v12/enums/product_custom_attribute_index.proto"; +import "google/ads/googleads/v12/enums/product_type_level.proto"; +import "google/ads/googleads/v12/enums/proximity_radius_units.proto"; +import "google/ads/googleads/v12/enums/webpage_condition_operand.proto"; +import "google/ads/googleads/v12/enums/webpage_condition_operator.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/common;common"; +option java_multiple_files = true; +option java_outer_classname = "CriteriaProto"; +option java_package = "com.google.ads.googleads.v12.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V12::Common"; +======== +package google.ads.googleads.v14.common; + +import "google/ads/googleads/v14/enums/age_range_type.proto"; +import "google/ads/googleads/v14/enums/app_payment_model_type.proto"; +import "google/ads/googleads/v14/enums/content_label_type.proto"; +import "google/ads/googleads/v14/enums/day_of_week.proto"; +import "google/ads/googleads/v14/enums/device.proto"; +import "google/ads/googleads/v14/enums/gender_type.proto"; +import "google/ads/googleads/v14/enums/hotel_date_selection_type.proto"; +import "google/ads/googleads/v14/enums/income_range_type.proto"; +import "google/ads/googleads/v14/enums/interaction_type.proto"; +import "google/ads/googleads/v14/enums/keyword_match_type.proto"; +import "google/ads/googleads/v14/enums/listing_group_type.proto"; +import "google/ads/googleads/v14/enums/location_group_radius_units.proto"; +import "google/ads/googleads/v14/enums/minute_of_hour.proto"; +import "google/ads/googleads/v14/enums/parental_status_type.proto"; +import "google/ads/googleads/v14/enums/product_bidding_category_level.proto"; +import "google/ads/googleads/v14/enums/product_channel.proto"; +import "google/ads/googleads/v14/enums/product_channel_exclusivity.proto"; +import "google/ads/googleads/v14/enums/product_condition.proto"; +import "google/ads/googleads/v14/enums/product_custom_attribute_index.proto"; +import "google/ads/googleads/v14/enums/product_type_level.proto"; +import "google/ads/googleads/v14/enums/proximity_radius_units.proto"; +import "google/ads/googleads/v14/enums/webpage_condition_operand.proto"; +import "google/ads/googleads/v14/enums/webpage_condition_operator.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/common;common"; +option java_multiple_files = true; +option java_outer_classname = "CriteriaProto"; +option java_package = "com.google.ads.googleads.v14.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V14::Common"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/criteria.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/criteria.proto + google.ads.googleads.v12.enums.KeywordMatchTypeEnum.KeywordMatchType match_type = 2; +======== + google.ads.googleads.v14.enums.KeywordMatchTypeEnum.KeywordMatchType + match_type = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/criteria.proto +} + +// 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; +} + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/criteria.proto + google.ads.googleads.v12.enums.DeviceEnum.Device type = 1; +} + +// A preferred content criterion. +message PreferredContentInfo { + // Type of the preferred content. + google.ads.googleads.v12.enums.PreferredContentTypeEnum.PreferredContentType type = 2; +======== + google.ads.googleads.v14.enums.DeviceEnum.Device type = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/criteria.proto +} + +// A listing group criterion. +message ListingGroupInfo { + // Type of the listing group. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/criteria.proto + google.ads.googleads.v12.enums.ListingGroupTypeEnum.ListingGroupType type = 1; +======== + google.ads.googleads.v14.enums.ListingGroupTypeEnum.ListingGroupType type = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/criteria.proto + + // 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; + + // Bidding category of a product offer. + ProductBiddingCategoryInfo product_bidding_category = 13; + + // 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; + + // Country the activity is in. + ActivityCountryInfo activity_country = 23; + + // 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; +} + +// Bidding category of a product offer. +message ProductBiddingCategoryInfo { + // ID of the product bidding 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 id = 4; + + // Level of the product bidding category. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/criteria.proto + google.ads.googleads.v12.enums.ProductBiddingCategoryLevelEnum.ProductBiddingCategoryLevel level = 3; +======== + google.ads.googleads.v14.enums.ProductBiddingCategoryLevelEnum + .ProductBiddingCategoryLevel level = 3; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/criteria.proto +} + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/criteria.proto + google.ads.googleads.v12.enums.ProductChannelEnum.ProductChannel channel = 1; +======== + google.ads.googleads.v14.enums.ProductChannelEnum.ProductChannel channel = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/criteria.proto +} + +// Availability of a product offer. +message ProductChannelExclusivityInfo { + // Value of the availability. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/criteria.proto + google.ads.googleads.v12.enums.ProductChannelExclusivityEnum.ProductChannelExclusivity channel_exclusivity = 1; +======== + google.ads.googleads.v14.enums.ProductChannelExclusivityEnum + .ProductChannelExclusivity channel_exclusivity = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/criteria.proto +} + +// Condition of a product offer. +message ProductConditionInfo { + // Value of the condition. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/criteria.proto + google.ads.googleads.v12.enums.ProductConditionEnum.ProductCondition condition = 1; +======== + google.ads.googleads.v14.enums.ProductConditionEnum.ProductCondition + condition = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/criteria.proto +} + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/criteria.proto + google.ads.googleads.v12.enums.ProductCustomAttributeIndexEnum.ProductCustomAttributeIndex index = 2; +======== + google.ads.googleads.v14.enums.ProductCustomAttributeIndexEnum + .ProductCustomAttributeIndex index = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/criteria.proto +} + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/criteria.proto + google.ads.googleads.v12.enums.ProductTypeLevelEnum.ProductTypeLevel level = 2; +======== + google.ads.googleads.v14.enums.ProductTypeLevelEnum.ProductTypeLevel level = + 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/criteria.proto +} + +// 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 {} + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/criteria.proto +} + +// Criterion for hotel date selection (default dates versus user selected). +message HotelDateSelectionTypeInfo { + // Type of the hotel date selection + google.ads.googleads.v12.enums.HotelDateSelectionTypeEnum.HotelDateSelectionType type = 1; +======== +// Criterion for hotel date selection (default dates versus user selected). +message HotelDateSelectionTypeInfo { + // Type of the hotel date selection + google.ads.googleads.v14.enums.HotelDateSelectionTypeEnum + .HotelDateSelectionType type = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/criteria.proto +} + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/criteria.proto + google.ads.googleads.v12.enums.DayOfWeekEnum.DayOfWeek day_of_week = 1; +======== + google.ads.googleads.v14.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; +} + +// Country the activity is in. +message ActivityCountryInfo { + // String value of the activity country. The Geo Target Constant resource + // name. + optional string value = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/criteria.proto +} + +// Criterion for Interaction Type. +message InteractionTypeInfo { + // The interaction type. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/criteria.proto + google.ads.googleads.v12.enums.InteractionTypeEnum.InteractionType type = 1; +======== + google.ads.googleads.v14.enums.InteractionTypeEnum.InteractionType type = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/criteria.proto +} + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/criteria.proto + google.ads.googleads.v12.enums.MinuteOfHourEnum.MinuteOfHour start_minute = 1; +======== + google.ads.googleads.v14.enums.MinuteOfHourEnum.MinuteOfHour start_minute = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/criteria.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/criteria.proto + google.ads.googleads.v12.enums.MinuteOfHourEnum.MinuteOfHour end_minute = 2; +======== + google.ads.googleads.v14.enums.MinuteOfHourEnum.MinuteOfHour end_minute = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/criteria.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/criteria.proto + google.ads.googleads.v12.enums.DayOfWeekEnum.DayOfWeek day_of_week = 5; +======== + google.ads.googleads.v14.enums.DayOfWeekEnum.DayOfWeek day_of_week = 5; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/criteria.proto +} + +// An age range criterion. +message AgeRangeInfo { + // Type of the age range. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/criteria.proto + google.ads.googleads.v12.enums.AgeRangeTypeEnum.AgeRangeType type = 1; +======== + google.ads.googleads.v14.enums.AgeRangeTypeEnum.AgeRangeType type = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/criteria.proto +} + +// A gender criterion. +message GenderInfo { + // Type of the gender. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/criteria.proto + google.ads.googleads.v12.enums.GenderTypeEnum.GenderType type = 1; +======== + google.ads.googleads.v14.enums.GenderTypeEnum.GenderType type = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/criteria.proto +} + +// An income range criterion. +message IncomeRangeInfo { + // Type of the income range. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/criteria.proto + google.ads.googleads.v12.enums.IncomeRangeTypeEnum.IncomeRangeType type = 1; +======== + google.ads.googleads.v14.enums.IncomeRangeTypeEnum.IncomeRangeType type = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/criteria.proto +} + +// A parental status criterion. +message ParentalStatusInfo { + // Type of the parental status. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/criteria.proto + google.ads.googleads.v12.enums.ParentalStatusTypeEnum.ParentalStatusType type = 1; +======== + google.ads.googleads.v14.enums.ParentalStatusTypeEnum.ParentalStatusType + type = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/criteria.proto +} + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/criteria.proto + google.ads.googleads.v12.enums.ProximityRadiusUnitsEnum.ProximityRadiusUnits radius_units = 3; +======== + google.ads.googleads.v14.enums.ProximityRadiusUnitsEnum.ProximityRadiusUnits + radius_units = 3; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/criteria.proto + + // 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; + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/criteria.proto + google.ads.googleads.v12.enums.ContentLabelTypeEnum.ContentLabelType type = 1; +======== + google.ads.googleads.v14.enums.ContentLabelTypeEnum.ContentLabelType type = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/criteria.proto +} + +// Represents a Carrier Criterion. +message CarrierInfo { + // The Carrier constant resource name. + optional string carrier_constant = 2; +} + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/criteria.proto + google.ads.googleads.v12.enums.WebpageConditionOperandEnum.WebpageConditionOperand operand = 1; + + // Operator of webpage targeting condition. + google.ads.googleads.v12.enums.WebpageConditionOperatorEnum.WebpageConditionOperator operator = 2; +======== + google.ads.googleads.v14.enums.WebpageConditionOperandEnum + .WebpageConditionOperand operand = 1; + + // Operator of webpage targeting condition. + google.ads.googleads.v14.enums.WebpageConditionOperatorEnum + .WebpageConditionOperator + operator = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/criteria.proto + + // 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; +} + +// An app payment model criterion. +message AppPaymentModelInfo { + // Type of the app payment model. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/criteria.proto + google.ads.googleads.v12.enums.AppPaymentModelTypeEnum.AppPaymentModelType type = 1; +======== + google.ads.googleads.v14.enums.AppPaymentModelTypeEnum.AppPaymentModelType + type = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/criteria.proto +} + +// A mobile device criterion. +message MobileDeviceInfo { + // The mobile device constant resource name. + optional string mobile_device_constant = 2; +} + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/criteria.proto + google.ads.googleads.v12.enums.LocationGroupRadiusUnitsEnum.LocationGroupRadiusUnits radius_units = 4; +======== + google.ads.googleads.v14.enums.LocationGroupRadiusUnitsEnum + .LocationGroupRadiusUnits radius_units = 4; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/criteria.proto + + // 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; +} + +// 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; + + // 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; +} diff --git a/third_party/googleapis/google/ads/googleads/v14/common/criterion_category_availability.proto b/third_party/googleapis/google/ads/googleads/v14/common/criterion_category_availability.proto new file mode 100644 index 000000000..404557344 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/common/criterion_category_availability.proto @@ -0,0 +1,123 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/criterion_category_availability.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/criterion_category_availability.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/criterion_category_availability.proto +package google.ads.googleads.v13.common; + +import "google/ads/googleads/v13/enums/advertising_channel_sub_type.proto"; +import "google/ads/googleads/v13/enums/advertising_channel_type.proto"; +import "google/ads/googleads/v13/enums/criterion_category_channel_availability_mode.proto"; +import "google/ads/googleads/v13/enums/criterion_category_locale_availability_mode.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/common;common"; +option java_multiple_files = true; +option java_outer_classname = "CriterionCategoryAvailabilityProto"; +option java_package = "com.google.ads.googleads.v13.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V13::Common"; +======== +package google.ads.googleads.v14.common; + +import "google/ads/googleads/v14/enums/advertising_channel_sub_type.proto"; +import "google/ads/googleads/v14/enums/advertising_channel_type.proto"; +import "google/ads/googleads/v14/enums/criterion_category_channel_availability_mode.proto"; +import "google/ads/googleads/v14/enums/criterion_category_locale_availability_mode.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/common;common"; +option java_multiple_files = true; +option java_outer_classname = "CriterionCategoryAvailabilityProto"; +option java_package = "com.google.ads.googleads.v14.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V14::Common"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/criterion_category_availability.proto + +// 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). +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/criterion_category_availability.proto + google.ads.googleads.v13.enums.CriterionCategoryChannelAvailabilityModeEnum + .CriterionCategoryChannelAvailabilityMode availability_mode = 1; + + // Channel type the category is available to. + google.ads.googleads.v13.enums.AdvertisingChannelTypeEnum + .AdvertisingChannelType advertising_channel_type = 2; + + // Channel subtypes under the channel type the category is available to. + repeated google.ads.googleads.v13.enums.AdvertisingChannelSubTypeEnum +======== + google.ads.googleads.v14.enums.CriterionCategoryChannelAvailabilityModeEnum + .CriterionCategoryChannelAvailabilityMode availability_mode = 1; + + // Channel type the category is available to. + google.ads.googleads.v14.enums.AdvertisingChannelTypeEnum + .AdvertisingChannelType advertising_channel_type = 2; + + // Channel subtypes under the channel type the category is available to. + repeated google.ads.googleads.v14.enums.AdvertisingChannelSubTypeEnum +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/criterion_category_availability.proto + .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). +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/criterion_category_availability.proto + google.ads.googleads.v13.enums.CriterionCategoryLocaleAvailabilityModeEnum +======== + google.ads.googleads.v14.enums.CriterionCategoryLocaleAvailabilityModeEnum +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/criterion_category_availability.proto + .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/v14/common/custom_parameter.proto b/third_party/googleapis/google/ads/googleads/v14/common/custom_parameter.proto new file mode 100644 index 000000000..0b9e190bc --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/common/custom_parameter.proto @@ -0,0 +1,55 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/custom_parameter.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/custom_parameter.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/custom_parameter.proto +package google.ads.googleads.v12.common; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/common;common"; +option java_multiple_files = true; +option java_outer_classname = "CustomParameterProto"; +option java_package = "com.google.ads.googleads.v12.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V12::Common"; +======== +package google.ads.googleads.v14.common; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/common;common"; +option java_multiple_files = true; +option java_outer_classname = "CustomParameterProto"; +option java_package = "com.google.ads.googleads.v14.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V14::Common"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/custom_parameter.proto + +// 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/v14/common/customizer_value.proto b/third_party/googleapis/google/ads/googleads/v14/common/customizer_value.proto new file mode 100644 index 000000000..fe4aefcfc --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/common/customizer_value.proto @@ -0,0 +1,70 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/customizer_value.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/customizer_value.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/customizer_value.proto +package google.ads.googleads.v13.common; + +import "google/ads/googleads/v13/enums/customizer_attribute_type.proto"; +import "google/api/field_behavior.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/common;common"; +option java_multiple_files = true; +option java_outer_classname = "CustomizerValueProto"; +option java_package = "com.google.ads.googleads.v13.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V13::Common"; +======== +package google.ads.googleads.v14.common; + +import "google/ads/googleads/v14/enums/customizer_attribute_type.proto"; +import "google/api/field_behavior.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/common;common"; +option java_multiple_files = true; +option java_outer_classname = "CustomizerValueProto"; +option java_package = "com.google.ads.googleads.v14.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V14::Common"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/customizer_value.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/customizer_value.proto + google.ads.googleads.v13.enums.CustomizerAttributeTypeEnum +======== + google.ads.googleads.v14.enums.CustomizerAttributeTypeEnum +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/customizer_value.proto + .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/v14/common/dates.proto b/third_party/googleapis/google/ads/googleads/v14/common/dates.proto new file mode 100644 index 000000000..419e588fd --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/common/dates.proto @@ -0,0 +1,81 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/dates.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/dates.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/dates.proto +package google.ads.googleads.v12.common; + +import "google/ads/googleads/v12/enums/month_of_year.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/common;common"; +option java_multiple_files = true; +option java_outer_classname = "DatesProto"; +option java_package = "com.google.ads.googleads.v12.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V12::Common"; +======== +package google.ads.googleads.v14.common; + +import "google/ads/googleads/v14/enums/month_of_year.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/common;common"; +option java_multiple_files = true; +option java_outer_classname = "DatesProto"; +option java_package = "com.google.ads.googleads.v14.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V14::Common"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/dates.proto + +// 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). +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/dates.proto + google.ads.googleads.v12.enums.MonthOfYearEnum.MonthOfYear month = 2; +======== + google.ads.googleads.v14.enums.MonthOfYearEnum.MonthOfYear month = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/dates.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v14/common/extensions.proto b/third_party/googleapis/google/ads/googleads/v14/common/extensions.proto new file mode 100644 index 000000000..8c2151841 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/common/extensions.proto @@ -0,0 +1,428 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/extensions.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/extensions.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/extensions.proto +package google.ads.googleads.v13.common; + +import "google/ads/googleads/v13/common/custom_parameter.proto"; +import "google/ads/googleads/v13/common/feed_common.proto"; +import "google/ads/googleads/v13/enums/app_store.proto"; +import "google/ads/googleads/v13/enums/call_conversion_reporting_state.proto"; +import "google/ads/googleads/v13/enums/price_extension_price_qualifier.proto"; +import "google/ads/googleads/v13/enums/price_extension_price_unit.proto"; +import "google/ads/googleads/v13/enums/price_extension_type.proto"; +import "google/ads/googleads/v13/enums/promotion_extension_discount_modifier.proto"; +import "google/ads/googleads/v13/enums/promotion_extension_occasion.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/common;common"; +option java_multiple_files = true; +option java_outer_classname = "ExtensionsProto"; +option java_package = "com.google.ads.googleads.v13.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V13::Common"; +======== +package google.ads.googleads.v14.common; + +import "google/ads/googleads/v14/common/custom_parameter.proto"; +import "google/ads/googleads/v14/common/feed_common.proto"; +import "google/ads/googleads/v14/enums/app_store.proto"; +import "google/ads/googleads/v14/enums/call_conversion_reporting_state.proto"; +import "google/ads/googleads/v14/enums/price_extension_price_qualifier.proto"; +import "google/ads/googleads/v14/enums/price_extension_price_unit.proto"; +import "google/ads/googleads/v14/enums/price_extension_type.proto"; +import "google/ads/googleads/v14/enums/promotion_extension_discount_modifier.proto"; +import "google/ads/googleads/v14/enums/promotion_extension_occasion.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/common;common"; +option java_multiple_files = true; +option java_outer_classname = "ExtensionsProto"; +option java_package = "com.google.ads.googleads.v14.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V14::Common"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/extensions.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/extensions.proto + google.ads.googleads.v13.enums.AppStoreEnum.AppStore app_store = 3; +======== + google.ads.googleads.v14.enums.AppStoreEnum.AppStore app_store = 3; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/extensions.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/extensions.proto + google.ads.googleads.v13.enums.CallConversionReportingStateEnum +======== + google.ads.googleads.v14.enums.CallConversionReportingStateEnum +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/extensions.proto + .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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/extensions.proto + google.ads.googleads.v13.enums.PriceExtensionTypeEnum.PriceExtensionType + type = 1; + + // Price qualifier for all offers of this price extension. + google.ads.googleads.v13.enums.PriceExtensionPriceQualifierEnum +======== + google.ads.googleads.v14.enums.PriceExtensionTypeEnum.PriceExtensionType + type = 1; + + // Price qualifier for all offers of this price extension. + google.ads.googleads.v14.enums.PriceExtensionPriceQualifierEnum +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/extensions.proto + .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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/extensions.proto + google.ads.googleads.v13.enums.PriceExtensionPriceUnitEnum +======== + google.ads.googleads.v14.enums.PriceExtensionPriceUnitEnum +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/extensions.proto + .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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/extensions.proto + google.ads.googleads.v13.enums.PromotionExtensionDiscountModifierEnum +======== + google.ads.googleads.v14.enums.PromotionExtensionDiscountModifierEnum +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/extensions.proto + .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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/extensions.proto + google.ads.googleads.v13.enums.PromotionExtensionOccasionEnum +======== + google.ads.googleads.v14.enums.PromotionExtensionOccasionEnum +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/extensions.proto + .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/v14/common/feed_common.proto b/third_party/googleapis/google/ads/googleads/v14/common/feed_common.proto new file mode 100644 index 000000000..8d8427486 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/common/feed_common.proto @@ -0,0 +1,54 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/feed_common.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/feed_common.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/feed_common.proto +package google.ads.googleads.v12.common; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/common;common"; +option java_multiple_files = true; +option java_outer_classname = "FeedCommonProto"; +option java_package = "com.google.ads.googleads.v12.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V12::Common"; +======== +package google.ads.googleads.v14.common; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/common;common"; +option java_multiple_files = true; +option java_outer_classname = "FeedCommonProto"; +option java_package = "com.google.ads.googleads.v14.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V14::Common"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/feed_common.proto + +// 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/v14/common/feed_item_set_filter_type_infos.proto b/third_party/googleapis/google/ads/googleads/v14/common/feed_item_set_filter_type_infos.proto new file mode 100644 index 000000000..2844c2324 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/common/feed_item_set_filter_type_infos.proto @@ -0,0 +1,81 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/feed_item_set_filter_type_infos.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/feed_item_set_filter_type_infos.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/feed_item_set_filter_type_infos.proto +package google.ads.googleads.v13.common; + +import "google/ads/googleads/v13/enums/feed_item_set_string_filter_type.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/common;common"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemSetFilterTypeInfosProto"; +option java_package = "com.google.ads.googleads.v13.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V13::Common"; +======== +package google.ads.googleads.v14.common; + +import "google/ads/googleads/v14/enums/feed_item_set_string_filter_type.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/common;common"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemSetFilterTypeInfosProto"; +option java_package = "com.google.ads.googleads.v14.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V14::Common"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/feed_item_set_filter_type_infos.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/feed_item_set_filter_type_infos.proto + google.ads.googleads.v13.enums.FeedItemSetStringFilterTypeEnum +======== + google.ads.googleads.v14.enums.FeedItemSetStringFilterTypeEnum +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/feed_item_set_filter_type_infos.proto + .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/v14/common/final_app_url.proto b/third_party/googleapis/google/ads/googleads/v14/common/final_app_url.proto new file mode 100644 index 000000000..607a973ca --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/common/final_app_url.proto @@ -0,0 +1,69 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/final_app_url.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/final_app_url.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/final_app_url.proto +package google.ads.googleads.v13.common; + +import "google/ads/googleads/v13/enums/app_url_operating_system_type.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/common;common"; +option java_multiple_files = true; +option java_outer_classname = "FinalAppUrlProto"; +option java_package = "com.google.ads.googleads.v13.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V13::Common"; +======== +package google.ads.googleads.v14.common; + +import "google/ads/googleads/v14/enums/app_url_operating_system_type.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/common;common"; +option java_multiple_files = true; +option java_outer_classname = "FinalAppUrlProto"; +option java_package = "com.google.ads.googleads.v14.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V14::Common"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/final_app_url.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/final_app_url.proto + google.ads.googleads.v13.enums.AppUrlOperatingSystemTypeEnum +======== + google.ads.googleads.v14.enums.AppUrlOperatingSystemTypeEnum +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/final_app_url.proto + .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/v14/common/frequency_cap.proto b/third_party/googleapis/google/ads/googleads/v14/common/frequency_cap.proto new file mode 100644 index 000000000..e7da3c10b --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/common/frequency_cap.proto @@ -0,0 +1,96 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/frequency_cap.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/frequency_cap.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/frequency_cap.proto +package google.ads.googleads.v13.common; + +import "google/ads/googleads/v13/enums/frequency_cap_event_type.proto"; +import "google/ads/googleads/v13/enums/frequency_cap_level.proto"; +import "google/ads/googleads/v13/enums/frequency_cap_time_unit.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/common;common"; +option java_multiple_files = true; +option java_outer_classname = "FrequencyCapProto"; +option java_package = "com.google.ads.googleads.v13.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V13::Common"; +======== +package google.ads.googleads.v14.common; + +import "google/ads/googleads/v14/enums/frequency_cap_event_type.proto"; +import "google/ads/googleads/v14/enums/frequency_cap_level.proto"; +import "google/ads/googleads/v14/enums/frequency_cap_time_unit.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/common;common"; +option java_multiple_files = true; +option java_outer_classname = "FrequencyCapProto"; +option java_package = "com.google.ads.googleads.v14.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V14::Common"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/frequency_cap.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/frequency_cap.proto + google.ads.googleads.v13.enums.FrequencyCapLevelEnum.FrequencyCapLevel level = + 1; + + // The type of event that the cap applies to (for example, impression). + google.ads.googleads.v13.enums.FrequencyCapEventTypeEnum.FrequencyCapEventType + event_type = 3; + + // Unit of time the cap is defined at (for example, day, week). + google.ads.googleads.v13.enums.FrequencyCapTimeUnitEnum.FrequencyCapTimeUnit +======== + google.ads.googleads.v14.enums.FrequencyCapLevelEnum.FrequencyCapLevel level = + 1; + + // The type of event that the cap applies to (for example, impression). + google.ads.googleads.v14.enums.FrequencyCapEventTypeEnum.FrequencyCapEventType + event_type = 3; + + // Unit of time the cap is defined at (for example, day, week). + google.ads.googleads.v14.enums.FrequencyCapTimeUnitEnum.FrequencyCapTimeUnit +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/frequency_cap.proto + time_unit = 2; + + // Number of time units the cap lasts. + optional int32 time_length = 5; +} diff --git a/third_party/googleapis/google/ads/googleads/v14/common/keyword_plan_common.proto b/third_party/googleapis/google/ads/googleads/v14/common/keyword_plan_common.proto new file mode 100644 index 000000000..d84b81b93 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/common/keyword_plan_common.proto @@ -0,0 +1,199 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/keyword_plan_common.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/keyword_plan_common.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/keyword_plan_common.proto +package google.ads.googleads.v13.common; + +import "google/ads/googleads/v13/common/dates.proto"; +import "google/ads/googleads/v13/enums/device.proto"; +import "google/ads/googleads/v13/enums/keyword_plan_aggregate_metric_type.proto"; +import "google/ads/googleads/v13/enums/keyword_plan_competition_level.proto"; +import "google/ads/googleads/v13/enums/keyword_plan_concept_group_type.proto"; +import "google/ads/googleads/v13/enums/month_of_year.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/common;common"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanCommonProto"; +option java_package = "com.google.ads.googleads.v13.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V13::Common"; +======== +package google.ads.googleads.v14.common; + +import "google/ads/googleads/v14/common/dates.proto"; +import "google/ads/googleads/v14/enums/device.proto"; +import "google/ads/googleads/v14/enums/keyword_plan_aggregate_metric_type.proto"; +import "google/ads/googleads/v14/enums/keyword_plan_competition_level.proto"; +import "google/ads/googleads/v14/enums/keyword_plan_concept_group_type.proto"; +import "google/ads/googleads/v14/enums/month_of_year.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/common;common"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanCommonProto"; +option java_package = "com.google.ads.googleads.v14.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V14::Common"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/keyword_plan_common.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/keyword_plan_common.proto + google.ads.googleads.v13.enums.KeywordPlanCompetitionLevelEnum +======== + google.ads.googleads.v14.enums.KeywordPlanCompetitionLevelEnum +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/keyword_plan_common.proto + .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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/keyword_plan_common.proto + // Average CPC is a legacy value that will be removed and replaced in the + // future, and as such we are including it as an optioanl value so clients + // only use it when strictly necessary and to better track clients that use + // this value. +======== + // Average CPC is provided only for legacy support. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/keyword_plan_common.proto + 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/keyword_plan_common.proto + google.ads.googleads.v13.enums.MonthOfYearEnum.MonthOfYear month = 2; +======== + google.ads.googleads.v14.enums.MonthOfYearEnum.MonthOfYear month = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/keyword_plan_common.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/keyword_plan_common.proto + repeated google.ads.googleads.v13.enums.KeywordPlanAggregateMetricTypeEnum +======== + repeated google.ads.googleads.v14.enums.KeywordPlanAggregateMetricTypeEnum +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/keyword_plan_common.proto + .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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/keyword_plan_common.proto + google.ads.googleads.v13.enums.DeviceEnum.Device device = 1; +======== + google.ads.googleads.v14.enums.DeviceEnum.Device device = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/keyword_plan_common.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/keyword_plan_common.proto + google.ads.googleads.v13.enums.KeywordPlanConceptGroupTypeEnum +======== + google.ads.googleads.v14.enums.KeywordPlanConceptGroupTypeEnum +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/keyword_plan_common.proto + .KeywordPlanConceptGroupType type = 2; +} diff --git a/third_party/googleapis/google/ads/googleads/v14/common/matching_function.proto b/third_party/googleapis/google/ads/googleads/v14/common/matching_function.proto new file mode 100644 index 000000000..fce6449ca --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/common/matching_function.proto @@ -0,0 +1,156 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/matching_function.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/matching_function.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/matching_function.proto +package google.ads.googleads.v13.common; + +import "google/ads/googleads/v13/enums/matching_function_context_type.proto"; +import "google/ads/googleads/v13/enums/matching_function_operator.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/common;common"; +option java_multiple_files = true; +option java_outer_classname = "MatchingFunctionProto"; +option java_package = "com.google.ads.googleads.v13.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V13::Common"; +======== +package google.ads.googleads.v14.common; + +import "google/ads/googleads/v14/enums/matching_function_context_type.proto"; +import "google/ads/googleads/v14/enums/matching_function_operator.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/common;common"; +option java_multiple_files = true; +option java_outer_classname = "MatchingFunctionProto"; +option java_package = "com.google.ads.googleads.v14.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V14::Common"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/matching_function.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/matching_function.proto + google.ads.googleads.v13.enums.MatchingFunctionOperatorEnum +======== + google.ads.googleads.v14.enums.MatchingFunctionOperatorEnum +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/matching_function.proto + .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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/matching_function.proto + google.ads.googleads.v13.enums.MatchingFunctionContextTypeEnum +======== + google.ads.googleads.v14.enums.MatchingFunctionContextTypeEnum +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/matching_function.proto + .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/v14/common/metric_goal.proto b/third_party/googleapis/google/ads/googleads/v14/common/metric_goal.proto new file mode 100644 index 000000000..49197aa7a --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/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.v14.common; + +import "google/ads/googleads/v14/enums/experiment_metric.proto"; +import "google/ads/googleads/v14/enums/experiment_metric_direction.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/common;common"; +option java_multiple_files = true; +option java_outer_classname = "MetricGoalProto"; +option java_package = "com.google.ads.googleads.v14.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V14::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.v14.enums.ExperimentMetricEnum.ExperimentMetric metric = + 1; + + // The metric direction of the goal. For example, increase, decrease, no + // change. + google.ads.googleads.v14.enums.ExperimentMetricDirectionEnum + .ExperimentMetricDirection direction = 2; +} diff --git a/third_party/googleapis/google/ads/googleads/v14/common/metrics.proto b/third_party/googleapis/google/ads/googleads/v14/common/metrics.proto new file mode 100644 index 000000000..4c25a4596 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/common/metrics.proto @@ -0,0 +1,885 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/metrics.proto +package google.ads.googleads.v12.common; + +import "google/ads/googleads/v12/enums/interaction_event_type.proto"; +import "google/ads/googleads/v12/enums/quality_score_bucket.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/common;common"; +option java_multiple_files = true; +option java_outer_classname = "MetricsProto"; +option java_package = "com.google.ads.googleads.v12.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V12::Common"; +======== +package google.ads.googleads.v14.common; + +import "google/ads/googleads/v14/enums/interaction_event_type.proto"; +import "google/ads/googleads/v14/enums/quality_score_bucket.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/common;common"; +option java_multiple_files = true; +option java_outer_classname = "MetricsProto"; +option java_package = "com.google.ads.googleads.v14.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V14::Common"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/metrics.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/metrics.proto + // This metric is not publicly available. + optional double auction_insight_search_absolute_top_impression_percentage = 258; +======== + // + // This metric is not publicly available. + optional double auction_insight_search_absolute_top_impression_percentage = + 258; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/metrics.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/metrics.proto +======== + // +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/metrics.proto + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/metrics.proto +======== + // +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/metrics.proto + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/metrics.proto +======== + // +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/metrics.proto + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/metrics.proto +======== + // +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/metrics.proto + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/metrics.proto +======== + // +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/metrics.proto + // 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 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/metrics.proto + google.ads.googleads.v12.enums.QualityScoreBucketEnum.QualityScoreBucket historical_creative_quality_score = 80; + + // The quality of historical landing page experience. + google.ads.googleads.v12.enums.QualityScoreBucketEnum.QualityScoreBucket historical_landing_page_quality_score = 81; +======== + google.ads.googleads.v14.enums.QualityScoreBucketEnum.QualityScoreBucket + historical_creative_quality_score = 80; + + // The quality of historical landing page experience. + google.ads.googleads.v14.enums.QualityScoreBucketEnum.QualityScoreBucket + historical_landing_page_quality_score = 81; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/metrics.proto + + // The historical quality score. + optional int64 historical_quality_score = 216; + + // The historical search predicted click through rate (CTR). +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/metrics.proto + google.ads.googleads.v12.enums.QualityScoreBucketEnum.QualityScoreBucket historical_search_predicted_ctr = 83; +======== + google.ads.googleads.v14.enums.QualityScoreBucketEnum.QualityScoreBucket + historical_search_predicted_ctr = 83; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/metrics.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/metrics.proto + repeated google.ads.googleads.v12.enums.InteractionEventTypeEnum.InteractionEventType interaction_event_types = 100; +======== + repeated google.ads.googleads.v14.enums.InteractionEventTypeEnum + .InteractionEventType interaction_event_types = 100; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/metrics.proto + + // 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_conversions = 246; + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/metrics.proto + optional double view_through_conversions_from_location_asset_click_to_call = 275; +======== + optional double view_through_conversions_from_location_asset_click_to_call = + 275; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/metrics.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/metrics.proto + 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; +======== + 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; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/metrics.proto + + // 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; +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/metrics.proto +======== +} + +// 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; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/metrics.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v14/common/offline_user_data.proto b/third_party/googleapis/google/ads/googleads/v14/common/offline_user_data.proto new file mode 100644 index 000000000..58f9cd22c --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/common/offline_user_data.proto @@ -0,0 +1,381 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/offline_user_data.proto +package google.ads.googleads.v12.common; + +import "google/ads/googleads/v12/enums/user_identifier_source.proto"; +import "google/api/field_behavior.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/common;common"; +option java_multiple_files = true; +option java_outer_classname = "OfflineUserDataProto"; +option java_package = "com.google.ads.googleads.v12.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V12::Common"; +======== +package google.ads.googleads.v14.common; + +import "google/ads/googleads/v14/enums/user_identifier_source.proto"; +import "google/api/field_behavior.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/common;common"; +option java_multiple_files = true; +option java_outer_classname = "OfflineUserDataProto"; +option java_package = "com.google.ads.googleads.v14.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V14::Common"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/offline_user_data.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/offline_user_data.proto + google.ads.googleads.v12.enums.UserIdentifierSourceEnum.UserIdentifierSource user_identifier_source = 6; +======== + google.ads.googleads.v14.enums.UserIdentifierSourceEnum.UserIdentifierSource + user_identifier_source = 6; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/offline_user_data.proto + + // 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; +} + +// 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; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/offline_user_data.proto + // Optional. Advertiser defined lifecycle stage for the user. The accepted values are + // "Lead", "Active" and "Churned". +======== + // Optional. Advertiser defined lifecycle stage for the user. The accepted + // values are "Lead", "Active" and "Churned". +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/offline_user_data.proto + 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]; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/offline_user_data.proto + // 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]; +======== + // 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]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/offline_user_data.proto +} + +// Advertiser defined events and their attributes. All the values in the +// nested fields are required. +message EventAttribute { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/offline_user_data.proto + // Required. Advertiser defined event to be used for remarketing. The accepted values + // are "Viewed", "Cart", "Purchased" and "Recommended". +======== + // Required. Advertiser defined event to be used for remarketing. The accepted + // values are "Viewed", "Cart", "Purchased" and "Recommended". +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/offline_user_data.proto + 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/offline_user_data.proto + repeated EventItemAttribute item_attribute = 3 [(google.api.field_behavior) = REQUIRED]; +======== + repeated EventItemAttribute item_attribute = 3 + [(google.api.field_behavior) = REQUIRED]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/offline_user_data.proto +} + +// Event Item attributes of the Customer Match. +message EventItemAttribute { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/offline_user_data.proto + // Optional. A unique identifier of a product. It can be either the Merchant Center Item + // ID or GTIN (Global Trade Item Number). +======== + // Optional. A unique identifier of a product. It can be either the Merchant + // Center Item ID or GTIN (Global Trade Item Number). +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/offline_user_data.proto + 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; +} + +// 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/v14/common/policy.proto b/third_party/googleapis/google/ads/googleads/v14/common/policy.proto new file mode 100644 index 000000000..beeda811c --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/common/policy.proto @@ -0,0 +1,263 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/policy.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/policy.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/policy.proto +package google.ads.googleads.v13.common; + +import "google/ads/googleads/v13/enums/policy_topic_entry_type.proto"; +import "google/ads/googleads/v13/enums/policy_topic_evidence_destination_mismatch_url_type.proto"; +import "google/ads/googleads/v13/enums/policy_topic_evidence_destination_not_working_device.proto"; +import "google/ads/googleads/v13/enums/policy_topic_evidence_destination_not_working_dns_error_type.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/common;common"; +option java_multiple_files = true; +option java_outer_classname = "PolicyProto"; +option java_package = "com.google.ads.googleads.v13.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V13::Common"; +======== +package google.ads.googleads.v14.common; + +import "google/ads/googleads/v14/enums/policy_topic_entry_type.proto"; +import "google/ads/googleads/v14/enums/policy_topic_evidence_destination_mismatch_url_type.proto"; +import "google/ads/googleads/v14/enums/policy_topic_evidence_destination_not_working_device.proto"; +import "google/ads/googleads/v14/enums/policy_topic_evidence_destination_not_working_dns_error_type.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/common;common"; +option java_multiple_files = true; +option java_outer_classname = "PolicyProto"; +option java_package = "com.google.ads.googleads.v14.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V14::Common"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/policy.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/policy.proto + google.ads.googleads.v13.enums.PolicyTopicEntryTypeEnum.PolicyTopicEntryType +======== + google.ads.googleads.v14.enums.PolicyTopicEntryTypeEnum.PolicyTopicEntryType +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/policy.proto + 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/policy.proto + repeated google.ads.googleads.v13.enums +======== + repeated google.ads.googleads.v14.enums +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/policy.proto + .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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/policy.proto + google.ads.googleads.v13.enums +======== + google.ads.googleads.v14.enums +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/policy.proto + .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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/policy.proto + google.ads.googleads.v13.enums +======== + google.ads.googleads.v14.enums +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/policy.proto + .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/v14/common/policy_summary.proto b/third_party/googleapis/google/ads/googleads/v14/common/policy_summary.proto new file mode 100644 index 000000000..67787b3e3 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/common/policy_summary.proto @@ -0,0 +1,76 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/policy_summary.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/policy_summary.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/policy_summary.proto +package google.ads.googleads.v13.common; + +import "google/ads/googleads/v13/common/policy.proto"; +import "google/ads/googleads/v13/enums/policy_approval_status.proto"; +import "google/ads/googleads/v13/enums/policy_review_status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/common;common"; +option java_multiple_files = true; +option java_outer_classname = "PolicySummaryProto"; +option java_package = "com.google.ads.googleads.v13.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V13::Common"; +======== +package google.ads.googleads.v14.common; + +import "google/ads/googleads/v14/common/policy.proto"; +import "google/ads/googleads/v14/enums/policy_approval_status.proto"; +import "google/ads/googleads/v14/enums/policy_review_status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/common;common"; +option java_multiple_files = true; +option java_outer_classname = "PolicySummaryProto"; +option java_package = "com.google.ads.googleads.v14.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V14::Common"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/policy_summary.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/policy_summary.proto + google.ads.googleads.v13.enums.PolicyReviewStatusEnum.PolicyReviewStatus +======== + google.ads.googleads.v14.enums.PolicyReviewStatusEnum.PolicyReviewStatus +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/policy_summary.proto + review_status = 2; + + // The overall approval status, which is calculated based on + // the status of its individual policy topic entries. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/policy_summary.proto + google.ads.googleads.v13.enums.PolicyApprovalStatusEnum.PolicyApprovalStatus +======== + google.ads.googleads.v14.enums.PolicyApprovalStatusEnum.PolicyApprovalStatus +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/policy_summary.proto + approval_status = 3; +} diff --git a/third_party/googleapis/google/ads/googleads/v14/common/real_time_bidding_setting.proto b/third_party/googleapis/google/ads/googleads/v14/common/real_time_bidding_setting.proto new file mode 100644 index 000000000..7fa550945 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/common/real_time_bidding_setting.proto @@ -0,0 +1,52 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/real_time_bidding_setting.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/real_time_bidding_setting.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/real_time_bidding_setting.proto +package google.ads.googleads.v12.common; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/common;common"; +option java_multiple_files = true; +option java_outer_classname = "RealTimeBiddingSettingProto"; +option java_package = "com.google.ads.googleads.v12.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V12::Common"; +======== +package google.ads.googleads.v14.common; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/common;common"; +option java_multiple_files = true; +option java_outer_classname = "RealTimeBiddingSettingProto"; +option java_package = "com.google.ads.googleads.v14.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V14::Common"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/real_time_bidding_setting.proto + +// 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/v14/common/segments.proto b/third_party/googleapis/google/ads/googleads/v14/common/segments.proto new file mode 100644 index 000000000..b03a8917f --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/common/segments.proto @@ -0,0 +1,610 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/segments.proto +package google.ads.googleads.v12.common; + +import "google/ads/googleads/v12/common/criteria.proto"; +import "google/ads/googleads/v12/enums/ad_destination_type.proto"; +import "google/ads/googleads/v12/enums/ad_network_type.proto"; +import "google/ads/googleads/v12/enums/budget_campaign_association_status.proto"; +import "google/ads/googleads/v12/enums/click_type.proto"; +import "google/ads/googleads/v12/enums/conversion_action_category.proto"; +import "google/ads/googleads/v12/enums/conversion_attribution_event_type.proto"; +import "google/ads/googleads/v12/enums/conversion_lag_bucket.proto"; +import "google/ads/googleads/v12/enums/conversion_or_adjustment_lag_bucket.proto"; +import "google/ads/googleads/v12/enums/conversion_value_rule_primary_dimension.proto"; +import "google/ads/googleads/v12/enums/day_of_week.proto"; +import "google/ads/googleads/v12/enums/device.proto"; +import "google/ads/googleads/v12/enums/external_conversion_source.proto"; +import "google/ads/googleads/v12/enums/hotel_date_selection_type.proto"; +import "google/ads/googleads/v12/enums/hotel_price_bucket.proto"; +import "google/ads/googleads/v12/enums/hotel_rate_type.proto"; +import "google/ads/googleads/v12/enums/month_of_year.proto"; +import "google/ads/googleads/v12/enums/placeholder_type.proto"; +import "google/ads/googleads/v12/enums/product_channel.proto"; +import "google/ads/googleads/v12/enums/product_channel_exclusivity.proto"; +import "google/ads/googleads/v12/enums/product_condition.proto"; +import "google/ads/googleads/v12/enums/recommendation_type.proto"; +import "google/ads/googleads/v12/enums/search_engine_results_page_type.proto"; +import "google/ads/googleads/v12/enums/search_term_match_type.proto"; +import "google/ads/googleads/v12/enums/sk_ad_network_ad_event_type.proto"; +import "google/ads/googleads/v12/enums/sk_ad_network_attribution_credit.proto"; +import "google/ads/googleads/v12/enums/sk_ad_network_user_type.proto"; +import "google/ads/googleads/v12/enums/slot.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/common;common"; +option java_multiple_files = true; +option java_outer_classname = "SegmentsProto"; +option java_package = "com.google.ads.googleads.v12.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V12::Common"; +======== +package google.ads.googleads.v14.common; + +import "google/ads/googleads/v14/common/criteria.proto"; +import "google/ads/googleads/v14/enums/ad_destination_type.proto"; +import "google/ads/googleads/v14/enums/ad_network_type.proto"; +import "google/ads/googleads/v14/enums/budget_campaign_association_status.proto"; +import "google/ads/googleads/v14/enums/click_type.proto"; +import "google/ads/googleads/v14/enums/conversion_action_category.proto"; +import "google/ads/googleads/v14/enums/conversion_attribution_event_type.proto"; +import "google/ads/googleads/v14/enums/conversion_lag_bucket.proto"; +import "google/ads/googleads/v14/enums/conversion_or_adjustment_lag_bucket.proto"; +import "google/ads/googleads/v14/enums/conversion_value_rule_primary_dimension.proto"; +import "google/ads/googleads/v14/enums/converting_user_prior_engagement_type_and_ltv_bucket.proto"; +import "google/ads/googleads/v14/enums/day_of_week.proto"; +import "google/ads/googleads/v14/enums/device.proto"; +import "google/ads/googleads/v14/enums/external_conversion_source.proto"; +import "google/ads/googleads/v14/enums/hotel_date_selection_type.proto"; +import "google/ads/googleads/v14/enums/hotel_price_bucket.proto"; +import "google/ads/googleads/v14/enums/hotel_rate_type.proto"; +import "google/ads/googleads/v14/enums/month_of_year.proto"; +import "google/ads/googleads/v14/enums/placeholder_type.proto"; +import "google/ads/googleads/v14/enums/product_channel.proto"; +import "google/ads/googleads/v14/enums/product_channel_exclusivity.proto"; +import "google/ads/googleads/v14/enums/product_condition.proto"; +import "google/ads/googleads/v14/enums/recommendation_type.proto"; +import "google/ads/googleads/v14/enums/search_engine_results_page_type.proto"; +import "google/ads/googleads/v14/enums/search_term_match_type.proto"; +import "google/ads/googleads/v14/enums/sk_ad_network_ad_event_type.proto"; +import "google/ads/googleads/v14/enums/sk_ad_network_attribution_credit.proto"; +import "google/ads/googleads/v14/enums/sk_ad_network_user_type.proto"; +import "google/ads/googleads/v14/enums/slot.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/common;common"; +option java_multiple_files = true; +option java_outer_classname = "SegmentsProto"; +option java_package = "com.google.ads.googleads.v14.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V14::Common"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/segments.proto + +// Proto file describing segment only fields. + +// Segment only fields. +message Segments { + // Activity account ID. + optional int64 activity_account_id = 148; + + // Activity rating. + optional int64 activity_rating = 149; + + // Advertiser supplied activity ID. + optional string external_activity_id = 150; + + // Ad Destination type. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/segments.proto + google.ads.googleads.v12.enums.AdDestinationTypeEnum.AdDestinationType ad_destination_type = 136; + + // Ad network type. + google.ads.googleads.v12.enums.AdNetworkTypeEnum.AdNetworkType ad_network_type = 3; +======== + google.ads.googleads.v14.enums.AdDestinationTypeEnum.AdDestinationType + ad_destination_type = 136; + + // Ad network type. + google.ads.googleads.v14.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; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/segments.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/segments.proto + google.ads.googleads.v12.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.v12.enums.ConversionActionCategoryEnum.ConversionActionCategory conversion_action_category = 53; +======== + google.ads.googleads.v14.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.v14.enums.ConversionActionCategoryEnum + .ConversionActionCategory conversion_action_category = 53; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/segments.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/segments.proto + google.ads.googleads.v12.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.v12.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.v12.enums.ConversionOrAdjustmentLagBucketEnum.ConversionOrAdjustmentLagBucket conversion_or_adjustment_lag_bucket = 51; +======== + google.ads.googleads.v14.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.v14.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.v14.enums.ConversionOrAdjustmentLagBucketEnum + .ConversionOrAdjustmentLagBucket conversion_or_adjustment_lag_bucket = 51; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/segments.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/segments.proto + google.ads.googleads.v12.enums.DayOfWeekEnum.DayOfWeek day_of_week = 5; + + // Device to which metrics apply. + google.ads.googleads.v12.enums.DeviceEnum.Device device = 1; + + // External conversion source. + google.ads.googleads.v12.enums.ExternalConversionSourceEnum.ExternalConversionSource external_conversion_source = 55; +======== + google.ads.googleads.v14.enums.DayOfWeekEnum.DayOfWeek day_of_week = 5; + + // Device to which metrics apply. + google.ads.googleads.v14.enums.DeviceEnum.Device device = 1; + + // External conversion source. + google.ads.googleads.v14.enums.ExternalConversionSourceEnum + .ExternalConversionSource external_conversion_source = 55; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/segments.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/segments.proto + google.ads.googleads.v12.enums.DayOfWeekEnum.DayOfWeek hotel_check_in_day_of_week = 9; +======== + google.ads.googleads.v14.enums.DayOfWeekEnum.DayOfWeek + hotel_check_in_day_of_week = 9; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/segments.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/segments.proto + google.ads.googleads.v12.enums.HotelDateSelectionTypeEnum.HotelDateSelectionType hotel_date_selection_type = 13; +======== + google.ads.googleads.v14.enums.HotelDateSelectionTypeEnum + .HotelDateSelectionType hotel_date_selection_type = 13; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/segments.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/segments.proto + google.ads.googleads.v12.enums.HotelRateTypeEnum.HotelRateType hotel_rate_type = 74; + + // Hotel price bucket. + google.ads.googleads.v12.enums.HotelPriceBucketEnum.HotelPriceBucket hotel_price_bucket = 78; +======== + google.ads.googleads.v14.enums.HotelRateTypeEnum.HotelRateType + hotel_rate_type = 74; + + // Hotel price bucket. + google.ads.googleads.v14.enums.HotelPriceBucketEnum.HotelPriceBucket + hotel_price_bucket = 78; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/segments.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/segments.proto + google.ads.googleads.v12.enums.MonthOfYearEnum.MonthOfYear month_of_year = 18; +======== + google.ads.googleads.v14.enums.MonthOfYearEnum.MonthOfYear month_of_year = 18; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/segments.proto + + // Partner hotel ID. + optional string partner_hotel_id = 91; + + // Placeholder type. This is only used with feed item metrics. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/segments.proto + google.ads.googleads.v12.enums.PlaceholderTypeEnum.PlaceholderType placeholder_type = 20; +======== + google.ads.googleads.v14.enums.PlaceholderTypeEnum.PlaceholderType + placeholder_type = 20; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/segments.proto + + // Aggregator ID of the product. + optional int64 product_aggregator_id = 132; + + // Bidding category (level 1) of the product. + optional string product_bidding_category_level1 = 92; + + // Bidding category (level 2) of the product. + optional string product_bidding_category_level2 = 93; + + // Bidding category (level 3) of the product. + optional string product_bidding_category_level3 = 94; + + // Bidding category (level 4) of the product. + optional string product_bidding_category_level4 = 95; + + // Bidding category (level 5) of the product. + optional string product_bidding_category_level5 = 96; + + // Brand of the product. + optional string product_brand = 97; + + // Channel of the product. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/segments.proto + google.ads.googleads.v12.enums.ProductChannelEnum.ProductChannel product_channel = 30; + + // Channel exclusivity of the product. + google.ads.googleads.v12.enums.ProductChannelExclusivityEnum.ProductChannelExclusivity product_channel_exclusivity = 31; + + // Condition of the product. + google.ads.googleads.v12.enums.ProductConditionEnum.ProductCondition product_condition = 32; +======== + google.ads.googleads.v14.enums.ProductChannelEnum.ProductChannel + product_channel = 30; + + // Channel exclusivity of the product. + google.ads.googleads.v14.enums.ProductChannelExclusivityEnum + .ProductChannelExclusivity product_channel_exclusivity = 31; + + // Condition of the product. + google.ads.googleads.v14.enums.ProductConditionEnum.ProductCondition + product_condition = 32; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/segments.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/segments.proto + google.ads.googleads.v12.enums.RecommendationTypeEnum.RecommendationType recommendation_type = 140; + + // Type of the search engine results page. + google.ads.googleads.v12.enums.SearchEngineResultsPageTypeEnum.SearchEngineResultsPageType search_engine_results_page_type = 70; + + // Match type of the keyword that triggered the ad, including variants. + google.ads.googleads.v12.enums.SearchTermMatchTypeEnum.SearchTermMatchType search_term_match_type = 22; + + // Position of the ad. + google.ads.googleads.v12.enums.SlotEnum.Slot slot = 23; +======== + google.ads.googleads.v14.enums.RecommendationTypeEnum.RecommendationType + recommendation_type = 140; + + // Type of the search engine results page. + google.ads.googleads.v14.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.v14.enums.SearchTermMatchTypeEnum.SearchTermMatchType + search_term_match_type = 22; + + // Position of the ad. + google.ads.googleads.v14.enums.SlotEnum.Slot slot = 23; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/segments.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/segments.proto + google.ads.googleads.v12.enums.ConversionValueRulePrimaryDimensionEnum.ConversionValueRulePrimaryDimension conversion_value_rule_primary_dimension = 138; +======== + google.ads.googleads.v14.enums.ConversionValueRulePrimaryDimensionEnum + .ConversionValueRulePrimaryDimension + conversion_value_rule_primary_dimension = 138; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/segments.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/segments.proto + google.ads.googleads.v12.enums.SkAdNetworkUserTypeEnum.SkAdNetworkUserType sk_ad_network_user_type = 141; + + // iOS Store Kit Ad Network ad event type. + google.ads.googleads.v12.enums.SkAdNetworkAdEventTypeEnum.SkAdNetworkAdEventType sk_ad_network_ad_event_type = 142; +======== + google.ads.googleads.v14.enums.SkAdNetworkUserTypeEnum.SkAdNetworkUserType + sk_ad_network_user_type = 141; + + // iOS Store Kit Ad Network ad event type. + google.ads.googleads.v14.enums.SkAdNetworkAdEventTypeEnum + .SkAdNetworkAdEventType sk_ad_network_ad_event_type = 142; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/segments.proto + + // 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 +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/segments.proto + google.ads.googleads.v12.enums.SkAdNetworkAttributionCreditEnum.SkAdNetworkAttributionCredit sk_ad_network_attribution_credit = 144; +======== + google.ads.googleads.v14.enums.SkAdNetworkAttributionCreditEnum + .SkAdNetworkAttributionCredit sk_ad_network_attribution_credit = 144; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/segments.proto + + // 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.v14.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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/segments.proto + google.ads.googleads.v12.enums.BudgetCampaignAssociationStatusEnum.BudgetCampaignAssociationStatus status = 2; +======== + google.ads.googleads.v14.enums.BudgetCampaignAssociationStatusEnum + .BudgetCampaignAssociationStatus status = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/segments.proto +} + +// 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/v14/common/simulation.proto b/third_party/googleapis/google/ads/googleads/v14/common/simulation.proto new file mode 100644 index 000000000..050808e72 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/common/simulation.proto @@ -0,0 +1,315 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/simulation.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/simulation.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/simulation.proto +package google.ads.googleads.v12.common; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/common;common"; +option java_multiple_files = true; +option java_outer_classname = "SimulationProto"; +option java_package = "com.google.ads.googleads.v12.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V12::Common"; +======== +package google.ads.googleads.v14.common; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/common;common"; +option java_multiple_files = true; +option java_outer_classname = "SimulationProto"; +option java_package = "com.google.ads.googleads.v14.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V14::Common"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/simulation.proto + +// 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; + + // 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 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/v14/common/tag_snippet.proto b/third_party/googleapis/google/ads/googleads/v14/common/tag_snippet.proto new file mode 100644 index 000000000..bf5a670d8 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/common/tag_snippet.proto @@ -0,0 +1,78 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/tag_snippet.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/tag_snippet.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/tag_snippet.proto +package google.ads.googleads.v13.common; + +import "google/ads/googleads/v13/enums/tracking_code_page_format.proto"; +import "google/ads/googleads/v13/enums/tracking_code_type.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/common;common"; +option java_multiple_files = true; +option java_outer_classname = "TagSnippetProto"; +option java_package = "com.google.ads.googleads.v13.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V13::Common"; +======== +package google.ads.googleads.v14.common; + +import "google/ads/googleads/v14/enums/tracking_code_page_format.proto"; +import "google/ads/googleads/v14/enums/tracking_code_type.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/common;common"; +option java_multiple_files = true; +option java_outer_classname = "TagSnippetProto"; +option java_package = "com.google.ads.googleads.v14.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V14::Common"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/tag_snippet.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/tag_snippet.proto + google.ads.googleads.v13.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.v13.enums.TrackingCodePageFormatEnum +======== + google.ads.googleads.v14.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.v14.enums.TrackingCodePageFormatEnum +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/tag_snippet.proto + .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/v14/common/targeting_setting.proto b/third_party/googleapis/google/ads/googleads/v14/common/targeting_setting.proto new file mode 100644 index 000000000..e2dea1502 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/common/targeting_setting.proto @@ -0,0 +1,108 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/targeting_setting.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/targeting_setting.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/targeting_setting.proto +package google.ads.googleads.v13.common; + +import "google/ads/googleads/v13/enums/targeting_dimension.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/common;common"; +option java_multiple_files = true; +option java_outer_classname = "TargetingSettingProto"; +option java_package = "com.google.ads.googleads.v13.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V13::Common"; +======== +package google.ads.googleads.v14.common; + +import "google/ads/googleads/v14/enums/targeting_dimension.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/common;common"; +option java_multiple_files = true; +option java_outer_classname = "TargetingSettingProto"; +option java_package = "com.google.ads.googleads.v14.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V14::Common"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/targeting_setting.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/targeting_setting.proto + google.ads.googleads.v13.enums.TargetingDimensionEnum.TargetingDimension +======== + google.ads.googleads.v14.enums.TargetingDimensionEnum.TargetingDimension +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/targeting_setting.proto + 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/v14/common/text_label.proto b/third_party/googleapis/google/ads/googleads/v14/common/text_label.proto new file mode 100644 index 000000000..cbd9d5f9a --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/common/text_label.proto @@ -0,0 +1,55 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/text_label.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/text_label.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/text_label.proto +package google.ads.googleads.v12.common; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/common;common"; +option java_multiple_files = true; +option java_outer_classname = "TextLabelProto"; +option java_package = "com.google.ads.googleads.v12.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V12::Common"; +======== +package google.ads.googleads.v14.common; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/common;common"; +option java_multiple_files = true; +option java_outer_classname = "TextLabelProto"; +option java_package = "com.google.ads.googleads.v14.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V14::Common"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/text_label.proto + +// 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/v14/common/url_collection.proto b/third_party/googleapis/google/ads/googleads/v14/common/url_collection.proto new file mode 100644 index 000000000..84dced6aa --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/common/url_collection.proto @@ -0,0 +1,60 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/url_collection.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/url_collection.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/url_collection.proto +package google.ads.googleads.v12.common; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/common;common"; +option java_multiple_files = true; +option java_outer_classname = "UrlCollectionProto"; +option java_package = "com.google.ads.googleads.v12.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V12::Common"; +======== +package google.ads.googleads.v14.common; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/common;common"; +option java_multiple_files = true; +option java_outer_classname = "UrlCollectionProto"; +option java_package = "com.google.ads.googleads.v14.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V14::Common"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/url_collection.proto + +// 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/v14/common/user_lists.proto b/third_party/googleapis/google/ads/googleads/v14/common/user_lists.proto new file mode 100644 index 000000000..d8f1e9cfa --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/common/user_lists.proto @@ -0,0 +1,336 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/user_lists.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/user_lists.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/user_lists.proto +package google.ads.googleads.v13.common; + +import "google/ads/googleads/v13/enums/customer_match_upload_key_type.proto"; +import "google/ads/googleads/v13/enums/user_list_crm_data_source_type.proto"; +import "google/ads/googleads/v13/enums/user_list_date_rule_item_operator.proto"; +import "google/ads/googleads/v13/enums/user_list_flexible_rule_operator.proto"; +import "google/ads/googleads/v13/enums/user_list_logical_rule_operator.proto"; +import "google/ads/googleads/v13/enums/user_list_number_rule_item_operator.proto"; +import "google/ads/googleads/v13/enums/user_list_prepopulation_status.proto"; +import "google/ads/googleads/v13/enums/user_list_rule_type.proto"; +import "google/ads/googleads/v13/enums/user_list_string_rule_item_operator.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/common;common"; +option java_multiple_files = true; +option java_outer_classname = "UserListsProto"; +option java_package = "com.google.ads.googleads.v13.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V13::Common"; +======== +package google.ads.googleads.v14.common; + +import "google/ads/googleads/v14/enums/customer_match_upload_key_type.proto"; +import "google/ads/googleads/v14/enums/user_list_crm_data_source_type.proto"; +import "google/ads/googleads/v14/enums/user_list_date_rule_item_operator.proto"; +import "google/ads/googleads/v14/enums/user_list_flexible_rule_operator.proto"; +import "google/ads/googleads/v14/enums/user_list_logical_rule_operator.proto"; +import "google/ads/googleads/v14/enums/user_list_number_rule_item_operator.proto"; +import "google/ads/googleads/v14/enums/user_list_prepopulation_status.proto"; +import "google/ads/googleads/v14/enums/user_list_rule_type.proto"; +import "google/ads/googleads/v14/enums/user_list_string_rule_item_operator.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/common;common"; +option java_multiple_files = true; +option java_outer_classname = "UserListsProto"; +option java_package = "com.google.ads.googleads.v14.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V14::Common"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/user_lists.proto + +// Proto file describing user list types. + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/user_lists.proto + google.ads.googleads.v13.enums.CustomerMatchUploadKeyTypeEnum +======== + google.ads.googleads.v14.enums.CustomerMatchUploadKeyTypeEnum +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/user_lists.proto + .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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/user_lists.proto + google.ads.googleads.v13.enums.UserListCrmDataSourceTypeEnum +======== + google.ads.googleads.v14.enums.UserListCrmDataSourceTypeEnum +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/user_lists.proto + .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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/user_lists.proto + google.ads.googleads.v13.enums.UserListRuleTypeEnum.UserListRuleType +======== + google.ads.googleads.v14.enums.UserListRuleTypeEnum.UserListRuleType +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/user_lists.proto + 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/user_lists.proto + google.ads.googleads.v13.enums.UserListDateRuleItemOperatorEnum +======== + google.ads.googleads.v14.enums.UserListDateRuleItemOperatorEnum +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/user_lists.proto + .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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/user_lists.proto + google.ads.googleads.v13.enums.UserListNumberRuleItemOperatorEnum +======== + google.ads.googleads.v14.enums.UserListNumberRuleItemOperatorEnum +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/user_lists.proto + .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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/user_lists.proto + google.ads.googleads.v13.enums.UserListStringRuleItemOperatorEnum +======== + google.ads.googleads.v14.enums.UserListStringRuleItemOperatorEnum +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/user_lists.proto + .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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/user_lists.proto + google.ads.googleads.v13.enums.UserListFlexibleRuleOperatorEnum +======== + google.ads.googleads.v14.enums.UserListFlexibleRuleOperatorEnum +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/user_lists.proto + .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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/user_lists.proto + google.ads.googleads.v13.enums.UserListPrepopulationStatusEnum +======== + google.ads.googleads.v14.enums.UserListPrepopulationStatusEnum +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/user_lists.proto + .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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/user_lists.proto + google.ads.googleads.v13.enums.UserListLogicalRuleOperatorEnum +======== + google.ads.googleads.v14.enums.UserListLogicalRuleOperatorEnum +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/user_lists.proto + .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/v14/common/value.proto b/third_party/googleapis/google/ads/googleads/v14/common/value.proto new file mode 100644 index 000000000..2aac884cc --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/common/value.proto @@ -0,0 +1,66 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/value.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/value.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/value.proto +package google.ads.googleads.v12.common; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/common;common"; +option java_multiple_files = true; +option java_outer_classname = "ValueProto"; +option java_package = "com.google.ads.googleads.v12.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V12::Common"; +======== +package google.ads.googleads.v14.common; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/common;common"; +option java_multiple_files = true; +option java_outer_classname = "ValueProto"; +option java_package = "com.google.ads.googleads.v14.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V14::Common"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/common/value.proto + +// 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/v14/enums/BUILD.bazel b/third_party/googleapis/google/ads/googleads/v14/enums/BUILD.bazel new file mode 100644 index 000000000..01a51ee0b --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/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/v14/enums/access_invitation_status.proto b/third_party/googleapis/google/ads/googleads/v14/enums/access_invitation_status.proto new file mode 100644 index 000000000..88c701902 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/access_invitation_status.proto @@ -0,0 +1,68 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/access_invitation_status.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/access_invitation_status.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/access_invitation_status.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AccessInvitationStatusProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AccessInvitationStatusProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/access_invitation_status.proto + +// 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/v14/enums/access_reason.proto b/third_party/googleapis/google/ads/googleads/v14/enums/access_reason.proto new file mode 100644 index 000000000..3baf592f7 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/access_reason.proto @@ -0,0 +1,70 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/access_reason.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/access_reason.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/access_reason.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AccessReasonProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AccessReasonProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/access_reason.proto + +// 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/v14/enums/access_role.proto b/third_party/googleapis/google/ads/googleads/v14/enums/access_role.proto new file mode 100644 index 000000000..807878dd5 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/access_role.proto @@ -0,0 +1,68 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/access_role.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/access_role.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/access_role.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AccessRoleProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AccessRoleProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/access_role.proto + +// 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/v14/enums/account_budget_proposal_status.proto b/third_party/googleapis/google/ads/googleads/v14/enums/account_budget_proposal_status.proto new file mode 100644 index 000000000..0e5424a3c --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/account_budget_proposal_status.proto @@ -0,0 +1,76 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/account_budget_proposal_status.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/account_budget_proposal_status.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/account_budget_proposal_status.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AccountBudgetProposalStatusProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AccountBudgetProposalStatusProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/account_budget_proposal_status.proto + +// 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/v14/enums/account_budget_proposal_type.proto b/third_party/googleapis/google/ads/googleads/v14/enums/account_budget_proposal_type.proto new file mode 100644 index 000000000..6c63c4d9b --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/account_budget_proposal_type.proto @@ -0,0 +1,69 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/account_budget_proposal_type.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/account_budget_proposal_type.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/account_budget_proposal_type.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AccountBudgetProposalTypeProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AccountBudgetProposalTypeProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/account_budget_proposal_type.proto + +// 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/v14/enums/account_budget_status.proto b/third_party/googleapis/google/ads/googleads/v14/enums/account_budget_status.proto new file mode 100644 index 000000000..09d469afd --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/account_budget_status.proto @@ -0,0 +1,66 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/account_budget_status.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/account_budget_status.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/account_budget_status.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AccountBudgetStatusProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AccountBudgetStatusProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/account_budget_status.proto + +// 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/v14/enums/account_link_status.proto b/third_party/googleapis/google/ads/googleads/v14/enums/account_link_status.proto new file mode 100644 index 000000000..9659668ab --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/account_link_status.proto @@ -0,0 +1,76 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/account_link_status.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/account_link_status.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/account_link_status.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AccountLinkStatusProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AccountLinkStatusProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/account_link_status.proto + +// 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/v14/enums/ad_customizer_placeholder_field.proto b/third_party/googleapis/google/ads/googleads/v14/enums/ad_customizer_placeholder_field.proto new file mode 100644 index 000000000..731872670 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/ad_customizer_placeholder_field.proto @@ -0,0 +1,69 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/ad_customizer_placeholder_field.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/ad_customizer_placeholder_field.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/ad_customizer_placeholder_field.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdCustomizerPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdCustomizerPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/ad_customizer_placeholder_field.proto + +// 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/v14/enums/ad_destination_type.proto b/third_party/googleapis/google/ads/googleads/v14/enums/ad_destination_type.proto new file mode 100644 index 000000000..0a0ce52ae --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/ad_destination_type.proto @@ -0,0 +1,90 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/ad_destination_type.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/ad_destination_type.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/ad_destination_type.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdDestinationTypeProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdDestinationTypeProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/ad_destination_type.proto + +// 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/v14/enums/ad_group_ad_rotation_mode.proto b/third_party/googleapis/google/ads/googleads/v14/enums/ad_group_ad_rotation_mode.proto new file mode 100644 index 000000000..f10e1b3ed --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/ad_group_ad_rotation_mode.proto @@ -0,0 +1,66 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/ad_group_ad_rotation_mode.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/ad_group_ad_rotation_mode.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/ad_group_ad_rotation_mode.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupAdRotationModeProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupAdRotationModeProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/ad_group_ad_rotation_mode.proto + +// 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/v14/enums/ad_group_ad_status.proto b/third_party/googleapis/google/ads/googleads/v14/enums/ad_group_ad_status.proto new file mode 100644 index 000000000..f737f87de --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/ad_group_ad_status.proto @@ -0,0 +1,68 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/ad_group_ad_status.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/ad_group_ad_status.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/ad_group_ad_status.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupAdStatusProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupAdStatusProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/ad_group_ad_status.proto + +// 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/v14/enums/ad_group_criterion_approval_status.proto b/third_party/googleapis/google/ads/googleads/v14/enums/ad_group_criterion_approval_status.proto new file mode 100644 index 000000000..e82a42d1a --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/ad_group_criterion_approval_status.proto @@ -0,0 +1,69 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/ad_group_criterion_approval_status.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/ad_group_criterion_approval_status.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/ad_group_criterion_approval_status.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupCriterionApprovalStatusProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupCriterionApprovalStatusProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/ad_group_criterion_approval_status.proto + +// 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/v14/enums/ad_group_criterion_status.proto b/third_party/googleapis/google/ads/googleads/v14/enums/ad_group_criterion_status.proto new file mode 100644 index 000000000..d16e143e8 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/ad_group_criterion_status.proto @@ -0,0 +1,68 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/ad_group_criterion_status.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/ad_group_criterion_status.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/ad_group_criterion_status.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupCriterionStatusProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupCriterionStatusProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/ad_group_criterion_status.proto + +// 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/v14/enums/ad_group_status.proto b/third_party/googleapis/google/ads/googleads/v14/enums/ad_group_status.proto new file mode 100644 index 000000000..05a3cd20a --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/ad_group_status.proto @@ -0,0 +1,68 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/ad_group_status.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/ad_group_status.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/ad_group_status.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupStatusProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupStatusProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/ad_group_status.proto + +// 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/v14/enums/ad_group_type.proto b/third_party/googleapis/google/ads/googleads/v14/enums/ad_group_type.proto new file mode 100644 index 000000000..b451a7903 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/ad_group_type.proto @@ -0,0 +1,112 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/ad_group_type.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/ad_group_type.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/ad_group_type.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupTypeProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupTypeProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/ad_group_type.proto + +// 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/v14/enums/ad_network_type.proto b/third_party/googleapis/google/ads/googleads/v14/enums/ad_network_type.proto new file mode 100644 index 000000000..eff5f8011 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/ad_network_type.proto @@ -0,0 +1,75 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/ad_network_type.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/ad_network_type.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/ad_network_type.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdNetworkTypeProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdNetworkTypeProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/ad_network_type.proto + +// 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; + + // YouTube Search. + YOUTUBE_SEARCH = 5; + + // YouTube Videos + YOUTUBE_WATCH = 6; + + // Cross-network. + MIXED = 7; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v14/enums/ad_serving_optimization_status.proto b/third_party/googleapis/google/ads/googleads/v14/enums/ad_serving_optimization_status.proto new file mode 100644 index 000000000..5f903386d --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/ad_serving_optimization_status.proto @@ -0,0 +1,77 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/ad_serving_optimization_status.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/ad_serving_optimization_status.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/ad_serving_optimization_status.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdServingOptimizationStatusProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdServingOptimizationStatusProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/ad_serving_optimization_status.proto + +// 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/v14/enums/ad_strength.proto b/third_party/googleapis/google/ads/googleads/v14/enums/ad_strength.proto new file mode 100644 index 000000000..15891f9fe --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/ad_strength.proto @@ -0,0 +1,75 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/ad_strength.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/ad_strength.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/ad_strength.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdStrengthProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdStrengthProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/ad_strength.proto + +// 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/v14/enums/ad_type.proto b/third_party/googleapis/google/ads/googleads/v14/enums/ad_type.proto new file mode 100644 index 000000000..c8f77cf62 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/ad_type.proto @@ -0,0 +1,156 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/ad_type.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/ad_type.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/ad_type.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdTypeProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdTypeProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/ad_type.proto + +// 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; +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/ad_type.proto +======== + + // Travel ad. + TRAVEL_AD = 37; + + // Discovery video responsive ad. + DISCOVERY_VIDEO_RESPONSIVE_AD = 38; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/ad_type.proto + } +} diff --git a/third_party/googleapis/google/ads/googleads/v14/enums/advertising_channel_sub_type.proto b/third_party/googleapis/google/ads/googleads/v14/enums/advertising_channel_sub_type.proto new file mode 100644 index 000000000..746469340 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/advertising_channel_sub_type.proto @@ -0,0 +1,122 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/advertising_channel_sub_type.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/advertising_channel_sub_type.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/advertising_channel_sub_type.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdvertisingChannelSubTypeProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdvertisingChannelSubTypeProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/advertising_channel_sub_type.proto + +// 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/v14/enums/advertising_channel_type.proto b/third_party/googleapis/google/ads/googleads/v14/enums/advertising_channel_type.proto new file mode 100644 index 000000000..a75890126 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/advertising_channel_type.proto @@ -0,0 +1,98 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/advertising_channel_type.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/advertising_channel_type.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/advertising_channel_type.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdvertisingChannelTypeProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdvertisingChannelTypeProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/advertising_channel_type.proto + +// 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; +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/advertising_channel_type.proto +======== + + // Travel campaigns. + TRAVEL = 13; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/advertising_channel_type.proto + } +} diff --git a/third_party/googleapis/google/ads/googleads/v14/enums/affiliate_location_feed_relationship_type.proto b/third_party/googleapis/google/ads/googleads/v14/enums/affiliate_location_feed_relationship_type.proto new file mode 100644 index 000000000..89f4ea8e5 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/affiliate_location_feed_relationship_type.proto @@ -0,0 +1,61 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/affiliate_location_feed_relationship_type.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/affiliate_location_feed_relationship_type.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/affiliate_location_feed_relationship_type.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AffiliateLocationFeedRelationshipTypeProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AffiliateLocationFeedRelationshipTypeProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/affiliate_location_feed_relationship_type.proto + +// 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/v14/enums/affiliate_location_placeholder_field.proto b/third_party/googleapis/google/ads/googleads/v14/enums/affiliate_location_placeholder_field.proto new file mode 100644 index 000000000..8a35a44f1 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/affiliate_location_placeholder_field.proto @@ -0,0 +1,90 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/affiliate_location_placeholder_field.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/affiliate_location_placeholder_field.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/affiliate_location_placeholder_field.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AffiliateLocationPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AffiliateLocationPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/affiliate_location_placeholder_field.proto + +// 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/v14/enums/age_range_type.proto b/third_party/googleapis/google/ads/googleads/v14/enums/age_range_type.proto new file mode 100644 index 000000000..3da352cd6 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/age_range_type.proto @@ -0,0 +1,79 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/age_range_type.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/age_range_type.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/age_range_type.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AgeRangeTypeProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AgeRangeTypeProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/age_range_type.proto + +// 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/v14/enums/app_bidding_goal.proto b/third_party/googleapis/google/ads/googleads/v14/enums/app_bidding_goal.proto new file mode 100644 index 000000000..f1d621a38 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/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.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AppBiddingGoalProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::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/v14/enums/app_campaign_app_store.proto b/third_party/googleapis/google/ads/googleads/v14/enums/app_campaign_app_store.proto new file mode 100644 index 000000000..d30302799 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/app_campaign_app_store.proto @@ -0,0 +1,63 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/app_campaign_app_store.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/app_campaign_app_store.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/app_campaign_app_store.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AppCampaignAppStoreProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AppCampaignAppStoreProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/app_campaign_app_store.proto + +// 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/v14/enums/app_campaign_bidding_strategy_goal_type.proto b/third_party/googleapis/google/ads/googleads/v14/enums/app_campaign_bidding_strategy_goal_type.proto new file mode 100644 index 000000000..6170a7fbc --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/app_campaign_bidding_strategy_goal_type.proto @@ -0,0 +1,83 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/app_campaign_bidding_strategy_goal_type.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/app_campaign_bidding_strategy_goal_type.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/app_campaign_bidding_strategy_goal_type.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AppCampaignBiddingStrategyGoalTypeProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AppCampaignBiddingStrategyGoalTypeProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/app_campaign_bidding_strategy_goal_type.proto + +// 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/v14/enums/app_payment_model_type.proto b/third_party/googleapis/google/ads/googleads/v14/enums/app_payment_model_type.proto new file mode 100644 index 000000000..cd2122e69 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/app_payment_model_type.proto @@ -0,0 +1,60 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/app_payment_model_type.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/app_payment_model_type.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/app_payment_model_type.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AppPaymentModelTypeProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AppPaymentModelTypeProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/app_payment_model_type.proto + +// 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/v14/enums/app_placeholder_field.proto b/third_party/googleapis/google/ads/googleads/v14/enums/app_placeholder_field.proto new file mode 100644 index 000000000..821a79417 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/app_placeholder_field.proto @@ -0,0 +1,88 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/app_placeholder_field.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/app_placeholder_field.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/app_placeholder_field.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AppPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AppPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/app_placeholder_field.proto + +// 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/v14/enums/app_store.proto b/third_party/googleapis/google/ads/googleads/v14/enums/app_store.proto new file mode 100644 index 000000000..f1835a256 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/app_store.proto @@ -0,0 +1,63 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/app_store.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/app_store.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/app_store.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AppStoreProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AppStoreProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/app_store.proto + +// 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/v14/enums/app_url_operating_system_type.proto b/third_party/googleapis/google/ads/googleads/v14/enums/app_url_operating_system_type.proto new file mode 100644 index 000000000..e26837ffe --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/app_url_operating_system_type.proto @@ -0,0 +1,63 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/app_url_operating_system_type.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/app_url_operating_system_type.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/app_url_operating_system_type.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AppUrlOperatingSystemTypeProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AppUrlOperatingSystemTypeProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/app_url_operating_system_type.proto + +// 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/v14/enums/asset_field_type.proto b/third_party/googleapis/google/ads/googleads/v14/enums/asset_field_type.proto new file mode 100644 index 000000000..1dae491c2 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/asset_field_type.proto @@ -0,0 +1,143 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/asset_field_type.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/asset_field_type.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/asset_field_type.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AssetFieldTypeProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AssetFieldTypeProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/asset_field_type.proto + +// 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; +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/asset_field_type.proto +======== + + // 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; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/asset_field_type.proto + } +} diff --git a/third_party/googleapis/google/ads/googleads/v14/enums/asset_group_primary_status.proto b/third_party/googleapis/google/ads/googleads/v14/enums/asset_group_primary_status.proto new file mode 100644 index 000000000..7e089b193 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/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.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AssetGroupPrimaryStatusProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::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/v14/enums/asset_group_primary_status_reason.proto b/third_party/googleapis/google/ads/googleads/v14/enums/asset_group_primary_status_reason.proto new file mode 100644 index 000000000..df5b81bf2 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/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.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AssetGroupPrimaryStatusReasonProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::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/v14/enums/asset_group_status.proto b/third_party/googleapis/google/ads/googleads/v14/enums/asset_group_status.proto new file mode 100644 index 000000000..9159ce1d3 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/asset_group_status.proto @@ -0,0 +1,66 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/asset_group_status.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/asset_group_status.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/asset_group_status.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AssetGroupStatusProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AssetGroupStatusProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/asset_group_status.proto + +// 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/v14/enums/asset_link_primary_status.proto b/third_party/googleapis/google/ads/googleads/v14/enums/asset_link_primary_status.proto new file mode 100644 index 000000000..b0fb6f216 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/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.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AssetLinkPrimaryStatusProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::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/v14/enums/asset_link_primary_status_reason.proto b/third_party/googleapis/google/ads/googleads/v14/enums/asset_link_primary_status_reason.proto new file mode 100644 index 000000000..e88929f79 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/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.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AssetLinkPrimaryStatusReasonProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::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/v14/enums/asset_link_status.proto b/third_party/googleapis/google/ads/googleads/v14/enums/asset_link_status.proto new file mode 100644 index 000000000..367cb0a93 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/asset_link_status.proto @@ -0,0 +1,66 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/asset_link_status.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/asset_link_status.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/asset_link_status.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AssetLinkStatusProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AssetLinkStatusProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/asset_link_status.proto + +// 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/v14/enums/asset_offline_evaluation_error_reasons.proto b/third_party/googleapis/google/ads/googleads/v14/enums/asset_offline_evaluation_error_reasons.proto new file mode 100644 index 000000000..cf72d2eaf --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/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.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AssetOfflineEvaluationErrorReasonsProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::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/v14/enums/asset_performance_label.proto b/third_party/googleapis/google/ads/googleads/v14/enums/asset_performance_label.proto new file mode 100644 index 000000000..6a687255d --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/asset_performance_label.proto @@ -0,0 +1,75 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/asset_performance_label.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/asset_performance_label.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/asset_performance_label.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AssetPerformanceLabelProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AssetPerformanceLabelProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/asset_performance_label.proto + +// 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/v14/enums/asset_set_asset_status.proto b/third_party/googleapis/google/ads/googleads/v14/enums/asset_set_asset_status.proto new file mode 100644 index 000000000..2f6cb86f6 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/asset_set_asset_status.proto @@ -0,0 +1,64 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/asset_set_asset_status.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/asset_set_asset_status.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/asset_set_asset_status.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AssetSetAssetStatusProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AssetSetAssetStatusProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/asset_set_asset_status.proto + +// 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/v14/enums/asset_set_link_status.proto b/third_party/googleapis/google/ads/googleads/v14/enums/asset_set_link_status.proto new file mode 100644 index 000000000..db4360de9 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/asset_set_link_status.proto @@ -0,0 +1,65 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/asset_set_link_status.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/asset_set_link_status.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/asset_set_link_status.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AssetSetLinkStatusProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AssetSetLinkStatusProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/asset_set_link_status.proto + +// 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/v14/enums/asset_set_status.proto b/third_party/googleapis/google/ads/googleads/v14/enums/asset_set_status.proto new file mode 100644 index 000000000..5a606f72f --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/asset_set_status.proto @@ -0,0 +1,64 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/asset_set_status.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/asset_set_status.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/asset_set_status.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AssetSetStatusProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AssetSetStatusProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/asset_set_status.proto + +// 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/v14/enums/asset_set_type.proto b/third_party/googleapis/google/ads/googleads/v14/enums/asset_set_type.proto new file mode 100644 index 000000000..74e668a02 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/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.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AssetSetTypeProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::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/v14/enums/asset_source.proto b/third_party/googleapis/google/ads/googleads/v14/enums/asset_source.proto new file mode 100644 index 000000000..380f56100 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/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.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AssetSourceProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::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/v14/enums/asset_type.proto b/third_party/googleapis/google/ads/googleads/v14/enums/asset_type.proto new file mode 100644 index 000000000..b7be90c07 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/asset_type.proto @@ -0,0 +1,141 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/asset_type.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/asset_type.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/asset_type.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AssetTypeProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AssetTypeProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/asset_type.proto + +// 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; +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/asset_type.proto +======== + + // Hotel property asset. + HOTEL_PROPERTY = 28; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/asset_type.proto + } +} diff --git a/third_party/googleapis/google/ads/googleads/v14/enums/async_action_status.proto b/third_party/googleapis/google/ads/googleads/v14/enums/async_action_status.proto new file mode 100644 index 000000000..400524401 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/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.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AsyncActionStatusProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::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/v14/enums/attribution_model.proto b/third_party/googleapis/google/ads/googleads/v14/enums/attribution_model.proto new file mode 100644 index 000000000..e8d834b87 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/attribution_model.proto @@ -0,0 +1,85 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/attribution_model.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/attribution_model.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/attribution_model.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AttributionModelProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AttributionModelProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/attribution_model.proto + +// 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/v14/enums/audience_insights_dimension.proto b/third_party/googleapis/google/ads/googleads/v14/enums/audience_insights_dimension.proto new file mode 100644 index 000000000..b27978c43 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/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.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AudienceInsightsDimensionProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::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/v14/enums/audience_status.proto b/third_party/googleapis/google/ads/googleads/v14/enums/audience_status.proto new file mode 100644 index 000000000..98f303df7 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/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.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AudienceStatusProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::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/v14/enums/batch_job_status.proto b/third_party/googleapis/google/ads/googleads/v14/enums/batch_job_status.proto new file mode 100644 index 000000000..3c686fd4d --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/batch_job_status.proto @@ -0,0 +1,66 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/batch_job_status.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/batch_job_status.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/batch_job_status.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "BatchJobStatusProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "BatchJobStatusProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/batch_job_status.proto + +// 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/v14/enums/bid_modifier_source.proto b/third_party/googleapis/google/ads/googleads/v14/enums/bid_modifier_source.proto new file mode 100644 index 000000000..7e0a1fa06 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/bid_modifier_source.proto @@ -0,0 +1,64 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/bid_modifier_source.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/bid_modifier_source.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/bid_modifier_source.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "BidModifierSourceProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "BidModifierSourceProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/bid_modifier_source.proto + +// 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/v14/enums/bidding_source.proto b/third_party/googleapis/google/ads/googleads/v14/enums/bidding_source.proto new file mode 100644 index 000000000..60622ccbd --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/bidding_source.proto @@ -0,0 +1,68 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/bidding_source.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/bidding_source.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/bidding_source.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "BiddingSourceProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "BiddingSourceProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/bidding_source.proto + +// 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/v14/enums/bidding_strategy_status.proto b/third_party/googleapis/google/ads/googleads/v14/enums/bidding_strategy_status.proto new file mode 100644 index 000000000..594b0c1c7 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/bidding_strategy_status.proto @@ -0,0 +1,65 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/bidding_strategy_status.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/bidding_strategy_status.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/bidding_strategy_status.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "BiddingStrategyStatusProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "BiddingStrategyStatusProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/bidding_strategy_status.proto + +// 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/v14/enums/bidding_strategy_system_status.proto b/third_party/googleapis/google/ads/googleads/v14/enums/bidding_strategy_system_status.proto new file mode 100644 index 000000000..9a61a9ac5 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/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.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "BiddingStrategySystemStatusProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::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/v14/enums/bidding_strategy_type.proto b/third_party/googleapis/google/ads/googleads/v14/enums/bidding_strategy_type.proto new file mode 100644 index 000000000..8adb67843 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/bidding_strategy_type.proto @@ -0,0 +1,136 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/bidding_strategy_type.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/bidding_strategy_type.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/bidding_strategy_type.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "BiddingStrategyTypeProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "BiddingStrategyTypeProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/bidding_strategy_type.proto + +// 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/v14/enums/billing_setup_status.proto b/third_party/googleapis/google/ads/googleads/v14/enums/billing_setup_status.proto new file mode 100644 index 000000000..d2084ba8c --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/billing_setup_status.proto @@ -0,0 +1,71 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/billing_setup_status.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/billing_setup_status.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/billing_setup_status.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "BillingSetupStatusProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "BillingSetupStatusProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/billing_setup_status.proto + +// 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/v14/enums/brand_safety_suitability.proto b/third_party/googleapis/google/ads/googleads/v14/enums/brand_safety_suitability.proto new file mode 100644 index 000000000..dcd3a5703 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/brand_safety_suitability.proto @@ -0,0 +1,86 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/brand_safety_suitability.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/brand_safety_suitability.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/brand_safety_suitability.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "BrandSafetySuitabilityProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "BrandSafetySuitabilityProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/brand_safety_suitability.proto + +// 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/v14/enums/budget_campaign_association_status.proto b/third_party/googleapis/google/ads/googleads/v14/enums/budget_campaign_association_status.proto new file mode 100644 index 000000000..d6a67384b --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/budget_campaign_association_status.proto @@ -0,0 +1,64 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/budget_campaign_association_status.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/budget_campaign_association_status.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/budget_campaign_association_status.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "BudgetCampaignAssociationStatusProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "BudgetCampaignAssociationStatusProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/budget_campaign_association_status.proto + +// 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/v14/enums/budget_delivery_method.proto b/third_party/googleapis/google/ads/googleads/v14/enums/budget_delivery_method.proto new file mode 100644 index 000000000..5b2b64404 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/budget_delivery_method.proto @@ -0,0 +1,66 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/budget_delivery_method.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/budget_delivery_method.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/budget_delivery_method.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "BudgetDeliveryMethodProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "BudgetDeliveryMethodProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/budget_delivery_method.proto + +// 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/v14/enums/budget_period.proto b/third_party/googleapis/google/ads/googleads/v14/enums/budget_period.proto new file mode 100644 index 000000000..823192a54 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/budget_period.proto @@ -0,0 +1,66 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/budget_period.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/budget_period.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/budget_period.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "BudgetPeriodProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "BudgetPeriodProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/budget_period.proto + +// 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 bugdet 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/v14/enums/budget_status.proto b/third_party/googleapis/google/ads/googleads/v14/enums/budget_status.proto new file mode 100644 index 000000000..4d43945e0 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/budget_status.proto @@ -0,0 +1,63 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/budget_status.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/budget_status.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/budget_status.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "BudgetStatusProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "BudgetStatusProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/budget_status.proto + +// 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/v14/enums/budget_type.proto b/third_party/googleapis/google/ads/googleads/v14/enums/budget_type.proto new file mode 100644 index 000000000..7d1f1b7d5 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/budget_type.proto @@ -0,0 +1,86 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/budget_type.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/budget_type.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/budget_type.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "BudgetTypeProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "BudgetTypeProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/budget_type.proto + +// 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/v14/enums/call_conversion_reporting_state.proto b/third_party/googleapis/google/ads/googleads/v14/enums/call_conversion_reporting_state.proto new file mode 100644 index 000000000..afcbcf193 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/call_conversion_reporting_state.proto @@ -0,0 +1,69 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/call_conversion_reporting_state.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/call_conversion_reporting_state.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/call_conversion_reporting_state.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CallConversionReportingStateProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CallConversionReportingStateProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/call_conversion_reporting_state.proto + +// 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/v14/enums/call_placeholder_field.proto b/third_party/googleapis/google/ads/googleads/v14/enums/call_placeholder_field.proto new file mode 100644 index 000000000..cc07fdec6 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/call_placeholder_field.proto @@ -0,0 +1,79 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/call_placeholder_field.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/call_placeholder_field.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/call_placeholder_field.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CallPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CallPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/call_placeholder_field.proto + +// 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/v14/enums/call_to_action_type.proto b/third_party/googleapis/google/ads/googleads/v14/enums/call_to_action_type.proto new file mode 100644 index 000000000..eeacaf5c8 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/call_to_action_type.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/call_to_action_type.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CallToActionTypeProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CallToActionTypeProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/call_to_action_type.proto + +// 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/v14/enums/call_tracking_display_location.proto b/third_party/googleapis/google/ads/googleads/v14/enums/call_tracking_display_location.proto new file mode 100644 index 000000000..6a4422fae --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/call_tracking_display_location.proto @@ -0,0 +1,63 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/call_tracking_display_location.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/call_tracking_display_location.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/call_tracking_display_location.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CallTrackingDisplayLocationProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CallTrackingDisplayLocationProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/call_tracking_display_location.proto + +// 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/v14/enums/call_type.proto b/third_party/googleapis/google/ads/googleads/v14/enums/call_type.proto new file mode 100644 index 000000000..9d262afbb --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/call_type.proto @@ -0,0 +1,64 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/call_type.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/call_type.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/call_type.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CallTypeProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CallTypeProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/call_type.proto + +// 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/v14/enums/callout_placeholder_field.proto b/third_party/googleapis/google/ads/googleads/v14/enums/callout_placeholder_field.proto new file mode 100644 index 000000000..8696b17c0 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/callout_placeholder_field.proto @@ -0,0 +1,60 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/callout_placeholder_field.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/callout_placeholder_field.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/callout_placeholder_field.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CalloutPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CalloutPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/callout_placeholder_field.proto + +// 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/v14/enums/campaign_criterion_status.proto b/third_party/googleapis/google/ads/googleads/v14/enums/campaign_criterion_status.proto new file mode 100644 index 000000000..e8c4da08d --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/campaign_criterion_status.proto @@ -0,0 +1,68 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/campaign_criterion_status.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/campaign_criterion_status.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/campaign_criterion_status.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CampaignCriterionStatusProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CampaignCriterionStatusProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/campaign_criterion_status.proto + +// 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/v14/enums/campaign_draft_status.proto b/third_party/googleapis/google/ads/googleads/v14/enums/campaign_draft_status.proto new file mode 100644 index 000000000..7943ceece --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/campaign_draft_status.proto @@ -0,0 +1,78 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/campaign_draft_status.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/campaign_draft_status.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/campaign_draft_status.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CampaignDraftStatusProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CampaignDraftStatusProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/campaign_draft_status.proto + +// 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/v14/enums/campaign_experiment_type.proto b/third_party/googleapis/google/ads/googleads/v14/enums/campaign_experiment_type.proto new file mode 100644 index 000000000..b7fdbeca9 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/campaign_experiment_type.proto @@ -0,0 +1,72 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/campaign_experiment_type.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/campaign_experiment_type.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/campaign_experiment_type.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CampaignExperimentTypeProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CampaignExperimentTypeProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/campaign_experiment_type.proto + +// 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/v14/enums/campaign_group_status.proto b/third_party/googleapis/google/ads/googleads/v14/enums/campaign_group_status.proto new file mode 100644 index 000000000..ba2153ec2 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/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.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CampaignGroupStatusProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::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/v14/enums/campaign_primary_status.proto b/third_party/googleapis/google/ads/googleads/v14/enums/campaign_primary_status.proto new file mode 100644 index 000000000..8f298107e --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/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.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CampaignPrimaryStatusProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::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/v14/enums/campaign_primary_status_reason.proto b/third_party/googleapis/google/ads/googleads/v14/enums/campaign_primary_status_reason.proto new file mode 100644 index 000000000..e04317bc5 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/campaign_primary_status_reason.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.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CampaignPrimaryStatusReasonProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::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; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v14/enums/campaign_serving_status.proto b/third_party/googleapis/google/ads/googleads/v14/enums/campaign_serving_status.proto new file mode 100644 index 000000000..afd1af738 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/campaign_serving_status.proto @@ -0,0 +1,74 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/campaign_serving_status.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/campaign_serving_status.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/campaign_serving_status.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CampaignServingStatusProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CampaignServingStatusProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/campaign_serving_status.proto + +// 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/v14/enums/campaign_shared_set_status.proto b/third_party/googleapis/google/ads/googleads/v14/enums/campaign_shared_set_status.proto new file mode 100644 index 000000000..0ff079c98 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/campaign_shared_set_status.proto @@ -0,0 +1,63 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/campaign_shared_set_status.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/campaign_shared_set_status.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/campaign_shared_set_status.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CampaignSharedSetStatusProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CampaignSharedSetStatusProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/campaign_shared_set_status.proto + +// 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/v14/enums/campaign_status.proto b/third_party/googleapis/google/ads/googleads/v14/enums/campaign_status.proto new file mode 100644 index 000000000..64cd50011 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/campaign_status.proto @@ -0,0 +1,66 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/campaign_status.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/campaign_status.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/campaign_status.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CampaignStatusProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CampaignStatusProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/campaign_status.proto + +// 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/v14/enums/chain_relationship_type.proto b/third_party/googleapis/google/ads/googleads/v14/enums/chain_relationship_type.proto new file mode 100644 index 000000000..5837522cd --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/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.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ChainRelationshipTypeProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::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/v14/enums/change_client_type.proto b/third_party/googleapis/google/ads/googleads/v14/enums/change_client_type.proto new file mode 100644 index 000000000..58a3a0b12 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/change_client_type.proto @@ -0,0 +1,101 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/change_client_type.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/change_client_type.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/change_client_type.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ChangeClientTypeProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ChangeClientTypeProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/change_client_type.proto + +// 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; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v14/enums/change_event_resource_type.proto b/third_party/googleapis/google/ads/googleads/v14/enums/change_event_resource_type.proto new file mode 100644 index 000000000..27057da84 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/change_event_resource_type.proto @@ -0,0 +1,116 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/change_event_resource_type.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/change_event_resource_type.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/change_event_resource_type.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ChangeEventResourceTypeProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ChangeEventResourceTypeProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/change_event_resource_type.proto + +// 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/v14/enums/change_status_operation.proto b/third_party/googleapis/google/ads/googleads/v14/enums/change_status_operation.proto new file mode 100644 index 000000000..a8c4df746 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/change_status_operation.proto @@ -0,0 +1,67 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/change_status_operation.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/change_status_operation.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/change_status_operation.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ChangeStatusOperationProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ChangeStatusOperationProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/change_status_operation.proto + +// 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/v14/enums/change_status_resource_type.proto b/third_party/googleapis/google/ads/googleads/v14/enums/change_status_resource_type.proto new file mode 100644 index 000000000..18acd0e2c --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/change_status_resource_type.proto @@ -0,0 +1,110 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/change_status_resource_type.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/change_status_resource_type.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/change_status_resource_type.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ChangeStatusResourceTypeProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ChangeStatusResourceTypeProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/change_status_resource_type.proto + +// 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/v14/enums/click_type.proto b/third_party/googleapis/google/ads/googleads/v14/enums/click_type.proto new file mode 100644 index 000000000..0c6ce43a0 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/click_type.proto @@ -0,0 +1,219 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/click_type.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/click_type.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/click_type.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ClickTypeProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ClickTypeProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/click_type.proto + +// 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/v14/enums/combined_audience_status.proto b/third_party/googleapis/google/ads/googleads/v14/enums/combined_audience_status.proto new file mode 100644 index 000000000..6c18ca007 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/combined_audience_status.proto @@ -0,0 +1,64 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/combined_audience_status.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/combined_audience_status.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/combined_audience_status.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CombinedAudienceStatusProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CombinedAudienceStatusProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/combined_audience_status.proto + +// 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/v14/enums/content_label_type.proto b/third_party/googleapis/google/ads/googleads/v14/enums/content_label_type.proto new file mode 100644 index 000000000..93ace583e --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/content_label_type.proto @@ -0,0 +1,102 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/content_label_type.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/content_label_type.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/content_label_type.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ContentLabelTypeProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ContentLabelTypeProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/content_label_type.proto + +// 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/v14/enums/conversion_action_category.proto b/third_party/googleapis/google/ads/googleads/v14/enums/conversion_action_category.proto new file mode 100644 index 000000000..d66a28c0e --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/conversion_action_category.proto @@ -0,0 +1,129 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/conversion_action_category.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/conversion_action_category.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/conversion_action_category.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionActionCategoryProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionActionCategoryProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/conversion_action_category.proto + +// 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/v14/enums/conversion_action_counting_type.proto b/third_party/googleapis/google/ads/googleads/v14/enums/conversion_action_counting_type.proto new file mode 100644 index 000000000..98e744a1e --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/conversion_action_counting_type.proto @@ -0,0 +1,65 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/conversion_action_counting_type.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/conversion_action_counting_type.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/conversion_action_counting_type.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionActionCountingTypeProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionActionCountingTypeProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/conversion_action_counting_type.proto + +// 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/v14/enums/conversion_action_status.proto b/third_party/googleapis/google/ads/googleads/v14/enums/conversion_action_status.proto new file mode 100644 index 000000000..2d457d5e1 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/conversion_action_status.proto @@ -0,0 +1,67 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/conversion_action_status.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/conversion_action_status.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/conversion_action_status.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionActionStatusProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionActionStatusProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/conversion_action_status.proto + +// 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/v14/enums/conversion_action_type.proto b/third_party/googleapis/google/ads/googleads/v14/enums/conversion_action_type.proto new file mode 100644 index 000000000..fe20aa403 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/conversion_action_type.proto @@ -0,0 +1,207 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/conversion_action_type.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionActionTypeProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionActionTypeProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/conversion_action_type.proto + +// 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 +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/conversion_action_type.proto + // loads), that don't use individually coded event snippets. + WEBPAGE_CODELESS = 37; +======== + // 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; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/conversion_action_type.proto + } +} diff --git a/third_party/googleapis/google/ads/googleads/v14/enums/conversion_adjustment_type.proto b/third_party/googleapis/google/ads/googleads/v14/enums/conversion_adjustment_type.proto new file mode 100644 index 000000000..3d29895ce --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/conversion_adjustment_type.proto @@ -0,0 +1,69 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/conversion_adjustment_type.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/conversion_adjustment_type.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/conversion_adjustment_type.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionAdjustmentTypeProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionAdjustmentTypeProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/conversion_adjustment_type.proto + +// 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/v14/enums/conversion_attribution_event_type.proto b/third_party/googleapis/google/ads/googleads/v14/enums/conversion_attribution_event_type.proto new file mode 100644 index 000000000..ddd7fd605 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/conversion_attribution_event_type.proto @@ -0,0 +1,61 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/conversion_attribution_event_type.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/conversion_attribution_event_type.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/conversion_attribution_event_type.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionAttributionEventTypeProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionAttributionEventTypeProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/conversion_attribution_event_type.proto + +// 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/v14/enums/conversion_custom_variable_status.proto b/third_party/googleapis/google/ads/googleads/v14/enums/conversion_custom_variable_status.proto new file mode 100644 index 000000000..b5317a7ac --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/conversion_custom_variable_status.proto @@ -0,0 +1,71 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/conversion_custom_variable_status.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/conversion_custom_variable_status.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/conversion_custom_variable_status.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionCustomVariableStatusProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionCustomVariableStatusProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/conversion_custom_variable_status.proto + +// 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/v14/enums/conversion_environment_enum.proto b/third_party/googleapis/google/ads/googleads/v14/enums/conversion_environment_enum.proto new file mode 100644 index 000000000..cf93f374d --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/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.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionEnvironmentEnumProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::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/v14/enums/conversion_lag_bucket.proto b/third_party/googleapis/google/ads/googleads/v14/enums/conversion_lag_bucket.proto new file mode 100644 index 000000000..ff7ba0a7a --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/conversion_lag_bucket.proto @@ -0,0 +1,130 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/conversion_lag_bucket.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/conversion_lag_bucket.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/conversion_lag_bucket.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionLagBucketProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionLagBucketProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/conversion_lag_bucket.proto + +// 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/v14/enums/conversion_or_adjustment_lag_bucket.proto b/third_party/googleapis/google/ads/googleads/v14/enums/conversion_or_adjustment_lag_bucket.proto new file mode 100644 index 000000000..e06a6dce5 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/conversion_or_adjustment_lag_bucket.proto @@ -0,0 +1,219 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/conversion_or_adjustment_lag_bucket.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/conversion_or_adjustment_lag_bucket.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/conversion_or_adjustment_lag_bucket.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionOrAdjustmentLagBucketProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionOrAdjustmentLagBucketProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/conversion_or_adjustment_lag_bucket.proto + +// 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/v14/enums/conversion_origin.proto b/third_party/googleapis/google/ads/googleads/v14/enums/conversion_origin.proto new file mode 100644 index 000000000..93b076e1e --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/conversion_origin.proto @@ -0,0 +1,80 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/conversion_origin.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/conversion_origin.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/conversion_origin.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionOriginProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionOriginProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/conversion_origin.proto + +// 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/v14/enums/conversion_tracking_status_enum.proto b/third_party/googleapis/google/ads/googleads/v14/enums/conversion_tracking_status_enum.proto new file mode 100644 index 000000000..7eee4bfe9 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/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.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionTrackingStatusEnumProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::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/v14/enums/conversion_value_rule_primary_dimension.proto b/third_party/googleapis/google/ads/googleads/v14/enums/conversion_value_rule_primary_dimension.proto new file mode 100644 index 000000000..55de45ebf --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/conversion_value_rule_primary_dimension.proto @@ -0,0 +1,79 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/conversion_value_rule_primary_dimension.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/conversion_value_rule_primary_dimension.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/conversion_value_rule_primary_dimension.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionValueRulePrimaryDimensionProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionValueRulePrimaryDimensionProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/conversion_value_rule_primary_dimension.proto + +// 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/v14/enums/conversion_value_rule_set_status.proto b/third_party/googleapis/google/ads/googleads/v14/enums/conversion_value_rule_set_status.proto new file mode 100644 index 000000000..e72649576 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/conversion_value_rule_set_status.proto @@ -0,0 +1,68 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/conversion_value_rule_set_status.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/conversion_value_rule_set_status.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/conversion_value_rule_set_status.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionValueRuleSetStatusProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionValueRuleSetStatusProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/conversion_value_rule_set_status.proto + +// 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/v14/enums/conversion_value_rule_status.proto b/third_party/googleapis/google/ads/googleads/v14/enums/conversion_value_rule_status.proto new file mode 100644 index 000000000..f8e547e77 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/conversion_value_rule_status.proto @@ -0,0 +1,66 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/conversion_value_rule_status.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/conversion_value_rule_status.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/conversion_value_rule_status.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionValueRuleStatusProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionValueRuleStatusProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/conversion_value_rule_status.proto + +// 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/v14/enums/converting_user_prior_engagement_type_and_ltv_bucket.proto b/third_party/googleapis/google/ads/googleads/v14/enums/converting_user_prior_engagement_type_and_ltv_bucket.proto new file mode 100644 index 000000000..f2d6b2e7f --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/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.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConvertingUserPriorEngagementTypeAndLtvBucketProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::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/v14/enums/criterion_category_channel_availability_mode.proto b/third_party/googleapis/google/ads/googleads/v14/enums/criterion_category_channel_availability_mode.proto new file mode 100644 index 000000000..fd367e58c --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/criterion_category_channel_availability_mode.proto @@ -0,0 +1,71 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/criterion_category_channel_availability_mode.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/criterion_category_channel_availability_mode.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/criterion_category_channel_availability_mode.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CriterionCategoryChannelAvailabilityModeProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CriterionCategoryChannelAvailabilityModeProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/criterion_category_channel_availability_mode.proto + +// 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/v14/enums/criterion_category_locale_availability_mode.proto b/third_party/googleapis/google/ads/googleads/v14/enums/criterion_category_locale_availability_mode.proto new file mode 100644 index 000000000..98752c576 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/criterion_category_locale_availability_mode.proto @@ -0,0 +1,74 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/criterion_category_locale_availability_mode.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/criterion_category_locale_availability_mode.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/criterion_category_locale_availability_mode.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CriterionCategoryLocaleAvailabilityModeProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CriterionCategoryLocaleAvailabilityModeProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/criterion_category_locale_availability_mode.proto + +// 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/v14/enums/criterion_system_serving_status.proto b/third_party/googleapis/google/ads/googleads/v14/enums/criterion_system_serving_status.proto new file mode 100644 index 000000000..87d613c51 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/criterion_system_serving_status.proto @@ -0,0 +1,63 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/criterion_system_serving_status.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/criterion_system_serving_status.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/criterion_system_serving_status.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CriterionSystemServingStatusProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CriterionSystemServingStatusProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/criterion_system_serving_status.proto + +// 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/v14/enums/criterion_type.proto b/third_party/googleapis/google/ads/googleads/v14/enums/criterion_type.proto new file mode 100644 index 000000000..2ff5f73e2 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/criterion_type.proto @@ -0,0 +1,168 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/criterion_type.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/criterion_type.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/criterion_type.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CriterionTypeProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CriterionTypeProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/criterion_type.proto + +// 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; +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/criterion_type.proto +======== + + // Negative Keyword List + NEGATIVE_KEYWORD_LIST = 36; + + // Local Services Ads Service ID. + LOCAL_SERVICE_ID = 37; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/criterion_type.proto + } +} diff --git a/third_party/googleapis/google/ads/googleads/v14/enums/custom_audience_member_type.proto b/third_party/googleapis/google/ads/googleads/v14/enums/custom_audience_member_type.proto new file mode 100644 index 000000000..dd221772a --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/custom_audience_member_type.proto @@ -0,0 +1,69 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/custom_audience_member_type.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/custom_audience_member_type.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/custom_audience_member_type.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CustomAudienceMemberTypeProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CustomAudienceMemberTypeProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/custom_audience_member_type.proto + +// 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/v14/enums/custom_audience_status.proto b/third_party/googleapis/google/ads/googleads/v14/enums/custom_audience_status.proto new file mode 100644 index 000000000..35c1d1bab --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/custom_audience_status.proto @@ -0,0 +1,64 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/custom_audience_status.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/custom_audience_status.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/custom_audience_status.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CustomAudienceStatusProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CustomAudienceStatusProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/custom_audience_status.proto + +// 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/v14/enums/custom_audience_type.proto b/third_party/googleapis/google/ads/googleads/v14/enums/custom_audience_type.proto new file mode 100644 index 000000000..3ecceb5ca --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/custom_audience_type.proto @@ -0,0 +1,71 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/custom_audience_type.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/custom_audience_type.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/custom_audience_type.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CustomAudienceTypeProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CustomAudienceTypeProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/custom_audience_type.proto + +// 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/v14/enums/custom_conversion_goal_status.proto b/third_party/googleapis/google/ads/googleads/v14/enums/custom_conversion_goal_status.proto new file mode 100644 index 000000000..ab848687a --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/custom_conversion_goal_status.proto @@ -0,0 +1,63 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/custom_conversion_goal_status.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/custom_conversion_goal_status.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/custom_conversion_goal_status.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CustomConversionGoalStatusProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CustomConversionGoalStatusProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/custom_conversion_goal_status.proto + +// 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/v14/enums/custom_interest_member_type.proto b/third_party/googleapis/google/ads/googleads/v14/enums/custom_interest_member_type.proto new file mode 100644 index 000000000..dd6323c24 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/custom_interest_member_type.proto @@ -0,0 +1,63 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/custom_interest_member_type.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/custom_interest_member_type.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/custom_interest_member_type.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CustomInterestMemberTypeProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CustomInterestMemberTypeProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/custom_interest_member_type.proto + +// 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/v14/enums/custom_interest_status.proto b/third_party/googleapis/google/ads/googleads/v14/enums/custom_interest_status.proto new file mode 100644 index 000000000..806061c60 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/custom_interest_status.proto @@ -0,0 +1,64 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/custom_interest_status.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/custom_interest_status.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/custom_interest_status.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CustomInterestStatusProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CustomInterestStatusProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/custom_interest_status.proto + +// 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/v14/enums/custom_interest_type.proto b/third_party/googleapis/google/ads/googleads/v14/enums/custom_interest_type.proto new file mode 100644 index 000000000..906070395 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/custom_interest_type.proto @@ -0,0 +1,63 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/custom_interest_type.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/custom_interest_type.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/custom_interest_type.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CustomInterestTypeProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CustomInterestTypeProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/custom_interest_type.proto + +// 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/v14/enums/custom_placeholder_field.proto b/third_party/googleapis/google/ads/googleads/v14/enums/custom_placeholder_field.proto new file mode 100644 index 000000000..2c1507d5b --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/custom_placeholder_field.proto @@ -0,0 +1,142 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/custom_placeholder_field.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/custom_placeholder_field.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/custom_placeholder_field.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CustomPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CustomPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/custom_placeholder_field.proto + +// 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/v14/enums/customer_match_upload_key_type.proto b/third_party/googleapis/google/ads/googleads/v14/enums/customer_match_upload_key_type.proto new file mode 100644 index 000000000..21879400e --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/customer_match_upload_key_type.proto @@ -0,0 +1,66 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/customer_match_upload_key_type.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/customer_match_upload_key_type.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/customer_match_upload_key_type.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CustomerMatchUploadKeyTypeProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CustomerMatchUploadKeyTypeProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/customer_match_upload_key_type.proto + +// 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/v14/enums/customer_pay_per_conversion_eligibility_failure_reason.proto b/third_party/googleapis/google/ads/googleads/v14/enums/customer_pay_per_conversion_eligibility_failure_reason.proto new file mode 100644 index 000000000..1d960a77a --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/customer_pay_per_conversion_eligibility_failure_reason.proto @@ -0,0 +1,81 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/customer_pay_per_conversion_eligibility_failure_reason.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/customer_pay_per_conversion_eligibility_failure_reason.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/customer_pay_per_conversion_eligibility_failure_reason.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CustomerPayPerConversionEligibilityFailureReasonProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CustomerPayPerConversionEligibilityFailureReasonProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/customer_pay_per_conversion_eligibility_failure_reason.proto + +// 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/v14/enums/customer_status.proto b/third_party/googleapis/google/ads/googleads/v14/enums/customer_status.proto new file mode 100644 index 000000000..ab38f57dd --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/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.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CustomerStatusProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::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/v14/enums/customizer_attribute_status.proto b/third_party/googleapis/google/ads/googleads/v14/enums/customizer_attribute_status.proto new file mode 100644 index 000000000..453e3fad2 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/customizer_attribute_status.proto @@ -0,0 +1,63 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/customizer_attribute_status.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/customizer_attribute_status.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/customizer_attribute_status.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CustomizerAttributeStatusProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CustomizerAttributeStatusProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/customizer_attribute_status.proto + +// 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/v14/enums/customizer_attribute_type.proto b/third_party/googleapis/google/ads/googleads/v14/enums/customizer_attribute_type.proto new file mode 100644 index 000000000..6149fb3e7 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/customizer_attribute_type.proto @@ -0,0 +1,69 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/customizer_attribute_type.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/customizer_attribute_type.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/customizer_attribute_type.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CustomizerAttributeTypeProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CustomizerAttributeTypeProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/customizer_attribute_type.proto + +// 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/v14/enums/customizer_value_status.proto b/third_party/googleapis/google/ads/googleads/v14/enums/customizer_value_status.proto new file mode 100644 index 000000000..6cd58f04e --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/customizer_value_status.proto @@ -0,0 +1,63 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/customizer_value_status.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/customizer_value_status.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/customizer_value_status.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CustomizerValueStatusProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CustomizerValueStatusProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/customizer_value_status.proto + +// 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/v14/enums/data_driven_model_status.proto b/third_party/googleapis/google/ads/googleads/v14/enums/data_driven_model_status.proto new file mode 100644 index 000000000..066879cda --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/data_driven_model_status.proto @@ -0,0 +1,75 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/data_driven_model_status.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/data_driven_model_status.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/data_driven_model_status.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "DataDrivenModelStatusProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "DataDrivenModelStatusProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/data_driven_model_status.proto + +// 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/v14/enums/day_of_week.proto b/third_party/googleapis/google/ads/googleads/v14/enums/day_of_week.proto new file mode 100644 index 000000000..b8cfa5b3c --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/day_of_week.proto @@ -0,0 +1,78 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/day_of_week.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/day_of_week.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/day_of_week.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "DayOfWeekProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "DayOfWeekProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/day_of_week.proto + +// 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/v14/enums/device.proto b/third_party/googleapis/google/ads/googleads/v14/enums/device.proto new file mode 100644 index 000000000..e551158b6 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/device.proto @@ -0,0 +1,72 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/device.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/device.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/device.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "DeviceProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "DeviceProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/device.proto + +// 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/v14/enums/display_ad_format_setting.proto b/third_party/googleapis/google/ads/googleads/v14/enums/display_ad_format_setting.proto new file mode 100644 index 000000000..b1477bb3f --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/display_ad_format_setting.proto @@ -0,0 +1,67 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/display_ad_format_setting.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/display_ad_format_setting.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/display_ad_format_setting.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "DisplayAdFormatSettingProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "DisplayAdFormatSettingProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/display_ad_format_setting.proto + +// 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/v14/enums/display_upload_product_type.proto b/third_party/googleapis/google/ads/googleads/v14/enums/display_upload_product_type.proto new file mode 100644 index 000000000..afaf25d23 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/display_upload_product_type.proto @@ -0,0 +1,110 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/display_upload_product_type.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/display_upload_product_type.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/display_upload_product_type.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "DisplayUploadProductTypeProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "DisplayUploadProductTypeProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/display_upload_product_type.proto + +// 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/v14/enums/distance_bucket.proto b/third_party/googleapis/google/ads/googleads/v14/enums/distance_bucket.proto new file mode 100644 index 000000000..1b4589d15 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/distance_bucket.proto @@ -0,0 +1,140 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/distance_bucket.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/distance_bucket.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/distance_bucket.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "DistanceBucketProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "DistanceBucketProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/distance_bucket.proto + +// 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/v14/enums/dsa_page_feed_criterion_field.proto b/third_party/googleapis/google/ads/googleads/v14/enums/dsa_page_feed_criterion_field.proto new file mode 100644 index 000000000..39e4a6bc3 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/dsa_page_feed_criterion_field.proto @@ -0,0 +1,64 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/dsa_page_feed_criterion_field.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/dsa_page_feed_criterion_field.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/dsa_page_feed_criterion_field.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "DsaPageFeedCriterionFieldProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "DsaPageFeedCriterionFieldProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/dsa_page_feed_criterion_field.proto + +// 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/v14/enums/education_placeholder_field.proto b/third_party/googleapis/google/ads/googleads/v14/enums/education_placeholder_field.proto new file mode 100644 index 000000000..757008789 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/education_placeholder_field.proto @@ -0,0 +1,124 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/education_placeholder_field.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/education_placeholder_field.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/education_placeholder_field.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "EducationPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "EducationPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/education_placeholder_field.proto + +// 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/v14/enums/experiment_metric.proto b/third_party/googleapis/google/ads/googleads/v14/enums/experiment_metric.proto new file mode 100644 index 000000000..23658b89a --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/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.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ExperimentMetricProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::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/v14/enums/experiment_metric_direction.proto b/third_party/googleapis/google/ads/googleads/v14/enums/experiment_metric_direction.proto new file mode 100644 index 000000000..9ed6331a6 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/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.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ExperimentMetricDirectionProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::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/v14/enums/experiment_status.proto b/third_party/googleapis/google/ads/googleads/v14/enums/experiment_status.proto new file mode 100644 index 000000000..2dbda9177 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/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.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ExperimentStatusProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::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/v14/enums/experiment_type.proto b/third_party/googleapis/google/ads/googleads/v14/enums/experiment_type.proto new file mode 100644 index 000000000..b91d044a3 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/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.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ExperimentTypeProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::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/v14/enums/extension_setting_device.proto b/third_party/googleapis/google/ads/googleads/v14/enums/extension_setting_device.proto new file mode 100644 index 000000000..a779bc2f8 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/extension_setting_device.proto @@ -0,0 +1,65 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/extension_setting_device.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/extension_setting_device.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/extension_setting_device.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ExtensionSettingDeviceProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ExtensionSettingDeviceProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/extension_setting_device.proto + +// 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/v14/enums/extension_type.proto b/third_party/googleapis/google/ads/googleads/v14/enums/extension_type.proto new file mode 100644 index 000000000..2efe16994 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/extension_type.proto @@ -0,0 +1,97 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/extension_type.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/extension_type.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/extension_type.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ExtensionTypeProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ExtensionTypeProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/extension_type.proto + +// 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/v14/enums/external_conversion_source.proto b/third_party/googleapis/google/ads/googleads/v14/enums/external_conversion_source.proto new file mode 100644 index 000000000..dd5d54bbe --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/external_conversion_source.proto @@ -0,0 +1,168 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/external_conversion_source.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/external_conversion_source.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/external_conversion_source.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ExternalConversionSourceProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ExternalConversionSourceProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/external_conversion_source.proto + +// 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/v14/enums/feed_attribute_type.proto b/third_party/googleapis/google/ads/googleads/v14/enums/feed_attribute_type.proto new file mode 100644 index 000000000..13bb15358 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/feed_attribute_type.proto @@ -0,0 +1,96 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/feed_attribute_type.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/feed_attribute_type.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/feed_attribute_type.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedAttributeTypeProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedAttributeTypeProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/feed_attribute_type.proto + +// 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/v14/enums/feed_item_quality_approval_status.proto b/third_party/googleapis/google/ads/googleads/v14/enums/feed_item_quality_approval_status.proto new file mode 100644 index 000000000..8ec758850 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/feed_item_quality_approval_status.proto @@ -0,0 +1,65 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/feed_item_quality_approval_status.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/feed_item_quality_approval_status.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/feed_item_quality_approval_status.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemQualityApprovalStatusProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemQualityApprovalStatusProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/feed_item_quality_approval_status.proto + +// 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/v14/enums/feed_item_quality_disapproval_reason.proto b/third_party/googleapis/google/ads/googleads/v14/enums/feed_item_quality_disapproval_reason.proto new file mode 100644 index 000000000..baac48706 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/feed_item_quality_disapproval_reason.proto @@ -0,0 +1,112 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/feed_item_quality_disapproval_reason.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/feed_item_quality_disapproval_reason.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/feed_item_quality_disapproval_reason.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemQualityDisapprovalReasonProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemQualityDisapprovalReasonProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/feed_item_quality_disapproval_reason.proto + +// 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/v14/enums/feed_item_set_status.proto b/third_party/googleapis/google/ads/googleads/v14/enums/feed_item_set_status.proto new file mode 100644 index 000000000..14785b846 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/feed_item_set_status.proto @@ -0,0 +1,63 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/feed_item_set_status.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/feed_item_set_status.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/feed_item_set_status.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemSetStatusProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemSetStatusProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/feed_item_set_status.proto + +// 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/v14/enums/feed_item_set_string_filter_type.proto b/third_party/googleapis/google/ads/googleads/v14/enums/feed_item_set_string_filter_type.proto new file mode 100644 index 000000000..e5ac21c44 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/feed_item_set_string_filter_type.proto @@ -0,0 +1,58 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/feed_item_set_string_filter_type.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/feed_item_set_string_filter_type.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/feed_item_set_string_filter_type.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemSetStringFilterTypeProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemSetStringFilterTypeProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/feed_item_set_string_filter_type.proto + +// 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/v14/enums/feed_item_status.proto b/third_party/googleapis/google/ads/googleads/v14/enums/feed_item_status.proto new file mode 100644 index 000000000..ca765dd1c --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/feed_item_status.proto @@ -0,0 +1,63 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/feed_item_status.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/feed_item_status.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/feed_item_status.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemStatusProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemStatusProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/feed_item_status.proto + +// 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/v14/enums/feed_item_target_device.proto b/third_party/googleapis/google/ads/googleads/v14/enums/feed_item_target_device.proto new file mode 100644 index 000000000..deee6985e --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/feed_item_target_device.proto @@ -0,0 +1,61 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/feed_item_target_device.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/feed_item_target_device.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/feed_item_target_device.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemTargetDeviceProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemTargetDeviceProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/feed_item_target_device.proto + +// 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/v14/enums/feed_item_target_status.proto b/third_party/googleapis/google/ads/googleads/v14/enums/feed_item_target_status.proto new file mode 100644 index 000000000..95d73eca7 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/feed_item_target_status.proto @@ -0,0 +1,63 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/feed_item_target_status.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/feed_item_target_status.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/feed_item_target_status.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemTargetStatusProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemTargetStatusProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/feed_item_target_status.proto + +// 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/v14/enums/feed_item_target_type.proto b/third_party/googleapis/google/ads/googleads/v14/enums/feed_item_target_type.proto new file mode 100644 index 000000000..9b9b75b3a --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/feed_item_target_type.proto @@ -0,0 +1,66 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/feed_item_target_type.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/feed_item_target_type.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/feed_item_target_type.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemTargetTypeProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemTargetTypeProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/feed_item_target_type.proto + +// 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/v14/enums/feed_item_validation_status.proto b/third_party/googleapis/google/ads/googleads/v14/enums/feed_item_validation_status.proto new file mode 100644 index 000000000..e8afb0b06 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/feed_item_validation_status.proto @@ -0,0 +1,66 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/feed_item_validation_status.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/feed_item_validation_status.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/feed_item_validation_status.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemValidationStatusProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemValidationStatusProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/feed_item_validation_status.proto + +// 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/v14/enums/feed_link_status.proto b/third_party/googleapis/google/ads/googleads/v14/enums/feed_link_status.proto new file mode 100644 index 000000000..10c1c6235 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/feed_link_status.proto @@ -0,0 +1,63 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/feed_link_status.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/feed_link_status.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/feed_link_status.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedLinkStatusProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedLinkStatusProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/feed_link_status.proto + +// 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/v14/enums/feed_mapping_criterion_type.proto b/third_party/googleapis/google/ads/googleads/v14/enums/feed_mapping_criterion_type.proto new file mode 100644 index 000000000..741e8b36c --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/feed_mapping_criterion_type.proto @@ -0,0 +1,63 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/feed_mapping_criterion_type.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/feed_mapping_criterion_type.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/feed_mapping_criterion_type.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedMappingCriterionTypeProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedMappingCriterionTypeProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/feed_mapping_criterion_type.proto + +// 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/v14/enums/feed_mapping_status.proto b/third_party/googleapis/google/ads/googleads/v14/enums/feed_mapping_status.proto new file mode 100644 index 000000000..38ee7b7a4 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/feed_mapping_status.proto @@ -0,0 +1,63 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/feed_mapping_status.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/feed_mapping_status.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/feed_mapping_status.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedMappingStatusProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedMappingStatusProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/feed_mapping_status.proto + +// 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/v14/enums/feed_origin.proto b/third_party/googleapis/google/ads/googleads/v14/enums/feed_origin.proto new file mode 100644 index 000000000..fac90bd50 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/feed_origin.proto @@ -0,0 +1,66 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/feed_origin.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/feed_origin.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/feed_origin.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedOriginProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedOriginProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/feed_origin.proto + +// 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 an 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/v14/enums/feed_status.proto b/third_party/googleapis/google/ads/googleads/v14/enums/feed_status.proto new file mode 100644 index 000000000..8db61464a --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/feed_status.proto @@ -0,0 +1,63 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/feed_status.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/feed_status.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/feed_status.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedStatusProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedStatusProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/feed_status.proto + +// 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/v14/enums/flight_placeholder_field.proto b/third_party/googleapis/google/ads/googleads/v14/enums/flight_placeholder_field.proto new file mode 100644 index 000000000..cd403134b --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/flight_placeholder_field.proto @@ -0,0 +1,131 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/flight_placeholder_field.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/flight_placeholder_field.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/flight_placeholder_field.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FlightsPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FlightsPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/flight_placeholder_field.proto + +// 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/v14/enums/frequency_cap_event_type.proto b/third_party/googleapis/google/ads/googleads/v14/enums/frequency_cap_event_type.proto new file mode 100644 index 000000000..262980156 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/frequency_cap_event_type.proto @@ -0,0 +1,63 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/frequency_cap_event_type.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/frequency_cap_event_type.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/frequency_cap_event_type.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FrequencyCapEventTypeProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FrequencyCapEventTypeProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/frequency_cap_event_type.proto + +// 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/v14/enums/frequency_cap_level.proto b/third_party/googleapis/google/ads/googleads/v14/enums/frequency_cap_level.proto new file mode 100644 index 000000000..03e8bf511 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/frequency_cap_level.proto @@ -0,0 +1,67 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/frequency_cap_level.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/frequency_cap_level.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/frequency_cap_level.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FrequencyCapLevelProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FrequencyCapLevelProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/frequency_cap_level.proto + +// 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/v14/enums/frequency_cap_time_unit.proto b/third_party/googleapis/google/ads/googleads/v14/enums/frequency_cap_time_unit.proto new file mode 100644 index 000000000..a5f006443 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/frequency_cap_time_unit.proto @@ -0,0 +1,66 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/frequency_cap_time_unit.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/frequency_cap_time_unit.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/frequency_cap_time_unit.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FrequencyCapTimeUnitProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FrequencyCapTimeUnitProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/frequency_cap_time_unit.proto + +// 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/v14/enums/gender_type.proto b/third_party/googleapis/google/ads/googleads/v14/enums/gender_type.proto new file mode 100644 index 000000000..531a597a4 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/gender_type.proto @@ -0,0 +1,66 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/gender_type.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/gender_type.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/gender_type.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "GenderTypeProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "GenderTypeProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/gender_type.proto + +// 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/v14/enums/geo_target_constant_status.proto b/third_party/googleapis/google/ads/googleads/v14/enums/geo_target_constant_status.proto new file mode 100644 index 000000000..ff19ceabe --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/geo_target_constant_status.proto @@ -0,0 +1,65 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/geo_target_constant_status.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/geo_target_constant_status.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/geo_target_constant_status.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "GeoTargetConstantStatusProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "GeoTargetConstantStatusProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/geo_target_constant_status.proto + +// 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/v14/enums/geo_targeting_restriction.proto b/third_party/googleapis/google/ads/googleads/v14/enums/geo_targeting_restriction.proto new file mode 100644 index 000000000..31d96da46 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/geo_targeting_restriction.proto @@ -0,0 +1,62 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/geo_targeting_restriction.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/geo_targeting_restriction.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/geo_targeting_restriction.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "GeoTargetingRestrictionProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "GeoTargetingRestrictionProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/geo_targeting_restriction.proto + +// 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/v14/enums/geo_targeting_type.proto b/third_party/googleapis/google/ads/googleads/v14/enums/geo_targeting_type.proto new file mode 100644 index 000000000..92606a869 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/geo_targeting_type.proto @@ -0,0 +1,63 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/geo_targeting_type.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/geo_targeting_type.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/geo_targeting_type.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "GeoTargetingTypeProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "GeoTargetingTypeProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/geo_targeting_type.proto + +// 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/v14/enums/goal_config_level.proto b/third_party/googleapis/google/ads/googleads/v14/enums/goal_config_level.proto new file mode 100644 index 000000000..06c9e39db --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/goal_config_level.proto @@ -0,0 +1,65 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/goal_config_level.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/goal_config_level.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/goal_config_level.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "GoalConfigLevelProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "GoalConfigLevelProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/goal_config_level.proto + +// 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/v14/enums/google_ads_field_category.proto b/third_party/googleapis/google/ads/googleads/v14/enums/google_ads_field_category.proto new file mode 100644 index 000000000..f2f46f217 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/google_ads_field_category.proto @@ -0,0 +1,74 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/google_ads_field_category.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/google_ads_field_category.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/google_ads_field_category.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "GoogleAdsFieldCategoryProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "GoogleAdsFieldCategoryProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/google_ads_field_category.proto + +// 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/v14/enums/google_ads_field_data_type.proto b/third_party/googleapis/google/ads/googleads/v14/enums/google_ads_field_data_type.proto new file mode 100644 index 000000000..a29613a3f --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/google_ads_field_data_type.proto @@ -0,0 +1,115 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/google_ads_field_data_type.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/google_ads_field_data_type.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/google_ads_field_data_type.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "GoogleAdsFieldDataTypeProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "GoogleAdsFieldDataTypeProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/google_ads_field_data_type.proto + +// 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/v14/enums/google_voice_call_status.proto b/third_party/googleapis/google/ads/googleads/v14/enums/google_voice_call_status.proto new file mode 100644 index 000000000..7d58ed09d --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/google_voice_call_status.proto @@ -0,0 +1,63 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/google_voice_call_status.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/google_voice_call_status.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/google_voice_call_status.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "GoogleVoiceCallStatusProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "GoogleVoiceCallStatusProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/google_voice_call_status.proto + +// 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/v14/enums/hotel_asset_suggestion_status.proto b/third_party/googleapis/google/ads/googleads/v14/enums/hotel_asset_suggestion_status.proto new file mode 100644 index 000000000..37d3017fb --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/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.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "HotelAssetSuggestionStatusProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::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/v14/enums/hotel_date_selection_type.proto b/third_party/googleapis/google/ads/googleads/v14/enums/hotel_date_selection_type.proto new file mode 100644 index 000000000..8ebc9608d --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/hotel_date_selection_type.proto @@ -0,0 +1,63 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/hotel_date_selection_type.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/hotel_date_selection_type.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/hotel_date_selection_type.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "HotelDateSelectionTypeProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "HotelDateSelectionTypeProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/hotel_date_selection_type.proto + +// 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/v14/enums/hotel_placeholder_field.proto b/third_party/googleapis/google/ads/googleads/v14/enums/hotel_placeholder_field.proto new file mode 100644 index 000000000..e350f9b6f --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/hotel_placeholder_field.proto @@ -0,0 +1,137 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/hotel_placeholder_field.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/hotel_placeholder_field.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/hotel_placeholder_field.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "HotelsPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "HotelsPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/hotel_placeholder_field.proto + +// 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/v14/enums/hotel_price_bucket.proto b/third_party/googleapis/google/ads/googleads/v14/enums/hotel_price_bucket.proto new file mode 100644 index 000000000..cb07209ed --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/hotel_price_bucket.proto @@ -0,0 +1,72 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/hotel_price_bucket.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/hotel_price_bucket.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/hotel_price_bucket.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "HotelPriceBucketProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "HotelPriceBucketProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/hotel_price_bucket.proto + +// 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/v14/enums/hotel_rate_type.proto b/third_party/googleapis/google/ads/googleads/v14/enums/hotel_rate_type.proto new file mode 100644 index 000000000..6c0e9340e --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/hotel_rate_type.proto @@ -0,0 +1,75 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/hotel_rate_type.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/hotel_rate_type.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/hotel_rate_type.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "HotelRateTypeProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "HotelRateTypeProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/hotel_rate_type.proto + +// 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/v14/enums/hotel_reconciliation_status.proto b/third_party/googleapis/google/ads/googleads/v14/enums/hotel_reconciliation_status.proto new file mode 100644 index 000000000..905dd462d --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/hotel_reconciliation_status.proto @@ -0,0 +1,75 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/hotel_reconciliation_status.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/hotel_reconciliation_status.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/hotel_reconciliation_status.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "HotelReconciliationStatusProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "HotelReconciliationStatusProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/hotel_reconciliation_status.proto + +// 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/v14/enums/image_placeholder_field.proto b/third_party/googleapis/google/ads/googleads/v14/enums/image_placeholder_field.proto new file mode 100644 index 000000000..d6843bd83 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/image_placeholder_field.proto @@ -0,0 +1,60 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/image_placeholder_field.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/image_placeholder_field.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/image_placeholder_field.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ImagePlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ImagePlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/image_placeholder_field.proto + +// 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/v14/enums/income_range_type.proto b/third_party/googleapis/google/ads/googleads/v14/enums/income_range_type.proto new file mode 100644 index 000000000..a2b3a3683 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/income_range_type.proto @@ -0,0 +1,78 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/income_range_type.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/income_range_type.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/income_range_type.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "IncomeRangeTypeProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "IncomeRangeTypeProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/income_range_type.proto + +// 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/v14/enums/interaction_event_type.proto b/third_party/googleapis/google/ads/googleads/v14/enums/interaction_event_type.proto new file mode 100644 index 000000000..541160b5a --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/interaction_event_type.proto @@ -0,0 +1,75 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/interaction_event_type.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/interaction_event_type.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/interaction_event_type.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "InteractionEventTypeProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "InteractionEventTypeProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/interaction_event_type.proto + +// 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/v14/enums/interaction_type.proto b/third_party/googleapis/google/ads/googleads/v14/enums/interaction_type.proto new file mode 100644 index 000000000..5919a2db6 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/interaction_type.proto @@ -0,0 +1,60 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/interaction_type.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/interaction_type.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/interaction_type.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "InteractionTypeProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "InteractionTypeProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/interaction_type.proto + +// 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/v14/enums/invoice_type.proto b/third_party/googleapis/google/ads/googleads/v14/enums/invoice_type.proto new file mode 100644 index 000000000..e8ab3e676 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/invoice_type.proto @@ -0,0 +1,63 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/invoice_type.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/invoice_type.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/invoice_type.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "InvoiceTypeProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "InvoiceTypeProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/invoice_type.proto + +// 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/v14/enums/job_placeholder_field.proto b/third_party/googleapis/google/ads/googleads/v14/enums/job_placeholder_field.proto new file mode 100644 index 000000000..40683802d --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/job_placeholder_field.proto @@ -0,0 +1,128 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/job_placeholder_field.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/job_placeholder_field.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/job_placeholder_field.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "JobsPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "JobsPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/job_placeholder_field.proto + +// 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/v14/enums/keyword_match_type.proto b/third_party/googleapis/google/ads/googleads/v14/enums/keyword_match_type.proto new file mode 100644 index 000000000..270b75dfe --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/keyword_match_type.proto @@ -0,0 +1,66 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/keyword_match_type.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/keyword_match_type.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/keyword_match_type.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "KeywordMatchTypeProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "KeywordMatchTypeProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/keyword_match_type.proto + +// 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/v14/enums/keyword_plan_aggregate_metric_type.proto b/third_party/googleapis/google/ads/googleads/v14/enums/keyword_plan_aggregate_metric_type.proto new file mode 100644 index 000000000..15161974d --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/keyword_plan_aggregate_metric_type.proto @@ -0,0 +1,60 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/keyword_plan_aggregate_metric_type.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/keyword_plan_aggregate_metric_type.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/keyword_plan_aggregate_metric_type.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanAggregateMetricTypeProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanAggregateMetricTypeProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/keyword_plan_aggregate_metric_type.proto + +// 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/v14/enums/keyword_plan_competition_level.proto b/third_party/googleapis/google/ads/googleads/v14/enums/keyword_plan_competition_level.proto new file mode 100644 index 000000000..0faec2f73 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/keyword_plan_competition_level.proto @@ -0,0 +1,70 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/keyword_plan_competition_level.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/keyword_plan_competition_level.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/keyword_plan_competition_level.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanCompetitionLevelProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanCompetitionLevelProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/keyword_plan_competition_level.proto + +// 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/v14/enums/keyword_plan_concept_group_type.proto b/third_party/googleapis/google/ads/googleads/v14/enums/keyword_plan_concept_group_type.proto new file mode 100644 index 000000000..bb1b04e5e --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/keyword_plan_concept_group_type.proto @@ -0,0 +1,71 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/keyword_plan_concept_group_type.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/keyword_plan_concept_group_type.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/keyword_plan_concept_group_type.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanConceptGroupTypeProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanConceptGroupTypeProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/keyword_plan_concept_group_type.proto + +// 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/v14/enums/keyword_plan_forecast_interval.proto b/third_party/googleapis/google/ads/googleads/v14/enums/keyword_plan_forecast_interval.proto new file mode 100644 index 000000000..742db4ba5 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/keyword_plan_forecast_interval.proto @@ -0,0 +1,69 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/keyword_plan_forecast_interval.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/keyword_plan_forecast_interval.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/keyword_plan_forecast_interval.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanForecastIntervalProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanForecastIntervalProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/keyword_plan_forecast_interval.proto + +// 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/v14/enums/keyword_plan_keyword_annotation.proto b/third_party/googleapis/google/ads/googleads/v14/enums/keyword_plan_keyword_annotation.proto new file mode 100644 index 000000000..034af99d7 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/keyword_plan_keyword_annotation.proto @@ -0,0 +1,60 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/keyword_plan_keyword_annotation.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/keyword_plan_keyword_annotation.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/keyword_plan_keyword_annotation.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanKeywordAnnotationProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanKeywordAnnotationProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/keyword_plan_keyword_annotation.proto + +// 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/v14/enums/keyword_plan_network.proto b/third_party/googleapis/google/ads/googleads/v14/enums/keyword_plan_network.proto new file mode 100644 index 000000000..4c3a24504 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/keyword_plan_network.proto @@ -0,0 +1,63 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/keyword_plan_network.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/keyword_plan_network.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/keyword_plan_network.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanNetworkProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanNetworkProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/keyword_plan_network.proto + +// 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/v14/enums/label_status.proto b/third_party/googleapis/google/ads/googleads/v14/enums/label_status.proto new file mode 100644 index 000000000..e2b15e96f --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/label_status.proto @@ -0,0 +1,61 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/label_status.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/label_status.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/label_status.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LabelStatusProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LabelStatusProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/label_status.proto + +// 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/v14/enums/lead_form_call_to_action_type.proto b/third_party/googleapis/google/ads/googleads/v14/enums/lead_form_call_to_action_type.proto new file mode 100644 index 000000000..6e4e34e07 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/lead_form_call_to_action_type.proto @@ -0,0 +1,97 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/lead_form_call_to_action_type.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/lead_form_call_to_action_type.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/lead_form_call_to_action_type.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LeadFormCallToActionTypeProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LeadFormCallToActionTypeProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/lead_form_call_to_action_type.proto + +// 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/v14/enums/lead_form_desired_intent.proto b/third_party/googleapis/google/ads/googleads/v14/enums/lead_form_desired_intent.proto new file mode 100644 index 000000000..e58d492b8 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/lead_form_desired_intent.proto @@ -0,0 +1,61 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/lead_form_desired_intent.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/lead_form_desired_intent.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/lead_form_desired_intent.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LeadFormDesiredIntentProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LeadFormDesiredIntentProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/lead_form_desired_intent.proto + +// 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/v14/enums/lead_form_field_user_input_type.proto b/third_party/googleapis/google/ads/googleads/v14/enums/lead_form_field_user_input_type.proto new file mode 100644 index 000000000..360ff4870 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/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.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LeadFormFieldUserInputTypeProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::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/v14/enums/lead_form_post_submit_call_to_action_type.proto b/third_party/googleapis/google/ads/googleads/v14/enums/lead_form_post_submit_call_to_action_type.proto new file mode 100644 index 000000000..995e86209 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/lead_form_post_submit_call_to_action_type.proto @@ -0,0 +1,68 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/lead_form_post_submit_call_to_action_type.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/lead_form_post_submit_call_to_action_type.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/lead_form_post_submit_call_to_action_type.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LeadFormPostSubmitCallToActionTypeProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LeadFormPostSubmitCallToActionTypeProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/lead_form_post_submit_call_to_action_type.proto + +// 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/v14/enums/legacy_app_install_ad_app_store.proto b/third_party/googleapis/google/ads/googleads/v14/enums/legacy_app_install_ad_app_store.proto new file mode 100644 index 000000000..8eba91e0c --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/legacy_app_install_ad_app_store.proto @@ -0,0 +1,72 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/legacy_app_install_ad_app_store.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/legacy_app_install_ad_app_store.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/legacy_app_install_ad_app_store.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LegacyAppInstallAdAppStoreProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LegacyAppInstallAdAppStoreProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/legacy_app_install_ad_app_store.proto + +// 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/v14/enums/linked_account_type.proto b/third_party/googleapis/google/ads/googleads/v14/enums/linked_account_type.proto new file mode 100644 index 000000000..d75816f8e --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/linked_account_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/linked_account_type.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LinkedAccountTypeProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LinkedAccountTypeProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/linked_account_type.proto + +// 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; + + // A link to Data partner. + DATA_PARTNER = 3; + + // A link to Google Ads. + GOOGLE_ADS = 4; + + // A link to Hotel Center. + HOTEL_CENTER = 5; + + // A link to Google Ads account of the partner advertiser. + // Increase performance and share data by partnering with businesses that + // advertise the same items. + ADVERTISING_PARTNER = 6; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v14/enums/linked_product_type.proto b/third_party/googleapis/google/ads/googleads/v14/enums/linked_product_type.proto new file mode 100644 index 000000000..695c8b5d6 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/linked_product_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.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LinkedProductTypeProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::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; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v14/enums/listing_group_filter_bidding_category_level.proto b/third_party/googleapis/google/ads/googleads/v14/enums/listing_group_filter_bidding_category_level.proto new file mode 100644 index 000000000..729c45bab --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/listing_group_filter_bidding_category_level.proto @@ -0,0 +1,73 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/listing_group_filter_bidding_category_level.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/listing_group_filter_bidding_category_level.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/listing_group_filter_bidding_category_level.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ListingGroupFilterBiddingCategoryLevelProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ListingGroupFilterBiddingCategoryLevelProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/listing_group_filter_bidding_category_level.proto + +// Proto file describing listing groups. + +// Container for enum describing the levels of bidding category used in +// ListingGroupFilterDimension. +message ListingGroupFilterBiddingCategoryLevelEnum { + // The level of the listing group filter bidding category. + enum ListingGroupFilterBiddingCategoryLevel { + // 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/v14/enums/listing_group_filter_custom_attribute_index.proto b/third_party/googleapis/google/ads/googleads/v14/enums/listing_group_filter_custom_attribute_index.proto new file mode 100644 index 000000000..23944943b --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/listing_group_filter_custom_attribute_index.proto @@ -0,0 +1,73 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/listing_group_filter_custom_attribute_index.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/listing_group_filter_custom_attribute_index.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/listing_group_filter_custom_attribute_index.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ListingGroupFilterCustomAttributeIndexProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ListingGroupFilterCustomAttributeIndexProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/listing_group_filter_custom_attribute_index.proto + +// 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/v14/enums/listing_group_filter_product_channel.proto b/third_party/googleapis/google/ads/googleads/v14/enums/listing_group_filter_product_channel.proto new file mode 100644 index 000000000..c50e2f5bf --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/listing_group_filter_product_channel.proto @@ -0,0 +1,63 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/listing_group_filter_product_channel.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/listing_group_filter_product_channel.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/listing_group_filter_product_channel.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ListingGroupFilterProductChannelProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ListingGroupFilterProductChannelProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/listing_group_filter_product_channel.proto + +// 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/v14/enums/listing_group_filter_product_condition.proto b/third_party/googleapis/google/ads/googleads/v14/enums/listing_group_filter_product_condition.proto new file mode 100644 index 000000000..f5eb38a43 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/listing_group_filter_product_condition.proto @@ -0,0 +1,66 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/listing_group_filter_product_condition.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/listing_group_filter_product_condition.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/listing_group_filter_product_condition.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ListingGroupFilterProductConditionProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ListingGroupFilterProductConditionProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/listing_group_filter_product_condition.proto + +// 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/v14/enums/listing_group_filter_product_type_level.proto b/third_party/googleapis/google/ads/googleads/v14/enums/listing_group_filter_product_type_level.proto new file mode 100644 index 000000000..c322d0d50 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/listing_group_filter_product_type_level.proto @@ -0,0 +1,72 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/listing_group_filter_product_type_level.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/listing_group_filter_product_type_level.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/listing_group_filter_product_type_level.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ListingGroupFilterProductTypeLevelProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ListingGroupFilterProductTypeLevelProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/listing_group_filter_product_type_level.proto + +// 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/v14/enums/listing_group_filter_type_enum.proto b/third_party/googleapis/google/ads/googleads/v14/enums/listing_group_filter_type_enum.proto new file mode 100644 index 000000000..c9e7f5ea1 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/listing_group_filter_type_enum.proto @@ -0,0 +1,66 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/listing_group_filter_type_enum.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/listing_group_filter_type_enum.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/listing_group_filter_type_enum.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ListingGroupFilterTypeEnumProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ListingGroupFilterTypeEnumProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/listing_group_filter_type_enum.proto + +// 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/v14/enums/listing_group_filter_vertical.proto b/third_party/googleapis/google/ads/googleads/v14/enums/listing_group_filter_vertical.proto new file mode 100644 index 000000000..993eee029 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/listing_group_filter_vertical.proto @@ -0,0 +1,61 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/listing_group_filter_vertical.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/listing_group_filter_vertical.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/listing_group_filter_vertical.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ListingGroupFilterVerticalProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ListingGroupFilterVerticalProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/listing_group_filter_vertical.proto + +// Proto file describing listing groups. + +// Container for enum describing the type of the vertical a listing group filter +// tree represents. +message ListingGroupFilterVerticalEnum { + // The type of the listing group filter vertical. + enum ListingGroupFilterVertical { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Represents the shopping vertical. + SHOPPING = 2; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v14/enums/listing_group_type.proto b/third_party/googleapis/google/ads/googleads/v14/enums/listing_group_type.proto new file mode 100644 index 000000000..1f34e3576 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/listing_group_type.proto @@ -0,0 +1,65 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/listing_group_type.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/listing_group_type.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/listing_group_type.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ListingGroupTypeProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ListingGroupTypeProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/listing_group_type.proto + +// 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/v14/enums/listing_type.proto b/third_party/googleapis/google/ads/googleads/v14/enums/listing_type.proto new file mode 100644 index 000000000..5a6fc1675 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/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.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ListingTypeProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::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/v14/enums/local_placeholder_field.proto b/third_party/googleapis/google/ads/googleads/v14/enums/local_placeholder_field.proto new file mode 100644 index 000000000..b98733d63 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/local_placeholder_field.proto @@ -0,0 +1,132 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/local_placeholder_field.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/local_placeholder_field.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/local_placeholder_field.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LocalPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LocalPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/local_placeholder_field.proto + +// 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/v14/enums/location_extension_targeting_criterion_field.proto b/third_party/googleapis/google/ads/googleads/v14/enums/location_extension_targeting_criterion_field.proto new file mode 100644 index 000000000..83ff42c7e --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/location_extension_targeting_criterion_field.proto @@ -0,0 +1,75 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/location_extension_targeting_criterion_field.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/location_extension_targeting_criterion_field.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/location_extension_targeting_criterion_field.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LocationExtensionTargetingCriterionFieldProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LocationExtensionTargetingCriterionFieldProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/location_extension_targeting_criterion_field.proto + +// 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/v14/enums/location_group_radius_units.proto b/third_party/googleapis/google/ads/googleads/v14/enums/location_group_radius_units.proto new file mode 100644 index 000000000..258f89370 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/location_group_radius_units.proto @@ -0,0 +1,66 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/location_group_radius_units.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/location_group_radius_units.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/location_group_radius_units.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LocationGroupRadiusUnitsProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LocationGroupRadiusUnitsProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/location_group_radius_units.proto + +// 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/v14/enums/location_ownership_type.proto b/third_party/googleapis/google/ads/googleads/v14/enums/location_ownership_type.proto new file mode 100644 index 000000000..3dee3914d --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/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.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LocationOwnershipTypeProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::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/v14/enums/location_placeholder_field.proto b/third_party/googleapis/google/ads/googleads/v14/enums/location_placeholder_field.proto new file mode 100644 index 000000000..d11914a7c --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/location_placeholder_field.proto @@ -0,0 +1,81 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/location_placeholder_field.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/location_placeholder_field.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/location_placeholder_field.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LocationPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LocationPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/location_placeholder_field.proto + +// 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/v14/enums/location_source_type.proto b/third_party/googleapis/google/ads/googleads/v14/enums/location_source_type.proto new file mode 100644 index 000000000..39f11c434 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/location_source_type.proto @@ -0,0 +1,63 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/location_source_type.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/location_source_type.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/location_source_type.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LocationSourceTypeProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LocationSourceTypeProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/location_source_type.proto + +// 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/v14/enums/location_string_filter_type.proto b/third_party/googleapis/google/ads/googleads/v14/enums/location_string_filter_type.proto new file mode 100644 index 000000000..e480580fc --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/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.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LocationStringFilterTypeProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::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/v14/enums/manager_link_status.proto b/third_party/googleapis/google/ads/googleads/v14/enums/manager_link_status.proto new file mode 100644 index 000000000..702931885 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/manager_link_status.proto @@ -0,0 +1,72 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/manager_link_status.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/manager_link_status.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/manager_link_status.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ManagerLinkStatusProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ManagerLinkStatusProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/manager_link_status.proto + +// 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/v14/enums/matching_function_context_type.proto b/third_party/googleapis/google/ads/googleads/v14/enums/matching_function_context_type.proto new file mode 100644 index 000000000..d79948508 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/matching_function_context_type.proto @@ -0,0 +1,66 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/matching_function_context_type.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/matching_function_context_type.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/matching_function_context_type.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "MatchingFunctionContextTypeProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "MatchingFunctionContextTypeProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/matching_function_context_type.proto + +// 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/v14/enums/matching_function_operator.proto b/third_party/googleapis/google/ads/googleads/v14/enums/matching_function_operator.proto new file mode 100644 index 000000000..1d3bad5ab --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/matching_function_operator.proto @@ -0,0 +1,78 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/matching_function_operator.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/matching_function_operator.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/matching_function_operator.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "MatchingFunctionOperatorProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "MatchingFunctionOperatorProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/matching_function_operator.proto + +// 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/v14/enums/media_type.proto b/third_party/googleapis/google/ads/googleads/v14/enums/media_type.proto new file mode 100644 index 000000000..c39be873e --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/media_type.proto @@ -0,0 +1,77 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/media_type.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/media_type.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/media_type.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "MediaTypeProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "MediaTypeProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/media_type.proto + +// 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/v14/enums/merchant_center_link_status.proto b/third_party/googleapis/google/ads/googleads/v14/enums/merchant_center_link_status.proto new file mode 100644 index 000000000..388c28369 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/merchant_center_link_status.proto @@ -0,0 +1,66 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/merchant_center_link_status.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/merchant_center_link_status.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/merchant_center_link_status.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "MerchantCenterLinkStatusProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "MerchantCenterLinkStatusProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/merchant_center_link_status.proto + +// Proto file describing Merchant Center link statuses. + +// Container for enum describing possible statuses of a Google Merchant Center +// link. +message MerchantCenterLinkStatusEnum { + // Describes the possible statuses for a link between a Google Ads customer + // and a Google Merchant Center account. + enum MerchantCenterLinkStatus { + // 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 has no effect. It was proposed by the Merchant Center Account + // owner and hasn't been confirmed by the customer. + PENDING = 3; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v14/enums/message_placeholder_field.proto b/third_party/googleapis/google/ads/googleads/v14/enums/message_placeholder_field.proto new file mode 100644 index 000000000..e888fb4bf --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/message_placeholder_field.proto @@ -0,0 +1,74 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/message_placeholder_field.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/message_placeholder_field.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/message_placeholder_field.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "MessagePlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "MessagePlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/message_placeholder_field.proto + +// 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/v14/enums/mime_type.proto b/third_party/googleapis/google/ads/googleads/v14/enums/mime_type.proto new file mode 100644 index 000000000..d4236ec67 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/mime_type.proto @@ -0,0 +1,95 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/mime_type.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/mime_type.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/mime_type.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "MimeTypeProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "MimeTypeProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/mime_type.proto + +// 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/v14/enums/minute_of_hour.proto b/third_party/googleapis/google/ads/googleads/v14/enums/minute_of_hour.proto new file mode 100644 index 000000000..e4af06ebe --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/minute_of_hour.proto @@ -0,0 +1,69 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/minute_of_hour.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/minute_of_hour.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/minute_of_hour.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "MinuteOfHourProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "MinuteOfHourProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/minute_of_hour.proto + +// 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/v14/enums/mobile_app_vendor.proto b/third_party/googleapis/google/ads/googleads/v14/enums/mobile_app_vendor.proto new file mode 100644 index 000000000..86f457f13 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/mobile_app_vendor.proto @@ -0,0 +1,61 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/mobile_app_vendor.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/mobile_app_vendor.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/mobile_app_vendor.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "MobileAppVendorProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "MobileAppVendorProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/mobile_app_vendor.proto + +// 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/v14/enums/mobile_device_type.proto b/third_party/googleapis/google/ads/googleads/v14/enums/mobile_device_type.proto new file mode 100644 index 000000000..c103b11d6 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/mobile_device_type.proto @@ -0,0 +1,63 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/mobile_device_type.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/mobile_device_type.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/mobile_device_type.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "MobileDeviceTypeProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "MobileDeviceTypeProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/mobile_device_type.proto + +// 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/v14/enums/month_of_year.proto b/third_party/googleapis/google/ads/googleads/v14/enums/month_of_year.proto new file mode 100644 index 000000000..e3c46162b --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/month_of_year.proto @@ -0,0 +1,93 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/month_of_year.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/month_of_year.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/month_of_year.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "MonthOfYearProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "MonthOfYearProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/month_of_year.proto + +// 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/v14/enums/negative_geo_target_type.proto b/third_party/googleapis/google/ads/googleads/v14/enums/negative_geo_target_type.proto new file mode 100644 index 000000000..0b4e6639f --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/negative_geo_target_type.proto @@ -0,0 +1,65 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/negative_geo_target_type.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/negative_geo_target_type.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/negative_geo_target_type.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "NegativeGeoTargetTypeProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "NegativeGeoTargetTypeProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/negative_geo_target_type.proto + +// 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/v14/enums/offline_conversion_diagnostic_status_enum.proto b/third_party/googleapis/google/ads/googleads/v14/enums/offline_conversion_diagnostic_status_enum.proto new file mode 100644 index 000000000..445eb8605 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/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.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "OfflineConversionDiagnosticStatusEnumProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::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/v14/enums/offline_event_upload_client_enum.proto b/third_party/googleapis/google/ads/googleads/v14/enums/offline_event_upload_client_enum.proto new file mode 100644 index 000000000..94928562c --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/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.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "OfflineEventUploadClientEnumProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::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/v14/enums/offline_user_data_job_failure_reason.proto b/third_party/googleapis/google/ads/googleads/v14/enums/offline_user_data_job_failure_reason.proto new file mode 100644 index 000000000..6e8552757 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/offline_user_data_job_failure_reason.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/offline_user_data_job_failure_reason.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "OfflineUserDataJobFailureReasonProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "OfflineUserDataJobFailureReasonProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/offline_user_data_job_failure_reason.proto + +// 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; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/offline_user_data_job_failure_reason.proto + // The average transaction value is unusually high for your account. If + // this is intended, contact support to request an exception. + 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. + 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. +======== + // 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 +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/offline_user_data_job_failure_reason.proto + NEWLY_OBSERVED_CURRENCY_CODE = 6; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v14/enums/offline_user_data_job_match_rate_range.proto b/third_party/googleapis/google/ads/googleads/v14/enums/offline_user_data_job_match_rate_range.proto new file mode 100644 index 000000000..934749ba8 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/offline_user_data_job_match_rate_range.proto @@ -0,0 +1,84 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/offline_user_data_job_match_rate_range.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/offline_user_data_job_match_rate_range.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/offline_user_data_job_match_rate_range.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "OfflineUserDataJobMatchRateRangeProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "OfflineUserDataJobMatchRateRangeProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/offline_user_data_job_match_rate_range.proto + +// 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/v14/enums/offline_user_data_job_status.proto b/third_party/googleapis/google/ads/googleads/v14/enums/offline_user_data_job_status.proto new file mode 100644 index 000000000..d80602099 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/offline_user_data_job_status.proto @@ -0,0 +1,69 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/offline_user_data_job_status.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/offline_user_data_job_status.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/offline_user_data_job_status.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "OfflineUserDataJobStatusProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "OfflineUserDataJobStatusProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/offline_user_data_job_status.proto + +// 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/v14/enums/offline_user_data_job_type.proto b/third_party/googleapis/google/ads/googleads/v14/enums/offline_user_data_job_type.proto new file mode 100644 index 000000000..d9dfc48f9 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/offline_user_data_job_type.proto @@ -0,0 +1,69 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/offline_user_data_job_type.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/offline_user_data_job_type.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/offline_user_data_job_type.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "OfflineUserDataJobTypeProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "OfflineUserDataJobTypeProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/offline_user_data_job_type.proto + +// 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/v14/enums/operating_system_version_operator_type.proto b/third_party/googleapis/google/ads/googleads/v14/enums/operating_system_version_operator_type.proto new file mode 100644 index 000000000..558097328 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/operating_system_version_operator_type.proto @@ -0,0 +1,63 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/operating_system_version_operator_type.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/operating_system_version_operator_type.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/operating_system_version_operator_type.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "OperatingSystemVersionOperatorTypeProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "OperatingSystemVersionOperatorTypeProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/operating_system_version_operator_type.proto + +// 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/v14/enums/optimization_goal_type.proto b/third_party/googleapis/google/ads/googleads/v14/enums/optimization_goal_type.proto new file mode 100644 index 000000000..b4ea4bf22 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/optimization_goal_type.proto @@ -0,0 +1,71 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/optimization_goal_type.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/optimization_goal_type.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/optimization_goal_type.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "OptimizationGoalTypeProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "OptimizationGoalTypeProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/optimization_goal_type.proto + +// 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/v14/enums/parental_status_type.proto b/third_party/googleapis/google/ads/googleads/v14/enums/parental_status_type.proto new file mode 100644 index 000000000..40a34caa5 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/parental_status_type.proto @@ -0,0 +1,66 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/parental_status_type.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/parental_status_type.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/parental_status_type.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ParentalStatusTypeProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ParentalStatusTypeProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/parental_status_type.proto + +// 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/v14/enums/payment_mode.proto b/third_party/googleapis/google/ads/googleads/v14/enums/payment_mode.proto new file mode 100644 index 000000000..0a254b761 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/payment_mode.proto @@ -0,0 +1,77 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/payment_mode.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/payment_mode.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/payment_mode.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PaymentModeProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PaymentModeProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/payment_mode.proto + +// 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/v14/enums/performance_max_upgrade_status.proto b/third_party/googleapis/google/ads/googleads/v14/enums/performance_max_upgrade_status.proto new file mode 100644 index 000000000..cf68e2c6a --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/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.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PerformanceMaxUpgradeStatusProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::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 campaign is eligible for upgrade to a Performance Max campaign. + UPGRADE_ELIBIGLE = 2; + + // 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; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v14/enums/placeholder_type.proto b/third_party/googleapis/google/ads/googleads/v14/enums/placeholder_type.proto new file mode 100644 index 000000000..0ae5d943c --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/placeholder_type.proto @@ -0,0 +1,137 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/placeholder_type.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/placeholder_type.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/placeholder_type.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PlaceholderTypeProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PlaceholderTypeProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/placeholder_type.proto + +// 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/v14/enums/placement_type.proto b/third_party/googleapis/google/ads/googleads/v14/enums/placement_type.proto new file mode 100644 index 000000000..23b7ab370 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/placement_type.proto @@ -0,0 +1,75 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/placement_type.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/placement_type.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/placement_type.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PlacementTypeProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PlacementTypeProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/placement_type.proto + +// 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/v14/enums/policy_approval_status.proto b/third_party/googleapis/google/ads/googleads/v14/enums/policy_approval_status.proto new file mode 100644 index 000000000..b2964cfaa --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/policy_approval_status.proto @@ -0,0 +1,74 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/policy_approval_status.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/policy_approval_status.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/policy_approval_status.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PolicyApprovalStatusProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PolicyApprovalStatusProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/policy_approval_status.proto + +// 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/v14/enums/policy_review_status.proto b/third_party/googleapis/google/ads/googleads/v14/enums/policy_review_status.proto new file mode 100644 index 000000000..70866209e --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/policy_review_status.proto @@ -0,0 +1,73 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/policy_review_status.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/policy_review_status.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/policy_review_status.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PolicyReviewStatusProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PolicyReviewStatusProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/policy_review_status.proto + +// 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/v14/enums/policy_topic_entry_type.proto b/third_party/googleapis/google/ads/googleads/v14/enums/policy_topic_entry_type.proto new file mode 100644 index 000000000..90361b2dc --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/policy_topic_entry_type.proto @@ -0,0 +1,79 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/policy_topic_entry_type.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/policy_topic_entry_type.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/policy_topic_entry_type.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PolicyTopicEntryTypeProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PolicyTopicEntryTypeProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/policy_topic_entry_type.proto + +// 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/v14/enums/policy_topic_evidence_destination_mismatch_url_type.proto b/third_party/googleapis/google/ads/googleads/v14/enums/policy_topic_evidence_destination_mismatch_url_type.proto new file mode 100644 index 000000000..058ac6a9a --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/policy_topic_evidence_destination_mismatch_url_type.proto @@ -0,0 +1,75 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/policy_topic_evidence_destination_mismatch_url_type.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/policy_topic_evidence_destination_mismatch_url_type.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/policy_topic_evidence_destination_mismatch_url_type.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PolicyTopicEvidenceDestinationMismatchUrlTypeProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PolicyTopicEvidenceDestinationMismatchUrlTypeProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/policy_topic_evidence_destination_mismatch_url_type.proto + +// 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/v14/enums/policy_topic_evidence_destination_not_working_device.proto b/third_party/googleapis/google/ads/googleads/v14/enums/policy_topic_evidence_destination_not_working_device.proto new file mode 100644 index 000000000..71fe1de2b --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/policy_topic_evidence_destination_not_working_device.proto @@ -0,0 +1,70 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/policy_topic_evidence_destination_not_working_device.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/policy_topic_evidence_destination_not_working_device.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/policy_topic_evidence_destination_not_working_device.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PolicyTopicEvidenceDestinationNotWorkingDeviceProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PolicyTopicEvidenceDestinationNotWorkingDeviceProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/policy_topic_evidence_destination_not_working_device.proto + +// 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/v14/enums/policy_topic_evidence_destination_not_working_dns_error_type.proto b/third_party/googleapis/google/ads/googleads/v14/enums/policy_topic_evidence_destination_not_working_dns_error_type.proto new file mode 100644 index 000000000..0f7b59cd8 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/policy_topic_evidence_destination_not_working_dns_error_type.proto @@ -0,0 +1,69 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/policy_topic_evidence_destination_not_working_dns_error_type.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/policy_topic_evidence_destination_not_working_dns_error_type.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/policy_topic_evidence_destination_not_working_dns_error_type.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PolicyTopicEvidenceDestinationNotWorkingDnsErrorTypeProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PolicyTopicEvidenceDestinationNotWorkingDnsErrorTypeProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/policy_topic_evidence_destination_not_working_dns_error_type.proto + +// 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/v14/enums/positive_geo_target_type.proto b/third_party/googleapis/google/ads/googleads/v14/enums/positive_geo_target_type.proto new file mode 100644 index 000000000..61f8287f4 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/positive_geo_target_type.proto @@ -0,0 +1,71 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/positive_geo_target_type.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/positive_geo_target_type.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/positive_geo_target_type.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PositiveGeoTargetTypeProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PositiveGeoTargetTypeProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/positive_geo_target_type.proto + +// 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/v14/enums/price_extension_price_qualifier.proto b/third_party/googleapis/google/ads/googleads/v14/enums/price_extension_price_qualifier.proto new file mode 100644 index 000000000..d76e35e76 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/price_extension_price_qualifier.proto @@ -0,0 +1,66 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/price_extension_price_qualifier.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/price_extension_price_qualifier.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/price_extension_price_qualifier.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PriceExtensionPriceQualifierProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PriceExtensionPriceQualifierProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/price_extension_price_qualifier.proto + +// 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/v14/enums/price_extension_price_unit.proto b/third_party/googleapis/google/ads/googleads/v14/enums/price_extension_price_unit.proto new file mode 100644 index 000000000..77b2fd26d --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/price_extension_price_unit.proto @@ -0,0 +1,75 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/price_extension_price_unit.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/price_extension_price_unit.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/price_extension_price_unit.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PriceExtensionPriceUnitProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PriceExtensionPriceUnitProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/price_extension_price_unit.proto + +// 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/v14/enums/price_extension_type.proto b/third_party/googleapis/google/ads/googleads/v14/enums/price_extension_type.proto new file mode 100644 index 000000000..0c5d2447d --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/price_extension_type.proto @@ -0,0 +1,84 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/price_extension_type.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/price_extension_type.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/price_extension_type.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PriceExtensionTypeProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PriceExtensionTypeProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/price_extension_type.proto + +// 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/v14/enums/price_placeholder_field.proto b/third_party/googleapis/google/ads/googleads/v14/enums/price_placeholder_field.proto new file mode 100644 index 000000000..7eeab1597 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/price_placeholder_field.proto @@ -0,0 +1,261 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/price_placeholder_field.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/price_placeholder_field.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/price_placeholder_field.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PricePlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PricePlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/price_placeholder_field.proto + +// 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/v14/enums/product_bidding_category_level.proto b/third_party/googleapis/google/ads/googleads/v14/enums/product_bidding_category_level.proto new file mode 100644 index 000000000..8d0a35597 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/product_bidding_category_level.proto @@ -0,0 +1,70 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/product_bidding_category_level.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/product_bidding_category_level.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/product_bidding_category_level.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ProductBiddingCategoryLevelProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ProductBiddingCategoryLevelProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/product_bidding_category_level.proto + +// Level of a product bidding category. +message ProductBiddingCategoryLevelEnum { + // Enum describing the level of the product bidding category. + enum ProductBiddingCategoryLevel { + // 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/v14/enums/product_bidding_category_status.proto b/third_party/googleapis/google/ads/googleads/v14/enums/product_bidding_category_status.proto new file mode 100644 index 000000000..3a4a9cbda --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/product_bidding_category_status.proto @@ -0,0 +1,63 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/product_bidding_category_status.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/product_bidding_category_status.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/product_bidding_category_status.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ProductBiddingCategoryStatusProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ProductBiddingCategoryStatusProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/product_bidding_category_status.proto + +// Proto file describing bidding schemes. + +// Status of the product bidding category. +message ProductBiddingCategoryStatusEnum { + // Enum describing the status of the product bidding category. + enum ProductBiddingCategoryStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The category is active and can be used for bidding. + ACTIVE = 2; + + // The category is obsolete. Used only for reporting purposes. + OBSOLETE = 3; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v14/enums/product_channel.proto b/third_party/googleapis/google/ads/googleads/v14/enums/product_channel.proto new file mode 100644 index 000000000..55adf978d --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/product_channel.proto @@ -0,0 +1,63 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/product_channel.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/product_channel.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/product_channel.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ProductChannelProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ProductChannelProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/product_channel.proto + +// 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/v14/enums/product_channel_exclusivity.proto b/third_party/googleapis/google/ads/googleads/v14/enums/product_channel_exclusivity.proto new file mode 100644 index 000000000..a26389e53 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/product_channel_exclusivity.proto @@ -0,0 +1,65 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/product_channel_exclusivity.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/product_channel_exclusivity.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/product_channel_exclusivity.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ProductChannelExclusivityProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ProductChannelExclusivityProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/product_channel_exclusivity.proto + +// 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/v14/enums/product_condition.proto b/third_party/googleapis/google/ads/googleads/v14/enums/product_condition.proto new file mode 100644 index 000000000..fb571fe62 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/product_condition.proto @@ -0,0 +1,66 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/product_condition.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/product_condition.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/product_condition.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ProductConditionProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ProductConditionProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/product_condition.proto + +// 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/v14/enums/product_custom_attribute_index.proto b/third_party/googleapis/google/ads/googleads/v14/enums/product_custom_attribute_index.proto new file mode 100644 index 000000000..84983a55a --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/product_custom_attribute_index.proto @@ -0,0 +1,72 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/product_custom_attribute_index.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/product_custom_attribute_index.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/product_custom_attribute_index.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ProductCustomAttributeIndexProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ProductCustomAttributeIndexProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/product_custom_attribute_index.proto + +// 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/v14/enums/product_type_level.proto b/third_party/googleapis/google/ads/googleads/v14/enums/product_type_level.proto new file mode 100644 index 000000000..6f99142a1 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/product_type_level.proto @@ -0,0 +1,72 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/product_type_level.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/product_type_level.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/product_type_level.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ProductTypeLevelProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ProductTypeLevelProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/product_type_level.proto + +// 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/v14/enums/promotion_extension_discount_modifier.proto b/third_party/googleapis/google/ads/googleads/v14/enums/promotion_extension_discount_modifier.proto new file mode 100644 index 000000000..0c7450c74 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/promotion_extension_discount_modifier.proto @@ -0,0 +1,61 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/promotion_extension_discount_modifier.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/promotion_extension_discount_modifier.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/promotion_extension_discount_modifier.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PromotionExtensionDiscountModifierProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PromotionExtensionDiscountModifierProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/promotion_extension_discount_modifier.proto + +// 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/v14/enums/promotion_extension_occasion.proto b/third_party/googleapis/google/ads/googleads/v14/enums/promotion_extension_occasion.proto new file mode 100644 index 000000000..642995ca8 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/promotion_extension_occasion.proto @@ -0,0 +1,170 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/promotion_extension_occasion.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/promotion_extension_occasion.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/promotion_extension_occasion.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PromotionExtensionOccasionProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PromotionExtensionOccasionProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/promotion_extension_occasion.proto + +// 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/v14/enums/promotion_placeholder_field.proto b/third_party/googleapis/google/ads/googleads/v14/enums/promotion_placeholder_field.proto new file mode 100644 index 000000000..0715a39f2 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/promotion_placeholder_field.proto @@ -0,0 +1,108 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/promotion_placeholder_field.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/promotion_placeholder_field.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/promotion_placeholder_field.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PromotionPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PromotionPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/promotion_placeholder_field.proto + +// 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/v14/enums/proximity_radius_units.proto b/third_party/googleapis/google/ads/googleads/v14/enums/proximity_radius_units.proto new file mode 100644 index 000000000..d210f311a --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/proximity_radius_units.proto @@ -0,0 +1,63 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/proximity_radius_units.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/proximity_radius_units.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/proximity_radius_units.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ProximityRadiusUnitsProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ProximityRadiusUnitsProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/proximity_radius_units.proto + +// 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/v14/enums/quality_score_bucket.proto b/third_party/googleapis/google/ads/googleads/v14/enums/quality_score_bucket.proto new file mode 100644 index 000000000..1ca7b5652 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/quality_score_bucket.proto @@ -0,0 +1,66 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/quality_score_bucket.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/quality_score_bucket.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/quality_score_bucket.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "QualityScoreBucketProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "QualityScoreBucketProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/quality_score_bucket.proto + +// 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/v14/enums/reach_plan_age_range.proto b/third_party/googleapis/google/ads/googleads/v14/enums/reach_plan_age_range.proto new file mode 100644 index 000000000..96d22b0af --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/reach_plan_age_range.proto @@ -0,0 +1,135 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/reach_plan_age_range.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/reach_plan_age_range.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/reach_plan_age_range.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ReachPlanAgeRangeProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ReachPlanAgeRangeProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/reach_plan_age_range.proto + +// 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/v14/enums/reach_plan_network.proto b/third_party/googleapis/google/ads/googleads/v14/enums/reach_plan_network.proto new file mode 100644 index 000000000..a7865121b --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/reach_plan_network.proto @@ -0,0 +1,67 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/reach_plan_network.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/reach_plan_network.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/reach_plan_network.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ReachPlanNetworkProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ReachPlanNetworkProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/reach_plan_network.proto + +// 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/v14/enums/real_estate_placeholder_field.proto b/third_party/googleapis/google/ads/googleads/v14/enums/real_estate_placeholder_field.proto new file mode 100644 index 000000000..4834d50b9 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/real_estate_placeholder_field.proto @@ -0,0 +1,128 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/real_estate_placeholder_field.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/real_estate_placeholder_field.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/real_estate_placeholder_field.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "RealEstatePlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "RealEstatePlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/real_estate_placeholder_field.proto + +// 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/v14/enums/recommendation_type.proto b/third_party/googleapis/google/ads/googleads/v14/enums/recommendation_type.proto new file mode 100644 index 000000000..b6eaf255a --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/recommendation_type.proto @@ -0,0 +1,209 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "RecommendationTypeProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::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; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v14/enums/resource_change_operation.proto b/third_party/googleapis/google/ads/googleads/v14/enums/resource_change_operation.proto new file mode 100644 index 000000000..af88b48bd --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/resource_change_operation.proto @@ -0,0 +1,68 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/resource_change_operation.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/resource_change_operation.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/resource_change_operation.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ResourceChangeOperationProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ResourceChangeOperationProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/resource_change_operation.proto + +// 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/v14/enums/resource_limit_type.proto b/third_party/googleapis/google/ads/googleads/v14/enums/resource_limit_type.proto new file mode 100644 index 000000000..f684296b4 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/resource_limit_type.proto @@ -0,0 +1,504 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/resource_limit_type.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/resource_limit_type.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/resource_limit_type.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ResourceLimitTypeProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ResourceLimitTypeProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/resource_limit_type.proto + +// 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; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/resource_limit_type.proto +======== + // 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; + +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/resource_limit_type.proto + // 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; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v14/enums/response_content_type.proto b/third_party/googleapis/google/ads/googleads/v14/enums/response_content_type.proto new file mode 100644 index 000000000..d5eb3e56c --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/response_content_type.proto @@ -0,0 +1,61 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/response_content_type.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/response_content_type.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/response_content_type.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ResponseContentTypeProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ResponseContentTypeProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/response_content_type.proto + +// 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/v14/enums/search_engine_results_page_type.proto b/third_party/googleapis/google/ads/googleads/v14/enums/search_engine_results_page_type.proto new file mode 100644 index 000000000..e5dbe0875 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/search_engine_results_page_type.proto @@ -0,0 +1,67 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/search_engine_results_page_type.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/search_engine_results_page_type.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/search_engine_results_page_type.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SearchEngineResultsPageTypeProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SearchEngineResultsPageTypeProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/search_engine_results_page_type.proto + +// 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/v14/enums/search_term_match_type.proto b/third_party/googleapis/google/ads/googleads/v14/enums/search_term_match_type.proto new file mode 100644 index 000000000..5c721fc4f --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/search_term_match_type.proto @@ -0,0 +1,72 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/search_term_match_type.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/search_term_match_type.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/search_term_match_type.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SearchTermMatchTypeProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SearchTermMatchTypeProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/search_term_match_type.proto + +// 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/v14/enums/search_term_targeting_status.proto b/third_party/googleapis/google/ads/googleads/v14/enums/search_term_targeting_status.proto new file mode 100644 index 000000000..5e41ad0e2 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/search_term_targeting_status.proto @@ -0,0 +1,71 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/search_term_targeting_status.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/search_term_targeting_status.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/search_term_targeting_status.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SearchTermTargetingStatusProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SearchTermTargetingStatusProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/search_term_targeting_status.proto + +// 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/v14/enums/seasonality_event_scope.proto b/third_party/googleapis/google/ads/googleads/v14/enums/seasonality_event_scope.proto new file mode 100644 index 000000000..edbd3d0f1 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/seasonality_event_scope.proto @@ -0,0 +1,72 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/seasonality_event_scope.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/seasonality_event_scope.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/seasonality_event_scope.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SeasonalityEventScopeProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SeasonalityEventScopeProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/seasonality_event_scope.proto + +// 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/v14/enums/seasonality_event_status.proto b/third_party/googleapis/google/ads/googleads/v14/enums/seasonality_event_status.proto new file mode 100644 index 000000000..45455c550 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/seasonality_event_status.proto @@ -0,0 +1,66 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/seasonality_event_status.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/seasonality_event_status.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/seasonality_event_status.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SeasonalityEventStatusProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SeasonalityEventStatusProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/seasonality_event_status.proto + +// 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/v14/enums/served_asset_field_type.proto b/third_party/googleapis/google/ads/googleads/v14/enums/served_asset_field_type.proto new file mode 100644 index 000000000..bd82c03b2 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/served_asset_field_type.proto @@ -0,0 +1,104 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/served_asset_field_type.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/served_asset_field_type.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/served_asset_field_type.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ServedAssetFieldTypeProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ServedAssetFieldTypeProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/served_asset_field_type.proto + +// 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; + + // 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/v14/enums/shared_set_status.proto b/third_party/googleapis/google/ads/googleads/v14/enums/shared_set_status.proto new file mode 100644 index 000000000..7ffadf9e2 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/shared_set_status.proto @@ -0,0 +1,63 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/shared_set_status.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/shared_set_status.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/shared_set_status.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SharedSetStatusProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SharedSetStatusProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/shared_set_status.proto + +// 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/v14/enums/shared_set_type.proto b/third_party/googleapis/google/ads/googleads/v14/enums/shared_set_type.proto new file mode 100644 index 000000000..4611173d8 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/shared_set_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/shared_set_type.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SharedSetTypeProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SharedSetTypeProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/shared_set_type.proto + +// 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; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v14/enums/shopping_add_products_to_campaign_recommendation_enum.proto b/third_party/googleapis/google/ads/googleads/v14/enums/shopping_add_products_to_campaign_recommendation_enum.proto new file mode 100644 index 000000000..33f1ba58a --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/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.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ShoppingAddProductsToCampaignRecommendationEnumProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::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/v14/enums/simulation_modification_method.proto b/third_party/googleapis/google/ads/googleads/v14/enums/simulation_modification_method.proto new file mode 100644 index 000000000..2c7b126fb --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/simulation_modification_method.proto @@ -0,0 +1,72 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/simulation_modification_method.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/simulation_modification_method.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/simulation_modification_method.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SimulationModificationMethodProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SimulationModificationMethodProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/simulation_modification_method.proto + +// 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/v14/enums/simulation_type.proto b/third_party/googleapis/google/ads/googleads/v14/enums/simulation_type.proto new file mode 100644 index 000000000..9f436b9c8 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/simulation_type.proto @@ -0,0 +1,81 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/simulation_type.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/simulation_type.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/simulation_type.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SimulationTypeProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SimulationTypeProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/simulation_type.proto + +// 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/v14/enums/sitelink_placeholder_field.proto b/third_party/googleapis/google/ads/googleads/v14/enums/sitelink_placeholder_field.proto new file mode 100644 index 000000000..abf0d5309 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/sitelink_placeholder_field.proto @@ -0,0 +1,82 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/sitelink_placeholder_field.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/sitelink_placeholder_field.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/sitelink_placeholder_field.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SitelinkPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SitelinkPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/sitelink_placeholder_field.proto + +// 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/v14/enums/sk_ad_network_ad_event_type.proto b/third_party/googleapis/google/ads/googleads/v14/enums/sk_ad_network_ad_event_type.proto new file mode 100644 index 000000000..8b5aafd69 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/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.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SkAdNetworkAdEventTypeProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::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/v14/enums/sk_ad_network_attribution_credit.proto b/third_party/googleapis/google/ads/googleads/v14/enums/sk_ad_network_attribution_credit.proto new file mode 100644 index 000000000..2fa0bab0a --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/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.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SkAdNetworkAttributionCreditProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::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/v14/enums/sk_ad_network_user_type.proto b/third_party/googleapis/google/ads/googleads/v14/enums/sk_ad_network_user_type.proto new file mode 100644 index 000000000..0c154f7f2 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/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.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SkAdNetworkUserTypeProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::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/v14/enums/slot.proto b/third_party/googleapis/google/ads/googleads/v14/enums/slot.proto new file mode 100644 index 000000000..b6a2c5e85 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/slot.proto @@ -0,0 +1,78 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/slot.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/slot.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/slot.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SlotProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SlotProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/slot.proto + +// 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/v14/enums/smart_campaign_not_eligible_reason.proto b/third_party/googleapis/google/ads/googleads/v14/enums/smart_campaign_not_eligible_reason.proto new file mode 100644 index 000000000..f7adc5610 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/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.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SmartCampaignNotEligibleReasonProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::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/v14/enums/smart_campaign_status.proto b/third_party/googleapis/google/ads/googleads/v14/enums/smart_campaign_status.proto new file mode 100644 index 000000000..324d03344 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/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.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SmartCampaignStatusProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::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/v14/enums/spending_limit_type.proto b/third_party/googleapis/google/ads/googleads/v14/enums/spending_limit_type.proto new file mode 100644 index 000000000..0af0b7671 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/spending_limit_type.proto @@ -0,0 +1,61 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/spending_limit_type.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/spending_limit_type.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/spending_limit_type.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SpendingLimitTypeProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SpendingLimitTypeProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/spending_limit_type.proto + +// 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/v14/enums/structured_snippet_placeholder_field.proto b/third_party/googleapis/google/ads/googleads/v14/enums/structured_snippet_placeholder_field.proto new file mode 100644 index 000000000..01667d320 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/structured_snippet_placeholder_field.proto @@ -0,0 +1,68 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/structured_snippet_placeholder_field.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/structured_snippet_placeholder_field.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/structured_snippet_placeholder_field.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "StructuredSnippetPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "StructuredSnippetPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/structured_snippet_placeholder_field.proto + +// 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/v14/enums/summary_row_setting.proto b/third_party/googleapis/google/ads/googleads/v14/enums/summary_row_setting.proto new file mode 100644 index 000000000..1ade1dce3 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/summary_row_setting.proto @@ -0,0 +1,67 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/summary_row_setting.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/summary_row_setting.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/summary_row_setting.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SummaryRowSettingProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SummaryRowSettingProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/summary_row_setting.proto + +// 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/v14/enums/system_managed_entity_source.proto b/third_party/googleapis/google/ads/googleads/v14/enums/system_managed_entity_source.proto new file mode 100644 index 000000000..7105c0459 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/system_managed_entity_source.proto @@ -0,0 +1,60 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/system_managed_entity_source.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/system_managed_entity_source.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/system_managed_entity_source.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SystemManagedEntitySourceProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SystemManagedEntitySourceProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/system_managed_entity_source.proto + +// 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/v14/enums/target_cpa_opt_in_recommendation_goal.proto b/third_party/googleapis/google/ads/googleads/v14/enums/target_cpa_opt_in_recommendation_goal.proto new file mode 100644 index 000000000..5fb5d0330 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/target_cpa_opt_in_recommendation_goal.proto @@ -0,0 +1,70 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/target_cpa_opt_in_recommendation_goal.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/target_cpa_opt_in_recommendation_goal.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/target_cpa_opt_in_recommendation_goal.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "TargetCpaOptInRecommendationGoalProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "TargetCpaOptInRecommendationGoalProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/target_cpa_opt_in_recommendation_goal.proto + +// 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/v14/enums/target_frequency_time_unit.proto b/third_party/googleapis/google/ads/googleads/v14/enums/target_frequency_time_unit.proto new file mode 100644 index 000000000..f19c7da61 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/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.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "TargetFrequencyTimeUnitProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::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/v14/enums/target_impression_share_location.proto b/third_party/googleapis/google/ads/googleads/v14/enums/target_impression_share_location.proto new file mode 100644 index 000000000..2b4dbbdbf --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/target_impression_share_location.proto @@ -0,0 +1,68 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/target_impression_share_location.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/target_impression_share_location.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/target_impression_share_location.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "TargetImpressionShareLocationProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "TargetImpressionShareLocationProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/target_impression_share_location.proto + +// 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/v14/enums/targeting_dimension.proto b/third_party/googleapis/google/ads/googleads/v14/enums/targeting_dimension.proto new file mode 100644 index 000000000..200cd44ba --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/targeting_dimension.proto @@ -0,0 +1,87 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/targeting_dimension.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/targeting_dimension.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/targeting_dimension.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "TargetingDimensionProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "TargetingDimensionProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/targeting_dimension.proto + +// 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/v14/enums/time_type.proto b/third_party/googleapis/google/ads/googleads/v14/enums/time_type.proto new file mode 100644 index 000000000..3d73d75ab --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/time_type.proto @@ -0,0 +1,64 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/time_type.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/time_type.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/time_type.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "TimeTypeProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "TimeTypeProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/time_type.proto + +// 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/v14/enums/tracking_code_page_format.proto b/third_party/googleapis/google/ads/googleads/v14/enums/tracking_code_page_format.proto new file mode 100644 index 000000000..0c8846d28 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/tracking_code_page_format.proto @@ -0,0 +1,63 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/tracking_code_page_format.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/tracking_code_page_format.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/tracking_code_page_format.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "TrackingCodePageFormatProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "TrackingCodePageFormatProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/tracking_code_page_format.proto + +// 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/v14/enums/tracking_code_type.proto b/third_party/googleapis/google/ads/googleads/v14/enums/tracking_code_type.proto new file mode 100644 index 000000000..9d7db9a5b --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/tracking_code_type.proto @@ -0,0 +1,72 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/tracking_code_type.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/tracking_code_type.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/tracking_code_type.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "TrackingCodeTypeProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "TrackingCodeTypeProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/tracking_code_type.proto + +// 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/v14/enums/travel_placeholder_field.proto b/third_party/googleapis/google/ads/googleads/v14/enums/travel_placeholder_field.proto new file mode 100644 index 000000000..52d4164af --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/travel_placeholder_field.proto @@ -0,0 +1,141 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/travel_placeholder_field.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/travel_placeholder_field.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/travel_placeholder_field.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "TravelPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "TravelPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/travel_placeholder_field.proto + +// 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/v14/enums/user_identifier_source.proto b/third_party/googleapis/google/ads/googleads/v14/enums/user_identifier_source.proto new file mode 100644 index 000000000..2ad723553 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/user_identifier_source.proto @@ -0,0 +1,67 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/user_identifier_source.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/user_identifier_source.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/user_identifier_source.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserIdentifierSourceProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserIdentifierSourceProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/user_identifier_source.proto + +// 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/v14/enums/user_interest_taxonomy_type.proto b/third_party/googleapis/google/ads/googleads/v14/enums/user_interest_taxonomy_type.proto new file mode 100644 index 000000000..d71dc22b9 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/user_interest_taxonomy_type.proto @@ -0,0 +1,72 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/user_interest_taxonomy_type.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/user_interest_taxonomy_type.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/user_interest_taxonomy_type.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserInterestTaxonomyTypeProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserInterestTaxonomyTypeProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/user_interest_taxonomy_type.proto + +// 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/v14/enums/user_list_access_status.proto b/third_party/googleapis/google/ads/googleads/v14/enums/user_list_access_status.proto new file mode 100644 index 000000000..618fbad28 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/user_list_access_status.proto @@ -0,0 +1,63 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/user_list_access_status.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/user_list_access_status.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/user_list_access_status.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserListAccessStatusProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserListAccessStatusProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/user_list_access_status.proto + +// 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/v14/enums/user_list_closing_reason.proto b/third_party/googleapis/google/ads/googleads/v14/enums/user_list_closing_reason.proto new file mode 100644 index 000000000..eb21fa764 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/user_list_closing_reason.proto @@ -0,0 +1,61 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/user_list_closing_reason.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/user_list_closing_reason.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/user_list_closing_reason.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserListClosingReasonProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserListClosingReasonProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/user_list_closing_reason.proto + +// 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/v14/enums/user_list_crm_data_source_type.proto b/third_party/googleapis/google/ads/googleads/v14/enums/user_list_crm_data_source_type.proto new file mode 100644 index 000000000..1d161319a --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/user_list_crm_data_source_type.proto @@ -0,0 +1,64 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/user_list_crm_data_source_type.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/user_list_crm_data_source_type.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/user_list_crm_data_source_type.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserListCrmDataSourceTypeProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserListCrmDataSourceTypeProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/user_list_crm_data_source_type.proto + +// 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/v14/enums/user_list_date_rule_item_operator.proto b/third_party/googleapis/google/ads/googleads/v14/enums/user_list_date_rule_item_operator.proto new file mode 100644 index 000000000..0f55dbd78 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/user_list_date_rule_item_operator.proto @@ -0,0 +1,67 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/user_list_date_rule_item_operator.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/user_list_date_rule_item_operator.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/user_list_date_rule_item_operator.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserListDateRuleItemOperatorProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserListDateRuleItemOperatorProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/user_list_date_rule_item_operator.proto + +// 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/v14/enums/user_list_flexible_rule_operator.proto b/third_party/googleapis/google/ads/googleads/v14/enums/user_list_flexible_rule_operator.proto new file mode 100644 index 000000000..32d498789 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/user_list_flexible_rule_operator.proto @@ -0,0 +1,61 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/user_list_combined_rule_operator.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/user_list_flexible_rule_operator.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/user_list_combined_rule_operator.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserListCombinedRuleOperatorProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserListFlexibleRuleOperatorProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/user_list_flexible_rule_operator.proto + +// 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/v14/enums/user_list_logical_rule_operator.proto b/third_party/googleapis/google/ads/googleads/v14/enums/user_list_logical_rule_operator.proto new file mode 100644 index 000000000..2f6ed9fc9 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/user_list_logical_rule_operator.proto @@ -0,0 +1,64 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/user_list_logical_rule_operator.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/user_list_logical_rule_operator.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/user_list_logical_rule_operator.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserListLogicalRuleOperatorProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserListLogicalRuleOperatorProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/user_list_logical_rule_operator.proto + +// 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/v14/enums/user_list_membership_status.proto b/third_party/googleapis/google/ads/googleads/v14/enums/user_list_membership_status.proto new file mode 100644 index 000000000..f5e715742 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/user_list_membership_status.proto @@ -0,0 +1,65 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/user_list_membership_status.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/user_list_membership_status.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/user_list_membership_status.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserListMembershipStatusProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserListMembershipStatusProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/user_list_membership_status.proto + +// 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/v14/enums/user_list_number_rule_item_operator.proto b/third_party/googleapis/google/ads/googleads/v14/enums/user_list_number_rule_item_operator.proto new file mode 100644 index 000000000..9067ba4cc --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/user_list_number_rule_item_operator.proto @@ -0,0 +1,73 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/user_list_number_rule_item_operator.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/user_list_number_rule_item_operator.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/user_list_number_rule_item_operator.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserListNumberRuleItemOperatorProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserListNumberRuleItemOperatorProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/user_list_number_rule_item_operator.proto + +// 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/v14/enums/user_list_prepopulation_status.proto b/third_party/googleapis/google/ads/googleads/v14/enums/user_list_prepopulation_status.proto new file mode 100644 index 000000000..40a3e254b --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/user_list_prepopulation_status.proto @@ -0,0 +1,64 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/user_list_prepopulation_status.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/user_list_prepopulation_status.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/user_list_prepopulation_status.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserListPrepopulationStatusProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserListPrepopulationStatusProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/user_list_prepopulation_status.proto + +// 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/v14/enums/user_list_rule_type.proto b/third_party/googleapis/google/ads/googleads/v14/enums/user_list_rule_type.proto new file mode 100644 index 000000000..ad9447ee1 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/user_list_rule_type.proto @@ -0,0 +1,61 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/user_list_rule_type.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/user_list_rule_type.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/user_list_rule_type.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserListRuleTypeProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserListRuleTypeProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/user_list_rule_type.proto + +// 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/v14/enums/user_list_size_range.proto b/third_party/googleapis/google/ads/googleads/v14/enums/user_list_size_range.proto new file mode 100644 index 000000000..d17206ddd --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/user_list_size_range.proto @@ -0,0 +1,105 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/user_list_size_range.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/user_list_size_range.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/user_list_size_range.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserListSizeRangeProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserListSizeRangeProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/user_list_size_range.proto + +// 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/v14/enums/user_list_string_rule_item_operator.proto b/third_party/googleapis/google/ads/googleads/v14/enums/user_list_string_rule_item_operator.proto new file mode 100644 index 000000000..13174b8ce --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/user_list_string_rule_item_operator.proto @@ -0,0 +1,79 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/user_list_string_rule_item_operator.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/user_list_string_rule_item_operator.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/user_list_string_rule_item_operator.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserListStringRuleItemOperatorProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserListStringRuleItemOperatorProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/user_list_string_rule_item_operator.proto + +// 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/v14/enums/user_list_type.proto b/third_party/googleapis/google/ads/googleads/v14/enums/user_list_type.proto new file mode 100644 index 000000000..97fde4f46 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/user_list_type.proto @@ -0,0 +1,76 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/user_list_type.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/user_list_type.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/user_list_type.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserListTypeProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserListTypeProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/user_list_type.proto + +// 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; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v14/enums/value_rule_device_type.proto b/third_party/googleapis/google/ads/googleads/v14/enums/value_rule_device_type.proto new file mode 100644 index 000000000..fafc246bb --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/value_rule_device_type.proto @@ -0,0 +1,67 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/value_rule_device_type.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/value_rule_device_type.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/value_rule_device_type.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ValueRuleDeviceTypeProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ValueRuleDeviceTypeProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/value_rule_device_type.proto + +// 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/v14/enums/value_rule_geo_location_match_type.proto b/third_party/googleapis/google/ads/googleads/v14/enums/value_rule_geo_location_match_type.proto new file mode 100644 index 000000000..247c101ee --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/value_rule_geo_location_match_type.proto @@ -0,0 +1,64 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/value_rule_geo_location_match_type.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/value_rule_geo_location_match_type.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/value_rule_geo_location_match_type.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ValueRuleGeoLocationMatchTypeProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ValueRuleGeoLocationMatchTypeProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/value_rule_geo_location_match_type.proto + +// 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/v14/enums/value_rule_operation.proto b/third_party/googleapis/google/ads/googleads/v14/enums/value_rule_operation.proto new file mode 100644 index 000000000..f9d74f0ff --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/value_rule_operation.proto @@ -0,0 +1,67 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/value_rule_operation.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/value_rule_operation.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/value_rule_operation.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ValueRuleOperationProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ValueRuleOperationProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/value_rule_operation.proto + +// 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/v14/enums/value_rule_set_attachment_type.proto b/third_party/googleapis/google/ads/googleads/v14/enums/value_rule_set_attachment_type.proto new file mode 100644 index 000000000..5c21e868f --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/value_rule_set_attachment_type.proto @@ -0,0 +1,63 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/value_rule_set_attachment_type.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/value_rule_set_attachment_type.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/value_rule_set_attachment_type.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ValueRuleSetAttachmentTypeProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ValueRuleSetAttachmentTypeProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/value_rule_set_attachment_type.proto + +// 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/v14/enums/value_rule_set_dimension.proto b/third_party/googleapis/google/ads/googleads/v14/enums/value_rule_set_dimension.proto new file mode 100644 index 000000000..c1783ff27 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/value_rule_set_dimension.proto @@ -0,0 +1,70 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/value_rule_set_dimension.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/value_rule_set_dimension.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/value_rule_set_dimension.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ValueRuleSetDimensionProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ValueRuleSetDimensionProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/value_rule_set_dimension.proto + +// 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/v14/enums/vanity_pharma_display_url_mode.proto b/third_party/googleapis/google/ads/googleads/v14/enums/vanity_pharma_display_url_mode.proto new file mode 100644 index 000000000..7f3ca6902 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/vanity_pharma_display_url_mode.proto @@ -0,0 +1,63 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/vanity_pharma_display_url_mode.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/vanity_pharma_display_url_mode.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/vanity_pharma_display_url_mode.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "VanityPharmaDisplayUrlModeProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "VanityPharmaDisplayUrlModeProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/vanity_pharma_display_url_mode.proto + +// 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/v14/enums/vanity_pharma_text.proto b/third_party/googleapis/google/ads/googleads/v14/enums/vanity_pharma_text.proto new file mode 100644 index 000000000..c631d5fc2 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/vanity_pharma_text.proto @@ -0,0 +1,100 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/vanity_pharma_text.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/vanity_pharma_text.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/vanity_pharma_text.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "VanityPharmaTextProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "VanityPharmaTextProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/vanity_pharma_text.proto + +// 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/v14/enums/video_thumbnail.proto b/third_party/googleapis/google/ads/googleads/v14/enums/video_thumbnail.proto new file mode 100644 index 000000000..9616d5667 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/video_thumbnail.proto @@ -0,0 +1,72 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/video_thumbnail.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/video_thumbnail.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/video_thumbnail.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "VideoThumbnailProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "VideoThumbnailProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/video_thumbnail.proto + +// 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/v14/enums/webpage_condition_operand.proto b/third_party/googleapis/google/ads/googleads/v14/enums/webpage_condition_operand.proto new file mode 100644 index 000000000..ee0663c97 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/webpage_condition_operand.proto @@ -0,0 +1,72 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/webpage_condition_operand.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/webpage_condition_operand.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/webpage_condition_operand.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "WebpageConditionOperandProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "WebpageConditionOperandProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/webpage_condition_operand.proto + +// 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/v14/enums/webpage_condition_operator.proto b/third_party/googleapis/google/ads/googleads/v14/enums/webpage_condition_operator.proto new file mode 100644 index 000000000..216af2c11 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/enums/webpage_condition_operator.proto @@ -0,0 +1,64 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/webpage_condition_operator.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/webpage_condition_operator.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/webpage_condition_operator.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "WebpageConditionOperatorProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v14.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "WebpageConditionOperatorProto"; +option java_package = "com.google.ads.googleads.v14.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V14::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/enums/webpage_condition_operator.proto + +// 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/v14/errors/BUILD.bazel b/third_party/googleapis/google/ads/googleads/v14/errors/BUILD.bazel new file mode 100644 index 000000000..edeff5d84 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/BUILD.bazel @@ -0,0 +1,99 @@ +# 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 = [ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/BUILD.bazel + "//google/ads/googleads/v12/common:common_proto", + "//google/ads/googleads/v12/enums:enums_proto", +======== + "//google/ads/googleads/v14/common:common_proto", + "//google/ads/googleads/v14/enums:enums_proto", +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/BUILD.bazel + "//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/v14/errors/access_invitation_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/access_invitation_error.proto new file mode 100644 index 000000000..16b5d5df9 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/access_invitation_error.proto @@ -0,0 +1,82 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/access_invitation_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/access_invitation_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/access_invitation_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AccessInvitationErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AccessInvitationErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/access_invitation_error.proto + +// 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/v14/errors/account_budget_proposal_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/account_budget_proposal_error.proto new file mode 100644 index 000000000..366868d7e --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/account_budget_proposal_error.proto @@ -0,0 +1,143 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/account_budget_proposal_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/account_budget_proposal_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/account_budget_proposal_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AccountBudgetProposalErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AccountBudgetProposalErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/account_budget_proposal_error.proto + +// 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/v14/errors/account_link_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/account_link_error.proto new file mode 100644 index 000000000..83f941e53 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/account_link_error.proto @@ -0,0 +1,63 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/account_link_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/account_link_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/account_link_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AccountLinkErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AccountLinkErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/account_link_error.proto + +// 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/v14/errors/ad_customizer_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/ad_customizer_error.proto new file mode 100644 index 000000000..8d7b21064 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/ad_customizer_error.proto @@ -0,0 +1,72 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/ad_customizer_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/ad_customizer_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/ad_customizer_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AdCustomizerErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AdCustomizerErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/ad_customizer_error.proto + +// 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/v14/errors/ad_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/ad_error.proto new file mode 100644 index 000000000..5c2c81689 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/ad_error.proto @@ -0,0 +1,543 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/ad_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/ad_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/ad_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AdErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AdErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/ad_error.proto + +// 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/v14/errors/ad_group_ad_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/ad_group_ad_error.proto new file mode 100644 index 000000000..8a1cc0e8e --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/ad_group_ad_error.proto @@ -0,0 +1,93 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/ad_group_ad_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/ad_group_ad_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/ad_group_ad_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupAdErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupAdErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/ad_group_ad_error.proto + +// 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/v14/errors/ad_group_bid_modifier_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/ad_group_bid_modifier_error.proto new file mode 100644 index 000000000..b90876550 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/ad_group_bid_modifier_error.proto @@ -0,0 +1,64 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/ad_group_bid_modifier_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/ad_group_bid_modifier_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/ad_group_bid_modifier_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupBidModifierErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupBidModifierErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/ad_group_bid_modifier_error.proto + +// 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/v14/errors/ad_group_criterion_customizer_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/ad_group_criterion_customizer_error.proto new file mode 100644 index 000000000..c4d3e688d --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/ad_group_criterion_customizer_error.proto @@ -0,0 +1,60 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/ad_group_criterion_customizer_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/ad_group_criterion_customizer_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/ad_group_criterion_customizer_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupCriterionCustomizerErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupCriterionCustomizerErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/ad_group_criterion_customizer_error.proto + +// 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/v14/errors/ad_group_criterion_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/ad_group_criterion_error.proto new file mode 100644 index 000000000..d952cca75 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/ad_group_criterion_error.proto @@ -0,0 +1,150 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/ad_group_criterion_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/ad_group_criterion_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/ad_group_criterion_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupCriterionErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupCriterionErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/ad_group_criterion_error.proto + +// 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/v14/errors/ad_group_customizer_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/ad_group_customizer_error.proto new file mode 100644 index 000000000..ff80dfe74 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/ad_group_customizer_error.proto @@ -0,0 +1,57 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/ad_group_customizer_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/ad_group_customizer_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/ad_group_customizer_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupCustomizerErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupCustomizerErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/ad_group_customizer_error.proto + +// 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/v14/errors/ad_group_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/ad_group_error.proto new file mode 100644 index 000000000..532826b05 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/ad_group_error.proto @@ -0,0 +1,108 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/ad_group_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/ad_group_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/ad_group_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/ad_group_error.proto + +// 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; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v14/errors/ad_group_feed_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/ad_group_feed_error.proto new file mode 100644 index 000000000..3cbeff484 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/ad_group_feed_error.proto @@ -0,0 +1,80 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/ad_group_feed_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/ad_group_feed_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/ad_group_feed_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupFeedErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupFeedErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/ad_group_feed_error.proto + +// 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/v14/errors/ad_parameter_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/ad_parameter_error.proto new file mode 100644 index 000000000..1f9066d9a --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/ad_parameter_error.proto @@ -0,0 +1,63 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/ad_parameter_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/ad_parameter_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/ad_parameter_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AdParameterErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AdParameterErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/ad_parameter_error.proto + +// 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/v14/errors/ad_sharing_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/ad_sharing_error.proto new file mode 100644 index 000000000..d427f86d7 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/ad_sharing_error.proto @@ -0,0 +1,67 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/ad_sharing_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/ad_sharing_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/ad_sharing_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AdSharingErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AdSharingErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/ad_sharing_error.proto + +// 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/v14/errors/adx_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/adx_error.proto new file mode 100644 index 000000000..83724d466 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/adx_error.proto @@ -0,0 +1,60 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/adx_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/adx_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/adx_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AdxErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AdxErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/adx_error.proto + +// 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/v14/errors/asset_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/asset_error.proto new file mode 100644 index 000000000..8d2b6eaa2 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/asset_error.proto @@ -0,0 +1,178 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/asset_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/asset_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/asset_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AssetErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AssetErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/asset_error.proto + +// 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; +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/asset_error.proto +======== + + // 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; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/asset_error.proto + } +} diff --git a/third_party/googleapis/google/ads/googleads/v14/errors/asset_group_asset_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/asset_group_asset_error.proto new file mode 100644 index 000000000..47c8c29b2 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/asset_group_asset_error.proto @@ -0,0 +1,70 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/asset_group_asset_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/asset_group_asset_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/asset_group_asset_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AssetGroupAssetErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AssetGroupAssetErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/asset_group_asset_error.proto + +// 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/v14/errors/asset_group_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/asset_group_error.proto new file mode 100644 index 000000000..00b098a78 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/asset_group_error.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/asset_group_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AssetGroupErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AssetGroupErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/asset_group_error.proto + +// 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/v14/errors/asset_group_listing_group_filter_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/asset_group_listing_group_filter_error.proto new file mode 100644 index 000000000..3ec3d01d4 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/asset_group_listing_group_filter_error.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/asset_group_listing_group_filter_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AssetGroupListingGroupFilterErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AssetGroupListingGroupFilterErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/asset_group_listing_group_filter_error.proto + +// 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; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v14/errors/asset_link_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/asset_link_error.proto new file mode 100644 index 000000000..6ff6b3997 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/asset_link_error.proto @@ -0,0 +1,146 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/asset_link_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AssetLinkErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AssetLinkErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/asset_link_error.proto + +// 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; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/asset_link_error.proto + // Automatically created links cannot be changed into adveritser links or + // the reverse. + CANNOT_MODIFY_ASSET_LINK_SOURCE = 21; +======== + // 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; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/asset_link_error.proto + } +} diff --git a/third_party/googleapis/google/ads/googleads/v14/errors/asset_set_asset_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/asset_set_asset_error.proto new file mode 100644 index 000000000..5702a5eb5 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/asset_set_asset_error.proto @@ -0,0 +1,74 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/asset_set_asset_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/asset_set_asset_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/asset_set_asset_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AssetSetAssetErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AssetSetAssetErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/asset_set_asset_error.proto + +// 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/v14/errors/asset_set_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/asset_set_error.proto new file mode 100644 index 000000000..373eccf24 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/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.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AssetSetErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::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/v14/errors/asset_set_link_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/asset_set_link_error.proto new file mode 100644 index 000000000..960388cc1 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/asset_set_link_error.proto @@ -0,0 +1,74 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/asset_set_link_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/asset_set_link_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/asset_set_link_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AssetSetLinkErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AssetSetLinkErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/asset_set_link_error.proto + +// 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/v14/errors/audience_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/audience_error.proto new file mode 100644 index 000000000..e58156e8c --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/audience_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/audience_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AudienceErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AudienceErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/audience_error.proto + +// 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; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v14/errors/audience_insights_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/audience_insights_error.proto new file mode 100644 index 000000000..a51f2e2f0 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/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.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AudienceInsightsErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::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/v14/errors/authentication_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/authentication_error.proto new file mode 100644 index 000000000..3451909c5 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/authentication_error.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/authentication_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AuthenticationErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AuthenticationErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/authentication_error.proto + +// 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; + + // User in the cookie is not a valid Ads user. + 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/v14/errors/authorization_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/authorization_error.proto new file mode 100644 index 000000000..2eec14c4d --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/authorization_error.proto @@ -0,0 +1,115 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/authorization_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/authorization_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/authorization_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AuthorizationErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AuthorizationErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/authorization_error.proto + +// 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; +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/authorization_error.proto +======== + + // The Google Cloud project is not under the required organization. + CLOUD_PROJECT_NOT_UNDER_ORGANIZATION = 27; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/authorization_error.proto + } +} diff --git a/third_party/googleapis/google/ads/googleads/v14/errors/batch_job_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/batch_job_error.proto new file mode 100644 index 000000000..49b5fb75d --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/batch_job_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/batch_job_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "BatchJobErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "BatchJobErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/batch_job_error.proto + +// 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/v14/errors/bidding_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/bidding_error.proto new file mode 100644 index 000000000..7e7908588 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/bidding_error.proto @@ -0,0 +1,138 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/bidding_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/bidding_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/bidding_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "BiddingErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "BiddingErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/bidding_error.proto + +// 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/v14/errors/bidding_strategy_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/bidding_strategy_error.proto new file mode 100644 index 000000000..99ac62dd5 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/bidding_strategy_error.proto @@ -0,0 +1,74 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/bidding_strategy_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/bidding_strategy_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/bidding_strategy_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "BiddingStrategyErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "BiddingStrategyErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/bidding_strategy_error.proto + +// 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/v14/errors/billing_setup_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/billing_setup_error.proto new file mode 100644 index 000000000..b64084d76 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/billing_setup_error.proto @@ -0,0 +1,129 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/billing_setup_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/billing_setup_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/billing_setup_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "BillingSetupErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "BillingSetupErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/billing_setup_error.proto + +// 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/v14/errors/campaign_budget_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/campaign_budget_error.proto new file mode 100644 index 000000000..368ef3f83 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/campaign_budget_error.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/campaign_budget_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CampaignBudgetErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CampaignBudgetErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/campaign_budget_error.proto + +// 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/v14/errors/campaign_conversion_goal_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/campaign_conversion_goal_error.proto new file mode 100644 index 000000000..22d3aa89e --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/campaign_conversion_goal_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/campaign_conversion_goal_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CampaignConversionGoalErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CampaignConversionGoalErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/campaign_conversion_goal_error.proto + +// 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; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v14/errors/campaign_criterion_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/campaign_criterion_error.proto new file mode 100644 index 000000000..11655ee86 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/campaign_criterion_error.proto @@ -0,0 +1,140 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/campaign_criterion_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/campaign_criterion_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/campaign_criterion_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CampaignCriterionErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CampaignCriterionErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/campaign_criterion_error.proto + +// 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; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v14/errors/campaign_customizer_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/campaign_customizer_error.proto new file mode 100644 index 000000000..29c98a471 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/campaign_customizer_error.proto @@ -0,0 +1,57 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/campaign_customizer_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/campaign_customizer_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/campaign_customizer_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CampaignCustomizerErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CampaignCustomizerErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/campaign_customizer_error.proto + +// 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/v14/errors/campaign_draft_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/campaign_draft_error.proto new file mode 100644 index 000000000..c679bd200 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/campaign_draft_error.proto @@ -0,0 +1,92 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/campaign_draft_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/campaign_draft_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/campaign_draft_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CampaignDraftErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CampaignDraftErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/campaign_draft_error.proto + +// 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/v14/errors/campaign_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/campaign_error.proto new file mode 100644 index 000000000..612e97a5e --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/campaign_error.proto @@ -0,0 +1,307 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/campaign_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/campaign_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/campaign_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CampaignErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CampaignErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/campaign_error.proto + +// 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; +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/campaign_error.proto +======== + + // 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; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/campaign_error.proto + } +} diff --git a/third_party/googleapis/google/ads/googleads/v14/errors/campaign_experiment_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/campaign_experiment_error.proto new file mode 100644 index 000000000..1a63cccba --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/campaign_experiment_error.proto @@ -0,0 +1,94 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/campaign_experiment_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/campaign_experiment_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/campaign_experiment_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CampaignExperimentErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CampaignExperimentErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/campaign_experiment_error.proto + +// 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/v14/errors/campaign_feed_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/campaign_feed_error.proto new file mode 100644 index 000000000..47ed3aeb9 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/campaign_feed_error.proto @@ -0,0 +1,83 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/campaign_feed_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/campaign_feed_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/campaign_feed_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CampaignFeedErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CampaignFeedErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/campaign_feed_error.proto + +// 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/v14/errors/campaign_shared_set_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/campaign_shared_set_error.proto new file mode 100644 index 000000000..648632173 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/campaign_shared_set_error.proto @@ -0,0 +1,60 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/campaign_shared_set_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/campaign_shared_set_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/campaign_shared_set_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CampaignSharedSetErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CampaignSharedSetErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/campaign_shared_set_error.proto + +// 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/v14/errors/change_event_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/change_event_error.proto new file mode 100644 index 000000000..3c9c6004f --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/change_event_error.proto @@ -0,0 +1,76 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/change_event_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/change_event_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/change_event_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ChangeEventErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ChangeEventErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/change_event_error.proto + +// 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/v14/errors/change_status_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/change_status_error.proto new file mode 100644 index 000000000..e569cac60 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/change_status_error.proto @@ -0,0 +1,76 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/change_status_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/change_status_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/change_status_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ChangeStatusErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ChangeStatusErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/change_status_error.proto + +// 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/v14/errors/collection_size_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/collection_size_error.proto new file mode 100644 index 000000000..98c02d589 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/collection_size_error.proto @@ -0,0 +1,63 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/collection_size_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/collection_size_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/collection_size_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CollectionSizeErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CollectionSizeErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/collection_size_error.proto + +// 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/v14/errors/context_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/context_error.proto new file mode 100644 index 000000000..d679fba57 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/context_error.proto @@ -0,0 +1,63 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/context_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/context_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/context_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ContextErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ContextErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/context_error.proto + +// 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/v14/errors/conversion_action_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/conversion_action_error.proto new file mode 100644 index 000000000..44371e675 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/conversion_action_error.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/conversion_action_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ConversionActionErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ConversionActionErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/conversion_action_error.proto + +// 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; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v14/errors/conversion_adjustment_upload_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/conversion_adjustment_upload_error.proto new file mode 100644 index 000000000..252195d20 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/conversion_adjustment_upload_error.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.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ConversionAdjustmentUploadErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::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; + + // Make sure you specify an active conversion action that can be adjusted. + INVALID_CONVERSION_ACTION = 3; + + // 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; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v14/errors/conversion_custom_variable_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/conversion_custom_variable_error.proto new file mode 100644 index 000000000..7539e8e81 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/conversion_custom_variable_error.proto @@ -0,0 +1,67 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/conversion_custom_variable_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/conversion_custom_variable_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/conversion_custom_variable_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ConversionCustomVariableErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ConversionCustomVariableErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/conversion_custom_variable_error.proto + +// 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/v14/errors/conversion_goal_campaign_config_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/conversion_goal_campaign_config_error.proto new file mode 100644 index 000000000..454d156fa --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/conversion_goal_campaign_config_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/conversion_goal_campaign_config_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ConversionGoalCampaignConfigErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ConversionGoalCampaignConfigErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/conversion_goal_campaign_config_error.proto + +// 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; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v14/errors/conversion_upload_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/conversion_upload_error.proto new file mode 100644 index 000000000..528503d71 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/conversion_upload_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.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ConversionUploadErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::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; + + // Make sure you specify a valid conversion action set up for offline + // import. + INVALID_CONVERSION_ACTION = 9; + + // 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 click can't be found for the specified identifiers. This may be + // because it did not come from a Google Ads campaign. + 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; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v14/errors/conversion_value_rule_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/conversion_value_rule_error.proto new file mode 100644 index 000000000..73c7c7d16 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/conversion_value_rule_error.proto @@ -0,0 +1,105 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/conversion_value_rule_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/conversion_value_rule_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/conversion_value_rule_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ConversionValueRuleErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ConversionValueRuleErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/conversion_value_rule_error.proto + +// 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/v14/errors/conversion_value_rule_set_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/conversion_value_rule_set_error.proto new file mode 100644 index 000000000..13a4e5f69 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/conversion_value_rule_set_error.proto @@ -0,0 +1,115 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/conversion_value_rule_set_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/conversion_value_rule_set_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/conversion_value_rule_set_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ConversionValueRuleSetErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ConversionValueRuleSetErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/conversion_value_rule_set_error.proto + +// 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/v14/errors/country_code_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/country_code_error.proto new file mode 100644 index 000000000..1ff9e90f2 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/country_code_error.proto @@ -0,0 +1,60 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/country_code_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/country_code_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/country_code_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CountryCodeErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CountryCodeErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/country_code_error.proto + +// 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/v14/errors/criterion_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/criterion_error.proto new file mode 100644 index 000000000..e490258ee --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/criterion_error.proto @@ -0,0 +1,527 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/criterion_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CriterionErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CriterionErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/criterion_error.proto + +// 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; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v14/errors/currency_code_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/currency_code_error.proto new file mode 100644 index 000000000..a816665ef --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/currency_code_error.proto @@ -0,0 +1,60 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/currency_code_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/currency_code_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/currency_code_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CurrencyCodeErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CurrencyCodeErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/currency_code_error.proto + +// 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/v14/errors/currency_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/currency_error.proto new file mode 100644 index 000000000..5077724e0 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/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.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CurrencyErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::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/v14/errors/custom_audience_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/custom_audience_error.proto new file mode 100644 index 000000000..6c6a3f732 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/custom_audience_error.proto @@ -0,0 +1,81 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/custom_audience_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/custom_audience_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/custom_audience_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CustomAudienceErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CustomAudienceErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/custom_audience_error.proto + +// 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/v14/errors/custom_conversion_goal_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/custom_conversion_goal_error.proto new file mode 100644 index 000000000..c559fa332 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/custom_conversion_goal_error.proto @@ -0,0 +1,81 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/custom_conversion_goal_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/custom_conversion_goal_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/custom_conversion_goal_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CustomConversionGoalErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CustomConversionGoalErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/custom_conversion_goal_error.proto + +// 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; +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/custom_conversion_goal_error.proto +======== + + // Conversion types that cannot be biddable should not be included in custom + // goal. + NON_BIDDABLE_CONVERSION_ACTION_NOT_ELIGIBLE_FOR_CUSTOM_GOAL = 7; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/custom_conversion_goal_error.proto + } +} diff --git a/third_party/googleapis/google/ads/googleads/v14/errors/custom_interest_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/custom_interest_error.proto new file mode 100644 index 000000000..69a2ab184 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/custom_interest_error.proto @@ -0,0 +1,79 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/custom_interest_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/custom_interest_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/custom_interest_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CustomInterestErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CustomInterestErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/custom_interest_error.proto + +// 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/v14/errors/customer_client_link_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/customer_client_link_error.proto new file mode 100644 index 000000000..c43328115 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/customer_client_link_error.proto @@ -0,0 +1,81 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/customer_client_link_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/customer_client_link_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/customer_client_link_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CustomerClientLinkErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CustomerClientLinkErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/customer_client_link_error.proto + +// 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/v14/errors/customer_customizer_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/customer_customizer_error.proto new file mode 100644 index 000000000..d3dabfd59 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/customer_customizer_error.proto @@ -0,0 +1,57 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/customer_customizer_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/customer_customizer_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/customer_customizer_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CustomerCustomizerErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CustomerCustomizerErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/customer_customizer_error.proto + +// 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/v14/errors/customer_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/customer_error.proto new file mode 100644 index 000000000..21a5deb8b --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/customer_error.proto @@ -0,0 +1,63 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/customer_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/customer_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/customer_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CustomerErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CustomerErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/customer_error.proto + +// 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/v14/errors/customer_feed_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/customer_feed_error.proto new file mode 100644 index 000000000..b06521afc --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/customer_feed_error.proto @@ -0,0 +1,79 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/customer_feed_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/customer_feed_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/customer_feed_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CustomerFeedErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CustomerFeedErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/customer_feed_error.proto + +// 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/v14/errors/customer_manager_link_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/customer_manager_link_error.proto new file mode 100644 index 000000000..c289b201e --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/customer_manager_link_error.proto @@ -0,0 +1,88 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/customer_manager_link_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/customer_manager_link_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/customer_manager_link_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CustomerManagerLinkErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CustomerManagerLinkErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/customer_manager_link_error.proto + +// 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/v14/errors/customer_sk_ad_network_conversion_value_schema_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/customer_sk_ad_network_conversion_value_schema_error.proto new file mode 100644 index 000000000..0ca5832fa --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/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.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CustomerSkAdNetworkConversionValueSchemaErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::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/v14/errors/customer_user_access_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/customer_user_access_error.proto new file mode 100644 index 000000000..5687ca509 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/customer_user_access_error.proto @@ -0,0 +1,73 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/customer_user_access_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/customer_user_access_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/customer_user_access_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CustomerUserAccessErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CustomerUserAccessErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/customer_user_access_error.proto + +// 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/v14/errors/customizer_attribute_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/customizer_attribute_error.proto new file mode 100644 index 000000000..af95a7f85 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/customizer_attribute_error.proto @@ -0,0 +1,61 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/customizer_attribute_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/customizer_attribute_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/customizer_attribute_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CustomizerAttributeErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CustomizerAttributeErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/customizer_attribute_error.proto + +// 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/v14/errors/database_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/database_error.proto new file mode 100644 index 000000000..e6a84123f --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/database_error.proto @@ -0,0 +1,69 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/database_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/database_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/database_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "DatabaseErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "DatabaseErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/database_error.proto + +// 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/v14/errors/date_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/date_error.proto new file mode 100644 index 000000000..e693f0e22 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/date_error.proto @@ -0,0 +1,87 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/date_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/date_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/date_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "DateErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "DateErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/date_error.proto + +// 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/v14/errors/date_range_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/date_range_error.proto new file mode 100644 index 000000000..2f7f284b0 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/date_range_error.proto @@ -0,0 +1,72 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/date_range_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/date_range_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/date_range_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "DateRangeErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "DateRangeErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/date_range_error.proto + +// 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/v14/errors/distinct_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/distinct_error.proto new file mode 100644 index 000000000..43499bfef --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/distinct_error.proto @@ -0,0 +1,63 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/distinct_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/distinct_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/distinct_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "DistinctErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "DistinctErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/distinct_error.proto + +// 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/v14/errors/enum_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/enum_error.proto new file mode 100644 index 000000000..10714a44c --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/enum_error.proto @@ -0,0 +1,60 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/enum_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/enum_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/enum_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "EnumErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "EnumErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/enum_error.proto + +// 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/v14/errors/errors.proto b/third_party/googleapis/google/ads/googleads/v14/errors/errors.proto new file mode 100644 index 000000000..55fb566a8 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/errors.proto @@ -0,0 +1,986 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/errors.proto +package google.ads.googleads.v12.errors; + +import "google/ads/googleads/v12/common/policy.proto"; +import "google/ads/googleads/v12/common/value.proto"; +import "google/ads/googleads/v12/enums/resource_limit_type.proto"; +import "google/ads/googleads/v12/errors/access_invitation_error.proto"; +import "google/ads/googleads/v12/errors/account_budget_proposal_error.proto"; +import "google/ads/googleads/v12/errors/account_link_error.proto"; +import "google/ads/googleads/v12/errors/ad_customizer_error.proto"; +import "google/ads/googleads/v12/errors/ad_error.proto"; +import "google/ads/googleads/v12/errors/ad_group_ad_error.proto"; +import "google/ads/googleads/v12/errors/ad_group_bid_modifier_error.proto"; +import "google/ads/googleads/v12/errors/ad_group_criterion_customizer_error.proto"; +import "google/ads/googleads/v12/errors/ad_group_criterion_error.proto"; +import "google/ads/googleads/v12/errors/ad_group_customizer_error.proto"; +import "google/ads/googleads/v12/errors/ad_group_error.proto"; +import "google/ads/googleads/v12/errors/ad_group_feed_error.proto"; +import "google/ads/googleads/v12/errors/ad_parameter_error.proto"; +import "google/ads/googleads/v12/errors/ad_sharing_error.proto"; +import "google/ads/googleads/v12/errors/adx_error.proto"; +import "google/ads/googleads/v12/errors/asset_error.proto"; +import "google/ads/googleads/v12/errors/asset_group_asset_error.proto"; +import "google/ads/googleads/v12/errors/asset_group_error.proto"; +import "google/ads/googleads/v12/errors/asset_group_listing_group_filter_error.proto"; +import "google/ads/googleads/v12/errors/asset_link_error.proto"; +import "google/ads/googleads/v12/errors/asset_set_asset_error.proto"; +import "google/ads/googleads/v12/errors/asset_set_error.proto"; +import "google/ads/googleads/v12/errors/asset_set_link_error.proto"; +import "google/ads/googleads/v12/errors/audience_error.proto"; +import "google/ads/googleads/v12/errors/audience_insights_error.proto"; +import "google/ads/googleads/v12/errors/authentication_error.proto"; +import "google/ads/googleads/v12/errors/authorization_error.proto"; +import "google/ads/googleads/v12/errors/batch_job_error.proto"; +import "google/ads/googleads/v12/errors/bidding_error.proto"; +import "google/ads/googleads/v12/errors/bidding_strategy_error.proto"; +import "google/ads/googleads/v12/errors/billing_setup_error.proto"; +import "google/ads/googleads/v12/errors/campaign_budget_error.proto"; +import "google/ads/googleads/v12/errors/campaign_conversion_goal_error.proto"; +import "google/ads/googleads/v12/errors/campaign_criterion_error.proto"; +import "google/ads/googleads/v12/errors/campaign_customizer_error.proto"; +import "google/ads/googleads/v12/errors/campaign_draft_error.proto"; +import "google/ads/googleads/v12/errors/campaign_error.proto"; +import "google/ads/googleads/v12/errors/campaign_experiment_error.proto"; +import "google/ads/googleads/v12/errors/campaign_feed_error.proto"; +import "google/ads/googleads/v12/errors/campaign_shared_set_error.proto"; +import "google/ads/googleads/v12/errors/change_event_error.proto"; +import "google/ads/googleads/v12/errors/change_status_error.proto"; +import "google/ads/googleads/v12/errors/collection_size_error.proto"; +import "google/ads/googleads/v12/errors/context_error.proto"; +import "google/ads/googleads/v12/errors/conversion_action_error.proto"; +import "google/ads/googleads/v12/errors/conversion_adjustment_upload_error.proto"; +import "google/ads/googleads/v12/errors/conversion_custom_variable_error.proto"; +import "google/ads/googleads/v12/errors/conversion_goal_campaign_config_error.proto"; +import "google/ads/googleads/v12/errors/conversion_upload_error.proto"; +import "google/ads/googleads/v12/errors/conversion_value_rule_error.proto"; +import "google/ads/googleads/v12/errors/conversion_value_rule_set_error.proto"; +import "google/ads/googleads/v12/errors/country_code_error.proto"; +import "google/ads/googleads/v12/errors/criterion_error.proto"; +import "google/ads/googleads/v12/errors/currency_code_error.proto"; +import "google/ads/googleads/v12/errors/custom_audience_error.proto"; +import "google/ads/googleads/v12/errors/custom_conversion_goal_error.proto"; +import "google/ads/googleads/v12/errors/custom_interest_error.proto"; +import "google/ads/googleads/v12/errors/customer_client_link_error.proto"; +import "google/ads/googleads/v12/errors/customer_customizer_error.proto"; +import "google/ads/googleads/v12/errors/customer_error.proto"; +import "google/ads/googleads/v12/errors/customer_feed_error.proto"; +import "google/ads/googleads/v12/errors/customer_manager_link_error.proto"; +import "google/ads/googleads/v12/errors/customer_user_access_error.proto"; +import "google/ads/googleads/v12/errors/customizer_attribute_error.proto"; +import "google/ads/googleads/v12/errors/database_error.proto"; +import "google/ads/googleads/v12/errors/date_error.proto"; +import "google/ads/googleads/v12/errors/date_range_error.proto"; +import "google/ads/googleads/v12/errors/distinct_error.proto"; +import "google/ads/googleads/v12/errors/enum_error.proto"; +import "google/ads/googleads/v12/errors/experiment_arm_error.proto"; +import "google/ads/googleads/v12/errors/experiment_error.proto"; +import "google/ads/googleads/v12/errors/extension_feed_item_error.proto"; +import "google/ads/googleads/v12/errors/extension_setting_error.proto"; +import "google/ads/googleads/v12/errors/feed_attribute_reference_error.proto"; +import "google/ads/googleads/v12/errors/feed_error.proto"; +import "google/ads/googleads/v12/errors/feed_item_error.proto"; +import "google/ads/googleads/v12/errors/feed_item_set_error.proto"; +import "google/ads/googleads/v12/errors/feed_item_set_link_error.proto"; +import "google/ads/googleads/v12/errors/feed_item_target_error.proto"; +import "google/ads/googleads/v12/errors/feed_item_validation_error.proto"; +import "google/ads/googleads/v12/errors/feed_mapping_error.proto"; +import "google/ads/googleads/v12/errors/field_error.proto"; +import "google/ads/googleads/v12/errors/field_mask_error.proto"; +import "google/ads/googleads/v12/errors/function_error.proto"; +import "google/ads/googleads/v12/errors/function_parsing_error.proto"; +import "google/ads/googleads/v12/errors/geo_target_constant_suggestion_error.proto"; +import "google/ads/googleads/v12/errors/header_error.proto"; +import "google/ads/googleads/v12/errors/id_error.proto"; +import "google/ads/googleads/v12/errors/image_error.proto"; +import "google/ads/googleads/v12/errors/internal_error.proto"; +import "google/ads/googleads/v12/errors/invoice_error.proto"; +import "google/ads/googleads/v12/errors/keyword_plan_ad_group_error.proto"; +import "google/ads/googleads/v12/errors/keyword_plan_ad_group_keyword_error.proto"; +import "google/ads/googleads/v12/errors/keyword_plan_campaign_error.proto"; +import "google/ads/googleads/v12/errors/keyword_plan_campaign_keyword_error.proto"; +import "google/ads/googleads/v12/errors/keyword_plan_error.proto"; +import "google/ads/googleads/v12/errors/keyword_plan_idea_error.proto"; +import "google/ads/googleads/v12/errors/label_error.proto"; +import "google/ads/googleads/v12/errors/language_code_error.proto"; +import "google/ads/googleads/v12/errors/list_operation_error.proto"; +import "google/ads/googleads/v12/errors/manager_link_error.proto"; +import "google/ads/googleads/v12/errors/media_bundle_error.proto"; +import "google/ads/googleads/v12/errors/media_file_error.proto"; +import "google/ads/googleads/v12/errors/media_upload_error.proto"; +import "google/ads/googleads/v12/errors/merchant_center_error.proto"; +import "google/ads/googleads/v12/errors/multiplier_error.proto"; +import "google/ads/googleads/v12/errors/mutate_error.proto"; +import "google/ads/googleads/v12/errors/new_resource_creation_error.proto"; +import "google/ads/googleads/v12/errors/not_allowlisted_error.proto"; +import "google/ads/googleads/v12/errors/not_empty_error.proto"; +import "google/ads/googleads/v12/errors/null_error.proto"; +import "google/ads/googleads/v12/errors/offline_user_data_job_error.proto"; +import "google/ads/googleads/v12/errors/operation_access_denied_error.proto"; +import "google/ads/googleads/v12/errors/operator_error.proto"; +import "google/ads/googleads/v12/errors/partial_failure_error.proto"; +import "google/ads/googleads/v12/errors/payments_account_error.proto"; +import "google/ads/googleads/v12/errors/policy_finding_error.proto"; +import "google/ads/googleads/v12/errors/policy_validation_parameter_error.proto"; +import "google/ads/googleads/v12/errors/policy_violation_error.proto"; +import "google/ads/googleads/v12/errors/query_error.proto"; +import "google/ads/googleads/v12/errors/quota_error.proto"; +import "google/ads/googleads/v12/errors/range_error.proto"; +import "google/ads/googleads/v12/errors/reach_plan_error.proto"; +import "google/ads/googleads/v12/errors/recommendation_error.proto"; +import "google/ads/googleads/v12/errors/region_code_error.proto"; +import "google/ads/googleads/v12/errors/request_error.proto"; +import "google/ads/googleads/v12/errors/resource_access_denied_error.proto"; +import "google/ads/googleads/v12/errors/resource_count_limit_exceeded_error.proto"; +import "google/ads/googleads/v12/errors/setting_error.proto"; +import "google/ads/googleads/v12/errors/shared_criterion_error.proto"; +import "google/ads/googleads/v12/errors/shared_set_error.proto"; +import "google/ads/googleads/v12/errors/size_limit_error.proto"; +import "google/ads/googleads/v12/errors/smart_campaign_error.proto"; +import "google/ads/googleads/v12/errors/string_format_error.proto"; +import "google/ads/googleads/v12/errors/string_length_error.proto"; +import "google/ads/googleads/v12/errors/third_party_app_analytics_link_error.proto"; +import "google/ads/googleads/v12/errors/time_zone_error.proto"; +import "google/ads/googleads/v12/errors/url_field_error.proto"; +import "google/ads/googleads/v12/errors/user_data_error.proto"; +import "google/ads/googleads/v12/errors/user_list_error.proto"; +import "google/ads/googleads/v12/errors/youtube_video_registration_error.proto"; +import "google/protobuf/duration.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ErrorsProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v14.errors; + +import "google/ads/googleads/v14/common/policy.proto"; +import "google/ads/googleads/v14/common/value.proto"; +import "google/ads/googleads/v14/enums/resource_limit_type.proto"; +import "google/ads/googleads/v14/errors/access_invitation_error.proto"; +import "google/ads/googleads/v14/errors/account_budget_proposal_error.proto"; +import "google/ads/googleads/v14/errors/account_link_error.proto"; +import "google/ads/googleads/v14/errors/ad_customizer_error.proto"; +import "google/ads/googleads/v14/errors/ad_error.proto"; +import "google/ads/googleads/v14/errors/ad_group_ad_error.proto"; +import "google/ads/googleads/v14/errors/ad_group_bid_modifier_error.proto"; +import "google/ads/googleads/v14/errors/ad_group_criterion_customizer_error.proto"; +import "google/ads/googleads/v14/errors/ad_group_criterion_error.proto"; +import "google/ads/googleads/v14/errors/ad_group_customizer_error.proto"; +import "google/ads/googleads/v14/errors/ad_group_error.proto"; +import "google/ads/googleads/v14/errors/ad_group_feed_error.proto"; +import "google/ads/googleads/v14/errors/ad_parameter_error.proto"; +import "google/ads/googleads/v14/errors/ad_sharing_error.proto"; +import "google/ads/googleads/v14/errors/adx_error.proto"; +import "google/ads/googleads/v14/errors/asset_error.proto"; +import "google/ads/googleads/v14/errors/asset_group_asset_error.proto"; +import "google/ads/googleads/v14/errors/asset_group_error.proto"; +import "google/ads/googleads/v14/errors/asset_group_listing_group_filter_error.proto"; +import "google/ads/googleads/v14/errors/asset_link_error.proto"; +import "google/ads/googleads/v14/errors/asset_set_asset_error.proto"; +import "google/ads/googleads/v14/errors/asset_set_error.proto"; +import "google/ads/googleads/v14/errors/asset_set_link_error.proto"; +import "google/ads/googleads/v14/errors/audience_error.proto"; +import "google/ads/googleads/v14/errors/audience_insights_error.proto"; +import "google/ads/googleads/v14/errors/authentication_error.proto"; +import "google/ads/googleads/v14/errors/authorization_error.proto"; +import "google/ads/googleads/v14/errors/batch_job_error.proto"; +import "google/ads/googleads/v14/errors/bidding_error.proto"; +import "google/ads/googleads/v14/errors/bidding_strategy_error.proto"; +import "google/ads/googleads/v14/errors/billing_setup_error.proto"; +import "google/ads/googleads/v14/errors/campaign_budget_error.proto"; +import "google/ads/googleads/v14/errors/campaign_conversion_goal_error.proto"; +import "google/ads/googleads/v14/errors/campaign_criterion_error.proto"; +import "google/ads/googleads/v14/errors/campaign_customizer_error.proto"; +import "google/ads/googleads/v14/errors/campaign_draft_error.proto"; +import "google/ads/googleads/v14/errors/campaign_error.proto"; +import "google/ads/googleads/v14/errors/campaign_experiment_error.proto"; +import "google/ads/googleads/v14/errors/campaign_feed_error.proto"; +import "google/ads/googleads/v14/errors/campaign_shared_set_error.proto"; +import "google/ads/googleads/v14/errors/change_event_error.proto"; +import "google/ads/googleads/v14/errors/change_status_error.proto"; +import "google/ads/googleads/v14/errors/collection_size_error.proto"; +import "google/ads/googleads/v14/errors/context_error.proto"; +import "google/ads/googleads/v14/errors/conversion_action_error.proto"; +import "google/ads/googleads/v14/errors/conversion_adjustment_upload_error.proto"; +import "google/ads/googleads/v14/errors/conversion_custom_variable_error.proto"; +import "google/ads/googleads/v14/errors/conversion_goal_campaign_config_error.proto"; +import "google/ads/googleads/v14/errors/conversion_upload_error.proto"; +import "google/ads/googleads/v14/errors/conversion_value_rule_error.proto"; +import "google/ads/googleads/v14/errors/conversion_value_rule_set_error.proto"; +import "google/ads/googleads/v14/errors/country_code_error.proto"; +import "google/ads/googleads/v14/errors/criterion_error.proto"; +import "google/ads/googleads/v14/errors/currency_code_error.proto"; +import "google/ads/googleads/v14/errors/currency_error.proto"; +import "google/ads/googleads/v14/errors/custom_audience_error.proto"; +import "google/ads/googleads/v14/errors/custom_conversion_goal_error.proto"; +import "google/ads/googleads/v14/errors/custom_interest_error.proto"; +import "google/ads/googleads/v14/errors/customer_client_link_error.proto"; +import "google/ads/googleads/v14/errors/customer_customizer_error.proto"; +import "google/ads/googleads/v14/errors/customer_error.proto"; +import "google/ads/googleads/v14/errors/customer_feed_error.proto"; +import "google/ads/googleads/v14/errors/customer_manager_link_error.proto"; +import "google/ads/googleads/v14/errors/customer_sk_ad_network_conversion_value_schema_error.proto"; +import "google/ads/googleads/v14/errors/customer_user_access_error.proto"; +import "google/ads/googleads/v14/errors/customizer_attribute_error.proto"; +import "google/ads/googleads/v14/errors/database_error.proto"; +import "google/ads/googleads/v14/errors/date_error.proto"; +import "google/ads/googleads/v14/errors/date_range_error.proto"; +import "google/ads/googleads/v14/errors/distinct_error.proto"; +import "google/ads/googleads/v14/errors/enum_error.proto"; +import "google/ads/googleads/v14/errors/experiment_arm_error.proto"; +import "google/ads/googleads/v14/errors/experiment_error.proto"; +import "google/ads/googleads/v14/errors/extension_feed_item_error.proto"; +import "google/ads/googleads/v14/errors/extension_setting_error.proto"; +import "google/ads/googleads/v14/errors/feed_attribute_reference_error.proto"; +import "google/ads/googleads/v14/errors/feed_error.proto"; +import "google/ads/googleads/v14/errors/feed_item_error.proto"; +import "google/ads/googleads/v14/errors/feed_item_set_error.proto"; +import "google/ads/googleads/v14/errors/feed_item_set_link_error.proto"; +import "google/ads/googleads/v14/errors/feed_item_target_error.proto"; +import "google/ads/googleads/v14/errors/feed_item_validation_error.proto"; +import "google/ads/googleads/v14/errors/feed_mapping_error.proto"; +import "google/ads/googleads/v14/errors/field_error.proto"; +import "google/ads/googleads/v14/errors/field_mask_error.proto"; +import "google/ads/googleads/v14/errors/function_error.proto"; +import "google/ads/googleads/v14/errors/function_parsing_error.proto"; +import "google/ads/googleads/v14/errors/geo_target_constant_suggestion_error.proto"; +import "google/ads/googleads/v14/errors/header_error.proto"; +import "google/ads/googleads/v14/errors/id_error.proto"; +import "google/ads/googleads/v14/errors/image_error.proto"; +import "google/ads/googleads/v14/errors/internal_error.proto"; +import "google/ads/googleads/v14/errors/invoice_error.proto"; +import "google/ads/googleads/v14/errors/keyword_plan_ad_group_error.proto"; +import "google/ads/googleads/v14/errors/keyword_plan_ad_group_keyword_error.proto"; +import "google/ads/googleads/v14/errors/keyword_plan_campaign_error.proto"; +import "google/ads/googleads/v14/errors/keyword_plan_campaign_keyword_error.proto"; +import "google/ads/googleads/v14/errors/keyword_plan_error.proto"; +import "google/ads/googleads/v14/errors/keyword_plan_idea_error.proto"; +import "google/ads/googleads/v14/errors/label_error.proto"; +import "google/ads/googleads/v14/errors/language_code_error.proto"; +import "google/ads/googleads/v14/errors/list_operation_error.proto"; +import "google/ads/googleads/v14/errors/manager_link_error.proto"; +import "google/ads/googleads/v14/errors/media_bundle_error.proto"; +import "google/ads/googleads/v14/errors/media_file_error.proto"; +import "google/ads/googleads/v14/errors/media_upload_error.proto"; +import "google/ads/googleads/v14/errors/merchant_center_error.proto"; +import "google/ads/googleads/v14/errors/multiplier_error.proto"; +import "google/ads/googleads/v14/errors/mutate_error.proto"; +import "google/ads/googleads/v14/errors/new_resource_creation_error.proto"; +import "google/ads/googleads/v14/errors/not_allowlisted_error.proto"; +import "google/ads/googleads/v14/errors/not_empty_error.proto"; +import "google/ads/googleads/v14/errors/null_error.proto"; +import "google/ads/googleads/v14/errors/offline_user_data_job_error.proto"; +import "google/ads/googleads/v14/errors/operation_access_denied_error.proto"; +import "google/ads/googleads/v14/errors/operator_error.proto"; +import "google/ads/googleads/v14/errors/partial_failure_error.proto"; +import "google/ads/googleads/v14/errors/payments_account_error.proto"; +import "google/ads/googleads/v14/errors/policy_finding_error.proto"; +import "google/ads/googleads/v14/errors/policy_validation_parameter_error.proto"; +import "google/ads/googleads/v14/errors/policy_violation_error.proto"; +import "google/ads/googleads/v14/errors/query_error.proto"; +import "google/ads/googleads/v14/errors/quota_error.proto"; +import "google/ads/googleads/v14/errors/range_error.proto"; +import "google/ads/googleads/v14/errors/reach_plan_error.proto"; +import "google/ads/googleads/v14/errors/recommendation_error.proto"; +import "google/ads/googleads/v14/errors/region_code_error.proto"; +import "google/ads/googleads/v14/errors/request_error.proto"; +import "google/ads/googleads/v14/errors/resource_access_denied_error.proto"; +import "google/ads/googleads/v14/errors/resource_count_limit_exceeded_error.proto"; +import "google/ads/googleads/v14/errors/search_term_insight_error.proto"; +import "google/ads/googleads/v14/errors/setting_error.proto"; +import "google/ads/googleads/v14/errors/shared_criterion_error.proto"; +import "google/ads/googleads/v14/errors/shared_set_error.proto"; +import "google/ads/googleads/v14/errors/size_limit_error.proto"; +import "google/ads/googleads/v14/errors/smart_campaign_error.proto"; +import "google/ads/googleads/v14/errors/string_format_error.proto"; +import "google/ads/googleads/v14/errors/string_length_error.proto"; +import "google/ads/googleads/v14/errors/third_party_app_analytics_link_error.proto"; +import "google/ads/googleads/v14/errors/time_zone_error.proto"; +import "google/ads/googleads/v14/errors/url_field_error.proto"; +import "google/ads/googleads/v14/errors/user_data_error.proto"; +import "google/ads/googleads/v14/errors/user_list_error.proto"; +import "google/ads/googleads/v14/errors/youtube_video_registration_error.proto"; +import "google/protobuf/duration.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ErrorsProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/errors.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/errors.proto + google.ads.googleads.v12.common.Value trigger = 3; +======== + google.ads.googleads.v14.common.Value trigger = 3; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/errors.proto + + // 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 amonut 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 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; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/errors.proto +======== + // The reasons for the Search term insight error + SearchTermInsightErrorEnum.SearchTermInsightError + search_term_insight_error = 174; + +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/errors.proto + // 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 +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/errors.proto + AudienceInsightsErrorEnum.AudienceInsightsError audience_insights_error = 167; +======== + AudienceInsightsErrorEnum.AudienceInsightsError audience_insights_error = + 167; + + // 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; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/errors.proto + } +} + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/errors.proto + google.ads.googleads.v12.common.PolicyViolationKey key = 4; +======== + google.ads.googleads.v14.common.PolicyViolationKey key = 4; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/errors.proto + + // 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). +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/errors.proto + repeated google.ads.googleads.v12.common.PolicyTopicEntry policy_topic_entries = 1; +======== + repeated google.ads.googleads.v14.common.PolicyTopicEntry + policy_topic_entries = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/errors.proto +} + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/errors.proto + google.ads.googleads.v12.enums.ResourceLimitTypeEnum.ResourceLimitType limit_type = 3; +======== + google.ads.googleads.v14.enums.ResourceLimitTypeEnum.ResourceLimitType + limit_type = 3; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/errors.proto + + // The count of existing entities. + int32 existing_count = 4; +} diff --git a/third_party/googleapis/google/ads/googleads/v14/errors/experiment_arm_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/experiment_arm_error.proto new file mode 100644 index 000000000..6804398f1 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/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.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ExperimentArmErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::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/v14/errors/experiment_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/experiment_error.proto new file mode 100644 index 000000000..598a5d6e3 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/experiment_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.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ExperimentErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::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; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v14/errors/extension_feed_item_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/extension_feed_item_error.proto new file mode 100644 index 000000000..1c31fac25 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/extension_feed_item_error.proto @@ -0,0 +1,208 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/extension_feed_item_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/extension_feed_item_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/extension_feed_item_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ExtensionFeedItemErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ExtensionFeedItemErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/extension_feed_item_error.proto + +// 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/v14/errors/extension_setting_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/extension_setting_error.proto new file mode 100644 index 000000000..f6c4985de --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/extension_setting_error.proto @@ -0,0 +1,274 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/extension_setting_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/extension_setting_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/extension_setting_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ExtensionSettingErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ExtensionSettingErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/extension_setting_error.proto + +// 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/v14/errors/feed_attribute_reference_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/feed_attribute_reference_error.proto new file mode 100644 index 000000000..9c20bd82e --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/feed_attribute_reference_error.proto @@ -0,0 +1,66 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/feed_attribute_reference_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/feed_attribute_reference_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/feed_attribute_reference_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "FeedAttributeReferenceErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "FeedAttributeReferenceErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/feed_attribute_reference_error.proto + +// 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/v14/errors/feed_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/feed_error.proto new file mode 100644 index 000000000..08ca5db81 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/feed_error.proto @@ -0,0 +1,127 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/feed_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/feed_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/feed_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "FeedErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "FeedErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/feed_error.proto + +// 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/v14/errors/feed_item_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/feed_item_error.proto new file mode 100644 index 000000000..512e03e55 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/feed_item_error.proto @@ -0,0 +1,87 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/feed_item_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/feed_item_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/feed_item_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/feed_item_error.proto + +// 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/v14/errors/feed_item_set_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/feed_item_set_error.proto new file mode 100644 index 000000000..4f92f24ab --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/feed_item_set_error.proto @@ -0,0 +1,84 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/feed_item_set_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/feed_item_set_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/feed_item_set_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemSetErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemSetErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/feed_item_set_error.proto + +// 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/v14/errors/feed_item_set_link_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/feed_item_set_link_error.proto new file mode 100644 index 000000000..30fc93240 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/feed_item_set_link_error.proto @@ -0,0 +1,64 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/feed_item_set_link_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/feed_item_set_link_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/feed_item_set_link_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemSetLinkErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemSetLinkErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/feed_item_set_link_error.proto + +// 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/v14/errors/feed_item_target_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/feed_item_target_error.proto new file mode 100644 index 000000000..ee1cc241d --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/feed_item_target_error.proto @@ -0,0 +1,83 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/feed_item_target_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/feed_item_target_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/feed_item_target_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemTargetErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemTargetErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/feed_item_target_error.proto + +// 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/v14/errors/feed_item_validation_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/feed_item_validation_error.proto new file mode 100644 index 000000000..e47afd2c6 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/feed_item_validation_error.proto @@ -0,0 +1,390 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/feed_item_validation_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/feed_item_validation_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/feed_item_validation_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemValidationErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemValidationErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/feed_item_validation_error.proto + +// 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/v14/errors/feed_mapping_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/feed_mapping_error.proto new file mode 100644 index 000000000..d9cd61c28 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/feed_mapping_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/feed_mapping_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "FeedMappingErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "FeedMappingErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/feed_mapping_error.proto + +// 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/v14/errors/field_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/field_error.proto new file mode 100644 index 000000000..c453a01b1 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/field_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/field_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "FieldErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "FieldErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/field_error.proto + +// 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/v14/errors/field_mask_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/field_mask_error.proto new file mode 100644 index 000000000..725231de5 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/field_mask_error.proto @@ -0,0 +1,71 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/field_mask_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/field_mask_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/field_mask_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "FieldMaskErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "FieldMaskErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/field_mask_error.proto + +// 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/v14/errors/function_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/function_error.proto new file mode 100644 index 000000000..3d4f9df96 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/function_error.proto @@ -0,0 +1,106 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/function_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/function_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/function_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "FunctionErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "FunctionErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/function_error.proto + +// 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/v14/errors/function_parsing_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/function_parsing_error.proto new file mode 100644 index 000000000..ac6f1f7d4 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/function_parsing_error.proto @@ -0,0 +1,90 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/function_parsing_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/function_parsing_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/function_parsing_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "FunctionParsingErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "FunctionParsingErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/function_parsing_error.proto + +// 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/v14/errors/geo_target_constant_suggestion_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/geo_target_constant_suggestion_error.proto new file mode 100644 index 000000000..7efcbe4bd --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/geo_target_constant_suggestion_error.proto @@ -0,0 +1,69 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/geo_target_constant_suggestion_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/geo_target_constant_suggestion_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/geo_target_constant_suggestion_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "GeoTargetConstantSuggestionErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "GeoTargetConstantSuggestionErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/geo_target_constant_suggestion_error.proto + +// 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/v14/errors/header_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/header_error.proto new file mode 100644 index 000000000..716dfca5b --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/header_error.proto @@ -0,0 +1,63 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/header_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/header_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/header_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "HeaderErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "HeaderErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/header_error.proto + +// 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/v14/errors/id_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/id_error.proto new file mode 100644 index 000000000..1c8d022c6 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/id_error.proto @@ -0,0 +1,60 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/id_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/id_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/id_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "IdErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "IdErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/id_error.proto + +// 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/v14/errors/image_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/image_error.proto new file mode 100644 index 000000000..c18170ba6 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/image_error.proto @@ -0,0 +1,177 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/image_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/image_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/image_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ImageErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ImageErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/image_error.proto + +// 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/v14/errors/internal_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/internal_error.proto new file mode 100644 index 000000000..b5862929d --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/internal_error.proto @@ -0,0 +1,71 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/internal_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/internal_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/internal_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "InternalErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "InternalErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/internal_error.proto + +// 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/v14/errors/invoice_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/invoice_error.proto new file mode 100644 index 000000000..d59fe0be1 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/invoice_error.proto @@ -0,0 +1,73 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/invoice_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/invoice_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/invoice_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "InvoiceErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "InvoiceErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/invoice_error.proto + +// 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/v14/errors/keyword_plan_ad_group_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/keyword_plan_ad_group_error.proto new file mode 100644 index 000000000..e69e70b59 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/keyword_plan_ad_group_error.proto @@ -0,0 +1,66 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/keyword_plan_ad_group_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/keyword_plan_ad_group_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/keyword_plan_ad_group_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanAdGroupErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanAdGroupErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/keyword_plan_ad_group_error.proto + +// 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/v14/errors/keyword_plan_ad_group_keyword_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/keyword_plan_ad_group_keyword_error.proto new file mode 100644 index 000000000..3755c40d3 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/keyword_plan_ad_group_keyword_error.proto @@ -0,0 +1,85 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/keyword_plan_ad_group_keyword_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/keyword_plan_ad_group_keyword_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/keyword_plan_ad_group_keyword_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanAdGroupKeywordErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanAdGroupKeywordErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/keyword_plan_ad_group_keyword_error.proto + +// 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/v14/errors/keyword_plan_campaign_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/keyword_plan_campaign_error.proto new file mode 100644 index 000000000..38a19eb87 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/keyword_plan_campaign_error.proto @@ -0,0 +1,78 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/keyword_plan_campaign_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/keyword_plan_campaign_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/keyword_plan_campaign_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanCampaignErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanCampaignErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/keyword_plan_campaign_error.proto + +// 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/v14/errors/keyword_plan_campaign_keyword_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/keyword_plan_campaign_keyword_error.proto new file mode 100644 index 000000000..477fea30a --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/keyword_plan_campaign_keyword_error.proto @@ -0,0 +1,62 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/keyword_plan_campaign_keyword_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/keyword_plan_campaign_keyword_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/keyword_plan_campaign_keyword_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanCampaignKeywordErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanCampaignKeywordErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/keyword_plan_campaign_keyword_error.proto + +// 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/v14/errors/keyword_plan_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/keyword_plan_error.proto new file mode 100644 index 000000000..690634aa5 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/keyword_plan_error.proto @@ -0,0 +1,104 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/keyword_plan_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/keyword_plan_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/keyword_plan_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/keyword_plan_error.proto + +// 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/v14/errors/keyword_plan_idea_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/keyword_plan_idea_error.proto new file mode 100644 index 000000000..b48e5b7cd --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/keyword_plan_idea_error.proto @@ -0,0 +1,63 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/keyword_plan_idea_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/keyword_plan_idea_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/keyword_plan_idea_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanIdeaErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanIdeaErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/keyword_plan_idea_error.proto + +// 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/v14/errors/label_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/label_error.proto new file mode 100644 index 000000000..0e299773e --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/label_error.proto @@ -0,0 +1,86 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/label_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/label_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/label_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "LabelErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "LabelErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/label_error.proto + +// 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/v14/errors/language_code_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/language_code_error.proto new file mode 100644 index 000000000..147161268 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/language_code_error.proto @@ -0,0 +1,63 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/language_code_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/language_code_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/language_code_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "LanguageCodeErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "LanguageCodeErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/language_code_error.proto + +// 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/v14/errors/list_operation_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/list_operation_error.proto new file mode 100644 index 000000000..9f521d5d8 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/list_operation_error.proto @@ -0,0 +1,63 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/list_operation_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/list_operation_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/list_operation_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ListOperationErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ListOperationErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/list_operation_error.proto + +// 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/v14/errors/manager_link_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/manager_link_error.proto new file mode 100644 index 000000000..8baa7213c --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/manager_link_error.proto @@ -0,0 +1,116 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/manager_link_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/manager_link_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/manager_link_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ManagerLinkErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ManagerLinkErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/manager_link_error.proto + +// 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/v14/errors/media_bundle_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/media_bundle_error.proto new file mode 100644 index 000000000..24eb5ebe7 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/media_bundle_error.proto @@ -0,0 +1,123 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/media_bundle_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/media_bundle_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/media_bundle_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "MediaBundleErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "MediaBundleErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/media_bundle_error.proto + +// 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/v14/errors/media_file_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/media_file_error.proto new file mode 100644 index 000000000..e33ac8086 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/media_file_error.proto @@ -0,0 +1,126 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/media_file_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/media_file_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/media_file_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "MediaFileErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "MediaFileErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/media_file_error.proto + +// 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/v14/errors/media_upload_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/media_upload_error.proto new file mode 100644 index 000000000..9eb3dda59 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/media_upload_error.proto @@ -0,0 +1,165 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/media_upload_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/media_upload_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/media_upload_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "MediaUploadErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "MediaUploadErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/media_upload_error.proto + +// 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/v14/errors/merchant_center_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/merchant_center_error.proto new file mode 100644 index 000000000..b3f7d7e00 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/merchant_center_error.proto @@ -0,0 +1,63 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/merchant_center_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/merchant_center_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/merchant_center_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "MerchantCenterErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "MerchantCenterErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/merchant_center_error.proto + +// 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/v14/errors/multiplier_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/multiplier_error.proto new file mode 100644 index 000000000..ed80ab02f --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/multiplier_error.proto @@ -0,0 +1,95 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/multiplier_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/multiplier_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/multiplier_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "MultiplierErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "MultiplierErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/multiplier_error.proto + +// 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/v14/errors/mutate_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/mutate_error.proto new file mode 100644 index 000000000..5773467ba --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/mutate_error.proto @@ -0,0 +1,85 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/mutate_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/mutate_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/mutate_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "MutateErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "MutateErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/mutate_error.proto + +// 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/v14/errors/new_resource_creation_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/new_resource_creation_error.proto new file mode 100644 index 000000000..843ebc655 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/new_resource_creation_error.proto @@ -0,0 +1,67 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/new_resource_creation_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/new_resource_creation_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/new_resource_creation_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "NewResourceCreationErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "NewResourceCreationErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/new_resource_creation_error.proto + +// 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/v14/errors/not_allowlisted_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/not_allowlisted_error.proto new file mode 100644 index 000000000..ea11c9811 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/not_allowlisted_error.proto @@ -0,0 +1,60 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/not_allowlisted_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/not_allowlisted_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/not_allowlisted_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "NotAllowlistedErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "NotAllowlistedErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/not_allowlisted_error.proto + +// 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/v14/errors/not_empty_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/not_empty_error.proto new file mode 100644 index 000000000..403b5b6b9 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/not_empty_error.proto @@ -0,0 +1,60 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/not_empty_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/not_empty_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/not_empty_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "NotEmptyErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "NotEmptyErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/not_empty_error.proto + +// 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/v14/errors/null_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/null_error.proto new file mode 100644 index 000000000..e9e8470cb --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/null_error.proto @@ -0,0 +1,60 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/null_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/null_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/null_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "NullErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "NullErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/null_error.proto + +// 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/v14/errors/offline_user_data_job_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/offline_user_data_job_error.proto new file mode 100644 index 000000000..93e2e640e --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/offline_user_data_job_error.proto @@ -0,0 +1,188 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/offline_user_data_job_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/offline_user_data_job_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/offline_user_data_job_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "OfflineUserDataJobErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "OfflineUserDataJobErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/offline_user_data_job_error.proto + +// 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/v14/errors/operation_access_denied_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/operation_access_denied_error.proto new file mode 100644 index 000000000..74b6d1e15 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/operation_access_denied_error.proto @@ -0,0 +1,87 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/operation_access_denied_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/operation_access_denied_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/operation_access_denied_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "OperationAccessDeniedErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "OperationAccessDeniedErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/operation_access_denied_error.proto + +// 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/v14/errors/operator_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/operator_error.proto new file mode 100644 index 000000000..f778df356 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/operator_error.proto @@ -0,0 +1,60 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/operator_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/operator_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/operator_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "OperatorErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "OperatorErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/operator_error.proto + +// 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/v14/errors/partial_failure_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/partial_failure_error.proto new file mode 100644 index 000000000..a89ee2fb4 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/partial_failure_error.proto @@ -0,0 +1,61 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/partial_failure_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/partial_failure_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/partial_failure_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "PartialFailureErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "PartialFailureErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/partial_failure_error.proto + +// 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/v14/errors/payments_account_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/payments_account_error.proto new file mode 100644 index 000000000..6d39d5e7e --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/payments_account_error.proto @@ -0,0 +1,60 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/payments_account_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/payments_account_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/payments_account_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "PaymentsAccountErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "PaymentsAccountErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/payments_account_error.proto + +// 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/v14/errors/policy_finding_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/policy_finding_error.proto new file mode 100644 index 000000000..819e2f730 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/policy_finding_error.proto @@ -0,0 +1,64 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/policy_finding_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/policy_finding_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/policy_finding_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "PolicyFindingErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "PolicyFindingErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/policy_finding_error.proto + +// 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/v14/errors/policy_validation_parameter_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/policy_validation_parameter_error.proto new file mode 100644 index 000000000..9dae7deda --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/policy_validation_parameter_error.proto @@ -0,0 +1,68 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/policy_validation_parameter_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/policy_validation_parameter_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/policy_validation_parameter_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "PolicyValidationParameterErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "PolicyValidationParameterErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/policy_validation_parameter_error.proto + +// 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/v14/errors/policy_violation_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/policy_violation_error.proto new file mode 100644 index 000000000..32efb3e62 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/policy_violation_error.proto @@ -0,0 +1,60 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/policy_violation_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/policy_violation_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/policy_violation_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "PolicyViolationErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "PolicyViolationErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/policy_violation_error.proto + +// 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/v14/errors/query_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/query_error.proto new file mode 100644 index 000000000..17238f87d --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/query_error.proto @@ -0,0 +1,240 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/query_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/query_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/query_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "QueryErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "QueryErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/query_error.proto + +// 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/v14/errors/quota_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/quota_error.proto new file mode 100644 index 000000000..d4c72e13b --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/quota_error.proto @@ -0,0 +1,66 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/quota_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/quota_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/quota_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "QuotaErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "QuotaErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/quota_error.proto + +// 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/v14/errors/range_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/range_error.proto new file mode 100644 index 000000000..d34d128ee --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/range_error.proto @@ -0,0 +1,63 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/range_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/range_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/range_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "RangeErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "RangeErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/range_error.proto + +// 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/v14/errors/reach_plan_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/reach_plan_error.proto new file mode 100644 index 000000000..7f299c445 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/reach_plan_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/reach_plan_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ReachPlanErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ReachPlanErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/reach_plan_error.proto + +// 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; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v14/errors/recommendation_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/recommendation_error.proto new file mode 100644 index 000000000..776689cab --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/recommendation_error.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/recommendation_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "RecommendationErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "RecommendationErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/recommendation_error.proto + +// 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; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v14/errors/region_code_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/region_code_error.proto new file mode 100644 index 000000000..61793033a --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/region_code_error.proto @@ -0,0 +1,60 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/region_code_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/region_code_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/region_code_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "RegionCodeErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "RegionCodeErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/region_code_error.proto + +// 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/v14/errors/request_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/request_error.proto new file mode 100644 index 000000000..790e93d48 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/request_error.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/request_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "RequestErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "RequestErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/request_error.proto + +// 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; + + // 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/v14/errors/resource_access_denied_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/resource_access_denied_error.proto new file mode 100644 index 000000000..66e3042a4 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/resource_access_denied_error.proto @@ -0,0 +1,60 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/resource_access_denied_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/resource_access_denied_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/resource_access_denied_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ResourceAccessDeniedErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ResourceAccessDeniedErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/resource_access_denied_error.proto + +// 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/v14/errors/resource_count_limit_exceeded_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/resource_count_limit_exceeded_error.proto new file mode 100644 index 000000000..0b38ab8bb --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/resource_count_limit_exceeded_error.proto @@ -0,0 +1,106 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/resource_count_limit_exceeded_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/resource_count_limit_exceeded_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/resource_count_limit_exceeded_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ResourceCountLimitExceededErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ResourceCountLimitExceededErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/resource_count_limit_exceeded_error.proto + +// 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/v14/errors/search_term_insight_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/search_term_insight_error.proto new file mode 100644 index 000000000..de3abaca3 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/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.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "SearchTermInsightErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::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/v14/errors/setting_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/setting_error.proto new file mode 100644 index 000000000..27e084e2c --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/setting_error.proto @@ -0,0 +1,105 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/setting_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/setting_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/setting_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "SettingErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "SettingErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/setting_error.proto + +// 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/v14/errors/shared_criterion_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/shared_criterion_error.proto new file mode 100644 index 000000000..a089c2387 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/shared_criterion_error.proto @@ -0,0 +1,60 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/shared_criterion_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/shared_criterion_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/shared_criterion_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "SharedCriterionErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "SharedCriterionErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/shared_criterion_error.proto + +// 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/v14/errors/shared_set_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/shared_set_error.proto new file mode 100644 index 000000000..34715f08f --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/shared_set_error.proto @@ -0,0 +1,69 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/shared_set_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/shared_set_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/shared_set_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "SharedSetErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "SharedSetErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/shared_set_error.proto + +// 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/v14/errors/size_limit_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/size_limit_error.proto new file mode 100644 index 000000000..da204bf1a --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/size_limit_error.proto @@ -0,0 +1,65 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/size_limit_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/size_limit_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/size_limit_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "SizeLimitErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "SizeLimitErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/size_limit_error.proto + +// 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/v14/errors/smart_campaign_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/smart_campaign_error.proto new file mode 100644 index 000000000..95963e99e --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/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.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "SmartCampaignErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::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/v14/errors/string_format_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/string_format_error.proto new file mode 100644 index 000000000..405d04fbd --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/string_format_error.proto @@ -0,0 +1,63 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/string_format_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/string_format_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/string_format_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "StringFormatErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "StringFormatErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/string_format_error.proto + +// 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/v14/errors/string_length_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/string_length_error.proto new file mode 100644 index 000000000..53c5d6203 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/string_length_error.proto @@ -0,0 +1,67 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/string_length_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/string_length_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/string_length_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "StringLengthErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "StringLengthErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/string_length_error.proto + +// 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/v14/errors/third_party_app_analytics_link_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/third_party_app_analytics_link_error.proto new file mode 100644 index 000000000..51dbd1a93 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/third_party_app_analytics_link_error.proto @@ -0,0 +1,70 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/third_party_app_analytics_link_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/third_party_app_analytics_link_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/third_party_app_analytics_link_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ThirdPartyAppAnalyticsLinkErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ThirdPartyAppAnalyticsLinkErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/third_party_app_analytics_link_error.proto + +// 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/v14/errors/time_zone_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/time_zone_error.proto new file mode 100644 index 000000000..bd22408f9 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/time_zone_error.proto @@ -0,0 +1,60 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/time_zone_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/time_zone_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/time_zone_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "TimeZoneErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "TimeZoneErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/time_zone_error.proto + +// 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/v14/errors/url_field_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/url_field_error.proto new file mode 100644 index 000000000..1a83b810f --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/url_field_error.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/url_field_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "UrlFieldErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "UrlFieldErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/url_field_error.proto + +// 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/v14/errors/user_data_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/user_data_error.proto new file mode 100644 index 000000000..952970070 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/user_data_error.proto @@ -0,0 +1,67 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/user_data_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/user_data_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/user_data_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "UserDataErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "UserDataErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/user_data_error.proto + +// 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/v14/errors/user_list_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/user_list_error.proto new file mode 100644 index 000000000..ff4d012b7 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/user_list_error.proto @@ -0,0 +1,152 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/user_list_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/user_list_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/user_list_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "UserListErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "UserListErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/user_list_error.proto + +// 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; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v14/errors/youtube_video_registration_error.proto b/third_party/googleapis/google/ads/googleads/v14/errors/youtube_video_registration_error.proto new file mode 100644 index 000000000..c1ed5e9f3 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/errors/youtube_video_registration_error.proto @@ -0,0 +1,66 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/youtube_video_registration_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/youtube_video_registration_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/youtube_video_registration_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "YoutubeVideoRegistrationErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v14.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "YoutubeVideoRegistrationErrorProto"; +option java_package = "com.google.ads.googleads.v14.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V14::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/errors/youtube_video_registration_error.proto + +// 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/v14/googleads_gapic.yaml b/third_party/googleapis/google/ads/googleads/v14/googleads_gapic.yaml new file mode 100644 index 000000000..2814526e7 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/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.V14.Services + go: + package_name: google.golang.org/google/ads/googleads/v14/services + java: + package_name: com.google.ads.googleads.v14.services + nodejs: + package_name: v14.services + php: + package_name: Google\Ads\GoogleAds\V14\Services + python: + package_name: google.ads.googleads_v14.gapic.services + ruby: + package_name: Google::Ads::Googleads::V14::Services +interfaces: +- name: google.ads.googleads.v14.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/v14/googleads_grpc_service_config.json b/third_party/googleapis/google/ads/googleads/v14/googleads_grpc_service_config.json new file mode 100755 index 000000000..5f8d52d40 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/googleads_grpc_service_config.json @@ -0,0 +1,339 @@ +{ + "methodConfig": [ + { + "name": [ + { + "service": "google.ads.googleads.v14.services.AccountBudgetProposalService" + }, + { + "service": "google.ads.googleads.v14.services.AccountLinkService" + }, + { + "service": "google.ads.googleads.v14.services.AdGroupAdLabelService" + }, + { + "service": "google.ads.googleads.v14.services.AdGroupAdService" + }, + { + "service": "google.ads.googleads.v14.services.AdGroupAssetService" + }, + { + "service": "google.ads.googleads.v14.services.AdGroupAssetSetService" + }, + { + "service": "google.ads.googleads.v14.services.AdGroupBidModifierService" + }, + { + "service": "google.ads.googleads.v14.services.AdGroupCriterionCustomizerService" + }, + { + "service": "google.ads.googleads.v14.services.AdGroupCriterionLabelService" + }, + { + "service": "google.ads.googleads.v14.services.AdGroupCriterionService" + }, + { + "service": "google.ads.googleads.v14.services.AdGroupCustomizerService" + }, + { + "service": "google.ads.googleads.v14.services.AdGroupExtensionSettingService" + }, + { + "service": "google.ads.googleads.v14.services.AdGroupFeedService" + }, + { + "service": "google.ads.googleads.v14.services.AdGroupLabelService" + }, + { + "service": "google.ads.googleads.v14.services.AdGroupService" + }, + { + "service": "google.ads.googleads.v14.services.AdParameterService" + }, + { + "service": "google.ads.googleads.v14.services.AdService" + }, + { + "service": "google.ads.googleads.v14.services.AssetGroupAssetService" + }, + { + "service": "google.ads.googleads.v14.services.AssetGroupListingGroupFilterService" + }, + { + "service": "google.ads.googleads.v14.services.AssetGroupService" + }, + { + "service": "google.ads.googleads.v14.services.AssetGroupSignalService" + }, + { + "service": "google.ads.googleads.v14.services.AssetService" + }, + { + "service": "google.ads.googleads.v14.services.AssetSetAssetService" + }, + { + "service": "google.ads.googleads.v14.services.AssetSetService" + }, + { + "service": "google.ads.googleads.v14.services.AudienceInsightsService" + }, + { + "service": "google.ads.googleads.v14.services.AudienceService" + }, + { + "service": "google.ads.googleads.v14.services.BatchJobService" + }, + { + "service": "google.ads.googleads.v14.services.BiddingDataExclusionService" + }, + { + "service": "google.ads.googleads.v14.services.BiddingSeasonalityAdjustmentService" + }, + { + "service": "google.ads.googleads.v14.services.BiddingStrategyService" + }, + { + "service": "google.ads.googleads.v14.services.BillingSetupService" + }, + { + "service": "google.ads.googleads.v14.services.CampaignAssetService" + }, + { + "service": "google.ads.googleads.v14.services.CampaignAssetSetService" + }, + { + "service": "google.ads.googleads.v14.services.CampaignBidModifierService" + }, + { + "service": "google.ads.googleads.v14.services.CampaignBudgetService" + }, + { + "service": "google.ads.googleads.v14.services.CampaignConversionGoalService" + }, + { + "service": "google.ads.googleads.v14.services.CampaignCriterionService" + }, + { + "service": "google.ads.googleads.v14.services.CampaignCustomizerService" + }, + { + "service": "google.ads.googleads.v14.services.CampaignDraftService" + }, + { + "service": "google.ads.googleads.v14.services.CampaignExtensionSettingService" + }, + { + "service": "google.ads.googleads.v14.services.CampaignFeedService" + }, + { + "service": "google.ads.googleads.v14.services.CampaignGroupService" + }, + { + "service": "google.ads.googleads.v14.services.CampaignLabelService" + }, + { + "service": "google.ads.googleads.v14.services.CampaignService" + }, + { + "service": "google.ads.googleads.v14.services.CampaignSharedSetService" + }, + { + "service": "google.ads.googleads.v14.services.ConversionActionService" + }, + { + "service": "google.ads.googleads.v14.services.ConversionAdjustmentUploadService" + }, + { + "service": "google.ads.googleads.v14.services.ConversionCustomVariableService" + }, + { + "service": "google.ads.googleads.v14.services.ConversionGoalCampaignConfigService" + }, + { + "service": "google.ads.googleads.v14.services.ConversionUploadService" + }, + { + "service": "google.ads.googleads.v14.services.ConversionValueRuleService" + }, + { + "service": "google.ads.googleads.v14.services.ConversionValueRuleSetService" + }, + { + "service": "google.ads.googleads.v14.services.CustomAudienceService" + }, + { + "service": "google.ads.googleads.v14.services.CustomConversionGoalService" + }, + { + "service": "google.ads.googleads.v14.services.CustomInterestService" + }, + { + "service": "google.ads.googleads.v14.services.CustomerAssetService" + }, + { + "service": "google.ads.googleads.v14.services.CustomerAssetSetService" + }, + { + "service": "google.ads.googleads.v14.services.CustomerClientLinkService" + }, + { + "service": "google.ads.googleads.v14.services.CustomerConversionGoalService" + }, + { + "service": "google.ads.googleads.v14.services.CustomerCustomizerService" + }, + { + "service": "google.ads.googleads.v14.services.CustomerExtensionSettingService" + }, + { + "service": "google.ads.googleads.v14.services.CustomerFeedService" + }, + { + "service": "google.ads.googleads.v14.services.CustomerLabelService" + }, + { + "service": "google.ads.googleads.v14.services.CustomerManagerLinkService" + }, + { + "service": "google.ads.googleads.v14.services.CustomerNegativeCriterionService" + }, + { + "service": "google.ads.googleads.v14.services.CustomerService" + }, + { + "service": "google.ads.googleads.v14.services.CustomerSkAdNetworkConversionValueSchemaService" + }, + { + "service": "google.ads.googleads.v14.services.CustomerUserAccessInvitationService" + }, + { + "service": "google.ads.googleads.v14.services.CustomerUserAccessService" + }, + { + "service": "google.ads.googleads.v14.services.CustomizerAttributeService" + }, + { + "service": "google.ads.googleads.v14.services.ExperimentArmService" + }, + { + "service": "google.ads.googleads.v14.services.ExperimentService" + }, + { + "service": "google.ads.googleads.v14.services.ExtensionFeedItemService" + }, + { + "service": "google.ads.googleads.v14.services.FeedItemService" + }, + { + "service": "google.ads.googleads.v14.services.FeedItemSetLinkService" + }, + { + "service": "google.ads.googleads.v14.services.FeedItemSetService" + }, + { + "service": "google.ads.googleads.v14.services.FeedItemTargetService" + }, + { + "service": "google.ads.googleads.v14.services.FeedMappingService" + }, + { + "service": "google.ads.googleads.v14.services.FeedService" + }, + { + "service": "google.ads.googleads.v14.services.GeoTargetConstantService" + }, + { + "service": "google.ads.googleads.v14.services.GoogleAdsFieldService" + }, + { + "service": "google.ads.googleads.v14.services.GoogleAdsService" + }, + { + "service": "google.ads.googleads.v14.services.InvoiceService" + }, + { + "service": "google.ads.googleads.v14.services.KeywordPlanAdGroupKeywordService" + }, + { + "service": "google.ads.googleads.v14.services.KeywordPlanAdGroupService" + }, + { + "service": "google.ads.googleads.v14.services.KeywordPlanCampaignKeywordService" + }, + { + "service": "google.ads.googleads.v14.services.KeywordPlanCampaignService" + }, + { + "service": "google.ads.googleads.v14.services.KeywordPlanIdeaService" + }, + { + "service": "google.ads.googleads.v14.services.KeywordPlanService" + }, + { + "service": "google.ads.googleads.v14.services.KeywordThemeConstantService" + }, + { + "service": "google.ads.googleads.v14.services.LabelService" + }, + { + "service": "google.ads.googleads.v14.services.MediaFileService" + }, + { + "service": "google.ads.googleads.v14.services.MerchantCenterLinkService" + }, + { + "service": "google.ads.googleads.v14.services.OfflineUserDataJobService" + }, + { + "service": "google.ads.googleads.v14.services.PaymentsAccountService" + }, + { + "service": "google.ads.googleads.v14.services.ProductLinkService" + }, + { + "service": "google.ads.googleads.v14.services.ReachPlanService" + }, + { + "service": "google.ads.googleads.v14.services.RecommendationService" + }, + { + "service": "google.ads.googleads.v14.services.RemarketingActionService" + }, + { + "service": "google.ads.googleads.v14.services.SharedCriterionService" + }, + { + "service": "google.ads.googleads.v14.services.SharedSetService" + }, + { + "service": "google.ads.googleads.v14.services.SmartCampaignSettingService" + }, + { + "service": "google.ads.googleads.v14.services.SmartCampaignSuggestService" + }, + { + "service": "google.ads.googleads.v14.services.ThirdPartyAppAnalyticsLinkService" + }, + { + "service": "google.ads.googleads.v14.services.TravelAssetSuggestionService" + }, + { + "service": "google.ads.googleads.v14.services.UserDataService" + }, + { + "service": "google.ads.googleads.v14.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/v14/googleads_v14.yaml b/third_party/googleapis/google/ads/googleads/v14/googleads_v14.yaml new file mode 100644 index 000000000..db7a2b2c0 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/googleads_v14.yaml @@ -0,0 +1,849 @@ +type: google.api.Service +config_version: 3 +name: googleads.googleapis.com +title: Google Ads API + +apis: +- name: google.ads.googleads.v14.services.AccountBudgetProposalService +- name: google.ads.googleads.v14.services.AccountLinkService +- name: google.ads.googleads.v14.services.AdGroupAdLabelService +- name: google.ads.googleads.v14.services.AdGroupAdService +- name: google.ads.googleads.v14.services.AdGroupAssetService +- name: google.ads.googleads.v14.services.AdGroupAssetSetService +- name: google.ads.googleads.v14.services.AdGroupBidModifierService +- name: google.ads.googleads.v14.services.AdGroupCriterionCustomizerService +- name: google.ads.googleads.v14.services.AdGroupCriterionLabelService +- name: google.ads.googleads.v14.services.AdGroupCriterionService +- name: google.ads.googleads.v14.services.AdGroupCustomizerService +- name: google.ads.googleads.v14.services.AdGroupExtensionSettingService +- name: google.ads.googleads.v14.services.AdGroupFeedService +- name: google.ads.googleads.v14.services.AdGroupLabelService +- name: google.ads.googleads.v14.services.AdGroupService +- name: google.ads.googleads.v14.services.AdParameterService +- name: google.ads.googleads.v14.services.AdService +- name: google.ads.googleads.v14.services.AssetGroupAssetService +- name: google.ads.googleads.v14.services.AssetGroupListingGroupFilterService +- name: google.ads.googleads.v14.services.AssetGroupService +- name: google.ads.googleads.v14.services.AssetGroupSignalService +- name: google.ads.googleads.v14.services.AssetService +- name: google.ads.googleads.v14.services.AssetSetAssetService +- name: google.ads.googleads.v14.services.AssetSetService +- name: google.ads.googleads.v14.services.AudienceInsightsService +- name: google.ads.googleads.v14.services.AudienceService +- name: google.ads.googleads.v14.services.BatchJobService +- name: google.ads.googleads.v14.services.BiddingDataExclusionService +- name: google.ads.googleads.v14.services.BiddingSeasonalityAdjustmentService +- name: google.ads.googleads.v14.services.BiddingStrategyService +- name: google.ads.googleads.v14.services.BillingSetupService +- name: google.ads.googleads.v14.services.CampaignAssetService +- name: google.ads.googleads.v14.services.CampaignAssetSetService +- name: google.ads.googleads.v14.services.CampaignBidModifierService +- name: google.ads.googleads.v14.services.CampaignBudgetService +- name: google.ads.googleads.v14.services.CampaignConversionGoalService +- name: google.ads.googleads.v14.services.CampaignCriterionService +- name: google.ads.googleads.v14.services.CampaignCustomizerService +- name: google.ads.googleads.v14.services.CampaignDraftService +- name: google.ads.googleads.v14.services.CampaignExtensionSettingService +- name: google.ads.googleads.v14.services.CampaignFeedService +- name: google.ads.googleads.v14.services.CampaignGroupService +- name: google.ads.googleads.v14.services.CampaignLabelService +- name: google.ads.googleads.v14.services.CampaignService +- name: google.ads.googleads.v14.services.CampaignSharedSetService +- name: google.ads.googleads.v14.services.ConversionActionService +- name: google.ads.googleads.v14.services.ConversionAdjustmentUploadService +- name: google.ads.googleads.v14.services.ConversionCustomVariableService +- name: google.ads.googleads.v14.services.ConversionGoalCampaignConfigService +- name: google.ads.googleads.v14.services.ConversionUploadService +- name: google.ads.googleads.v14.services.ConversionValueRuleService +- name: google.ads.googleads.v14.services.ConversionValueRuleSetService +- name: google.ads.googleads.v14.services.CustomAudienceService +- name: google.ads.googleads.v14.services.CustomConversionGoalService +- name: google.ads.googleads.v14.services.CustomInterestService +- name: google.ads.googleads.v14.services.CustomerAssetService +- name: google.ads.googleads.v14.services.CustomerAssetSetService +- name: google.ads.googleads.v14.services.CustomerClientLinkService +- name: google.ads.googleads.v14.services.CustomerConversionGoalService +- name: google.ads.googleads.v14.services.CustomerCustomizerService +- name: google.ads.googleads.v14.services.CustomerExtensionSettingService +- name: google.ads.googleads.v14.services.CustomerFeedService +- name: google.ads.googleads.v14.services.CustomerLabelService +- name: google.ads.googleads.v14.services.CustomerManagerLinkService +- name: google.ads.googleads.v14.services.CustomerNegativeCriterionService +- name: google.ads.googleads.v14.services.CustomerService +- name: google.ads.googleads.v14.services.CustomerSkAdNetworkConversionValueSchemaService +- name: google.ads.googleads.v14.services.CustomerUserAccessInvitationService +- name: google.ads.googleads.v14.services.CustomerUserAccessService +- name: google.ads.googleads.v14.services.CustomizerAttributeService +- name: google.ads.googleads.v14.services.ExperimentArmService +- name: google.ads.googleads.v14.services.ExperimentService +- name: google.ads.googleads.v14.services.ExtensionFeedItemService +- name: google.ads.googleads.v14.services.FeedItemService +- name: google.ads.googleads.v14.services.FeedItemSetLinkService +- name: google.ads.googleads.v14.services.FeedItemSetService +- name: google.ads.googleads.v14.services.FeedItemTargetService +- name: google.ads.googleads.v14.services.FeedMappingService +- name: google.ads.googleads.v14.services.FeedService +- name: google.ads.googleads.v14.services.GeoTargetConstantService +- name: google.ads.googleads.v14.services.GoogleAdsFieldService +- name: google.ads.googleads.v14.services.GoogleAdsService +- name: google.ads.googleads.v14.services.InvoiceService +- name: google.ads.googleads.v14.services.KeywordPlanAdGroupKeywordService +- name: google.ads.googleads.v14.services.KeywordPlanAdGroupService +- name: google.ads.googleads.v14.services.KeywordPlanCampaignKeywordService +- name: google.ads.googleads.v14.services.KeywordPlanCampaignService +- name: google.ads.googleads.v14.services.KeywordPlanIdeaService +- name: google.ads.googleads.v14.services.KeywordPlanService +- name: google.ads.googleads.v14.services.KeywordThemeConstantService +- name: google.ads.googleads.v14.services.LabelService +- name: google.ads.googleads.v14.services.MediaFileService +- name: google.ads.googleads.v14.services.MerchantCenterLinkService +- name: google.ads.googleads.v14.services.OfflineUserDataJobService +- name: google.ads.googleads.v14.services.PaymentsAccountService +- name: google.ads.googleads.v14.services.ProductLinkService +- name: google.ads.googleads.v14.services.ReachPlanService +- name: google.ads.googleads.v14.services.RecommendationService +- name: google.ads.googleads.v14.services.RemarketingActionService +- name: google.ads.googleads.v14.services.SharedCriterionService +- name: google.ads.googleads.v14.services.SharedSetService +- name: google.ads.googleads.v14.services.SmartCampaignSettingService +- name: google.ads.googleads.v14.services.SmartCampaignSuggestService +- name: google.ads.googleads.v14.services.ThirdPartyAppAnalyticsLinkService +- name: google.ads.googleads.v14.services.TravelAssetSuggestionService +- name: google.ads.googleads.v14.services.UserDataService +- name: google.ads.googleads.v14.services.UserListService + +types: +- name: google.ads.googleads.v14.errors.GoogleAdsFailure +- name: google.ads.googleads.v14.resources.BatchJob.BatchJobMetadata +- name: google.ads.googleads.v14.resources.OfflineUserDataJobMetadata +- name: google.ads.googleads.v14.services.PromoteExperimentMetadata +- name: google.ads.googleads.v14.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. + +backend: + rules: + - selector: google.ads.googleads.v14.services.AccountBudgetProposalService.MutateAccountBudgetProposal + deadline: 60.0 + - selector: google.ads.googleads.v14.services.AccountLinkService.CreateAccountLink + deadline: 600.0 + - selector: google.ads.googleads.v14.services.AccountLinkService.MutateAccountLink + deadline: 600.0 + - selector: google.ads.googleads.v14.services.AdGroupAdLabelService.MutateAdGroupAdLabels + deadline: 60.0 + - selector: google.ads.googleads.v14.services.AdGroupAdService.MutateAdGroupAds + deadline: 60.0 + - selector: google.ads.googleads.v14.services.AdGroupAssetService.MutateAdGroupAssets + deadline: 60.0 + - selector: google.ads.googleads.v14.services.AdGroupAssetSetService.MutateAdGroupAssetSets + deadline: 60.0 + - selector: google.ads.googleads.v14.services.AdGroupBidModifierService.MutateAdGroupBidModifiers + deadline: 60.0 + - selector: google.ads.googleads.v14.services.AdGroupCriterionCustomizerService.MutateAdGroupCriterionCustomizers + deadline: 60.0 + - selector: google.ads.googleads.v14.services.AdGroupCriterionLabelService.MutateAdGroupCriterionLabels + deadline: 60.0 + - selector: google.ads.googleads.v14.services.AdGroupCriterionService.MutateAdGroupCriteria + deadline: 60.0 + - selector: google.ads.googleads.v14.services.AdGroupCustomizerService.MutateAdGroupCustomizers + deadline: 60.0 + - selector: google.ads.googleads.v14.services.AdGroupExtensionSettingService.MutateAdGroupExtensionSettings + deadline: 60.0 + - selector: google.ads.googleads.v14.services.AdGroupFeedService.MutateAdGroupFeeds + deadline: 60.0 + - selector: google.ads.googleads.v14.services.AdGroupLabelService.MutateAdGroupLabels + deadline: 60.0 + - selector: google.ads.googleads.v14.services.AdGroupService.MutateAdGroups + deadline: 60.0 + - selector: google.ads.googleads.v14.services.AdParameterService.MutateAdParameters + deadline: 60.0 + - selector: google.ads.googleads.v14.services.AdService.GetAd + deadline: 60.0 + - selector: google.ads.googleads.v14.services.AdService.MutateAds + deadline: 60.0 + - selector: google.ads.googleads.v14.services.AssetGroupAssetService.MutateAssetGroupAssets + deadline: 60.0 + - selector: google.ads.googleads.v14.services.AssetGroupListingGroupFilterService.MutateAssetGroupListingGroupFilters + deadline: 60.0 + - selector: google.ads.googleads.v14.services.AssetGroupService.MutateAssetGroups + deadline: 60.0 + - selector: google.ads.googleads.v14.services.AssetGroupSignalService.MutateAssetGroupSignals + deadline: 60.0 + - selector: google.ads.googleads.v14.services.AssetService.MutateAssets + deadline: 60.0 + - selector: google.ads.googleads.v14.services.AssetSetAssetService.MutateAssetSetAssets + deadline: 60.0 + - selector: google.ads.googleads.v14.services.AssetSetService.MutateAssetSets + deadline: 60.0 + - selector: 'google.ads.googleads.v14.services.AudienceInsightsService.*' + deadline: 600.0 + - selector: google.ads.googleads.v14.services.AudienceService.MutateAudiences + deadline: 600.0 + - selector: 'google.ads.googleads.v14.services.BatchJobService.*' + deadline: 60.0 + - selector: google.ads.googleads.v14.services.BiddingDataExclusionService.MutateBiddingDataExclusions + deadline: 60.0 + - selector: google.ads.googleads.v14.services.BiddingSeasonalityAdjustmentService.MutateBiddingSeasonalityAdjustments + deadline: 60.0 + - selector: google.ads.googleads.v14.services.BiddingStrategyService.MutateBiddingStrategies + deadline: 60.0 + - selector: google.ads.googleads.v14.services.BillingSetupService.MutateBillingSetup + deadline: 60.0 + - selector: google.ads.googleads.v14.services.CampaignAssetService.MutateCampaignAssets + deadline: 60.0 + - selector: google.ads.googleads.v14.services.CampaignAssetSetService.MutateCampaignAssetSets + deadline: 60.0 + - selector: google.ads.googleads.v14.services.CampaignBidModifierService.MutateCampaignBidModifiers + deadline: 60.0 + - selector: google.ads.googleads.v14.services.CampaignBudgetService.MutateCampaignBudgets + deadline: 60.0 + - selector: google.ads.googleads.v14.services.CampaignConversionGoalService.MutateCampaignConversionGoals + deadline: 60.0 + - selector: google.ads.googleads.v14.services.CampaignCriterionService.MutateCampaignCriteria + deadline: 60.0 + - selector: google.ads.googleads.v14.services.CampaignCustomizerService.MutateCampaignCustomizers + deadline: 60.0 + - selector: 'google.ads.googleads.v14.services.CampaignDraftService.*' + deadline: 60.0 + - selector: google.ads.googleads.v14.services.CampaignExtensionSettingService.MutateCampaignExtensionSettings + deadline: 60.0 + - selector: google.ads.googleads.v14.services.CampaignFeedService.MutateCampaignFeeds + deadline: 60.0 + - selector: google.ads.googleads.v14.services.CampaignGroupService.MutateCampaignGroups + deadline: 60.0 + - selector: google.ads.googleads.v14.services.CampaignLabelService.MutateCampaignLabels + deadline: 60.0 + - selector: google.ads.googleads.v14.services.CampaignService.MutateCampaigns + deadline: 60.0 + - selector: google.ads.googleads.v14.services.CampaignSharedSetService.MutateCampaignSharedSets + deadline: 60.0 + - selector: google.ads.googleads.v14.services.ConversionActionService.MutateConversionActions + deadline: 60.0 + - selector: google.ads.googleads.v14.services.ConversionAdjustmentUploadService.UploadConversionAdjustments + deadline: 600.0 + - selector: google.ads.googleads.v14.services.ConversionCustomVariableService.MutateConversionCustomVariables + deadline: 60.0 + - selector: google.ads.googleads.v14.services.ConversionGoalCampaignConfigService.MutateConversionGoalCampaignConfigs + deadline: 60.0 + - selector: google.ads.googleads.v14.services.ConversionUploadService.UploadCallConversions + deadline: 600.0 + - selector: google.ads.googleads.v14.services.ConversionUploadService.UploadClickConversions + deadline: 600.0 + - selector: google.ads.googleads.v14.services.ConversionValueRuleService.MutateConversionValueRules + deadline: 60.0 + - selector: google.ads.googleads.v14.services.ConversionValueRuleSetService.MutateConversionValueRuleSets + deadline: 60.0 + - selector: google.ads.googleads.v14.services.CustomAudienceService.MutateCustomAudiences + deadline: 600.0 + - selector: google.ads.googleads.v14.services.CustomConversionGoalService.MutateCustomConversionGoals + deadline: 60.0 + - selector: google.ads.googleads.v14.services.CustomInterestService.MutateCustomInterests + deadline: 60.0 + - selector: google.ads.googleads.v14.services.CustomerAssetService.MutateCustomerAssets + deadline: 60.0 + - selector: google.ads.googleads.v14.services.CustomerAssetSetService.MutateCustomerAssetSets + deadline: 60.0 + - selector: google.ads.googleads.v14.services.CustomerClientLinkService.MutateCustomerClientLink + deadline: 60.0 + - selector: google.ads.googleads.v14.services.CustomerConversionGoalService.MutateCustomerConversionGoals + deadline: 60.0 + - selector: google.ads.googleads.v14.services.CustomerCustomizerService.MutateCustomerCustomizers + deadline: 60.0 + - selector: google.ads.googleads.v14.services.CustomerExtensionSettingService.MutateCustomerExtensionSettings + deadline: 60.0 + - selector: google.ads.googleads.v14.services.CustomerFeedService.MutateCustomerFeeds + deadline: 60.0 + - selector: google.ads.googleads.v14.services.CustomerLabelService.MutateCustomerLabels + deadline: 60.0 + - selector: google.ads.googleads.v14.services.CustomerManagerLinkService.MoveManagerLink + deadline: 60.0 + - selector: google.ads.googleads.v14.services.CustomerManagerLinkService.MutateCustomerManagerLink + deadline: 60.0 + - selector: google.ads.googleads.v14.services.CustomerNegativeCriterionService.MutateCustomerNegativeCriteria + deadline: 60.0 + - selector: 'google.ads.googleads.v14.services.CustomerService.*' + deadline: 60.0 + - selector: google.ads.googleads.v14.services.CustomerSkAdNetworkConversionValueSchemaService.MutateCustomerSkAdNetworkConversionValueSchema + deadline: 60.0 + - selector: google.ads.googleads.v14.services.CustomerUserAccessInvitationService.MutateCustomerUserAccessInvitation + deadline: 600.0 + - selector: google.ads.googleads.v14.services.CustomerUserAccessService.MutateCustomerUserAccess + deadline: 600.0 + - selector: google.ads.googleads.v14.services.CustomizerAttributeService.MutateCustomizerAttributes + deadline: 60.0 + - selector: google.ads.googleads.v14.services.ExperimentArmService.MutateExperimentArms + deadline: 60.0 + - selector: 'google.ads.googleads.v14.services.ExperimentService.*' + deadline: 60.0 + - selector: google.ads.googleads.v14.services.ExtensionFeedItemService.MutateExtensionFeedItems + deadline: 60.0 + - selector: google.ads.googleads.v14.services.FeedItemService.MutateFeedItems + deadline: 60.0 + - selector: google.ads.googleads.v14.services.FeedItemSetLinkService.MutateFeedItemSetLinks + deadline: 60.0 + - selector: google.ads.googleads.v14.services.FeedItemSetService.MutateFeedItemSets + deadline: 60.0 + - selector: google.ads.googleads.v14.services.FeedItemTargetService.MutateFeedItemTargets + deadline: 60.0 + - selector: google.ads.googleads.v14.services.FeedMappingService.MutateFeedMappings + deadline: 60.0 + - selector: google.ads.googleads.v14.services.FeedService.MutateFeeds + deadline: 60.0 + - selector: google.ads.googleads.v14.services.GeoTargetConstantService.SuggestGeoTargetConstants + deadline: 60.0 + - selector: google.ads.googleads.v14.services.GoogleAdsFieldService.GetGoogleAdsField + deadline: 600.0 + - selector: google.ads.googleads.v14.services.GoogleAdsFieldService.SearchGoogleAdsFields + deadline: 600.0 + - selector: google.ads.googleads.v14.services.GoogleAdsService.Mutate + deadline: 600.0 + - selector: google.ads.googleads.v14.services.GoogleAdsService.Search + deadline: 14400.0 + - selector: google.ads.googleads.v14.services.GoogleAdsService.SearchStream + deadline: 14400.0 + - selector: google.ads.googleads.v14.services.InvoiceService.ListInvoices + deadline: 60.0 + - selector: google.ads.googleads.v14.services.KeywordPlanAdGroupKeywordService.MutateKeywordPlanAdGroupKeywords + deadline: 60.0 + - selector: google.ads.googleads.v14.services.KeywordPlanAdGroupService.MutateKeywordPlanAdGroups + deadline: 60.0 + - selector: google.ads.googleads.v14.services.KeywordPlanCampaignKeywordService.MutateKeywordPlanCampaignKeywords + deadline: 60.0 + - selector: google.ads.googleads.v14.services.KeywordPlanCampaignService.MutateKeywordPlanCampaigns + deadline: 60.0 + - selector: 'google.ads.googleads.v14.services.KeywordPlanIdeaService.*' + deadline: 600.0 + - selector: google.ads.googleads.v14.services.KeywordPlanService.MutateKeywordPlans + deadline: 60.0 + - selector: google.ads.googleads.v14.services.KeywordThemeConstantService.SuggestKeywordThemeConstants + deadline: 60.0 + - selector: google.ads.googleads.v14.services.LabelService.MutateLabels + deadline: 60.0 + - selector: google.ads.googleads.v14.services.MediaFileService.MutateMediaFiles + deadline: 60.0 + - selector: 'google.ads.googleads.v14.services.MerchantCenterLinkService.*' + deadline: 60.0 + - selector: 'google.ads.googleads.v14.services.OfflineUserDataJobService.*' + deadline: 600.0 + - selector: google.ads.googleads.v14.services.PaymentsAccountService.ListPaymentsAccounts + deadline: 60.0 + - selector: google.ads.googleads.v14.services.ProductLinkService.CreateProductLink + deadline: 600.0 + - selector: google.ads.googleads.v14.services.ProductLinkService.RemoveProductLink + deadline: 600.0 + - selector: 'google.ads.googleads.v14.services.ReachPlanService.*' + deadline: 600.0 + - selector: google.ads.googleads.v14.services.RecommendationService.ApplyRecommendation + deadline: 600.0 + - selector: google.ads.googleads.v14.services.RecommendationService.DismissRecommendation + deadline: 600.0 + - selector: google.ads.googleads.v14.services.RemarketingActionService.MutateRemarketingActions + deadline: 60.0 + - selector: google.ads.googleads.v14.services.SharedCriterionService.MutateSharedCriteria + deadline: 60.0 + - selector: google.ads.googleads.v14.services.SharedSetService.MutateSharedSets + deadline: 60.0 + - selector: google.ads.googleads.v14.services.SmartCampaignSettingService.GetSmartCampaignStatus + deadline: 60.0 + - selector: google.ads.googleads.v14.services.SmartCampaignSettingService.MutateSmartCampaignSettings + deadline: 60.0 + - selector: 'google.ads.googleads.v14.services.SmartCampaignSuggestService.*' + deadline: 60.0 + - selector: google.ads.googleads.v14.services.ThirdPartyAppAnalyticsLinkService.RegenerateShareableLinkId + deadline: 600.0 + - selector: google.ads.googleads.v14.services.TravelAssetSuggestionService.SuggestTravelAssets + deadline: 60.0 + - selector: google.ads.googleads.v14.services.UserDataService.UploadUserData + deadline: 600.0 + - selector: google.ads.googleads.v14.services.UserListService.MutateUserLists + deadline: 60.0 + - selector: 'google.longrunning.Operations.*' + deadline: 60.0 + +http: + rules: + - selector: google.longrunning.Operations.CancelOperation + post: '/v14/{name=customers/*/operations/*}:cancel' + body: '*' + - selector: google.longrunning.Operations.DeleteOperation + delete: '/v14/{name=customers/*/operations/*}' + - selector: google.longrunning.Operations.GetOperation + get: '/v14/{name=customers/*/operations/*}' + - selector: google.longrunning.Operations.ListOperations + get: '/v14/{name=customers/*/operations}' + - selector: google.longrunning.Operations.WaitOperation + post: '/v14/{name=customers/*/operations/*}:wait' + body: '*' + +authentication: + rules: + - selector: google.ads.googleads.v14.services.AccountBudgetProposalService.MutateAccountBudgetProposal + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v14.services.AccountLinkService.CreateAccountLink + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v14.services.AccountLinkService.MutateAccountLink + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v14.services.AdGroupAdLabelService.MutateAdGroupAdLabels + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v14.services.AdGroupAdService.MutateAdGroupAds + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v14.services.AdGroupAssetService.MutateAdGroupAssets + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v14.services.AdGroupAssetSetService.MutateAdGroupAssetSets + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v14.services.AdGroupBidModifierService.MutateAdGroupBidModifiers + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v14.services.AdGroupCriterionCustomizerService.MutateAdGroupCriterionCustomizers + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v14.services.AdGroupCriterionLabelService.MutateAdGroupCriterionLabels + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v14.services.AdGroupCriterionService.MutateAdGroupCriteria + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v14.services.AdGroupCustomizerService.MutateAdGroupCustomizers + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v14.services.AdGroupExtensionSettingService.MutateAdGroupExtensionSettings + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v14.services.AdGroupFeedService.MutateAdGroupFeeds + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v14.services.AdGroupLabelService.MutateAdGroupLabels + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v14.services.AdGroupService.MutateAdGroups + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v14.services.AdParameterService.MutateAdParameters + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v14.services.AdService.GetAd + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v14.services.AdService.MutateAds + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v14.services.AssetGroupAssetService.MutateAssetGroupAssets + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v14.services.AssetGroupListingGroupFilterService.MutateAssetGroupListingGroupFilters + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v14.services.AssetGroupService.MutateAssetGroups + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v14.services.AssetGroupSignalService.MutateAssetGroupSignals + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v14.services.AssetService.MutateAssets + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v14.services.AssetSetAssetService.MutateAssetSetAssets + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v14.services.AssetSetService.MutateAssetSets + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: 'google.ads.googleads.v14.services.AudienceInsightsService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v14.services.AudienceService.MutateAudiences + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: 'google.ads.googleads.v14.services.BatchJobService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v14.services.BiddingDataExclusionService.MutateBiddingDataExclusions + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v14.services.BiddingSeasonalityAdjustmentService.MutateBiddingSeasonalityAdjustments + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v14.services.BiddingStrategyService.MutateBiddingStrategies + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v14.services.BillingSetupService.MutateBillingSetup + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v14.services.CampaignAssetService.MutateCampaignAssets + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v14.services.CampaignAssetSetService.MutateCampaignAssetSets + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v14.services.CampaignBidModifierService.MutateCampaignBidModifiers + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v14.services.CampaignBudgetService.MutateCampaignBudgets + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v14.services.CampaignConversionGoalService.MutateCampaignConversionGoals + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v14.services.CampaignCriterionService.MutateCampaignCriteria + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v14.services.CampaignCustomizerService.MutateCampaignCustomizers + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: 'google.ads.googleads.v14.services.CampaignDraftService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v14.services.CampaignExtensionSettingService.MutateCampaignExtensionSettings + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v14.services.CampaignFeedService.MutateCampaignFeeds + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v14.services.CampaignGroupService.MutateCampaignGroups + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v14.services.CampaignLabelService.MutateCampaignLabels + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v14.services.CampaignService.MutateCampaigns + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v14.services.CampaignSharedSetService.MutateCampaignSharedSets + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v14.services.ConversionActionService.MutateConversionActions + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v14.services.ConversionAdjustmentUploadService.UploadConversionAdjustments + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v14.services.ConversionCustomVariableService.MutateConversionCustomVariables + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v14.services.ConversionGoalCampaignConfigService.MutateConversionGoalCampaignConfigs + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v14.services.ConversionUploadService.UploadCallConversions + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v14.services.ConversionUploadService.UploadClickConversions + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v14.services.ConversionValueRuleService.MutateConversionValueRules + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v14.services.ConversionValueRuleSetService.MutateConversionValueRuleSets + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v14.services.CustomAudienceService.MutateCustomAudiences + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v14.services.CustomConversionGoalService.MutateCustomConversionGoals + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v14.services.CustomInterestService.MutateCustomInterests + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v14.services.CustomerAssetService.MutateCustomerAssets + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v14.services.CustomerAssetSetService.MutateCustomerAssetSets + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v14.services.CustomerClientLinkService.MutateCustomerClientLink + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v14.services.CustomerConversionGoalService.MutateCustomerConversionGoals + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v14.services.CustomerCustomizerService.MutateCustomerCustomizers + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v14.services.CustomerExtensionSettingService.MutateCustomerExtensionSettings + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v14.services.CustomerFeedService.MutateCustomerFeeds + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v14.services.CustomerLabelService.MutateCustomerLabels + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v14.services.CustomerManagerLinkService.MoveManagerLink + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v14.services.CustomerManagerLinkService.MutateCustomerManagerLink + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v14.services.CustomerNegativeCriterionService.MutateCustomerNegativeCriteria + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: 'google.ads.googleads.v14.services.CustomerService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v14.services.CustomerSkAdNetworkConversionValueSchemaService.MutateCustomerSkAdNetworkConversionValueSchema + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v14.services.CustomerUserAccessInvitationService.MutateCustomerUserAccessInvitation + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v14.services.CustomerUserAccessService.MutateCustomerUserAccess + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v14.services.CustomizerAttributeService.MutateCustomizerAttributes + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v14.services.ExperimentArmService.MutateExperimentArms + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: 'google.ads.googleads.v14.services.ExperimentService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v14.services.ExtensionFeedItemService.MutateExtensionFeedItems + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v14.services.FeedItemService.MutateFeedItems + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v14.services.FeedItemSetLinkService.MutateFeedItemSetLinks + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v14.services.FeedItemSetService.MutateFeedItemSets + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v14.services.FeedItemTargetService.MutateFeedItemTargets + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v14.services.FeedMappingService.MutateFeedMappings + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v14.services.FeedService.MutateFeeds + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v14.services.GeoTargetConstantService.SuggestGeoTargetConstants + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v14.services.GoogleAdsFieldService.GetGoogleAdsField + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v14.services.GoogleAdsFieldService.SearchGoogleAdsFields + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: 'google.ads.googleads.v14.services.GoogleAdsService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v14.services.InvoiceService.ListInvoices + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v14.services.KeywordPlanAdGroupKeywordService.MutateKeywordPlanAdGroupKeywords + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v14.services.KeywordPlanAdGroupService.MutateKeywordPlanAdGroups + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v14.services.KeywordPlanCampaignKeywordService.MutateKeywordPlanCampaignKeywords + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v14.services.KeywordPlanCampaignService.MutateKeywordPlanCampaigns + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: 'google.ads.googleads.v14.services.KeywordPlanIdeaService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v14.services.KeywordPlanService.MutateKeywordPlans + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v14.services.KeywordThemeConstantService.SuggestKeywordThemeConstants + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v14.services.LabelService.MutateLabels + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v14.services.MediaFileService.MutateMediaFiles + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: 'google.ads.googleads.v14.services.MerchantCenterLinkService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: 'google.ads.googleads.v14.services.OfflineUserDataJobService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v14.services.PaymentsAccountService.ListPaymentsAccounts + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v14.services.ProductLinkService.CreateProductLink + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v14.services.ProductLinkService.RemoveProductLink + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: 'google.ads.googleads.v14.services.ReachPlanService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v14.services.RecommendationService.ApplyRecommendation + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v14.services.RecommendationService.DismissRecommendation + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v14.services.RemarketingActionService.MutateRemarketingActions + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v14.services.SharedCriterionService.MutateSharedCriteria + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v14.services.SharedSetService.MutateSharedSets + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v14.services.SmartCampaignSettingService.GetSmartCampaignStatus + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v14.services.SmartCampaignSettingService.MutateSmartCampaignSettings + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: 'google.ads.googleads.v14.services.SmartCampaignSuggestService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v14.services.ThirdPartyAppAnalyticsLinkService.RegenerateShareableLinkId + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v14.services.TravelAssetSuggestionService.SuggestTravelAssets + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v14.services.UserDataService.UploadUserData + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v14.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/v14/resources/BUILD.bazel b/third_party/googleapis/google/ads/googleads/v14/resources/BUILD.bazel new file mode 100644 index 000000000..7c7c3f544 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/BUILD.bazel @@ -0,0 +1,103 @@ +# 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 = [ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/BUILD.bazel + "//google/ads/googleads/v12/common:common_proto", + "//google/ads/googleads/v12/enums:enums_proto", + "//google/ads/googleads/v12/errors:errors_proto", +======== + "//google/ads/googleads/v14/common:common_proto", + "//google/ads/googleads/v14/enums:enums_proto", + "//google/ads/googleads/v14/errors:errors_proto", +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/BUILD.bazel + "//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/v14/resources/accessible_bidding_strategy.proto b/third_party/googleapis/google/ads/googleads/v14/resources/accessible_bidding_strategy.proto new file mode 100644 index 000000000..7ce014a75 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/accessible_bidding_strategy.proto @@ -0,0 +1,210 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/accessible_bidding_strategy.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/accessible_bidding_strategy.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/accessible_bidding_strategy.proto +package google.ads.googleads.v13.resources; + +import "google/ads/googleads/v13/enums/bidding_strategy_type.proto"; +import "google/ads/googleads/v13/enums/target_impression_share_location.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AccessibleBiddingStrategyProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +package google.ads.googleads.v14.resources; + +import "google/ads/googleads/v14/enums/bidding_strategy_type.proto"; +import "google/ads/googleads/v14/enums/target_impression_share_location.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AccessibleBiddingStrategyProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/accessible_bidding_strategy.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/accessible_bidding_strategy.proto + google.ads.googleads.v13.enums.TargetImpressionShareLocationEnum +======== + google.ads.googleads.v14.enums.TargetImpressionShareLocationEnum +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/accessible_bidding_strategy.proto + .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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/accessible_bidding_strategy.proto + google.ads.googleads.v13.enums.BiddingStrategyTypeEnum.BiddingStrategyType +======== + google.ads.googleads.v14.enums.BiddingStrategyTypeEnum.BiddingStrategyType +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/accessible_bidding_strategy.proto + 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/v14/resources/account_budget.proto b/third_party/googleapis/google/ads/googleads/v14/resources/account_budget.proto new file mode 100644 index 000000000..cf1476e34 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/account_budget.proto @@ -0,0 +1,343 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/account_budget.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/account_budget.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/account_budget.proto +package google.ads.googleads.v13.resources; + +import "google/ads/googleads/v13/enums/account_budget_proposal_type.proto"; +import "google/ads/googleads/v13/enums/account_budget_status.proto"; +import "google/ads/googleads/v13/enums/spending_limit_type.proto"; +import "google/ads/googleads/v13/enums/time_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AccountBudgetProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +package google.ads.googleads.v14.resources; + +import "google/ads/googleads/v14/enums/account_budget_proposal_type.proto"; +import "google/ads/googleads/v14/enums/account_budget_status.proto"; +import "google/ads/googleads/v14/enums/spending_limit_type.proto"; +import "google/ads/googleads/v14/enums/time_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AccountBudgetProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/account_budget.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/account_budget.proto + google.ads.googleads.v13.enums.AccountBudgetProposalTypeEnum +======== + google.ads.googleads.v14.enums.AccountBudgetProposalTypeEnum +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/account_budget.proto + .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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/account_budget.proto + google.ads.googleads.v13.enums.TimeTypeEnum.TimeType end_time_type = 6 +======== + google.ads.googleads.v14.enums.TimeTypeEnum.TimeType end_time_type = 6 +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/account_budget.proto + [(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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/account_budget.proto + google.ads.googleads.v13.enums.SpendingLimitTypeEnum.SpendingLimitType +======== + google.ads.googleads.v14.enums.SpendingLimitTypeEnum.SpendingLimitType +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/account_budget.proto + 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/account_budget.proto + google.ads.googleads.v13.enums.AccountBudgetStatusEnum.AccountBudgetStatus +======== + google.ads.googleads.v14.enums.AccountBudgetStatusEnum.AccountBudgetStatus +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/account_budget.proto + 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/account_budget.proto + google.ads.googleads.v13.enums.TimeTypeEnum.TimeType +======== + google.ads.googleads.v14.enums.TimeTypeEnum.TimeType +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/account_budget.proto + 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/account_budget.proto + google.ads.googleads.v13.enums.TimeTypeEnum.TimeType +======== + google.ads.googleads.v14.enums.TimeTypeEnum.TimeType +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/account_budget.proto + 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/account_budget.proto + google.ads.googleads.v13.enums.SpendingLimitTypeEnum.SpendingLimitType +======== + google.ads.googleads.v14.enums.SpendingLimitTypeEnum.SpendingLimitType +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/account_budget.proto + 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/account_budget.proto + google.ads.googleads.v13.enums.SpendingLimitTypeEnum.SpendingLimitType +======== + google.ads.googleads.v14.enums.SpendingLimitTypeEnum.SpendingLimitType +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/account_budget.proto + 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/account_budget.proto + google.ads.googleads.v13.enums.SpendingLimitTypeEnum.SpendingLimitType +======== + google.ads.googleads.v14.enums.SpendingLimitTypeEnum.SpendingLimitType +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/account_budget.proto + adjusted_spending_limit_type = 17 + [(google.api.field_behavior) = OUTPUT_ONLY]; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v14/resources/account_budget_proposal.proto b/third_party/googleapis/google/ads/googleads/v14/resources/account_budget_proposal.proto new file mode 100644 index 000000000..9809b6474 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/account_budget_proposal.proto @@ -0,0 +1,238 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/account_budget_proposal.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/account_budget_proposal.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/account_budget_proposal.proto +package google.ads.googleads.v13.resources; + +import "google/ads/googleads/v13/enums/account_budget_proposal_status.proto"; +import "google/ads/googleads/v13/enums/account_budget_proposal_type.proto"; +import "google/ads/googleads/v13/enums/spending_limit_type.proto"; +import "google/ads/googleads/v13/enums/time_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AccountBudgetProposalProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +package google.ads.googleads.v14.resources; + +import "google/ads/googleads/v14/enums/account_budget_proposal_status.proto"; +import "google/ads/googleads/v14/enums/account_budget_proposal_type.proto"; +import "google/ads/googleads/v14/enums/spending_limit_type.proto"; +import "google/ads/googleads/v14/enums/time_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AccountBudgetProposalProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/account_budget_proposal.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/account_budget_proposal.proto + google.ads.googleads.v13.enums.AccountBudgetProposalTypeEnum +======== + google.ads.googleads.v14.enums.AccountBudgetProposalTypeEnum +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/account_budget_proposal.proto + .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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/account_budget_proposal.proto + google.ads.googleads.v13.enums.AccountBudgetProposalStatusEnum +======== + google.ads.googleads.v14.enums.AccountBudgetProposalStatusEnum +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/account_budget_proposal.proto + .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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/account_budget_proposal.proto + google.ads.googleads.v13.enums.TimeTypeEnum.TimeType +======== + google.ads.googleads.v14.enums.TimeTypeEnum.TimeType +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/account_budget_proposal.proto + 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/account_budget_proposal.proto + google.ads.googleads.v13.enums.TimeTypeEnum.TimeType +======== + google.ads.googleads.v14.enums.TimeTypeEnum.TimeType +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/account_budget_proposal.proto + 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/account_budget_proposal.proto + google.ads.googleads.v13.enums.TimeTypeEnum.TimeType +======== + google.ads.googleads.v14.enums.TimeTypeEnum.TimeType +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/account_budget_proposal.proto + 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/account_budget_proposal.proto + google.ads.googleads.v13.enums.SpendingLimitTypeEnum.SpendingLimitType +======== + google.ads.googleads.v14.enums.SpendingLimitTypeEnum.SpendingLimitType +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/account_budget_proposal.proto + 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/account_budget_proposal.proto + google.ads.googleads.v13.enums.SpendingLimitTypeEnum.SpendingLimitType +======== + google.ads.googleads.v14.enums.SpendingLimitTypeEnum.SpendingLimitType +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/account_budget_proposal.proto + approved_spending_limit_type = 24 + [(google.api.field_behavior) = OUTPUT_ONLY]; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v14/resources/account_link.proto b/third_party/googleapis/google/ads/googleads/v14/resources/account_link.proto new file mode 100644 index 000000000..1c7e837cd --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/account_link.proto @@ -0,0 +1,204 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/account_link.proto +package google.ads.googleads.v12.resources; + +import "google/ads/googleads/v12/enums/account_link_status.proto"; +import "google/ads/googleads/v12/enums/linked_account_type.proto"; +import "google/ads/googleads/v12/enums/mobile_app_vendor.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AccountLinkProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +package google.ads.googleads.v14.resources; + +import "google/ads/googleads/v14/enums/account_link_status.proto"; +import "google/ads/googleads/v14/enums/linked_account_type.proto"; +import "google/ads/googleads/v14/enums/mobile_app_vendor.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AccountLinkProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/account_link.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/account_link.proto + google.ads.googleads.v12.enums.AccountLinkStatusEnum.AccountLinkStatus status = 3; + + // Output only. The type of the linked account. + google.ads.googleads.v12.enums.LinkedAccountTypeEnum.LinkedAccountType type = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; +======== + google.ads.googleads.v14.enums.AccountLinkStatusEnum.AccountLinkStatus + status = 3; + + // Output only. The type of the linked account. + google.ads.googleads.v14.enums.LinkedAccountTypeEnum.LinkedAccountType type = + 4 [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/account_link.proto + + // 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]; + + // Output only. Data partner link. + DataPartnerLinkIdentifier data_partner = 6 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Google Ads link. + GoogleAdsLinkIdentifier google_ads = 7 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Hotel link +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/account_link.proto + HotelCenterLinkIdentifier hotel_center = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Advertising Partner link + AdvertisingPartnerLinkIdentifier advertising_partner = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; +======== + HotelCenterLinkIdentifier hotel_center = 9 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Advertising Partner link + AdvertisingPartnerLinkIdentifier advertising_partner = 10 + [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/account_link.proto + } +} + +// 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]; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/account_link.proto + // 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 +======== + // 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 +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/account_link.proto + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/account_link.proto + google.ads.googleads.v12.enums.MobileAppVendorEnum.MobileAppVendor app_vendor = 3 [(google.api.field_behavior) = IMMUTABLE]; +======== + google.ads.googleads.v14.enums.MobileAppVendorEnum.MobileAppVendor + app_vendor = 3 [(google.api.field_behavior) = IMMUTABLE]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/account_link.proto +} + +// The identifier for Data Partner account. +message DataPartnerLinkIdentifier { + // 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 Hotel account. +message HotelCenterLinkIdentifier { + // Output only. The hotel center id of the hotel account. + int64 hotel_center_id = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// The identifier for Google Ads account. +message GoogleAdsLinkIdentifier { + // 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 = 3 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Customer" + } + ]; +} + +// The identifier for the Advertising Partner Google Ads account. +message AdvertisingPartnerLinkIdentifier { + // Immutable. 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) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Customer" + } + ]; +} diff --git a/third_party/googleapis/google/ads/googleads/v14/resources/ad.proto b/third_party/googleapis/google/ads/googleads/v14/resources/ad.proto new file mode 100644 index 000000000..21b940b34 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/ad.proto @@ -0,0 +1,217 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.ads.googleads.v14.resources; + +import "google/ads/googleads/v14/common/ad_type_infos.proto"; +import "google/ads/googleads/v14/common/custom_parameter.proto"; +import "google/ads/googleads/v14/common/final_app_url.proto"; +import "google/ads/googleads/v14/common/url_collection.proto"; +import "google/ads/googleads/v14/enums/ad_type.proto"; +import "google/ads/googleads/v14/enums/device.proto"; +import "google/ads/googleads/v14/enums/system_managed_entity_source.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::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.v14.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.v14.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.v14.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.v14.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.v14.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.v14.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.v14.common.TextAdInfo text_ad = 6 + [(google.api.field_behavior) = IMMUTABLE]; + + // Details pertaining to an expanded text ad. + google.ads.googleads.v14.common.ExpandedTextAdInfo expanded_text_ad = 7; + + // Details pertaining to a call ad. + google.ads.googleads.v14.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.v14.common.ExpandedDynamicSearchAdInfo + expanded_dynamic_search_ad = 14 + [(google.api.field_behavior) = IMMUTABLE]; + + // Details pertaining to a hotel ad. + google.ads.googleads.v14.common.HotelAdInfo hotel_ad = 15; + + // Details pertaining to a Smart Shopping ad. + google.ads.googleads.v14.common.ShoppingSmartAdInfo shopping_smart_ad = 17; + + // Details pertaining to a Shopping product ad. + google.ads.googleads.v14.common.ShoppingProductAdInfo shopping_product_ad = + 18; + + // Immutable. Details pertaining to an Image ad. + google.ads.googleads.v14.common.ImageAdInfo image_ad = 22 + [(google.api.field_behavior) = IMMUTABLE]; + + // Details pertaining to a Video ad. + google.ads.googleads.v14.common.VideoAdInfo video_ad = 24; + + // Details pertaining to a Video responsive ad. + google.ads.googleads.v14.common.VideoResponsiveAdInfo video_responsive_ad = + 39; + + // Details pertaining to a responsive search ad. + google.ads.googleads.v14.common.ResponsiveSearchAdInfo + responsive_search_ad = 25; + + // Details pertaining to a legacy responsive display ad. + google.ads.googleads.v14.common.LegacyResponsiveDisplayAdInfo + legacy_responsive_display_ad = 28; + + // Details pertaining to an app ad. + google.ads.googleads.v14.common.AppAdInfo app_ad = 29; + + // Immutable. Details pertaining to a legacy app install ad. + google.ads.googleads.v14.common.LegacyAppInstallAdInfo + legacy_app_install_ad = 30 [(google.api.field_behavior) = IMMUTABLE]; + + // Details pertaining to a responsive display ad. + google.ads.googleads.v14.common.ResponsiveDisplayAdInfo + responsive_display_ad = 31; + + // Details pertaining to a local ad. + google.ads.googleads.v14.common.LocalAdInfo local_ad = 32; + + // Details pertaining to a display upload ad. + google.ads.googleads.v14.common.DisplayUploadAdInfo display_upload_ad = 33; + + // Details pertaining to an app engagement ad. + google.ads.googleads.v14.common.AppEngagementAdInfo app_engagement_ad = 34; + + // Details pertaining to a Shopping Comparison Listing ad. + google.ads.googleads.v14.common.ShoppingComparisonListingAdInfo + shopping_comparison_listing_ad = 36; + + // Details pertaining to a Smart campaign ad. + google.ads.googleads.v14.common.SmartCampaignAdInfo smart_campaign_ad = 48; + + // Details pertaining to an app pre-registration ad. + google.ads.googleads.v14.common.AppPreRegistrationAdInfo + app_pre_registration_ad = 50; + + // Details pertaining to a discovery multi asset ad. + google.ads.googleads.v14.common.DiscoveryMultiAssetAdInfo + discovery_multi_asset_ad = 51; + + // Details pertaining to a discovery carousel ad. + google.ads.googleads.v14.common.DiscoveryCarouselAdInfo + discovery_carousel_ad = 52; + + // Details pertaining to a discovery video responsive ad. + google.ads.googleads.v14.common.DiscoveryVideoResponsiveAdInfo + discovery_video_responsive_ad = 60; + + // Details pertaining to a travel ad. + google.ads.googleads.v14.common.TravelAdInfo travel_ad = 54; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v14/resources/ad_group.proto b/third_party/googleapis/google/ads/googleads/v14/resources/ad_group.proto new file mode 100644 index 000000000..8bbf713c9 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/ad_group.proto @@ -0,0 +1,298 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/ad_group.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/ad_group.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/ad_group.proto +package google.ads.googleads.v13.resources; + +import "google/ads/googleads/v13/common/custom_parameter.proto"; +import "google/ads/googleads/v13/common/targeting_setting.proto"; +import "google/ads/googleads/v13/enums/ad_group_ad_rotation_mode.proto"; +import "google/ads/googleads/v13/enums/ad_group_status.proto"; +import "google/ads/googleads/v13/enums/ad_group_type.proto"; +import "google/ads/googleads/v13/enums/asset_field_type.proto"; +import "google/ads/googleads/v13/enums/asset_set_type.proto"; +import "google/ads/googleads/v13/enums/bidding_source.proto"; +import "google/ads/googleads/v13/enums/targeting_dimension.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +package google.ads.googleads.v14.resources; + +import "google/ads/googleads/v14/common/custom_parameter.proto"; +import "google/ads/googleads/v14/common/targeting_setting.proto"; +import "google/ads/googleads/v14/enums/ad_group_ad_rotation_mode.proto"; +import "google/ads/googleads/v14/enums/ad_group_status.proto"; +import "google/ads/googleads/v14/enums/ad_group_type.proto"; +import "google/ads/googleads/v14/enums/asset_field_type.proto"; +import "google/ads/googleads/v14/enums/asset_set_type.proto"; +import "google/ads/googleads/v14/enums/bidding_source.proto"; +import "google/ads/googleads/v14/enums/targeting_dimension.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/ad_group.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/ad_group.proto + google.ads.googleads.v13.enums.AdGroupStatusEnum.AdGroupStatus status = 5; + + // Immutable. The type of the ad group. + google.ads.googleads.v13.enums.AdGroupTypeEnum.AdGroupType type = 12 + [(google.api.field_behavior) = IMMUTABLE]; + + // The ad rotation mode of the ad group. + google.ads.googleads.v13.enums.AdGroupAdRotationModeEnum.AdGroupAdRotationMode +======== + google.ads.googleads.v14.enums.AdGroupStatusEnum.AdGroupStatus status = 5; + + // Immutable. The type of the ad group. + google.ads.googleads.v14.enums.AdGroupTypeEnum.AdGroupType type = 12 + [(google.api.field_behavior) = IMMUTABLE]; + + // The ad rotation mode of the ad group. + google.ads.googleads.v14.enums.AdGroupAdRotationModeEnum.AdGroupAdRotationMode +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/ad_group.proto + 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`. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/ad_group.proto + repeated google.ads.googleads.v13.common.CustomParameter +======== + repeated google.ads.googleads.v14.common.CustomParameter +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/ad_group.proto + 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/ad_group.proto + google.ads.googleads.v13.enums.TargetingDimensionEnum.TargetingDimension +======== + google.ads.googleads.v14.enums.TargetingDimensionEnum.TargetingDimension +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/ad_group.proto + display_custom_bid_dimension = 23; + + // URL template for appending params to Final URL. + optional string final_url_suffix = 46; + + // Setting for targeting related features. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/ad_group.proto + google.ads.googleads.v13.common.TargetingSetting targeting_setting = 25; +======== + google.ads.googleads.v14.common.TargetingSetting targeting_setting = 25; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/ad_group.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/ad_group.proto + google.ads.googleads.v13.enums.BiddingSourceEnum.BiddingSource +======== + google.ads.googleads.v14.enums.BiddingSourceEnum.BiddingSource +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/ad_group.proto + 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/ad_group.proto + google.ads.googleads.v13.enums.BiddingSourceEnum.BiddingSource +======== + google.ads.googleads.v14.enums.BiddingSourceEnum.BiddingSource +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/ad_group.proto + 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/ad_group.proto + repeated google.ads.googleads.v13.enums.AssetFieldTypeEnum.AssetFieldType +======== + repeated google.ads.googleads.v14.enums.AssetFieldTypeEnum.AssetFieldType +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/ad_group.proto + 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/ad_group.proto + repeated google.ads.googleads.v13.enums.AssetSetTypeEnum.AssetSetType +======== + repeated google.ads.googleads.v14.enums.AssetSetTypeEnum.AssetSetType +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/ad_group.proto + excluded_parent_asset_set_types = 58; +} diff --git a/third_party/googleapis/google/ads/googleads/v14/resources/ad_group_ad.proto b/third_party/googleapis/google/ads/googleads/v14/resources/ad_group_ad.proto new file mode 100644 index 000000000..e5286ca70 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/ad_group_ad.proto @@ -0,0 +1,153 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/ad_group_ad.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/ad_group_ad.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/ad_group_ad.proto +package google.ads.googleads.v13.resources; + +import "google/ads/googleads/v13/common/policy.proto"; +import "google/ads/googleads/v13/enums/ad_group_ad_status.proto"; +import "google/ads/googleads/v13/enums/ad_strength.proto"; +import "google/ads/googleads/v13/enums/policy_approval_status.proto"; +import "google/ads/googleads/v13/enums/policy_review_status.proto"; +import "google/ads/googleads/v13/resources/ad.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupAdProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +package google.ads.googleads.v14.resources; + +import "google/ads/googleads/v14/common/policy.proto"; +import "google/ads/googleads/v14/enums/ad_group_ad_status.proto"; +import "google/ads/googleads/v14/enums/ad_strength.proto"; +import "google/ads/googleads/v14/enums/policy_approval_status.proto"; +import "google/ads/googleads/v14/enums/policy_review_status.proto"; +import "google/ads/googleads/v14/resources/ad.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupAdProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/ad_group_ad.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/ad_group_ad.proto + google.ads.googleads.v13.enums.AdGroupAdStatusEnum.AdGroupAdStatus status = 3; +======== + google.ads.googleads.v14.enums.AdGroupAdStatusEnum.AdGroupAdStatus status = 3; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/ad_group_ad.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/ad_group_ad.proto + google.ads.googleads.v13.enums.AdStrengthEnum.AdStrength ad_strength = 7 +======== + google.ads.googleads.v14.enums.AdStrengthEnum.AdStrength ad_strength = 7 +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/ad_group_ad.proto + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. A list of recommendations to improve the ad strength. For + // example, a recommendation could be "Your headlines are a little too + // similar. Try adding more distinct headlines.". + 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" + } + ]; +} + +// Contains policy information for an ad. +message AdGroupAdPolicySummary { + // Output only. The list of policy findings for this ad. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/ad_group_ad.proto + repeated google.ads.googleads.v13.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.v13.enums.PolicyReviewStatusEnum.PolicyReviewStatus +======== + repeated google.ads.googleads.v14.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.v14.enums.PolicyReviewStatusEnum.PolicyReviewStatus +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/ad_group_ad.proto + 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/ad_group_ad.proto + google.ads.googleads.v13.enums.PolicyApprovalStatusEnum.PolicyApprovalStatus +======== + google.ads.googleads.v14.enums.PolicyApprovalStatusEnum.PolicyApprovalStatus +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/ad_group_ad.proto + approval_status = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v14/resources/ad_group_ad_asset_combination_view.proto b/third_party/googleapis/google/ads/googleads/v14/resources/ad_group_ad_asset_combination_view.proto new file mode 100644 index 000000000..dd4a96b50 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/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.v14.resources; + +import "google/ads/googleads/v14/common/asset_usage.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupAdAssetCombinationViewProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::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.v14.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/v14/resources/ad_group_ad_asset_view.proto b/third_party/googleapis/google/ads/googleads/v14/resources/ad_group_ad_asset_view.proto new file mode 100644 index 000000000..34c102d02 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/ad_group_ad_asset_view.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/ad_group_ad_asset_view.proto +package google.ads.googleads.v12.resources; + +import "google/ads/googleads/v12/common/policy.proto"; +import "google/ads/googleads/v12/enums/asset_field_type.proto"; +import "google/ads/googleads/v12/enums/asset_performance_label.proto"; +import "google/ads/googleads/v12/enums/policy_approval_status.proto"; +import "google/ads/googleads/v12/enums/policy_review_status.proto"; +import "google/ads/googleads/v12/enums/served_asset_field_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupAdAssetViewProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +package google.ads.googleads.v14.resources; + +import "google/ads/googleads/v14/common/policy.proto"; +import "google/ads/googleads/v14/enums/asset_field_type.proto"; +import "google/ads/googleads/v14/enums/asset_performance_label.proto"; +import "google/ads/googleads/v14/enums/policy_approval_status.proto"; +import "google/ads/googleads/v14/enums/policy_review_status.proto"; +import "google/ads/googleads/v14/enums/served_asset_field_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupAdAssetViewProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/ad_group_ad_asset_view.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/ad_group_ad_asset_view.proto + google.ads.googleads.v12.enums.AssetFieldTypeEnum.AssetFieldType field_type = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; +======== + google.ads.googleads.v14.enums.AssetFieldTypeEnum.AssetFieldType field_type = + 2 [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/ad_group_ad_asset_view.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/ad_group_ad_asset_view.proto + google.ads.googleads.v12.enums.AssetPerformanceLabelEnum.AssetPerformanceLabel performance_label = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Pinned field. + google.ads.googleads.v12.enums.ServedAssetFieldTypeEnum.ServedAssetFieldType pinned_field = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; +======== + google.ads.googleads.v14.enums.AssetPerformanceLabelEnum.AssetPerformanceLabel + performance_label = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Pinned field. + google.ads.googleads.v14.enums.ServedAssetFieldTypeEnum.ServedAssetFieldType + pinned_field = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/ad_group_ad_asset_view.proto +} + +// Contains policy information for an ad group ad asset. +message AdGroupAdAssetPolicySummary { + // Output only. The list of policy findings for the ad group ad asset. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/ad_group_ad_asset_view.proto + repeated google.ads.googleads.v12.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.v12.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.v12.enums.PolicyApprovalStatusEnum.PolicyApprovalStatus approval_status = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; +======== + repeated google.ads.googleads.v14.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.v14.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.v14.enums.PolicyApprovalStatusEnum.PolicyApprovalStatus + approval_status = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/ad_group_ad_asset_view.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v14/resources/ad_group_ad_label.proto b/third_party/googleapis/google/ads/googleads/v14/resources/ad_group_ad_label.proto new file mode 100644 index 000000000..4f7d9a5cf --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/ad_group_ad_label.proto @@ -0,0 +1,82 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/ad_group_ad_label.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/ad_group_ad_label.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/ad_group_ad_label.proto +package google.ads.googleads.v13.resources; +======== +package google.ads.googleads.v14.resources; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/ad_group_ad_label.proto + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/ad_group_ad_label.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupAdLabelProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupAdLabelProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/ad_group_ad_label.proto + +// 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/v14/resources/ad_group_asset.proto b/third_party/googleapis/google/ads/googleads/v14/resources/ad_group_asset.proto new file mode 100644 index 000000000..bc3e6a762 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/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.v14.resources; + +import "google/ads/googleads/v14/common/asset_policy.proto"; +import "google/ads/googleads/v14/enums/asset_field_type.proto"; +import "google/ads/googleads/v14/enums/asset_link_primary_status.proto"; +import "google/ads/googleads/v14/enums/asset_link_primary_status_reason.proto"; +import "google/ads/googleads/v14/enums/asset_link_status.proto"; +import "google/ads/googleads/v14/enums/asset_source.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupAssetProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::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.v14.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.v14.enums.AssetSourceEnum.AssetSource source = 6 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Status of the ad group asset. + google.ads.googleads.v14.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.v14.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.v14.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.v14.enums.AssetLinkPrimaryStatusReasonEnum + .AssetLinkPrimaryStatusReason primary_status_reasons = 9 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v14/resources/ad_group_asset_set.proto b/third_party/googleapis/google/ads/googleads/v14/resources/ad_group_asset_set.proto new file mode 100644 index 000000000..e8edbf824 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/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.v14.resources; + +import "google/ads/googleads/v14/enums/asset_set_link_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupAssetSetProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::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.v14.enums.AssetSetLinkStatusEnum.AssetSetLinkStatus + status = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v14/resources/ad_group_audience_view.proto b/third_party/googleapis/google/ads/googleads/v14/resources/ad_group_audience_view.proto new file mode 100644 index 000000000..2b95d337d --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/ad_group_audience_view.proto @@ -0,0 +1,72 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/ad_group_audience_view.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/ad_group_audience_view.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/ad_group_audience_view.proto +package google.ads.googleads.v12.resources; +======== +package google.ads.googleads.v14.resources; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/ad_group_audience_view.proto + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/ad_group_audience_view.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupAudienceViewProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupAudienceViewProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/ad_group_audience_view.proto + +// 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/v14/resources/ad_group_bid_modifier.proto b/third_party/googleapis/google/ads/googleads/v14/resources/ad_group_bid_modifier.proto new file mode 100644 index 000000000..59a001ee6 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/ad_group_bid_modifier.proto @@ -0,0 +1,169 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/ad_group_bid_modifier.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/ad_group_bid_modifier.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/ad_group_bid_modifier.proto +package google.ads.googleads.v13.resources; + +import "google/ads/googleads/v13/common/criteria.proto"; +import "google/ads/googleads/v13/enums/bid_modifier_source.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupBidModifierProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +package google.ads.googleads.v14.resources; + +import "google/ads/googleads/v14/common/criteria.proto"; +import "google/ads/googleads/v14/enums/bid_modifier_source.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupBidModifierProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/ad_group_bid_modifier.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/ad_group_bid_modifier.proto + google.ads.googleads.v13.enums.BidModifierSourceEnum.BidModifierSource +======== + google.ads.googleads.v14.enums.BidModifierSourceEnum.BidModifierSource +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/ad_group_bid_modifier.proto + 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). +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/ad_group_bid_modifier.proto + google.ads.googleads.v13.common.HotelDateSelectionTypeInfo +======== + google.ads.googleads.v14.common.HotelDateSelectionTypeInfo +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/ad_group_bid_modifier.proto + 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/ad_group_bid_modifier.proto + google.ads.googleads.v13.common.HotelAdvanceBookingWindowInfo +======== + google.ads.googleads.v14.common.HotelAdvanceBookingWindowInfo +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/ad_group_bid_modifier.proto + hotel_advance_booking_window = 6 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Criterion for length of hotel stay in nights. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/ad_group_bid_modifier.proto + google.ads.googleads.v13.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.v13.common.HotelCheckInDayInfo hotel_check_in_day = 8 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. A device criterion. + google.ads.googleads.v13.common.DeviceInfo device = 11 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Criterion for a hotel check-in date range. + google.ads.googleads.v13.common.HotelCheckInDateRangeInfo +======== + google.ads.googleads.v14.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.v14.common.HotelCheckInDayInfo hotel_check_in_day = 8 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. A device criterion. + google.ads.googleads.v14.common.DeviceInfo device = 11 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Criterion for a hotel check-in date range. + google.ads.googleads.v14.common.HotelCheckInDateRangeInfo +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/ad_group_bid_modifier.proto + hotel_check_in_date_range = 17 + [(google.api.field_behavior) = IMMUTABLE]; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v14/resources/ad_group_criterion.proto b/third_party/googleapis/google/ads/googleads/v14/resources/ad_group_criterion.proto new file mode 100644 index 000000000..919946256 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/ad_group_criterion.proto @@ -0,0 +1,516 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/ad_group_criterion.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/ad_group_criterion.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/ad_group_criterion.proto +package google.ads.googleads.v13.resources; + +import "google/ads/googleads/v13/common/criteria.proto"; +import "google/ads/googleads/v13/common/custom_parameter.proto"; +import "google/ads/googleads/v13/enums/ad_group_criterion_approval_status.proto"; +import "google/ads/googleads/v13/enums/ad_group_criterion_status.proto"; +import "google/ads/googleads/v13/enums/bidding_source.proto"; +import "google/ads/googleads/v13/enums/criterion_system_serving_status.proto"; +import "google/ads/googleads/v13/enums/criterion_type.proto"; +import "google/ads/googleads/v13/enums/quality_score_bucket.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupCriterionProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +package google.ads.googleads.v14.resources; + +import "google/ads/googleads/v14/common/criteria.proto"; +import "google/ads/googleads/v14/common/custom_parameter.proto"; +import "google/ads/googleads/v14/enums/ad_group_criterion_approval_status.proto"; +import "google/ads/googleads/v14/enums/ad_group_criterion_status.proto"; +import "google/ads/googleads/v14/enums/bidding_source.proto"; +import "google/ads/googleads/v14/enums/criterion_system_serving_status.proto"; +import "google/ads/googleads/v14/enums/criterion_type.proto"; +import "google/ads/googleads/v14/enums/quality_score_bucket.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupCriterionProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/ad_group_criterion.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/ad_group_criterion.proto + google.ads.googleads.v13.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.v13.enums.QualityScoreBucketEnum.QualityScoreBucket +======== + google.ads.googleads.v14.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.v14.enums.QualityScoreBucketEnum.QualityScoreBucket +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/ad_group_criterion.proto + post_click_quality_score = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The click-through rate compared to that of other + // advertisers. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/ad_group_criterion.proto + google.ads.googleads.v13.enums.QualityScoreBucketEnum.QualityScoreBucket +======== + google.ads.googleads.v14.enums.QualityScoreBucketEnum.QualityScoreBucket +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/ad_group_criterion.proto + 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/ad_group_criterion.proto + google.ads.googleads.v13.enums.AdGroupCriterionStatusEnum +======== + google.ads.googleads.v14.enums.AdGroupCriterionStatusEnum +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/ad_group_criterion.proto + .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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/ad_group_criterion.proto + google.ads.googleads.v13.enums.CriterionTypeEnum.CriterionType type = 25 +======== + google.ads.googleads.v14.enums.CriterionTypeEnum.CriterionType type = 25 +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/ad_group_criterion.proto + [(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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/ad_group_criterion.proto + google.ads.googleads.v13.enums.CriterionSystemServingStatusEnum +======== + google.ads.googleads.v14.enums.CriterionSystemServingStatusEnum +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/ad_group_criterion.proto + .CriterionSystemServingStatus system_serving_status = 52 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Approval status of the criterion. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/ad_group_criterion.proto + google.ads.googleads.v13.enums.AdGroupCriterionApprovalStatusEnum +======== + google.ads.googleads.v14.enums.AdGroupCriterionApprovalStatusEnum +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/ad_group_criterion.proto + .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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/ad_group_criterion.proto + google.ads.googleads.v13.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.v13.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.v13.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.v13.enums.BiddingSourceEnum.BiddingSource +======== + google.ads.googleads.v14.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.v14.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.v14.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.v14.enums.BiddingSourceEnum.BiddingSource +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/ad_group_criterion.proto + 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`. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/ad_group_criterion.proto + repeated google.ads.googleads.v13.common.CustomParameter +======== + repeated google.ads.googleads.v14.common.CustomParameter +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/ad_group_criterion.proto + url_custom_parameters = 14; + + // The ad group criterion. + // + // Exactly one must be set. + oneof criterion { + // Immutable. Keyword. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/ad_group_criterion.proto + google.ads.googleads.v13.common.KeywordInfo keyword = 27 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Placement. + google.ads.googleads.v13.common.PlacementInfo placement = 28 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Mobile app category. + google.ads.googleads.v13.common.MobileAppCategoryInfo mobile_app_category = + 29 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Mobile application. + google.ads.googleads.v13.common.MobileApplicationInfo mobile_application = + 30 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Listing group. + google.ads.googleads.v13.common.ListingGroupInfo listing_group = 32 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Age range. + google.ads.googleads.v13.common.AgeRangeInfo age_range = 36 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Gender. + google.ads.googleads.v13.common.GenderInfo gender = 37 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Income range. + google.ads.googleads.v13.common.IncomeRangeInfo income_range = 38 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Parental status. + google.ads.googleads.v13.common.ParentalStatusInfo parental_status = 39 +======== + google.ads.googleads.v14.common.KeywordInfo keyword = 27 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Placement. + google.ads.googleads.v14.common.PlacementInfo placement = 28 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Mobile app category. + google.ads.googleads.v14.common.MobileAppCategoryInfo mobile_app_category = + 29 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Mobile application. + google.ads.googleads.v14.common.MobileApplicationInfo mobile_application = + 30 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Listing group. + google.ads.googleads.v14.common.ListingGroupInfo listing_group = 32 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Age range. + google.ads.googleads.v14.common.AgeRangeInfo age_range = 36 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Gender. + google.ads.googleads.v14.common.GenderInfo gender = 37 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Income range. + google.ads.googleads.v14.common.IncomeRangeInfo income_range = 38 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Parental status. + google.ads.googleads.v14.common.ParentalStatusInfo parental_status = 39 +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/ad_group_criterion.proto + [(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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/ad_group_criterion.proto + google.ads.googleads.v13.common.UserListInfo user_list = 42 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. YouTube Video. + google.ads.googleads.v13.common.YouTubeVideoInfo youtube_video = 40 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. YouTube Channel. + google.ads.googleads.v13.common.YouTubeChannelInfo youtube_channel = 41 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Topic. + google.ads.googleads.v13.common.TopicInfo topic = 43 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. User Interest. + google.ads.googleads.v13.common.UserInterestInfo user_interest = 45 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Webpage + google.ads.googleads.v13.common.WebpageInfo webpage = 46 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. App Payment Model. + google.ads.googleads.v13.common.AppPaymentModelInfo app_payment_model = 47 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Custom Affinity. + google.ads.googleads.v13.common.CustomAffinityInfo custom_affinity = 48 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Custom Intent. + google.ads.googleads.v13.common.CustomIntentInfo custom_intent = 49 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Custom Audience. + google.ads.googleads.v13.common.CustomAudienceInfo custom_audience = 74 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Combined Audience. + google.ads.googleads.v13.common.CombinedAudienceInfo combined_audience = 75 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Audience. + google.ads.googleads.v13.common.AudienceInfo audience = 79 +======== + google.ads.googleads.v14.common.UserListInfo user_list = 42 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. YouTube Video. + google.ads.googleads.v14.common.YouTubeVideoInfo youtube_video = 40 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. YouTube Channel. + google.ads.googleads.v14.common.YouTubeChannelInfo youtube_channel = 41 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Topic. + google.ads.googleads.v14.common.TopicInfo topic = 43 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. User Interest. + google.ads.googleads.v14.common.UserInterestInfo user_interest = 45 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Webpage + google.ads.googleads.v14.common.WebpageInfo webpage = 46 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. App Payment Model. + google.ads.googleads.v14.common.AppPaymentModelInfo app_payment_model = 47 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Custom Affinity. + google.ads.googleads.v14.common.CustomAffinityInfo custom_affinity = 48 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Custom Intent. + google.ads.googleads.v14.common.CustomIntentInfo custom_intent = 49 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Custom Audience. + google.ads.googleads.v14.common.CustomAudienceInfo custom_audience = 74 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Combined Audience. + google.ads.googleads.v14.common.CombinedAudienceInfo combined_audience = 75 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Audience. + google.ads.googleads.v14.common.AudienceInfo audience = 79 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Location. + google.ads.googleads.v14.common.LocationInfo location = 82 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Language. + google.ads.googleads.v14.common.LanguageInfo language = 83 +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/ad_group_criterion.proto + [(google.api.field_behavior) = IMMUTABLE]; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v14/resources/ad_group_criterion_customizer.proto b/third_party/googleapis/google/ads/googleads/v14/resources/ad_group_criterion_customizer.proto new file mode 100644 index 000000000..19dfce236 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/ad_group_criterion_customizer.proto @@ -0,0 +1,109 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/ad_group_criterion_customizer.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/ad_group_criterion_customizer.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/ad_group_criterion_customizer.proto +package google.ads.googleads.v13.resources; + +import "google/ads/googleads/v13/common/customizer_value.proto"; +import "google/ads/googleads/v13/enums/customizer_value_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupCriterionCustomizerProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +package google.ads.googleads.v14.resources; + +import "google/ads/googleads/v14/common/customizer_value.proto"; +import "google/ads/googleads/v14/enums/customizer_value_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupCriterionCustomizerProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/ad_group_criterion_customizer.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/ad_group_criterion_customizer.proto + google.ads.googleads.v13.enums.CustomizerValueStatusEnum.CustomizerValueStatus +======== + google.ads.googleads.v14.enums.CustomizerValueStatusEnum.CustomizerValueStatus +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/ad_group_criterion_customizer.proto + 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/ad_group_criterion_customizer.proto + google.ads.googleads.v13.common.CustomizerValue value = 5 +======== + google.ads.googleads.v14.common.CustomizerValue value = 5 +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/ad_group_criterion_customizer.proto + [(google.api.field_behavior) = REQUIRED]; +} diff --git a/third_party/googleapis/google/ads/googleads/v14/resources/ad_group_criterion_label.proto b/third_party/googleapis/google/ads/googleads/v14/resources/ad_group_criterion_label.proto new file mode 100644 index 000000000..9964cfc9e --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/ad_group_criterion_label.proto @@ -0,0 +1,82 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/ad_group_criterion_label.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/ad_group_criterion_label.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/ad_group_criterion_label.proto +package google.ads.googleads.v13.resources; +======== +package google.ads.googleads.v14.resources; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/ad_group_criterion_label.proto + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/ad_group_criterion_label.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupCriterionLabelProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupCriterionLabelProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/ad_group_criterion_label.proto + +// 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/v14/resources/ad_group_criterion_simulation.proto b/third_party/googleapis/google/ads/googleads/v14/resources/ad_group_criterion_simulation.proto new file mode 100644 index 000000000..ce074923e --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/ad_group_criterion_simulation.proto @@ -0,0 +1,136 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/ad_group_criterion_simulation.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/ad_group_criterion_simulation.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/ad_group_criterion_simulation.proto +package google.ads.googleads.v13.resources; + +import "google/ads/googleads/v13/common/simulation.proto"; +import "google/ads/googleads/v13/enums/simulation_modification_method.proto"; +import "google/ads/googleads/v13/enums/simulation_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupCriterionSimulationProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +package google.ads.googleads.v14.resources; + +import "google/ads/googleads/v14/common/simulation.proto"; +import "google/ads/googleads/v14/enums/simulation_modification_method.proto"; +import "google/ads/googleads/v14/enums/simulation_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupCriterionSimulationProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/ad_group_criterion_simulation.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/ad_group_criterion_simulation.proto + google.ads.googleads.v13.enums.SimulationTypeEnum.SimulationType type = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. How the simulation modifies the field. + google.ads.googleads.v13.enums.SimulationModificationMethodEnum +======== + google.ads.googleads.v14.enums.SimulationTypeEnum.SimulationType type = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. How the simulation modifies the field. + google.ads.googleads.v14.enums.SimulationModificationMethodEnum +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/ad_group_criterion_simulation.proto + .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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/ad_group_criterion_simulation.proto + google.ads.googleads.v13.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.v13.common.PercentCpcBidSimulationPointList +======== + google.ads.googleads.v14.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.v14.common.PercentCpcBidSimulationPointList +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/ad_group_criterion_simulation.proto + percent_cpc_bid_point_list = 13 + [(google.api.field_behavior) = OUTPUT_ONLY]; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v14/resources/ad_group_customizer.proto b/third_party/googleapis/google/ads/googleads/v14/resources/ad_group_customizer.proto new file mode 100644 index 000000000..be3a95e13 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/ad_group_customizer.proto @@ -0,0 +1,108 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/ad_group_customizer.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/ad_group_customizer.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/ad_group_customizer.proto +package google.ads.googleads.v13.resources; + +import "google/ads/googleads/v13/common/customizer_value.proto"; +import "google/ads/googleads/v13/enums/customizer_value_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupCustomizerProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +package google.ads.googleads.v14.resources; + +import "google/ads/googleads/v14/common/customizer_value.proto"; +import "google/ads/googleads/v14/enums/customizer_value_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupCustomizerProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/ad_group_customizer.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/ad_group_customizer.proto + google.ads.googleads.v13.enums.CustomizerValueStatusEnum.CustomizerValueStatus +======== + google.ads.googleads.v14.enums.CustomizerValueStatusEnum.CustomizerValueStatus +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/ad_group_customizer.proto + 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/ad_group_customizer.proto + google.ads.googleads.v13.common.CustomizerValue value = 5 +======== + google.ads.googleads.v14.common.CustomizerValue value = 5 +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/ad_group_customizer.proto + [(google.api.field_behavior) = REQUIRED]; +} diff --git a/third_party/googleapis/google/ads/googleads/v14/resources/ad_group_extension_setting.proto b/third_party/googleapis/google/ads/googleads/v14/resources/ad_group_extension_setting.proto new file mode 100644 index 000000000..de6ee1bf8 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/ad_group_extension_setting.proto @@ -0,0 +1,109 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/ad_group_extension_setting.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/ad_group_extension_setting.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/ad_group_extension_setting.proto +package google.ads.googleads.v13.resources; + +import "google/ads/googleads/v13/enums/extension_setting_device.proto"; +import "google/ads/googleads/v13/enums/extension_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupExtensionSettingProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +package google.ads.googleads.v14.resources; + +import "google/ads/googleads/v14/enums/extension_setting_device.proto"; +import "google/ads/googleads/v14/enums/extension_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupExtensionSettingProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/ad_group_extension_setting.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/ad_group_extension_setting.proto + google.ads.googleads.v13.enums.ExtensionTypeEnum.ExtensionType +======== + google.ads.googleads.v14.enums.ExtensionTypeEnum.ExtensionType +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/ad_group_extension_setting.proto + 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/ad_group_extension_setting.proto + google.ads.googleads.v13.enums.ExtensionSettingDeviceEnum +======== + google.ads.googleads.v14.enums.ExtensionSettingDeviceEnum +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/ad_group_extension_setting.proto + .ExtensionSettingDevice device = 5; +} diff --git a/third_party/googleapis/google/ads/googleads/v14/resources/ad_group_feed.proto b/third_party/googleapis/google/ads/googleads/v14/resources/ad_group_feed.proto new file mode 100644 index 000000000..10eb3beb2 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/ad_group_feed.proto @@ -0,0 +1,117 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/ad_group_feed.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/ad_group_feed.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/ad_group_feed.proto +package google.ads.googleads.v13.resources; + +import "google/ads/googleads/v13/common/matching_function.proto"; +import "google/ads/googleads/v13/enums/feed_link_status.proto"; +import "google/ads/googleads/v13/enums/placeholder_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupFeedProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +package google.ads.googleads.v14.resources; + +import "google/ads/googleads/v14/common/matching_function.proto"; +import "google/ads/googleads/v14/enums/feed_link_status.proto"; +import "google/ads/googleads/v14/enums/placeholder_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupFeedProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/ad_group_feed.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/ad_group_feed.proto + repeated google.ads.googleads.v13.enums.PlaceholderTypeEnum.PlaceholderType +======== + repeated google.ads.googleads.v14.enums.PlaceholderTypeEnum.PlaceholderType +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/ad_group_feed.proto + placeholder_types = 4; + + // Matching function associated with the AdGroupFeed. + // The matching function is used to filter the set of feed items selected. + // Required. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/ad_group_feed.proto + google.ads.googleads.v13.common.MatchingFunction matching_function = 5; + + // Output only. Status of the ad group feed. + // This field is read-only. + google.ads.googleads.v13.enums.FeedLinkStatusEnum.FeedLinkStatus status = 6 +======== + google.ads.googleads.v14.common.MatchingFunction matching_function = 5; + + // Output only. Status of the ad group feed. + // This field is read-only. + google.ads.googleads.v14.enums.FeedLinkStatusEnum.FeedLinkStatus status = 6 +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/ad_group_feed.proto + [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v14/resources/ad_group_label.proto b/third_party/googleapis/google/ads/googleads/v14/resources/ad_group_label.proto new file mode 100644 index 000000000..06752a54c --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/ad_group_label.proto @@ -0,0 +1,82 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/ad_group_label.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/ad_group_label.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/ad_group_label.proto +package google.ads.googleads.v13.resources; +======== +package google.ads.googleads.v14.resources; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/ad_group_label.proto + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/ad_group_label.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupLabelProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupLabelProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/ad_group_label.proto + +// 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/v14/resources/ad_group_simulation.proto b/third_party/googleapis/google/ads/googleads/v14/resources/ad_group_simulation.proto new file mode 100644 index 000000000..c54a9d522 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/ad_group_simulation.proto @@ -0,0 +1,149 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/ad_group_simulation.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/ad_group_simulation.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/ad_group_simulation.proto +package google.ads.googleads.v13.resources; + +import "google/ads/googleads/v13/common/simulation.proto"; +import "google/ads/googleads/v13/enums/simulation_modification_method.proto"; +import "google/ads/googleads/v13/enums/simulation_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupSimulationProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +package google.ads.googleads.v14.resources; + +import "google/ads/googleads/v14/common/simulation.proto"; +import "google/ads/googleads/v14/enums/simulation_modification_method.proto"; +import "google/ads/googleads/v14/enums/simulation_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupSimulationProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/ad_group_simulation.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/ad_group_simulation.proto + google.ads.googleads.v13.enums.SimulationTypeEnum.SimulationType type = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. How the simulation modifies the field. + google.ads.googleads.v13.enums.SimulationModificationMethodEnum +======== + google.ads.googleads.v14.enums.SimulationTypeEnum.SimulationType type = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. How the simulation modifies the field. + google.ads.googleads.v14.enums.SimulationModificationMethodEnum +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/ad_group_simulation.proto + .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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/ad_group_simulation.proto + google.ads.googleads.v13.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.v13.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.v13.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.v13.common.TargetRoasSimulationPointList +======== + google.ads.googleads.v14.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.v14.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.v14.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.v14.common.TargetRoasSimulationPointList +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/ad_group_simulation.proto + target_roas_point_list = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v14/resources/ad_parameter.proto b/third_party/googleapis/google/ads/googleads/v14/resources/ad_parameter.proto new file mode 100644 index 000000000..967707ec9 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/ad_parameter.proto @@ -0,0 +1,100 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/ad_parameter.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/ad_parameter.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/ad_parameter.proto +package google.ads.googleads.v12.resources; +======== +package google.ads.googleads.v14.resources; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/ad_parameter.proto + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/ad_parameter.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdParameterProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdParameterProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/ad_parameter.proto + +// 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/v14/resources/ad_schedule_view.proto b/third_party/googleapis/google/ads/googleads/v14/resources/ad_schedule_view.proto new file mode 100644 index 000000000..d8b12058d --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/ad_schedule_view.proto @@ -0,0 +1,70 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/ad_schedule_view.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/ad_schedule_view.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/ad_schedule_view.proto +package google.ads.googleads.v12.resources; +======== +package google.ads.googleads.v14.resources; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/ad_schedule_view.proto + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/ad_schedule_view.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdScheduleViewProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdScheduleViewProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/ad_schedule_view.proto + +// 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/v14/resources/age_range_view.proto b/third_party/googleapis/google/ads/googleads/v14/resources/age_range_view.proto new file mode 100644 index 000000000..5977cfae4 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/age_range_view.proto @@ -0,0 +1,69 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/age_range_view.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/age_range_view.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/age_range_view.proto +package google.ads.googleads.v12.resources; +======== +package google.ads.googleads.v14.resources; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/age_range_view.proto + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/age_range_view.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AgeRangeViewProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AgeRangeViewProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/age_range_view.proto + +// 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/v14/resources/asset.proto b/third_party/googleapis/google/ads/googleads/v14/resources/asset.proto new file mode 100644 index 000000000..1832aa434 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/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.v14.resources; + +import "google/ads/googleads/v14/common/asset_types.proto"; +import "google/ads/googleads/v14/common/custom_parameter.proto"; +import "google/ads/googleads/v14/common/policy.proto"; +import "google/ads/googleads/v14/enums/asset_field_type.proto"; +import "google/ads/googleads/v14/enums/asset_source.proto"; +import "google/ads/googleads/v14/enums/asset_type.proto"; +import "google/ads/googleads/v14/enums/policy_approval_status.proto"; +import "google/ads/googleads/v14/enums/policy_review_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AssetProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::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.v14.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.v14.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.v14.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.v14.common.YoutubeVideoAsset youtube_video_asset = 5 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. A media bundle asset. + google.ads.googleads.v14.common.MediaBundleAsset media_bundle_asset = 6 + [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. An image asset. + google.ads.googleads.v14.common.ImageAsset image_asset = 7 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. A text asset. + google.ads.googleads.v14.common.TextAsset text_asset = 8 + [(google.api.field_behavior) = IMMUTABLE]; + + // A lead form asset. + google.ads.googleads.v14.common.LeadFormAsset lead_form_asset = 9; + + // A book on google asset. + google.ads.googleads.v14.common.BookOnGoogleAsset book_on_google_asset = 10; + + // A promotion asset. + google.ads.googleads.v14.common.PromotionAsset promotion_asset = 15; + + // A callout asset. + google.ads.googleads.v14.common.CalloutAsset callout_asset = 20; + + // A structured snippet asset. + google.ads.googleads.v14.common.StructuredSnippetAsset + structured_snippet_asset = 21; + + // A sitelink asset. + google.ads.googleads.v14.common.SitelinkAsset sitelink_asset = 22; + + // A page feed asset. + google.ads.googleads.v14.common.PageFeedAsset page_feed_asset = 23; + + // A dynamic education asset. + google.ads.googleads.v14.common.DynamicEducationAsset + dynamic_education_asset = 24; + + // A mobile app asset. + google.ads.googleads.v14.common.MobileAppAsset mobile_app_asset = 25; + + // A hotel callout asset. + google.ads.googleads.v14.common.HotelCalloutAsset hotel_callout_asset = 26; + + // A call asset. + google.ads.googleads.v14.common.CallAsset call_asset = 27; + + // A price asset. + google.ads.googleads.v14.common.PriceAsset price_asset = 28; + + // Immutable. A call to action asset. + google.ads.googleads.v14.common.CallToActionAsset call_to_action_asset = 29 + [(google.api.field_behavior) = IMMUTABLE]; + + // A dynamic real estate asset. + google.ads.googleads.v14.common.DynamicRealEstateAsset + dynamic_real_estate_asset = 30; + + // A dynamic custom asset. + google.ads.googleads.v14.common.DynamicCustomAsset dynamic_custom_asset = + 31; + + // A dynamic hotels and rentals asset. + google.ads.googleads.v14.common.DynamicHotelsAndRentalsAsset + dynamic_hotels_and_rentals_asset = 32; + + // A dynamic flights asset. + google.ads.googleads.v14.common.DynamicFlightsAsset dynamic_flights_asset = + 33; + + // Immutable. A discovery carousel card asset. + google.ads.googleads.v14.common.DiscoveryCarouselCardAsset + discovery_carousel_card_asset = 34 + [(google.api.field_behavior) = IMMUTABLE]; + + // A dynamic travel asset. + google.ads.googleads.v14.common.DynamicTravelAsset dynamic_travel_asset = + 35; + + // A dynamic local asset. + google.ads.googleads.v14.common.DynamicLocalAsset dynamic_local_asset = 36; + + // A dynamic jobs asset. + google.ads.googleads.v14.common.DynamicJobsAsset dynamic_jobs_asset = 37; + + // Output only. A location asset. + google.ads.googleads.v14.common.LocationAsset location_asset = 39 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. A hotel property asset. + google.ads.googleads.v14.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.v14.enums.AssetFieldTypeEnum.AssetFieldType + asset_field_type = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Source of this asset. + optional google.ads.googleads.v14.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.v14.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.v14.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.v14.enums.PolicyApprovalStatusEnum.PolicyApprovalStatus + approval_status = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v14/resources/asset_field_type_view.proto b/third_party/googleapis/google/ads/googleads/v14/resources/asset_field_type_view.proto new file mode 100644 index 000000000..84bce9342 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/asset_field_type_view.proto @@ -0,0 +1,82 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/asset_field_type_view.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/asset_field_type_view.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/asset_field_type_view.proto +package google.ads.googleads.v13.resources; + +import "google/ads/googleads/v13/enums/asset_field_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AssetFieldTypeViewProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +package google.ads.googleads.v14.resources; + +import "google/ads/googleads/v14/enums/asset_field_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AssetFieldTypeViewProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/asset_field_type_view.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/asset_field_type_view.proto + google.ads.googleads.v13.enums.AssetFieldTypeEnum.AssetFieldType field_type = +======== + google.ads.googleads.v14.enums.AssetFieldTypeEnum.AssetFieldType field_type = +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/asset_field_type_view.proto + 3 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v14/resources/asset_group.proto b/third_party/googleapis/google/ads/googleads/v14/resources/asset_group.proto new file mode 100644 index 000000000..656694b81 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/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.v14.resources; + +import "google/ads/googleads/v14/enums/ad_strength.proto"; +import "google/ads/googleads/v14/enums/asset_group_primary_status.proto"; +import "google/ads/googleads/v14/enums/asset_group_primary_status_reason.proto"; +import "google/ads/googleads/v14/enums/asset_group_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AssetGroupProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::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.v14.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.v14.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.v14.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.v14.enums.AdStrengthEnum.AdStrength ad_strength = 10 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v14/resources/asset_group_asset.proto b/third_party/googleapis/google/ads/googleads/v14/resources/asset_group_asset.proto new file mode 100644 index 000000000..dd56f01a1 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/asset_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.v14.resources; + +import "google/ads/googleads/v14/common/asset_policy.proto"; +import "google/ads/googleads/v14/common/policy_summary.proto"; +import "google/ads/googleads/v14/enums/asset_field_type.proto"; +import "google/ads/googleads/v14/enums/asset_link_primary_status.proto"; +import "google/ads/googleads/v14/enums/asset_link_primary_status_reason.proto"; +import "google/ads/googleads/v14/enums/asset_link_status.proto"; +import "google/ads/googleads/v14/enums/asset_performance_label.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AssetGroupAssetProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::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.v14.enums.AssetFieldTypeEnum.AssetFieldType field_type = + 4; + + // The status of the link between an asset and asset group. + google.ads.googleads.v14.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.v14.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.v14.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.v14.common.AssetLinkPrimaryStatusDetails + primary_status_details = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The performance of this asset group asset. + google.ads.googleads.v14.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.v14.common.PolicySummary policy_summary = 7 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v14/resources/asset_group_listing_group_filter.proto b/third_party/googleapis/google/ads/googleads/v14/resources/asset_group_listing_group_filter.proto new file mode 100644 index 000000000..86ed01be3 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/asset_group_listing_group_filter.proto @@ -0,0 +1,245 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/asset_group_listing_group_filter.proto +package google.ads.googleads.v12.resources; + +import "google/ads/googleads/v12/enums/listing_group_filter_bidding_category_level.proto"; +import "google/ads/googleads/v12/enums/listing_group_filter_custom_attribute_index.proto"; +import "google/ads/googleads/v12/enums/listing_group_filter_product_channel.proto"; +import "google/ads/googleads/v12/enums/listing_group_filter_product_condition.proto"; +import "google/ads/googleads/v12/enums/listing_group_filter_product_type_level.proto"; +import "google/ads/googleads/v12/enums/listing_group_filter_type_enum.proto"; +import "google/ads/googleads/v12/enums/listing_group_filter_vertical.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AssetGroupListingGroupFilterProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +package google.ads.googleads.v14.resources; + +import "google/ads/googleads/v14/enums/listing_group_filter_bidding_category_level.proto"; +import "google/ads/googleads/v14/enums/listing_group_filter_custom_attribute_index.proto"; +import "google/ads/googleads/v14/enums/listing_group_filter_product_channel.proto"; +import "google/ads/googleads/v14/enums/listing_group_filter_product_condition.proto"; +import "google/ads/googleads/v14/enums/listing_group_filter_product_type_level.proto"; +import "google/ads/googleads/v14/enums/listing_group_filter_type_enum.proto"; +import "google/ads/googleads/v14/enums/listing_group_filter_vertical.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AssetGroupListingGroupFilterProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/asset_group_listing_group_filter.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/asset_group_listing_group_filter.proto + google.ads.googleads.v12.enums.ListingGroupFilterTypeEnum.ListingGroupFilterType type = 4 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. The vertical the current node tree represents. All nodes in the same tree + // must belong to the same vertical. + google.ads.googleads.v12.enums.ListingGroupFilterVerticalEnum.ListingGroupFilterVertical vertical = 5 [(google.api.field_behavior) = IMMUTABLE]; +======== + google.ads.googleads.v14.enums.ListingGroupFilterTypeEnum + .ListingGroupFilterType type = 4 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. The vertical the current node tree represents. All nodes in the + // same tree must belong to the same vertical. + google.ads.googleads.v14.enums.ListingGroupFilterVerticalEnum + .ListingGroupFilterVertical vertical = 5 + [(google.api.field_behavior) = IMMUTABLE]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/asset_group_listing_group_filter.proto + + // 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 bidding 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 ProductBiddingCategory { + // ID of the product bidding 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 id = 1; + + // Indicates the level of the category in the taxonomy. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/asset_group_listing_group_filter.proto + google.ads.googleads.v12.enums.ListingGroupFilterBiddingCategoryLevelEnum.ListingGroupFilterBiddingCategoryLevel level = 2; +======== + google.ads.googleads.v14.enums.ListingGroupFilterBiddingCategoryLevelEnum + .ListingGroupFilterBiddingCategoryLevel level = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/asset_group_listing_group_filter.proto + } + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/asset_group_listing_group_filter.proto + google.ads.googleads.v12.enums.ListingGroupFilterProductChannelEnum.ListingGroupFilterProductChannel channel = 1; +======== + google.ads.googleads.v14.enums.ListingGroupFilterProductChannelEnum + .ListingGroupFilterProductChannel channel = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/asset_group_listing_group_filter.proto + } + + // Condition of a product offer. + message ProductCondition { + // Value of the condition. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/asset_group_listing_group_filter.proto + google.ads.googleads.v12.enums.ListingGroupFilterProductConditionEnum.ListingGroupFilterProductCondition condition = 1; +======== + google.ads.googleads.v14.enums.ListingGroupFilterProductConditionEnum + .ListingGroupFilterProductCondition condition = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/asset_group_listing_group_filter.proto + } + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/asset_group_listing_group_filter.proto + google.ads.googleads.v12.enums.ListingGroupFilterCustomAttributeIndexEnum.ListingGroupFilterCustomAttributeIndex index = 2; +======== + google.ads.googleads.v14.enums.ListingGroupFilterCustomAttributeIndexEnum + .ListingGroupFilterCustomAttributeIndex index = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/asset_group_listing_group_filter.proto + } + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/asset_group_listing_group_filter.proto + google.ads.googleads.v12.enums.ListingGroupFilterProductTypeLevelEnum.ListingGroupFilterProductTypeLevel level = 2; +======== + google.ads.googleads.v14.enums.ListingGroupFilterProductTypeLevelEnum + .ListingGroupFilterProductTypeLevel level = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/asset_group_listing_group_filter.proto + } + + // Dimension of one of the types below is always present. + oneof dimension { + // Bidding category of a product offer. + ProductBiddingCategory product_bidding_category = 1; + + // 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; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v14/resources/asset_group_product_group_view.proto b/third_party/googleapis/google/ads/googleads/v14/resources/asset_group_product_group_view.proto new file mode 100644 index 000000000..5845245d8 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/asset_group_product_group_view.proto @@ -0,0 +1,85 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/asset_group_product_group_view.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/asset_group_product_group_view.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/asset_group_product_group_view.proto +package google.ads.googleads.v12.resources; +======== +package google.ads.googleads.v14.resources; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/asset_group_product_group_view.proto + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/asset_group_product_group_view.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AssetGroupProductGroupViewProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AssetGroupProductGroupViewProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/asset_group_product_group_view.proto + +// 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/v14/resources/asset_group_signal.proto b/third_party/googleapis/google/ads/googleads/v14/resources/asset_group_signal.proto new file mode 100644 index 000000000..be285ee58 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/asset_group_signal.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/asset_group_signal.proto +package google.ads.googleads.v12.resources; + +import "google/ads/googleads/v12/common/criteria.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AssetGroupSignalProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +package google.ads.googleads.v14.resources; + +import "google/ads/googleads/v14/common/criteria.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AssetGroupSignalProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/asset_group_signal.proto + +// 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" + } + ]; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/asset_group_signal.proto + // Immutable. The signal(audience criterion) to be used by the performance max campaign. + google.ads.googleads.v12.common.AudienceInfo audience = 3 [(google.api.field_behavior) = IMMUTABLE]; +======== + // Immutable. The signal(audience criterion) to be used by the performance max + // campaign. + google.ads.googleads.v14.common.AudienceInfo audience = 3 + [(google.api.field_behavior) = IMMUTABLE]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/asset_group_signal.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v14/resources/asset_set.proto b/third_party/googleapis/google/ads/googleads/v14/resources/asset_set.proto new file mode 100644 index 000000000..1da814b53 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/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.v14.resources; + +import "google/ads/googleads/v14/common/asset_set_types.proto"; +import "google/ads/googleads/v14/enums/asset_set_status.proto"; +import "google/ads/googleads/v14/enums/asset_set_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AssetSetProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::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.v14.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.v14.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.v14.common.LocationSet location_set = 7; + + // Business Profile location group asset set data. + google.ads.googleads.v14.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.v14.common.ChainLocationGroup chain_location_group = 9; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v14/resources/asset_set_asset.proto b/third_party/googleapis/google/ads/googleads/v14/resources/asset_set_asset.proto new file mode 100644 index 000000000..bb8a12a24 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/asset_set_asset.proto @@ -0,0 +1,93 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/asset_set_asset.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/asset_set_asset.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/asset_set_asset.proto +package google.ads.googleads.v13.resources; + +import "google/ads/googleads/v13/enums/asset_set_asset_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AssetSetAssetProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +package google.ads.googleads.v14.resources; + +import "google/ads/googleads/v14/enums/asset_set_asset_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AssetSetAssetProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/asset_set_asset.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/asset_set_asset.proto + google.ads.googleads.v13.enums.AssetSetAssetStatusEnum.AssetSetAssetStatus +======== + google.ads.googleads.v14.enums.AssetSetAssetStatusEnum.AssetSetAssetStatus +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/asset_set_asset.proto + status = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v14/resources/asset_set_type_view.proto b/third_party/googleapis/google/ads/googleads/v14/resources/asset_set_type_view.proto new file mode 100644 index 000000000..ee4ca8a45 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/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.v14.resources; + +import "google/ads/googleads/v14/enums/asset_set_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AssetSetTypeViewProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::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.v14.enums.AssetSetTypeEnum.AssetSetType asset_set_type = + 3 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v14/resources/audience.proto b/third_party/googleapis/google/ads/googleads/v14/resources/audience.proto new file mode 100644 index 000000000..ee2add662 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/audience.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/audience.proto +package google.ads.googleads.v12.resources; + +import "google/ads/googleads/v12/common/audiences.proto"; +import "google/ads/googleads/v12/enums/audience_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AudienceProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +package google.ads.googleads.v14.resources; + +import "google/ads/googleads/v14/common/audiences.proto"; +import "google/ads/googleads/v14/enums/audience_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AudienceProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/audience.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/audience.proto + google.ads.googleads.v12.enums.AudienceStatusEnum.AudienceStatus status = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; +======== + google.ads.googleads.v14.enums.AudienceStatusEnum.AudienceStatus status = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/audience.proto + + // Required. Name of the audience. It should be unique across all + // audiences. It must have a minimum length of 1 and + // maximum length of 255. + string name = 4 [(google.api.field_behavior) = REQUIRED]; + + // Description of this audience. + string description = 5; + + // Positive dimensions specifying the audience composition. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/audience.proto + repeated google.ads.googleads.v12.common.AudienceDimension dimensions = 6; + + // Negative dimension specifying the audience composition. + google.ads.googleads.v12.common.AudienceExclusionDimension exclusion_dimension = 7; +======== + repeated google.ads.googleads.v14.common.AudienceDimension dimensions = 6; + + // Negative dimension specifying the audience composition. + google.ads.googleads.v14.common.AudienceExclusionDimension + exclusion_dimension = 7; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/audience.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v14/resources/batch_job.proto b/third_party/googleapis/google/ads/googleads/v14/resources/batch_job.proto new file mode 100644 index 000000000..92f9efba2 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/batch_job.proto @@ -0,0 +1,138 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/batch_job.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/batch_job.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/batch_job.proto +package google.ads.googleads.v13.resources; + +import "google/ads/googleads/v13/enums/batch_job_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "BatchJobProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +package google.ads.googleads.v14.resources; + +import "google/ads/googleads/v14/enums/batch_job_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "BatchJobProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/batch_job.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/batch_job.proto + google.ads.googleads.v13.enums.BatchJobStatusEnum.BatchJobStatus status = 5 +======== + google.ads.googleads.v14.enums.BatchJobStatusEnum.BatchJobStatus status = 5 +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/batch_job.proto + [(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/v14/resources/bidding_data_exclusion.proto b/third_party/googleapis/google/ads/googleads/v14/resources/bidding_data_exclusion.proto new file mode 100644 index 000000000..bb2d8d13d --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/bidding_data_exclusion.proto @@ -0,0 +1,152 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/bidding_data_exclusion.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/bidding_data_exclusion.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/bidding_data_exclusion.proto +package google.ads.googleads.v13.resources; + +import "google/ads/googleads/v13/enums/advertising_channel_type.proto"; +import "google/ads/googleads/v13/enums/device.proto"; +import "google/ads/googleads/v13/enums/seasonality_event_scope.proto"; +import "google/ads/googleads/v13/enums/seasonality_event_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "BiddingDataExclusionProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +package google.ads.googleads.v14.resources; + +import "google/ads/googleads/v14/enums/advertising_channel_type.proto"; +import "google/ads/googleads/v14/enums/device.proto"; +import "google/ads/googleads/v14/enums/seasonality_event_scope.proto"; +import "google/ads/googleads/v14/enums/seasonality_event_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "BiddingDataExclusionProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/bidding_data_exclusion.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/bidding_data_exclusion.proto + google.ads.googleads.v13.enums.SeasonalityEventScopeEnum.SeasonalityEventScope + scope = 3; + + // Output only. The status of the data exclusion. + google.ads.googleads.v13.enums.SeasonalityEventStatusEnum +======== + google.ads.googleads.v14.enums.SeasonalityEventScopeEnum.SeasonalityEventScope + scope = 3; + + // Output only. The status of the data exclusion. + google.ads.googleads.v14.enums.SeasonalityEventStatusEnum +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/bidding_data_exclusion.proto + .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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/bidding_data_exclusion.proto + repeated google.ads.googleads.v13.enums.DeviceEnum.Device devices = 9; +======== + repeated google.ads.googleads.v14.enums.DeviceEnum.Device devices = 9; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/bidding_data_exclusion.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/bidding_data_exclusion.proto + repeated google.ads.googleads.v13.enums.AdvertisingChannelTypeEnum +======== + repeated google.ads.googleads.v14.enums.AdvertisingChannelTypeEnum +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/bidding_data_exclusion.proto + .AdvertisingChannelType advertising_channel_types = 11; +} diff --git a/third_party/googleapis/google/ads/googleads/v14/resources/bidding_seasonality_adjustment.proto b/third_party/googleapis/google/ads/googleads/v14/resources/bidding_seasonality_adjustment.proto new file mode 100644 index 000000000..c753f22b3 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/bidding_seasonality_adjustment.proto @@ -0,0 +1,158 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/bidding_seasonality_adjustment.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/bidding_seasonality_adjustment.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/bidding_seasonality_adjustment.proto +package google.ads.googleads.v13.resources; + +import "google/ads/googleads/v13/enums/advertising_channel_type.proto"; +import "google/ads/googleads/v13/enums/device.proto"; +import "google/ads/googleads/v13/enums/seasonality_event_scope.proto"; +import "google/ads/googleads/v13/enums/seasonality_event_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "BiddingSeasonalityAdjustmentProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +package google.ads.googleads.v14.resources; + +import "google/ads/googleads/v14/enums/advertising_channel_type.proto"; +import "google/ads/googleads/v14/enums/device.proto"; +import "google/ads/googleads/v14/enums/seasonality_event_scope.proto"; +import "google/ads/googleads/v14/enums/seasonality_event_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "BiddingSeasonalityAdjustmentProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/bidding_seasonality_adjustment.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/bidding_seasonality_adjustment.proto + google.ads.googleads.v13.enums.SeasonalityEventScopeEnum.SeasonalityEventScope + scope = 3; + + // Output only. The status of the seasonality adjustment. + google.ads.googleads.v13.enums.SeasonalityEventStatusEnum +======== + google.ads.googleads.v14.enums.SeasonalityEventScopeEnum.SeasonalityEventScope + scope = 3; + + // Output only. The status of the seasonality adjustment. + google.ads.googleads.v14.enums.SeasonalityEventStatusEnum +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/bidding_seasonality_adjustment.proto + .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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/bidding_seasonality_adjustment.proto + repeated google.ads.googleads.v13.enums.DeviceEnum.Device devices = 9; +======== + repeated google.ads.googleads.v14.enums.DeviceEnum.Device devices = 9; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/bidding_seasonality_adjustment.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/bidding_seasonality_adjustment.proto + repeated google.ads.googleads.v13.enums.AdvertisingChannelTypeEnum +======== + repeated google.ads.googleads.v14.enums.AdvertisingChannelTypeEnum +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/bidding_seasonality_adjustment.proto + .AdvertisingChannelType advertising_channel_types = 12; +} diff --git a/third_party/googleapis/google/ads/googleads/v14/resources/bidding_strategy.proto b/third_party/googleapis/google/ads/googleads/v14/resources/bidding_strategy.proto new file mode 100644 index 000000000..022e0f623 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/bidding_strategy.proto @@ -0,0 +1,223 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/searchads360/v0/resources/bidding_strategy.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/bidding_strategy.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/searchads360/v0/resources/bidding_strategy.proto +package google.ads.searchads360.v0.resources; + +import "google/ads/searchads360/v0/common/bidding.proto"; +import "google/ads/searchads360/v0/enums/bidding_strategy_status.proto"; +import "google/ads/searchads360/v0/enums/bidding_strategy_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.SearchAds360.V0.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/searchads360/v0/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "BiddingStrategyProto"; +option java_package = "com.google.ads.searchads360.v0.resources"; +option objc_class_prefix = "GASA360"; +option php_namespace = "Google\\Ads\\SearchAds360\\V0\\Resources"; +option ruby_package = "Google::Ads::SearchAds360::V0::Resources"; +======== +package google.ads.googleads.v14.resources; + +import "google/ads/googleads/v14/common/bidding.proto"; +import "google/ads/googleads/v14/enums/bidding_strategy_status.proto"; +import "google/ads/googleads/v14/enums/bidding_strategy_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "BiddingStrategyProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/bidding_strategy.proto + +// Proto file describing the BiddingStrategy resource + +// A bidding strategy. +message BiddingStrategy { + option (google.api.resource) = { + type: "searchads360.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: "searchads360.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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/searchads360/v0/resources/bidding_strategy.proto + google.ads.searchads360.v0.enums.BiddingStrategyStatusEnum.BiddingStrategyStatus status = 15 [(google.api.field_behavior) = OUTPUT_ONLY]; +======== + google.ads.googleads.v14.enums.BiddingStrategyStatusEnum.BiddingStrategyStatus + status = 15 [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/bidding_strategy.proto + + // Output only. The type of the bidding strategy. + // Create a bidding strategy by setting the bidding scheme. + // + // This field is read-only. +<<<<<<<< HEAD:third_party/googleapis/google/ads/searchads360/v0/resources/bidding_strategy.proto + google.ads.searchads360.v0.enums.BiddingStrategyTypeEnum.BiddingStrategyType type = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; +======== + google.ads.googleads.v14.enums.BiddingStrategyTypeEnum.BiddingStrategyType + type = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/bidding_strategy.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/searchads360/v0/resources/bidding_strategy.proto + google.ads.searchads360.v0.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.searchads360.v0.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.searchads360.v0.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.searchads360.v0.common.TargetCpa target_cpa = 9; + + // A bidding strategy that automatically optimizes towards a chosen + // percentage of impressions. + google.ads.searchads360.v0.common.TargetImpressionShare target_impression_share = 48; + + // A bidding strategy that sets bids based on the target fraction of + // auctions where the advertiser should outrank a specific competitor. + // This field is deprecated. Creating a new bidding strategy with this + // field or attaching bidding strategies with this field to a campaign will + // fail. Mutates to strategies that already have this scheme populated are + // allowed. + google.ads.searchads360.v0.common.TargetOutrankShare target_outrank_share = 10; + + // A bidding strategy that helps you maximize revenue while averaging a + // specific target Return On Ad Spend (ROAS). + google.ads.searchads360.v0.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.searchads360.v0.common.TargetSpend target_spend = 12; +======== + google.ads.googleads.v14.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.v14.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.v14.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.v14.common.TargetCpa target_cpa = 9; + + // A bidding strategy that automatically optimizes towards a chosen + // percentage of impressions. + google.ads.googleads.v14.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.v14.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.v14.common.TargetSpend target_spend = 12; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/bidding_strategy.proto + } +} diff --git a/third_party/googleapis/google/ads/googleads/v14/resources/bidding_strategy_simulation.proto b/third_party/googleapis/google/ads/googleads/v14/resources/bidding_strategy_simulation.proto new file mode 100644 index 000000000..aaa54c578 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/bidding_strategy_simulation.proto @@ -0,0 +1,127 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/bidding_strategy_simulation.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/bidding_strategy_simulation.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/bidding_strategy_simulation.proto +package google.ads.googleads.v13.resources; + +import "google/ads/googleads/v13/common/simulation.proto"; +import "google/ads/googleads/v13/enums/simulation_modification_method.proto"; +import "google/ads/googleads/v13/enums/simulation_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "BiddingStrategySimulationProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +package google.ads.googleads.v14.resources; + +import "google/ads/googleads/v14/common/simulation.proto"; +import "google/ads/googleads/v14/enums/simulation_modification_method.proto"; +import "google/ads/googleads/v14/enums/simulation_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "BiddingStrategySimulationProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/bidding_strategy_simulation.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/bidding_strategy_simulation.proto + google.ads.googleads.v13.enums.SimulationTypeEnum.SimulationType type = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. How the simulation modifies the field. + google.ads.googleads.v13.enums.SimulationModificationMethodEnum +======== + google.ads.googleads.v14.enums.SimulationTypeEnum.SimulationType type = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. How the simulation modifies the field. + google.ads.googleads.v14.enums.SimulationModificationMethodEnum +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/bidding_strategy_simulation.proto + .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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/bidding_strategy_simulation.proto + google.ads.googleads.v13.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.v13.common.TargetRoasSimulationPointList +======== + google.ads.googleads.v14.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.v14.common.TargetRoasSimulationPointList +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/bidding_strategy_simulation.proto + target_roas_point_list = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v14/resources/billing_setup.proto b/third_party/googleapis/google/ads/googleads/v14/resources/billing_setup.proto new file mode 100644 index 000000000..59c352db4 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/billing_setup.proto @@ -0,0 +1,185 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/billing_setup.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/billing_setup.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/billing_setup.proto +package google.ads.googleads.v13.resources; + +import "google/ads/googleads/v13/enums/billing_setup_status.proto"; +import "google/ads/googleads/v13/enums/time_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "BillingSetupProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +package google.ads.googleads.v14.resources; + +import "google/ads/googleads/v14/enums/billing_setup_status.proto"; +import "google/ads/googleads/v14/enums/time_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "BillingSetupProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/billing_setup.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/billing_setup.proto + google.ads.googleads.v13.enums.BillingSetupStatusEnum.BillingSetupStatus +======== + google.ads.googleads.v14.enums.BillingSetupStatusEnum.BillingSetupStatus +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/billing_setup.proto + 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/billing_setup.proto + google.ads.googleads.v13.enums.TimeTypeEnum.TimeType start_time_type = 10 +======== + google.ads.googleads.v14.enums.TimeTypeEnum.TimeType start_time_type = 10 +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/billing_setup.proto + [(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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/billing_setup.proto + google.ads.googleads.v13.enums.TimeTypeEnum.TimeType end_time_type = 14 +======== + google.ads.googleads.v14.enums.TimeTypeEnum.TimeType end_time_type = 14 +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/billing_setup.proto + [(google.api.field_behavior) = OUTPUT_ONLY]; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v14/resources/call_view.proto b/third_party/googleapis/google/ads/googleads/v14/resources/call_view.proto new file mode 100644 index 000000000..dd71c8196 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/call_view.proto @@ -0,0 +1,118 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/call_view.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/call_view.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/call_view.proto +package google.ads.googleads.v13.resources; + +import "google/ads/googleads/v13/enums/call_tracking_display_location.proto"; +import "google/ads/googleads/v13/enums/call_type.proto"; +import "google/ads/googleads/v13/enums/google_voice_call_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CallViewProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +package google.ads.googleads.v14.resources; + +import "google/ads/googleads/v14/enums/call_tracking_display_location.proto"; +import "google/ads/googleads/v14/enums/call_type.proto"; +import "google/ads/googleads/v14/enums/google_voice_call_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CallViewProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/call_view.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/call_view.proto + google.ads.googleads.v13.enums.CallTrackingDisplayLocationEnum +======== + google.ads.googleads.v14.enums.CallTrackingDisplayLocationEnum +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/call_view.proto + .CallTrackingDisplayLocation call_tracking_display_location = 7 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The type of the call. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/call_view.proto + google.ads.googleads.v13.enums.CallTypeEnum.CallType type = 8 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The status of the call. + google.ads.googleads.v13.enums.GoogleVoiceCallStatusEnum.GoogleVoiceCallStatus +======== + google.ads.googleads.v14.enums.CallTypeEnum.CallType type = 8 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The status of the call. + google.ads.googleads.v14.enums.GoogleVoiceCallStatusEnum.GoogleVoiceCallStatus +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/call_view.proto + call_status = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v14/resources/campaign.proto b/third_party/googleapis/google/ads/googleads/v14/resources/campaign.proto new file mode 100644 index 000000000..bfd6ae8f4 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/campaign.proto @@ -0,0 +1,660 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.ads.googleads.v14.resources; + +import "google/ads/googleads/v14/common/bidding.proto"; +import "google/ads/googleads/v14/common/custom_parameter.proto"; +import "google/ads/googleads/v14/common/frequency_cap.proto"; +import "google/ads/googleads/v14/common/real_time_bidding_setting.proto"; +import "google/ads/googleads/v14/common/targeting_setting.proto"; +import "google/ads/googleads/v14/enums/ad_serving_optimization_status.proto"; +import "google/ads/googleads/v14/enums/advertising_channel_sub_type.proto"; +import "google/ads/googleads/v14/enums/advertising_channel_type.proto"; +import "google/ads/googleads/v14/enums/app_campaign_app_store.proto"; +import "google/ads/googleads/v14/enums/app_campaign_bidding_strategy_goal_type.proto"; +import "google/ads/googleads/v14/enums/asset_field_type.proto"; +import "google/ads/googleads/v14/enums/asset_set_type.proto"; +import "google/ads/googleads/v14/enums/bidding_strategy_system_status.proto"; +import "google/ads/googleads/v14/enums/bidding_strategy_type.proto"; +import "google/ads/googleads/v14/enums/brand_safety_suitability.proto"; +import "google/ads/googleads/v14/enums/campaign_experiment_type.proto"; +import "google/ads/googleads/v14/enums/campaign_primary_status.proto"; +import "google/ads/googleads/v14/enums/campaign_primary_status_reason.proto"; +import "google/ads/googleads/v14/enums/campaign_serving_status.proto"; +import "google/ads/googleads/v14/enums/campaign_status.proto"; +import "google/ads/googleads/v14/enums/listing_type.proto"; +import "google/ads/googleads/v14/enums/location_source_type.proto"; +import "google/ads/googleads/v14/enums/negative_geo_target_type.proto"; +import "google/ads/googleads/v14/enums/optimization_goal_type.proto"; +import "google/ads/googleads/v14/enums/payment_mode.proto"; +import "google/ads/googleads/v14/enums/performance_max_upgrade_status.proto"; +import "google/ads/googleads/v14/enums/positive_geo_target_type.proto"; +import "google/ads/googleads/v14/enums/vanity_pharma_display_url_mode.proto"; +import "google/ads/googleads/v14/enums/vanity_pharma_text.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::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.v14.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; + } + + // 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 { + // Immutable. 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 [(google.api.field_behavior) = IMMUTABLE]; + + // Sales country of products to include in the campaign. + // Only one of feed_label or sales_country can be set. + // Field is immutable except for clearing. + // Once this field is cleared, you must use feed_label if you + // want to set the sales country. + optional string sales_country = 6; + + // 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]; + } + + // 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.v14.enums.PositiveGeoTargetTypeEnum + .PositiveGeoTargetType positive_geo_target_type = 1; + + // The setting used for negative geotargeting in this particular campaign. + google.ads.googleads.v14.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.v14.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.v14.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.v14.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.v14.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.v14.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.v14.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]; + } + + // 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.v14.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.v14.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.v14.enums.CampaignStatusEnum.CampaignStatus status = 5; + + // Output only. The ad serving status of the campaign. + google.ads.googleads.v14.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.v14.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.v14.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.v14.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.v14.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.v14.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.v14.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.v14.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.v14.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.v14.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.v14.common.FrequencyCapEntry frequency_caps = + 40; + + // Output only. 3-Tier Brand Safety setting for the campaign. + google.ads.googleads.v14.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.v14.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.v14.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.v14.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.v14.enums.ListingTypeEnum.ListingType + listing_type = 86 [(google.api.field_behavior) = IMMUTABLE]; + + // 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.v14.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.v14.common.ManualCpa manual_cpa = 74; + + // Standard Manual CPC bidding strategy. + // Manual click-based bidding where user pays per click. + google.ads.googleads.v14.common.ManualCpc manual_cpc = 24; + + // Standard Manual CPM bidding strategy. + // Manual impression-based bidding where user pays per thousand + // impressions. + google.ads.googleads.v14.common.ManualCpm manual_cpm = 25; + + // A bidding strategy that pays a configurable amount per video view. + google.ads.googleads.v14.common.ManualCpv manual_cpv = 37; + + // Standard Maximize Conversions bidding strategy that automatically + // maximizes number of conversions while spending your budget. + google.ads.googleads.v14.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.v14.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.v14.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.v14.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.v14.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.v14.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.v14.common.PercentCpc percent_cpc = 34; + + // A bidding strategy that automatically optimizes cost per thousand + // impressions. + google.ads.googleads.v14.common.TargetCpm target_cpm = 41; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v14/resources/campaign_asset.proto b/third_party/googleapis/google/ads/googleads/v14/resources/campaign_asset.proto new file mode 100644 index 000000000..4e059eef0 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/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.v14.resources; + +import "google/ads/googleads/v14/common/asset_policy.proto"; +import "google/ads/googleads/v14/enums/asset_field_type.proto"; +import "google/ads/googleads/v14/enums/asset_link_primary_status.proto"; +import "google/ads/googleads/v14/enums/asset_link_primary_status_reason.proto"; +import "google/ads/googleads/v14/enums/asset_link_status.proto"; +import "google/ads/googleads/v14/enums/asset_source.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignAssetProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::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.v14.enums.AssetFieldTypeEnum.AssetFieldType field_type = + 4 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. Source of the campaign asset link. + google.ads.googleads.v14.enums.AssetSourceEnum.AssetSource source = 8 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Status of the campaign asset. + google.ads.googleads.v14.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.v14.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.v14.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.v14.enums.AssetLinkPrimaryStatusReasonEnum + .AssetLinkPrimaryStatusReason primary_status_reasons = 11 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v14/resources/campaign_asset_set.proto b/third_party/googleapis/google/ads/googleads/v14/resources/campaign_asset_set.proto new file mode 100644 index 000000000..0216de4b4 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/campaign_asset_set.proto @@ -0,0 +1,97 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/campaign_asset_set.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/campaign_asset_set.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/campaign_asset_set.proto +package google.ads.googleads.v13.resources; + +import "google/ads/googleads/v13/enums/asset_set_link_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignAssetSetProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +package google.ads.googleads.v14.resources; + +import "google/ads/googleads/v14/enums/asset_set_link_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignAssetSetProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/campaign_asset_set.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/campaign_asset_set.proto + google.ads.googleads.v13.enums.AssetSetLinkStatusEnum.AssetSetLinkStatus +======== + google.ads.googleads.v14.enums.AssetSetLinkStatusEnum.AssetSetLinkStatus +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/campaign_asset_set.proto + status = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v14/resources/campaign_audience_view.proto b/third_party/googleapis/google/ads/googleads/v14/resources/campaign_audience_view.proto new file mode 100644 index 000000000..b84c2ed41 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/campaign_audience_view.proto @@ -0,0 +1,73 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/campaign_audience_view.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/campaign_audience_view.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/campaign_audience_view.proto +package google.ads.googleads.v12.resources; +======== +package google.ads.googleads.v14.resources; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/campaign_audience_view.proto + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/campaign_audience_view.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignAudienceViewProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignAudienceViewProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/campaign_audience_view.proto + +// 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/v14/resources/campaign_bid_modifier.proto b/third_party/googleapis/google/ads/googleads/v14/resources/campaign_bid_modifier.proto new file mode 100644 index 000000000..07e69a23c --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/campaign_bid_modifier.proto @@ -0,0 +1,102 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/campaign_bid_modifier.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/campaign_bid_modifier.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/campaign_bid_modifier.proto +package google.ads.googleads.v13.resources; + +import "google/ads/googleads/v13/common/criteria.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignBidModifierProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +package google.ads.googleads.v14.resources; + +import "google/ads/googleads/v14/common/criteria.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignBidModifierProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/campaign_bid_modifier.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/campaign_bid_modifier.proto + google.ads.googleads.v13.common.InteractionTypeInfo interaction_type = 5 +======== + google.ads.googleads.v14.common.InteractionTypeInfo interaction_type = 5 +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/campaign_bid_modifier.proto + [(google.api.field_behavior) = IMMUTABLE]; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v14/resources/campaign_budget.proto b/third_party/googleapis/google/ads/googleads/v14/resources/campaign_budget.proto new file mode 100644 index 000000000..eca0a49bc --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/campaign_budget.proto @@ -0,0 +1,217 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/campaign_budget.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/campaign_budget.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/campaign_budget.proto +package google.ads.googleads.v13.resources; + +import "google/ads/googleads/v13/enums/budget_delivery_method.proto"; +import "google/ads/googleads/v13/enums/budget_period.proto"; +import "google/ads/googleads/v13/enums/budget_status.proto"; +import "google/ads/googleads/v13/enums/budget_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignBudgetProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +package google.ads.googleads.v14.resources; + +import "google/ads/googleads/v14/enums/budget_delivery_method.proto"; +import "google/ads/googleads/v14/enums/budget_period.proto"; +import "google/ads/googleads/v14/enums/budget_status.proto"; +import "google/ads/googleads/v14/enums/budget_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignBudgetProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/campaign_budget.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/campaign_budget.proto + google.ads.googleads.v13.enums.BudgetStatusEnum.BudgetStatus status = 6 +======== + google.ads.googleads.v14.enums.BudgetStatusEnum.BudgetStatus status = 6 +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/campaign_budget.proto + [(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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/campaign_budget.proto + google.ads.googleads.v13.enums.BudgetDeliveryMethodEnum.BudgetDeliveryMethod +======== + google.ads.googleads.v14.enums.BudgetDeliveryMethodEnum.BudgetDeliveryMethod +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/campaign_budget.proto + 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/campaign_budget.proto + google.ads.googleads.v13.enums.BudgetPeriodEnum.BudgetPeriod period = 13 +======== + google.ads.googleads.v14.enums.BudgetPeriodEnum.BudgetPeriod period = 13 +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/campaign_budget.proto + [(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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/campaign_budget.proto + google.ads.googleads.v13.enums.BudgetTypeEnum.BudgetType type = 18 +======== + google.ads.googleads.v14.enums.BudgetTypeEnum.BudgetType type = 18 +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/campaign_budget.proto + [(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/v14/resources/campaign_conversion_goal.proto b/third_party/googleapis/google/ads/googleads/v14/resources/campaign_conversion_goal.proto new file mode 100644 index 000000000..5814f03d9 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/campaign_conversion_goal.proto @@ -0,0 +1,101 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/campaign_conversion_goal.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/campaign_conversion_goal.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/campaign_conversion_goal.proto +package google.ads.googleads.v13.resources; + +import "google/ads/googleads/v13/enums/conversion_action_category.proto"; +import "google/ads/googleads/v13/enums/conversion_origin.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignConversionGoalProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +package google.ads.googleads.v14.resources; + +import "google/ads/googleads/v14/enums/conversion_action_category.proto"; +import "google/ads/googleads/v14/enums/conversion_origin.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignConversionGoalProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/campaign_conversion_goal.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/campaign_conversion_goal.proto + google.ads.googleads.v13.enums.ConversionActionCategoryEnum + .ConversionActionCategory category = 3; + + // The conversion origin of this campaign conversion goal. + google.ads.googleads.v13.enums.ConversionOriginEnum.ConversionOrigin origin = +======== + google.ads.googleads.v14.enums.ConversionActionCategoryEnum + .ConversionActionCategory category = 3; + + // The conversion origin of this campaign conversion goal. + google.ads.googleads.v14.enums.ConversionOriginEnum.ConversionOrigin origin = +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/campaign_conversion_goal.proto + 4; + + // The biddability of the campaign conversion goal. + bool biddable = 5; +} diff --git a/third_party/googleapis/google/ads/googleads/v14/resources/campaign_criterion.proto b/third_party/googleapis/google/ads/googleads/v14/resources/campaign_criterion.proto new file mode 100644 index 000000000..7db609a9d --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/campaign_criterion.proto @@ -0,0 +1,219 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.ads.googleads.v14.resources; + +import "google/ads/googleads/v14/common/criteria.proto"; +import "google/ads/googleads/v14/enums/campaign_criterion_status.proto"; +import "google/ads/googleads/v14/enums/criterion_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignCriterionProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::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.v14.enums.CriterionTypeEnum.CriterionType type = 6 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The status of the criterion. + google.ads.googleads.v14.enums.CampaignCriterionStatusEnum + .CampaignCriterionStatus status = 35; + + // The campaign criterion. + // + // Exactly one must be set. + oneof criterion { + // Immutable. Keyword. + google.ads.googleads.v14.common.KeywordInfo keyword = 8 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Placement. + google.ads.googleads.v14.common.PlacementInfo placement = 9 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Mobile app category. + google.ads.googleads.v14.common.MobileAppCategoryInfo mobile_app_category = + 10 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Mobile application. + google.ads.googleads.v14.common.MobileApplicationInfo mobile_application = + 11 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Location. + google.ads.googleads.v14.common.LocationInfo location = 12 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Device. + google.ads.googleads.v14.common.DeviceInfo device = 13 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Ad Schedule. + google.ads.googleads.v14.common.AdScheduleInfo ad_schedule = 15 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Age range. + google.ads.googleads.v14.common.AgeRangeInfo age_range = 16 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Gender. + google.ads.googleads.v14.common.GenderInfo gender = 17 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Income range. + google.ads.googleads.v14.common.IncomeRangeInfo income_range = 18 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Parental status. + google.ads.googleads.v14.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.v14.common.UserListInfo user_list = 22 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. YouTube Video. + google.ads.googleads.v14.common.YouTubeVideoInfo youtube_video = 20 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. YouTube Channel. + google.ads.googleads.v14.common.YouTubeChannelInfo youtube_channel = 21 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Proximity. + google.ads.googleads.v14.common.ProximityInfo proximity = 23 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Topic. + google.ads.googleads.v14.common.TopicInfo topic = 24 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Listing scope. + google.ads.googleads.v14.common.ListingScopeInfo listing_scope = 25 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Language. + google.ads.googleads.v14.common.LanguageInfo language = 26 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. IpBlock. + google.ads.googleads.v14.common.IpBlockInfo ip_block = 27 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. ContentLabel. + google.ads.googleads.v14.common.ContentLabelInfo content_label = 28 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Carrier. + google.ads.googleads.v14.common.CarrierInfo carrier = 29 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. User Interest. + google.ads.googleads.v14.common.UserInterestInfo user_interest = 30 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Webpage. + google.ads.googleads.v14.common.WebpageInfo webpage = 31 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Operating system version. + google.ads.googleads.v14.common.OperatingSystemVersionInfo + operating_system_version = 32 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Mobile Device. + google.ads.googleads.v14.common.MobileDeviceInfo mobile_device = 33 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Location Group + google.ads.googleads.v14.common.LocationGroupInfo location_group = 34 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Custom Affinity. + google.ads.googleads.v14.common.CustomAffinityInfo custom_affinity = 36 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Custom Audience + google.ads.googleads.v14.common.CustomAudienceInfo custom_audience = 41 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Combined Audience. + google.ads.googleads.v14.common.CombinedAudienceInfo combined_audience = 42 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Smart Campaign Keyword Theme. + google.ads.googleads.v14.common.KeywordThemeInfo keyword_theme = 45 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. GLS service campaign criterion. + google.ads.googleads.v14.common.LocalServiceIdInfo local_service_id = 46 + [(google.api.field_behavior) = IMMUTABLE]; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v14/resources/campaign_customizer.proto b/third_party/googleapis/google/ads/googleads/v14/resources/campaign_customizer.proto new file mode 100644 index 000000000..8bf1bfd3a --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/campaign_customizer.proto @@ -0,0 +1,108 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/campaign_customizer.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/campaign_customizer.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/campaign_customizer.proto +package google.ads.googleads.v13.resources; + +import "google/ads/googleads/v13/common/customizer_value.proto"; +import "google/ads/googleads/v13/enums/customizer_value_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignCustomizerProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +package google.ads.googleads.v14.resources; + +import "google/ads/googleads/v14/common/customizer_value.proto"; +import "google/ads/googleads/v14/enums/customizer_value_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignCustomizerProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/campaign_customizer.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/campaign_customizer.proto + google.ads.googleads.v13.enums.CustomizerValueStatusEnum.CustomizerValueStatus +======== + google.ads.googleads.v14.enums.CustomizerValueStatusEnum.CustomizerValueStatus +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/campaign_customizer.proto + 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/campaign_customizer.proto + google.ads.googleads.v13.common.CustomizerValue value = 5 +======== + google.ads.googleads.v14.common.CustomizerValue value = 5 +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/campaign_customizer.proto + [(google.api.field_behavior) = REQUIRED]; +} diff --git a/third_party/googleapis/google/ads/googleads/v14/resources/campaign_draft.proto b/third_party/googleapis/google/ads/googleads/v14/resources/campaign_draft.proto new file mode 100644 index 000000000..3bafe3f92 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/campaign_draft.proto @@ -0,0 +1,126 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/campaign_draft.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/campaign_draft.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/campaign_draft.proto +package google.ads.googleads.v13.resources; + +import "google/ads/googleads/v13/enums/campaign_draft_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignDraftProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +package google.ads.googleads.v14.resources; + +import "google/ads/googleads/v14/enums/campaign_draft_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignDraftProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/campaign_draft.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/campaign_draft.proto + google.ads.googleads.v13.enums.CampaignDraftStatusEnum.CampaignDraftStatus +======== + google.ads.googleads.v14.enums.CampaignDraftStatusEnum.CampaignDraftStatus +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/campaign_draft.proto + 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/v14/resources/campaign_extension_setting.proto b/third_party/googleapis/google/ads/googleads/v14/resources/campaign_extension_setting.proto new file mode 100644 index 000000000..92c7ff430 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/campaign_extension_setting.proto @@ -0,0 +1,110 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/campaign_extension_setting.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/campaign_extension_setting.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/campaign_extension_setting.proto +package google.ads.googleads.v13.resources; + +import "google/ads/googleads/v13/enums/extension_setting_device.proto"; +import "google/ads/googleads/v13/enums/extension_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignExtensionSettingProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +package google.ads.googleads.v14.resources; + +import "google/ads/googleads/v14/enums/extension_setting_device.proto"; +import "google/ads/googleads/v14/enums/extension_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignExtensionSettingProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/campaign_extension_setting.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/campaign_extension_setting.proto + google.ads.googleads.v13.enums.ExtensionTypeEnum.ExtensionType +======== + google.ads.googleads.v14.enums.ExtensionTypeEnum.ExtensionType +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/campaign_extension_setting.proto + 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/campaign_extension_setting.proto + google.ads.googleads.v13.enums.ExtensionSettingDeviceEnum +======== + google.ads.googleads.v14.enums.ExtensionSettingDeviceEnum +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/campaign_extension_setting.proto + .ExtensionSettingDevice device = 5; +} diff --git a/third_party/googleapis/google/ads/googleads/v14/resources/campaign_feed.proto b/third_party/googleapis/google/ads/googleads/v14/resources/campaign_feed.proto new file mode 100644 index 000000000..b81224963 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/campaign_feed.proto @@ -0,0 +1,117 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/campaign_feed.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/campaign_feed.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/campaign_feed.proto +package google.ads.googleads.v13.resources; + +import "google/ads/googleads/v13/common/matching_function.proto"; +import "google/ads/googleads/v13/enums/feed_link_status.proto"; +import "google/ads/googleads/v13/enums/placeholder_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignFeedProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +package google.ads.googleads.v14.resources; + +import "google/ads/googleads/v14/common/matching_function.proto"; +import "google/ads/googleads/v14/enums/feed_link_status.proto"; +import "google/ads/googleads/v14/enums/placeholder_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignFeedProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/campaign_feed.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/campaign_feed.proto + repeated google.ads.googleads.v13.enums.PlaceholderTypeEnum.PlaceholderType +======== + repeated google.ads.googleads.v14.enums.PlaceholderTypeEnum.PlaceholderType +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/campaign_feed.proto + placeholder_types = 4; + + // Matching function associated with the CampaignFeed. + // The matching function is used to filter the set of feed items selected. + // Required. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/campaign_feed.proto + google.ads.googleads.v13.common.MatchingFunction matching_function = 5; + + // Output only. Status of the campaign feed. + // This field is read-only. + google.ads.googleads.v13.enums.FeedLinkStatusEnum.FeedLinkStatus status = 6 +======== + google.ads.googleads.v14.common.MatchingFunction matching_function = 5; + + // Output only. Status of the campaign feed. + // This field is read-only. + google.ads.googleads.v14.enums.FeedLinkStatusEnum.FeedLinkStatus status = 6 +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/campaign_feed.proto + [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v14/resources/campaign_group.proto b/third_party/googleapis/google/ads/googleads/v14/resources/campaign_group.proto new file mode 100644 index 000000000..054785320 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/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.v14.resources; + +import "google/ads/googleads/v14/enums/campaign_group_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignGroupProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::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.v14.enums.CampaignGroupStatusEnum.CampaignGroupStatus + status = 5; +} diff --git a/third_party/googleapis/google/ads/googleads/v14/resources/campaign_label.proto b/third_party/googleapis/google/ads/googleads/v14/resources/campaign_label.proto new file mode 100644 index 000000000..3e82c81cb --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/campaign_label.proto @@ -0,0 +1,82 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/campaign_label.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/campaign_label.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/campaign_label.proto +package google.ads.googleads.v13.resources; +======== +package google.ads.googleads.v14.resources; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/campaign_label.proto + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/campaign_label.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignLabelProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignLabelProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/campaign_label.proto + +// 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/v14/resources/campaign_search_term_insight.proto b/third_party/googleapis/google/ads/googleads/v14/resources/campaign_search_term_insight.proto new file mode 100644 index 000000000..f84edf93a --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/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.v14.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignSearchTermInsightProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::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/v14/resources/campaign_shared_set.proto b/third_party/googleapis/google/ads/googleads/v14/resources/campaign_shared_set.proto new file mode 100644 index 000000000..00df29606 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/campaign_shared_set.proto @@ -0,0 +1,103 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/campaign_shared_set.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/campaign_shared_set.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/campaign_shared_set.proto +package google.ads.googleads.v13.resources; + +import "google/ads/googleads/v13/enums/campaign_shared_set_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignSharedSetProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +package google.ads.googleads.v14.resources; + +import "google/ads/googleads/v14/enums/campaign_shared_set_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignSharedSetProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/campaign_shared_set.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/campaign_shared_set.proto + google.ads.googleads.v13.enums.CampaignSharedSetStatusEnum +======== + google.ads.googleads.v14.enums.CampaignSharedSetStatusEnum +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/campaign_shared_set.proto + .CampaignSharedSetStatus status = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v14/resources/campaign_simulation.proto b/third_party/googleapis/google/ads/googleads/v14/resources/campaign_simulation.proto new file mode 100644 index 000000000..10f231462 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/campaign_simulation.proto @@ -0,0 +1,170 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/campaign_simulation.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/campaign_simulation.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/campaign_simulation.proto +package google.ads.googleads.v13.resources; + +import "google/ads/googleads/v13/common/simulation.proto"; +import "google/ads/googleads/v13/enums/simulation_modification_method.proto"; +import "google/ads/googleads/v13/enums/simulation_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignSimulationProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +package google.ads.googleads.v14.resources; + +import "google/ads/googleads/v14/common/simulation.proto"; +import "google/ads/googleads/v14/enums/simulation_modification_method.proto"; +import "google/ads/googleads/v14/enums/simulation_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignSimulationProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/campaign_simulation.proto + +// 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 +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/campaign_simulation.proto +======== +// * PERFORMANCE_MAX - TARGET_CPA - UNIFORM +// * PERFORMANCE_MAX - TARGET_ROAS - UNIFORM +// * PERFORMANCE_MAX - BUDGET - UNIFORM +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/campaign_simulation.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/campaign_simulation.proto + google.ads.googleads.v13.enums.SimulationTypeEnum.SimulationType type = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. How the simulation modifies the field. + google.ads.googleads.v13.enums.SimulationModificationMethodEnum +======== + google.ads.googleads.v14.enums.SimulationTypeEnum.SimulationType type = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. How the simulation modifies the field. + google.ads.googleads.v14.enums.SimulationModificationMethodEnum +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/campaign_simulation.proto + .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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/campaign_simulation.proto + google.ads.googleads.v13.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.v13.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.v13.common.TargetRoasSimulationPointList +======== + google.ads.googleads.v14.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.v14.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.v14.common.TargetRoasSimulationPointList +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/campaign_simulation.proto + target_roas_point_list = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Simulation points if the simulation type is + // TARGET_IMPRESSION_SHARE. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/campaign_simulation.proto + google.ads.googleads.v13.common.TargetImpressionShareSimulationPointList +======== + google.ads.googleads.v14.common.TargetImpressionShareSimulationPointList +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/campaign_simulation.proto + target_impression_share_point_list = 10 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Simulation points if the simulation type is BUDGET. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/campaign_simulation.proto + google.ads.googleads.v13.common.BudgetSimulationPointList +======== + google.ads.googleads.v14.common.BudgetSimulationPointList +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/campaign_simulation.proto + budget_point_list = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v14/resources/carrier_constant.proto b/third_party/googleapis/google/ads/googleads/v14/resources/carrier_constant.proto new file mode 100644 index 000000000..d666b03ee --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/carrier_constant.proto @@ -0,0 +1,84 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/carrier_constant.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/carrier_constant.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/carrier_constant.proto +package google.ads.googleads.v12.resources; +======== +package google.ads.googleads.v14.resources; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/carrier_constant.proto + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/carrier_constant.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CarrierConstantProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CarrierConstantProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/carrier_constant.proto + +// 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]; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/carrier_constant.proto + // Output only. The country code of the country where the carrier is located, for example, + // "AR", "FR", etc. +======== + // Output only. The country code of the country where the carrier is located, + // for example, "AR", "FR", etc. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/carrier_constant.proto + optional string country_code = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v14/resources/change_event.proto b/third_party/googleapis/google/ads/googleads/v14/resources/change_event.proto new file mode 100644 index 000000000..495abf530 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/change_event.proto @@ -0,0 +1,272 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/change_event.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/change_event.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/change_event.proto +package google.ads.googleads.v13.resources; + +import "google/ads/googleads/v13/enums/change_client_type.proto"; +import "google/ads/googleads/v13/enums/change_event_resource_type.proto"; +import "google/ads/googleads/v13/enums/resource_change_operation.proto"; +import "google/ads/googleads/v13/resources/ad.proto"; +import "google/ads/googleads/v13/resources/ad_group.proto"; +import "google/ads/googleads/v13/resources/ad_group_ad.proto"; +import "google/ads/googleads/v13/resources/ad_group_asset.proto"; +import "google/ads/googleads/v13/resources/ad_group_bid_modifier.proto"; +import "google/ads/googleads/v13/resources/ad_group_criterion.proto"; +import "google/ads/googleads/v13/resources/ad_group_feed.proto"; +import "google/ads/googleads/v13/resources/asset.proto"; +import "google/ads/googleads/v13/resources/asset_set.proto"; +import "google/ads/googleads/v13/resources/asset_set_asset.proto"; +import "google/ads/googleads/v13/resources/campaign.proto"; +import "google/ads/googleads/v13/resources/campaign_asset.proto"; +import "google/ads/googleads/v13/resources/campaign_asset_set.proto"; +import "google/ads/googleads/v13/resources/campaign_budget.proto"; +import "google/ads/googleads/v13/resources/campaign_criterion.proto"; +import "google/ads/googleads/v13/resources/campaign_feed.proto"; +import "google/ads/googleads/v13/resources/customer_asset.proto"; +import "google/ads/googleads/v13/resources/feed.proto"; +import "google/ads/googleads/v13/resources/feed_item.proto"; +======== +package google.ads.googleads.v14.resources; + +import "google/ads/googleads/v14/enums/change_client_type.proto"; +import "google/ads/googleads/v14/enums/change_event_resource_type.proto"; +import "google/ads/googleads/v14/enums/resource_change_operation.proto"; +import "google/ads/googleads/v14/resources/ad.proto"; +import "google/ads/googleads/v14/resources/ad_group.proto"; +import "google/ads/googleads/v14/resources/ad_group_ad.proto"; +import "google/ads/googleads/v14/resources/ad_group_asset.proto"; +import "google/ads/googleads/v14/resources/ad_group_bid_modifier.proto"; +import "google/ads/googleads/v14/resources/ad_group_criterion.proto"; +import "google/ads/googleads/v14/resources/ad_group_feed.proto"; +import "google/ads/googleads/v14/resources/asset.proto"; +import "google/ads/googleads/v14/resources/asset_set.proto"; +import "google/ads/googleads/v14/resources/asset_set_asset.proto"; +import "google/ads/googleads/v14/resources/campaign.proto"; +import "google/ads/googleads/v14/resources/campaign_asset.proto"; +import "google/ads/googleads/v14/resources/campaign_asset_set.proto"; +import "google/ads/googleads/v14/resources/campaign_budget.proto"; +import "google/ads/googleads/v14/resources/campaign_criterion.proto"; +import "google/ads/googleads/v14/resources/campaign_feed.proto"; +import "google/ads/googleads/v14/resources/customer_asset.proto"; +import "google/ads/googleads/v14/resources/feed.proto"; +import "google/ads/googleads/v14/resources/feed_item.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/change_event.proto +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/change_event.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ChangeEventProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ChangeEventProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/change_event.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/change_event.proto + google.ads.googleads.v13.enums.ChangeEventResourceTypeEnum +======== + google.ads.googleads.v14.enums.ChangeEventResourceTypeEnum +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/change_event.proto + .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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/change_event.proto + google.ads.googleads.v13.enums.ChangeClientTypeEnum.ChangeClientType +======== + google.ads.googleads.v14.enums.ChangeClientTypeEnum.ChangeClientType +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/change_event.proto + 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/change_event.proto + google.ads.googleads.v13.enums.ResourceChangeOperationEnum +======== + google.ads.googleads.v14.enums.ResourceChangeOperationEnum +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/change_event.proto + .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/v14/resources/change_status.proto b/third_party/googleapis/google/ads/googleads/v14/resources/change_status.proto new file mode 100644 index 000000000..6ba1e15ea --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/change_status.proto @@ -0,0 +1,231 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/change_status.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/change_status.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/change_status.proto +package google.ads.googleads.v13.resources; + +import "google/ads/googleads/v13/enums/change_status_operation.proto"; +import "google/ads/googleads/v13/enums/change_status_resource_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ChangeStatusProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +package google.ads.googleads.v14.resources; + +import "google/ads/googleads/v14/enums/change_status_operation.proto"; +import "google/ads/googleads/v14/enums/change_status_resource_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ChangeStatusProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/change_status.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/change_status.proto + google.ads.googleads.v13.enums.ChangeStatusResourceTypeEnum +======== + google.ads.googleads.v14.enums.ChangeStatusResourceTypeEnum +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/change_status.proto + .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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/change_status.proto + google.ads.googleads.v13.enums.ChangeStatusOperationEnum.ChangeStatusOperation +======== + google.ads.googleads.v14.enums.ChangeStatusOperationEnum.ChangeStatusOperation +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/change_status.proto + 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/v14/resources/click_view.proto b/third_party/googleapis/google/ads/googleads/v14/resources/click_view.proto new file mode 100644 index 000000000..0f362e779 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/click_view.proto @@ -0,0 +1,144 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/click_view.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/click_view.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/click_view.proto +package google.ads.googleads.v13.resources; + +import "google/ads/googleads/v13/common/click_location.proto"; +import "google/ads/googleads/v13/common/criteria.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ClickViewProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +package google.ads.googleads.v14.resources; + +import "google/ads/googleads/v14/common/click_location.proto"; +import "google/ads/googleads/v14/common/criteria.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ClickViewProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/click_view.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/click_view.proto + google.ads.googleads.v13.common.ClickLocation area_of_interest = 3 +======== + google.ads.googleads.v14.common.ClickLocation area_of_interest = 3 +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/click_view.proto + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The location criteria matching the location of presence + // associated with the impression. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/click_view.proto + google.ads.googleads.v13.common.ClickLocation location_of_presence = 4 +======== + google.ads.googleads.v14.common.ClickLocation location_of_presence = 4 +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/click_view.proto + [(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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/click_view.proto + google.ads.googleads.v13.common.KeywordInfo keyword_info = 14 +======== + google.ads.googleads.v14.common.KeywordInfo keyword_info = 14 +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/click_view.proto + [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v14/resources/combined_audience.proto b/third_party/googleapis/google/ads/googleads/v14/resources/combined_audience.proto new file mode 100644 index 000000000..eb4065fb2 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/combined_audience.proto @@ -0,0 +1,93 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/combined_audience.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/combined_audience.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/combined_audience.proto +package google.ads.googleads.v13.resources; + +import "google/ads/googleads/v13/enums/combined_audience_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CombinedAudienceProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +package google.ads.googleads.v14.resources; + +import "google/ads/googleads/v14/enums/combined_audience_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CombinedAudienceProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/combined_audience.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/combined_audience.proto + google.ads.googleads.v13.enums.CombinedAudienceStatusEnum +======== + google.ads.googleads.v14.enums.CombinedAudienceStatusEnum +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/combined_audience.proto + .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/v14/resources/conversion_action.proto b/third_party/googleapis/google/ads/googleads/v14/resources/conversion_action.proto new file mode 100644 index 000000000..102d053b4 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/conversion_action.proto @@ -0,0 +1,298 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/conversion_action.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/conversion_action.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/conversion_action.proto +package google.ads.googleads.v13.resources; + +import "google/ads/googleads/v13/common/tag_snippet.proto"; +import "google/ads/googleads/v13/enums/attribution_model.proto"; +import "google/ads/googleads/v13/enums/conversion_action_category.proto"; +import "google/ads/googleads/v13/enums/conversion_action_counting_type.proto"; +import "google/ads/googleads/v13/enums/conversion_action_status.proto"; +import "google/ads/googleads/v13/enums/conversion_action_type.proto"; +import "google/ads/googleads/v13/enums/conversion_origin.proto"; +import "google/ads/googleads/v13/enums/data_driven_model_status.proto"; +import "google/ads/googleads/v13/enums/mobile_app_vendor.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ConversionActionProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +package google.ads.googleads.v14.resources; + +import "google/ads/googleads/v14/common/tag_snippet.proto"; +import "google/ads/googleads/v14/enums/attribution_model.proto"; +import "google/ads/googleads/v14/enums/conversion_action_category.proto"; +import "google/ads/googleads/v14/enums/conversion_action_counting_type.proto"; +import "google/ads/googleads/v14/enums/conversion_action_status.proto"; +import "google/ads/googleads/v14/enums/conversion_action_type.proto"; +import "google/ads/googleads/v14/enums/conversion_origin.proto"; +import "google/ads/googleads/v14/enums/data_driven_model_status.proto"; +import "google/ads/googleads/v14/enums/mobile_app_vendor.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ConversionActionProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/conversion_action.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/conversion_action.proto + google.ads.googleads.v13.enums.AttributionModelEnum.AttributionModel +======== + google.ads.googleads.v14.enums.AttributionModelEnum.AttributionModel +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/conversion_action.proto + attribution_model = 1; + + // Output only. The status of the data-driven attribution model for the + // conversion action. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/conversion_action.proto + google.ads.googleads.v13.enums.DataDrivenModelStatusEnum +======== + google.ads.googleads.v14.enums.DataDrivenModelStatusEnum +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/conversion_action.proto + .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]; +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/conversion_action.proto +======== + } + + // 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]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/conversion_action.proto + } + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/conversion_action.proto + google.ads.googleads.v13.enums.ConversionActionStatusEnum + .ConversionActionStatus status = 4; + + // Immutable. The type of this conversion action. + google.ads.googleads.v13.enums.ConversionActionTypeEnum.ConversionActionType + type = 5 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. The conversion origin of this conversion action. + google.ads.googleads.v13.enums.ConversionOriginEnum.ConversionOrigin origin = +======== + google.ads.googleads.v14.enums.ConversionActionStatusEnum + .ConversionActionStatus status = 4; + + // Immutable. The type of this conversion action. + google.ads.googleads.v14.enums.ConversionActionTypeEnum.ConversionActionType + type = 5 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. The conversion origin of this conversion action. + google.ads.googleads.v14.enums.ConversionOriginEnum.ConversionOrigin origin = +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/conversion_action.proto + 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/conversion_action.proto + google.ads.googleads.v13.enums.ConversionActionCategoryEnum +======== + google.ads.googleads.v14.enums.ConversionActionCategoryEnum +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/conversion_action.proto + .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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/conversion_action.proto + google.ads.googleads.v13.enums.ConversionActionCountingTypeEnum +======== + google.ads.googleads.v14.enums.ConversionActionCountingTypeEnum +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/conversion_action.proto + .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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/conversion_action.proto + repeated google.ads.googleads.v13.common.TagSnippet tag_snippets = 14 +======== + repeated google.ads.googleads.v14.common.TagSnippet tag_snippets = 14 +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/conversion_action.proto + [(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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/conversion_action.proto + google.ads.googleads.v13.enums.MobileAppVendorEnum.MobileAppVendor +======== + google.ads.googleads.v14.enums.MobileAppVendorEnum.MobileAppVendor +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/conversion_action.proto + 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]; +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/conversion_action.proto +======== + + // Output only. Google Analytics 4 settings for Google Analytics 4 conversion + // types. + GoogleAnalytics4Settings google_analytics_4_settings = 34 + [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/conversion_action.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v14/resources/conversion_custom_variable.proto b/third_party/googleapis/google/ads/googleads/v14/resources/conversion_custom_variable.proto new file mode 100644 index 000000000..5abea8336 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/conversion_custom_variable.proto @@ -0,0 +1,111 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/conversion_custom_variable.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/conversion_custom_variable.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/conversion_custom_variable.proto +package google.ads.googleads.v13.resources; + +import "google/ads/googleads/v13/enums/conversion_custom_variable_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ConversionCustomVariableProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +package google.ads.googleads.v14.resources; + +import "google/ads/googleads/v14/enums/conversion_custom_variable_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ConversionCustomVariableProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/conversion_custom_variable.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/conversion_custom_variable.proto + google.ads.googleads.v13.enums.ConversionCustomVariableStatusEnum +======== + google.ads.googleads.v14.enums.ConversionCustomVariableStatusEnum +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/conversion_custom_variable.proto + .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/v14/resources/conversion_goal_campaign_config.proto b/third_party/googleapis/google/ads/googleads/v14/resources/conversion_goal_campaign_config.proto new file mode 100644 index 000000000..494041fd3 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/conversion_goal_campaign_config.proto @@ -0,0 +1,92 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/conversion_goal_campaign_config.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/conversion_goal_campaign_config.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/conversion_goal_campaign_config.proto +package google.ads.googleads.v13.resources; + +import "google/ads/googleads/v13/enums/goal_config_level.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ConversionGoalCampaignConfigProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +package google.ads.googleads.v14.resources; + +import "google/ads/googleads/v14/enums/goal_config_level.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ConversionGoalCampaignConfigProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/conversion_goal_campaign_config.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/conversion_goal_campaign_config.proto + google.ads.googleads.v13.enums.GoalConfigLevelEnum.GoalConfigLevel +======== + google.ads.googleads.v14.enums.GoalConfigLevelEnum.GoalConfigLevel +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/conversion_goal_campaign_config.proto + 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/v14/resources/conversion_value_rule.proto b/third_party/googleapis/google/ads/googleads/v14/resources/conversion_value_rule.proto new file mode 100644 index 000000000..7a74f70ce --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/conversion_value_rule.proto @@ -0,0 +1,187 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/conversion_value_rule.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/conversion_value_rule.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/conversion_value_rule.proto +package google.ads.googleads.v13.resources; + +import "google/ads/googleads/v13/enums/conversion_value_rule_status.proto"; +import "google/ads/googleads/v13/enums/value_rule_device_type.proto"; +import "google/ads/googleads/v13/enums/value_rule_geo_location_match_type.proto"; +import "google/ads/googleads/v13/enums/value_rule_operation.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ConversionValueRuleProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +package google.ads.googleads.v14.resources; + +import "google/ads/googleads/v14/enums/conversion_value_rule_status.proto"; +import "google/ads/googleads/v14/enums/value_rule_device_type.proto"; +import "google/ads/googleads/v14/enums/value_rule_geo_location_match_type.proto"; +import "google/ads/googleads/v14/enums/value_rule_operation.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ConversionValueRuleProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/conversion_value_rule.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/conversion_value_rule.proto + google.ads.googleads.v13.enums.ValueRuleOperationEnum.ValueRuleOperation +======== + google.ads.googleads.v14.enums.ValueRuleOperationEnum.ValueRuleOperation +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/conversion_value_rule.proto + 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/conversion_value_rule.proto + google.ads.googleads.v13.enums.ValueRuleGeoLocationMatchTypeEnum +======== + google.ads.googleads.v14.enums.ValueRuleGeoLocationMatchTypeEnum +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/conversion_value_rule.proto + .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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/conversion_value_rule.proto + google.ads.googleads.v13.enums.ValueRuleGeoLocationMatchTypeEnum +======== + google.ads.googleads.v14.enums.ValueRuleGeoLocationMatchTypeEnum +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/conversion_value_rule.proto + .ValueRuleGeoLocationMatchType geo_match_type = 4; + } + + // Condition on Device dimension. + message ValueRuleDeviceCondition { + // Value for device type condition. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/conversion_value_rule.proto + repeated google.ads.googleads.v13.enums.ValueRuleDeviceTypeEnum +======== + repeated google.ads.googleads.v14.enums.ValueRuleDeviceTypeEnum +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/conversion_value_rule.proto + .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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/conversion_value_rule.proto + google.ads.googleads.v13.enums.ConversionValueRuleStatusEnum +======== + google.ads.googleads.v14.enums.ConversionValueRuleStatusEnum +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/conversion_value_rule.proto + .ConversionValueRuleStatus status = 8; +} diff --git a/third_party/googleapis/google/ads/googleads/v14/resources/conversion_value_rule_set.proto b/third_party/googleapis/google/ads/googleads/v14/resources/conversion_value_rule_set.proto new file mode 100644 index 000000000..8fa336559 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/conversion_value_rule_set.proto @@ -0,0 +1,148 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/conversion_value_rule_set.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/conversion_value_rule_set.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/conversion_value_rule_set.proto +package google.ads.googleads.v13.resources; + +import "google/ads/googleads/v13/enums/conversion_action_category.proto"; +import "google/ads/googleads/v13/enums/conversion_value_rule_set_status.proto"; +import "google/ads/googleads/v13/enums/value_rule_set_attachment_type.proto"; +import "google/ads/googleads/v13/enums/value_rule_set_dimension.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ConversionValueRuleSetProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +package google.ads.googleads.v14.resources; + +import "google/ads/googleads/v14/enums/conversion_action_category.proto"; +import "google/ads/googleads/v14/enums/conversion_value_rule_set_status.proto"; +import "google/ads/googleads/v14/enums/value_rule_set_attachment_type.proto"; +import "google/ads/googleads/v14/enums/value_rule_set_dimension.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ConversionValueRuleSetProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/conversion_value_rule_set.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/conversion_value_rule_set.proto + repeated google.ads.googleads.v13.enums.ValueRuleSetDimensionEnum +======== + repeated google.ads.googleads.v14.enums.ValueRuleSetDimensionEnum +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/conversion_value_rule_set.proto + .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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/conversion_value_rule_set.proto + google.ads.googleads.v13.enums.ValueRuleSetAttachmentTypeEnum +======== + google.ads.googleads.v14.enums.ValueRuleSetAttachmentTypeEnum +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/conversion_value_rule_set.proto + .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 ** +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/conversion_value_rule_set.proto + google.ads.googleads.v13.enums.ConversionValueRuleSetStatusEnum +======== + google.ads.googleads.v14.enums.ConversionValueRuleSetStatusEnum +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/conversion_value_rule_set.proto + .ConversionValueRuleSetStatus status = 8 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. The conversion action categories of the conversion value rule + // set. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/conversion_value_rule_set.proto + repeated google.ads.googleads.v13.enums.ConversionActionCategoryEnum +======== + repeated google.ads.googleads.v14.enums.ConversionActionCategoryEnum +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/conversion_value_rule_set.proto + .ConversionActionCategory conversion_action_categories = 9 + [(google.api.field_behavior) = IMMUTABLE]; +} diff --git a/third_party/googleapis/google/ads/googleads/v14/resources/currency_constant.proto b/third_party/googleapis/google/ads/googleads/v14/resources/currency_constant.proto new file mode 100644 index 000000000..f7af781fb --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/currency_constant.proto @@ -0,0 +1,84 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/currency_constant.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/currency_constant.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/currency_constant.proto +package google.ads.googleads.v13.resources; +======== +package google.ads.googleads.v14.resources; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/currency_constant.proto + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/currency_constant.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CurrencyConstantProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CurrencyConstantProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/currency_constant.proto + +// 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/v14/resources/custom_audience.proto b/third_party/googleapis/google/ads/googleads/v14/resources/custom_audience.proto new file mode 100644 index 000000000..0f7f57b25 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/custom_audience.proto @@ -0,0 +1,144 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/custom_audience.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/custom_audience.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/custom_audience.proto +package google.ads.googleads.v13.resources; + +import "google/ads/googleads/v13/enums/custom_audience_member_type.proto"; +import "google/ads/googleads/v13/enums/custom_audience_status.proto"; +import "google/ads/googleads/v13/enums/custom_audience_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomAudienceProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +package google.ads.googleads.v14.resources; + +import "google/ads/googleads/v14/enums/custom_audience_member_type.proto"; +import "google/ads/googleads/v14/enums/custom_audience_status.proto"; +import "google/ads/googleads/v14/enums/custom_audience_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomAudienceProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/custom_audience.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/custom_audience.proto + google.ads.googleads.v13.enums.CustomAudienceStatusEnum.CustomAudienceStatus +======== + google.ads.googleads.v14.enums.CustomAudienceStatusEnum.CustomAudienceStatus +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/custom_audience.proto + 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) +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/custom_audience.proto + google.ads.googleads.v13.enums.CustomAudienceTypeEnum.CustomAudienceType +======== + google.ads.googleads.v14.enums.CustomAudienceTypeEnum.CustomAudienceType +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/custom_audience.proto + 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/custom_audience.proto + google.ads.googleads.v13.enums.CustomAudienceMemberTypeEnum +======== + google.ads.googleads.v14.enums.CustomAudienceMemberTypeEnum +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/custom_audience.proto + .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/v14/resources/custom_conversion_goal.proto b/third_party/googleapis/google/ads/googleads/v14/resources/custom_conversion_goal.proto new file mode 100644 index 000000000..28f0da55e --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/custom_conversion_goal.proto @@ -0,0 +1,89 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/custom_conversion_goal.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/custom_conversion_goal.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/custom_conversion_goal.proto +package google.ads.googleads.v13.resources; + +import "google/ads/googleads/v13/enums/custom_conversion_goal_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomConversionGoalProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +package google.ads.googleads.v14.resources; + +import "google/ads/googleads/v14/enums/custom_conversion_goal_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomConversionGoalProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/custom_conversion_goal.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/custom_conversion_goal.proto + google.ads.googleads.v13.enums.CustomConversionGoalStatusEnum +======== + google.ads.googleads.v14.enums.CustomConversionGoalStatusEnum +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/custom_conversion_goal.proto + .CustomConversionGoalStatus status = 5; +} diff --git a/third_party/googleapis/google/ads/googleads/v14/resources/custom_interest.proto b/third_party/googleapis/google/ads/googleads/v14/resources/custom_interest.proto new file mode 100644 index 000000000..3b3635b26 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/custom_interest.proto @@ -0,0 +1,126 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/custom_interest.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/custom_interest.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/custom_interest.proto +package google.ads.googleads.v13.resources; + +import "google/ads/googleads/v13/enums/custom_interest_member_type.proto"; +import "google/ads/googleads/v13/enums/custom_interest_status.proto"; +import "google/ads/googleads/v13/enums/custom_interest_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomInterestProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +package google.ads.googleads.v14.resources; + +import "google/ads/googleads/v14/enums/custom_interest_member_type.proto"; +import "google/ads/googleads/v14/enums/custom_interest_status.proto"; +import "google/ads/googleads/v14/enums/custom_interest_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomInterestProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/custom_interest.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/custom_interest.proto + google.ads.googleads.v13.enums.CustomInterestStatusEnum.CustomInterestStatus +======== + google.ads.googleads.v14.enums.CustomInterestStatusEnum.CustomInterestStatus +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/custom_interest.proto + 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/custom_interest.proto + google.ads.googleads.v13.enums.CustomInterestTypeEnum.CustomInterestType +======== + google.ads.googleads.v14.enums.CustomInterestTypeEnum.CustomInterestType +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/custom_interest.proto + 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/custom_interest.proto + google.ads.googleads.v13.enums.CustomInterestMemberTypeEnum +======== + google.ads.googleads.v14.enums.CustomInterestMemberTypeEnum +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/custom_interest.proto + .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/v14/resources/customer.proto b/third_party/googleapis/google/ads/googleads/v14/resources/customer.proto new file mode 100644 index 000000000..6f36dc0ee --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/customer.proto @@ -0,0 +1,374 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.ads.googleads.v14.resources; + +import "google/ads/googleads/v14/enums/conversion_tracking_status_enum.proto"; +import "google/ads/googleads/v14/enums/customer_pay_per_conversion_eligibility_failure_reason.proto"; +import "google/ads/googleads/v14/enums/customer_status.proto"; +import "google/ads/googleads/v14/enums/offline_conversion_diagnostic_status_enum.proto"; +import "google/ads/googleads/v14/enums/offline_event_upload_client_enum.proto"; +import "google/ads/googleads/v14/errors/collection_size_error.proto"; +import "google/ads/googleads/v14/errors/conversion_adjustment_upload_error.proto"; +import "google/ads/googleads/v14/errors/conversion_upload_error.proto"; +import "google/ads/googleads/v14/errors/date_error.proto"; +import "google/ads/googleads/v14/errors/distinct_error.proto"; +import "google/ads/googleads/v14/errors/field_error.proto"; +import "google/ads/googleads/v14/errors/mutate_error.proto"; +import "google/ads/googleads/v14/errors/not_allowlisted_error.proto"; +import "google/ads/googleads/v14/errors/string_format_error.proto"; +import "google/ads/googleads/v14/errors/string_length_error.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomerProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::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.v14.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.v14.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. Offline conversion upload diagnostics. + repeated OfflineConversionClientSummary offline_conversion_client_summaries = + 43 [(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]; +} + +// 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.v14.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]; +} + +// Offline conversion upload diagnostic summarized by client. This proto +// contains general information, breakdown by date/job and alerts for offline +// conversion upload results. +message OfflineConversionClientSummary { + // Output only. Client type of the upload event. + google.ads.googleads.v14.enums.OfflineEventUploadClientEnum + .OfflineEventUploadClient client = 1 + [(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.v14.enums.OfflineConversionDiagnosticStatusEnum + .OfflineConversionDiagnosticStatus status = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Total count of uploaded events. + int64 total_event_count = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Total count of successful uploaded events. + int64 successful_event_count = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Successful rate. + double success_rate = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Date for the latest upload batch. + string last_upload_date_time = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Summary of history stats by last N days. + repeated OfflineConversionUploadSummary daily_summaries = 7 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Summary of history stats by last N jobs. + repeated OfflineConversionUploadSummary job_summaries = 8 + [(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 OfflineConversionUploadAlert alerts = 9 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Historical upload summary, grouped by upload date or job. +message OfflineConversionUploadSummary { + // 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 OfflineConversionUploadAlert { + // Output only. Error for offline conversion client alert. + OfflineConversionUploadError error = 1 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Percentage of the error. + double error_percentage = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Possible errors for offline conversion client summary. +message OfflineConversionUploadError { + // Error with description. + oneof error_code { + // Output only. Collection size error. + google.ads.googleads.v14.errors.CollectionSizeErrorEnum.CollectionSizeError + collection_size_error = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Conversion adjustment upload error. + google.ads.googleads.v14.errors.ConversionAdjustmentUploadErrorEnum + .ConversionAdjustmentUploadError conversion_adjustment_upload_error = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Conversion upload error. + google.ads.googleads.v14.errors.ConversionUploadErrorEnum + .ConversionUploadError conversion_upload_error = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Date error. + google.ads.googleads.v14.errors.DateErrorEnum.DateError date_error = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Distinct error. + google.ads.googleads.v14.errors.DistinctErrorEnum.DistinctError + distinct_error = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Field error. + google.ads.googleads.v14.errors.FieldErrorEnum.FieldError field_error = 6 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Mutate error. + google.ads.googleads.v14.errors.MutateErrorEnum.MutateError mutate_error = 7 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Not allowlisted error. + google.ads.googleads.v14.errors.NotAllowlistedErrorEnum.NotAllowlistedError + not_allowlisted_error = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. String format error. + google.ads.googleads.v14.errors.StringFormatErrorEnum.StringFormatError + string_format_error = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. String length error. + google.ads.googleads.v14.errors.StringLengthErrorEnum.StringLengthError + string_length_error = 10 [(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]; +} diff --git a/third_party/googleapis/google/ads/googleads/v14/resources/customer_asset.proto b/third_party/googleapis/google/ads/googleads/v14/resources/customer_asset.proto new file mode 100644 index 000000000..3685b8071 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/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.v14.resources; + +import "google/ads/googleads/v14/common/asset_policy.proto"; +import "google/ads/googleads/v14/enums/asset_field_type.proto"; +import "google/ads/googleads/v14/enums/asset_link_primary_status.proto"; +import "google/ads/googleads/v14/enums/asset_link_primary_status_reason.proto"; +import "google/ads/googleads/v14/enums/asset_link_status.proto"; +import "google/ads/googleads/v14/enums/asset_source.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomerAssetProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::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.v14.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.v14.enums.AssetSourceEnum.AssetSource source = 5 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Status of the customer asset. + google.ads.googleads.v14.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.v14.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.v14.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.v14.enums.AssetLinkPrimaryStatusReasonEnum + .AssetLinkPrimaryStatusReason primary_status_reasons = 8 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v14/resources/customer_asset_set.proto b/third_party/googleapis/google/ads/googleads/v14/resources/customer_asset_set.proto new file mode 100644 index 000000000..4bc1f995d --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/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.v14.resources; + +import "google/ads/googleads/v14/enums/asset_set_link_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomerAssetSetProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::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.v14.enums.AssetSetLinkStatusEnum.AssetSetLinkStatus + status = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v14/resources/customer_client.proto b/third_party/googleapis/google/ads/googleads/v14/resources/customer_client.proto new file mode 100644 index 000000000..fb9aba724 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/customer_client.proto @@ -0,0 +1,131 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/customer_client.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/customer_client.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/customer_client.proto +package google.ads.googleads.v13.resources; + +import "google/ads/googleads/v13/enums/customer_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomerClientProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +package google.ads.googleads.v14.resources; + +import "google/ads/googleads/v14/enums/customer_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomerClientProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/customer_client.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/customer_client.proto + google.ads.googleads.v13.enums.CustomerStatusEnum.CustomerStatus status = 22 +======== + google.ads.googleads.v14.enums.CustomerStatusEnum.CustomerStatus status = 22 +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/customer_client.proto + [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v14/resources/customer_client_link.proto b/third_party/googleapis/google/ads/googleads/v14/resources/customer_client_link.proto new file mode 100644 index 000000000..8aeeb5fff --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/customer_client_link.proto @@ -0,0 +1,96 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/customer_client_link.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/customer_client_link.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/customer_client_link.proto +package google.ads.googleads.v13.resources; + +import "google/ads/googleads/v13/enums/manager_link_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomerClientLinkProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +package google.ads.googleads.v14.resources; + +import "google/ads/googleads/v14/enums/manager_link_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomerClientLinkProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/customer_client_link.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/customer_client_link.proto + google.ads.googleads.v13.enums.ManagerLinkStatusEnum.ManagerLinkStatus +======== + google.ads.googleads.v14.enums.ManagerLinkStatusEnum.ManagerLinkStatus +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/customer_client_link.proto + 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/v14/resources/customer_conversion_goal.proto b/third_party/googleapis/google/ads/googleads/v14/resources/customer_conversion_goal.proto new file mode 100644 index 000000000..9993ce62f --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/customer_conversion_goal.proto @@ -0,0 +1,95 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/customer_conversion_goal.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/customer_conversion_goal.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/customer_conversion_goal.proto +package google.ads.googleads.v13.resources; + +import "google/ads/googleads/v13/enums/conversion_action_category.proto"; +import "google/ads/googleads/v13/enums/conversion_origin.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomerConversionGoalProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +package google.ads.googleads.v14.resources; + +import "google/ads/googleads/v14/enums/conversion_action_category.proto"; +import "google/ads/googleads/v14/enums/conversion_origin.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomerConversionGoalProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/customer_conversion_goal.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/customer_conversion_goal.proto + google.ads.googleads.v13.enums.ConversionActionCategoryEnum +======== + google.ads.googleads.v14.enums.ConversionActionCategoryEnum +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/customer_conversion_goal.proto + .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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/customer_conversion_goal.proto + google.ads.googleads.v13.enums.ConversionOriginEnum.ConversionOrigin origin = +======== + google.ads.googleads.v14.enums.ConversionOriginEnum.ConversionOrigin origin = +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/customer_conversion_goal.proto + 3; + + // The biddability of the customer conversion goal. + bool biddable = 4; +} diff --git a/third_party/googleapis/google/ads/googleads/v14/resources/customer_customizer.proto b/third_party/googleapis/google/ads/googleads/v14/resources/customer_customizer.proto new file mode 100644 index 000000000..bc83e1962 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/customer_customizer.proto @@ -0,0 +1,100 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/customer_customizer.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/customer_customizer.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/customer_customizer.proto +package google.ads.googleads.v13.resources; + +import "google/ads/googleads/v13/common/customizer_value.proto"; +import "google/ads/googleads/v13/enums/customizer_value_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomerCustomizerProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +package google.ads.googleads.v14.resources; + +import "google/ads/googleads/v14/common/customizer_value.proto"; +import "google/ads/googleads/v14/enums/customizer_value_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomerCustomizerProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/customer_customizer.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/customer_customizer.proto + google.ads.googleads.v13.enums.CustomizerValueStatusEnum.CustomizerValueStatus +======== + google.ads.googleads.v14.enums.CustomizerValueStatusEnum.CustomizerValueStatus +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/customer_customizer.proto + 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/customer_customizer.proto + google.ads.googleads.v13.common.CustomizerValue value = 4 +======== + google.ads.googleads.v14.common.CustomizerValue value = 4 +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/customer_customizer.proto + [(google.api.field_behavior) = REQUIRED]; +} diff --git a/third_party/googleapis/google/ads/googleads/v14/resources/customer_extension_setting.proto b/third_party/googleapis/google/ads/googleads/v14/resources/customer_extension_setting.proto new file mode 100644 index 000000000..c0bfc8edd --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/customer_extension_setting.proto @@ -0,0 +1,98 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/customer_extension_setting.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/customer_extension_setting.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/customer_extension_setting.proto +package google.ads.googleads.v13.resources; + +import "google/ads/googleads/v13/enums/extension_setting_device.proto"; +import "google/ads/googleads/v13/enums/extension_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomerExtensionSettingProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +package google.ads.googleads.v14.resources; + +import "google/ads/googleads/v14/enums/extension_setting_device.proto"; +import "google/ads/googleads/v14/enums/extension_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomerExtensionSettingProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/customer_extension_setting.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/customer_extension_setting.proto + google.ads.googleads.v13.enums.ExtensionTypeEnum.ExtensionType +======== + google.ads.googleads.v14.enums.ExtensionTypeEnum.ExtensionType +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/customer_extension_setting.proto + 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/customer_extension_setting.proto + google.ads.googleads.v13.enums.ExtensionSettingDeviceEnum +======== + google.ads.googleads.v14.enums.ExtensionSettingDeviceEnum +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/customer_extension_setting.proto + .ExtensionSettingDevice device = 4; +} diff --git a/third_party/googleapis/google/ads/googleads/v14/resources/customer_feed.proto b/third_party/googleapis/google/ads/googleads/v14/resources/customer_feed.proto new file mode 100644 index 000000000..dd0a63572 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/customer_feed.proto @@ -0,0 +1,109 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/customer_feed.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/customer_feed.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/customer_feed.proto +package google.ads.googleads.v13.resources; + +import "google/ads/googleads/v13/common/matching_function.proto"; +import "google/ads/googleads/v13/enums/feed_link_status.proto"; +import "google/ads/googleads/v13/enums/placeholder_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomerFeedProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +package google.ads.googleads.v14.resources; + +import "google/ads/googleads/v14/common/matching_function.proto"; +import "google/ads/googleads/v14/enums/feed_link_status.proto"; +import "google/ads/googleads/v14/enums/placeholder_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomerFeedProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/customer_feed.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/customer_feed.proto + repeated google.ads.googleads.v13.enums.PlaceholderTypeEnum.PlaceholderType +======== + repeated google.ads.googleads.v14.enums.PlaceholderTypeEnum.PlaceholderType +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/customer_feed.proto + placeholder_types = 3; + + // Matching function associated with the CustomerFeed. + // The matching function is used to filter the set of feed items selected. + // Required. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/customer_feed.proto + google.ads.googleads.v13.common.MatchingFunction matching_function = 4; + + // Output only. Status of the customer feed. + // This field is read-only. + google.ads.googleads.v13.enums.FeedLinkStatusEnum.FeedLinkStatus status = 5 +======== + google.ads.googleads.v14.common.MatchingFunction matching_function = 4; + + // Output only. Status of the customer feed. + // This field is read-only. + google.ads.googleads.v14.enums.FeedLinkStatusEnum.FeedLinkStatus status = 5 +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/customer_feed.proto + [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v14/resources/customer_label.proto b/third_party/googleapis/google/ads/googleads/v14/resources/customer_label.proto new file mode 100644 index 000000000..d7fea9b40 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/customer_label.proto @@ -0,0 +1,88 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/customer_label.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/customer_label.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/customer_label.proto +package google.ads.googleads.v13.resources; +======== +package google.ads.googleads.v14.resources; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/customer_label.proto + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/customer_label.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomerLabelProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomerLabelProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/customer_label.proto + +// 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/v14/resources/customer_manager_link.proto b/third_party/googleapis/google/ads/googleads/v14/resources/customer_manager_link.proto new file mode 100644 index 000000000..46810b9d3 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/customer_manager_link.proto @@ -0,0 +1,91 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/customer_manager_link.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/customer_manager_link.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/customer_manager_link.proto +package google.ads.googleads.v13.resources; + +import "google/ads/googleads/v13/enums/manager_link_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomerManagerLinkProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +package google.ads.googleads.v14.resources; + +import "google/ads/googleads/v14/enums/manager_link_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomerManagerLinkProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/customer_manager_link.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/customer_manager_link.proto + google.ads.googleads.v13.enums.ManagerLinkStatusEnum.ManagerLinkStatus +======== + google.ads.googleads.v14.enums.ManagerLinkStatusEnum.ManagerLinkStatus +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/customer_manager_link.proto + status = 5; +} diff --git a/third_party/googleapis/google/ads/googleads/v14/resources/customer_negative_criterion.proto b/third_party/googleapis/google/ads/googleads/v14/resources/customer_negative_criterion.proto new file mode 100644 index 000000000..ec9110dad --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/customer_negative_criterion.proto @@ -0,0 +1,143 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/customer_negative_criterion.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/customer_negative_criterion.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/customer_negative_criterion.proto +package google.ads.googleads.v13.resources; + +import "google/ads/googleads/v13/common/criteria.proto"; +import "google/ads/googleads/v13/enums/criterion_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomerNegativeCriterionProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +package google.ads.googleads.v14.resources; + +import "google/ads/googleads/v14/common/criteria.proto"; +import "google/ads/googleads/v14/enums/criterion_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomerNegativeCriterionProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/customer_negative_criterion.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/customer_negative_criterion.proto + google.ads.googleads.v13.enums.CriterionTypeEnum.CriterionType type = 3 +======== + google.ads.googleads.v14.enums.CriterionTypeEnum.CriterionType type = 3 +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/customer_negative_criterion.proto + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The customer negative criterion. + // + // Exactly one must be set. + oneof criterion { + // Immutable. ContentLabel. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/customer_negative_criterion.proto + google.ads.googleads.v13.common.ContentLabelInfo content_label = 4 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. MobileApplication. + google.ads.googleads.v13.common.MobileApplicationInfo mobile_application = 5 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. MobileAppCategory. + google.ads.googleads.v13.common.MobileAppCategoryInfo mobile_app_category = + 6 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Placement. + google.ads.googleads.v13.common.PlacementInfo placement = 7 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. YouTube Video. + google.ads.googleads.v13.common.YouTubeVideoInfo youtube_video = 8 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. YouTube Channel. + google.ads.googleads.v13.common.YouTubeChannelInfo youtube_channel = 9 + [(google.api.field_behavior) = IMMUTABLE]; +======== + google.ads.googleads.v14.common.ContentLabelInfo content_label = 4 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. MobileApplication. + google.ads.googleads.v14.common.MobileApplicationInfo mobile_application = 5 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. MobileAppCategory. + google.ads.googleads.v14.common.MobileAppCategoryInfo mobile_app_category = + 6 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Placement. + google.ads.googleads.v14.common.PlacementInfo placement = 7 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. YouTube Video. + google.ads.googleads.v14.common.YouTubeVideoInfo youtube_video = 8 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. YouTube Channel. + google.ads.googleads.v14.common.YouTubeChannelInfo youtube_channel = 9 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. NegativeKeywordList. + google.ads.googleads.v14.common.NegativeKeywordListInfo + negative_keyword_list = 11 [(google.api.field_behavior) = IMMUTABLE]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/customer_negative_criterion.proto + } +} diff --git a/third_party/googleapis/google/ads/googleads/v14/resources/customer_search_term_insight.proto b/third_party/googleapis/google/ads/googleads/v14/resources/customer_search_term_insight.proto new file mode 100644 index 000000000..db970bb40 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/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.v14.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomerSearchTermInsightProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::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/v14/resources/customer_sk_ad_network_conversion_value_schema.proto b/third_party/googleapis/google/ads/googleads/v14/resources/customer_sk_ad_network_conversion_value_schema.proto new file mode 100644 index 000000000..a3e7593ed --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/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.v14.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomerSkAdNetworkConversionValueSchemaProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::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/v14/resources/customer_user_access.proto b/third_party/googleapis/google/ads/googleads/v14/resources/customer_user_access.proto new file mode 100644 index 000000000..7736bff78 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/customer_user_access.proto @@ -0,0 +1,98 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/customer_user_access.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/customer_user_access.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/customer_user_access.proto +package google.ads.googleads.v13.resources; + +import "google/ads/googleads/v13/enums/access_role.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomerUserAccessProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +package google.ads.googleads.v14.resources; + +import "google/ads/googleads/v14/enums/access_role.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomerUserAccessProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/customer_user_access.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/customer_user_access.proto + google.ads.googleads.v13.enums.AccessRoleEnum.AccessRole access_role = 4; +======== + google.ads.googleads.v14.enums.AccessRoleEnum.AccessRole access_role = 4; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/customer_user_access.proto + + // 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/v14/resources/customer_user_access_invitation.proto b/third_party/googleapis/google/ads/googleads/v14/resources/customer_user_access_invitation.proto new file mode 100644 index 000000000..3398ca8a0 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/customer_user_access_invitation.proto @@ -0,0 +1,105 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/customer_user_access_invitation.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/customer_user_access_invitation.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/customer_user_access_invitation.proto +package google.ads.googleads.v13.resources; + +import "google/ads/googleads/v13/enums/access_invitation_status.proto"; +import "google/ads/googleads/v13/enums/access_role.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomerUserAccessInvitationProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +package google.ads.googleads.v14.resources; + +import "google/ads/googleads/v14/enums/access_invitation_status.proto"; +import "google/ads/googleads/v14/enums/access_role.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomerUserAccessInvitationProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/customer_user_access_invitation.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/customer_user_access_invitation.proto + google.ads.googleads.v13.enums.AccessRoleEnum.AccessRole access_role = 3 +======== + google.ads.googleads.v14.enums.AccessRoleEnum.AccessRole access_role = 3 +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/customer_user_access_invitation.proto + [(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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/customer_user_access_invitation.proto + google.ads.googleads.v13.enums.AccessInvitationStatusEnum +======== + google.ads.googleads.v14.enums.AccessInvitationStatusEnum +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/customer_user_access_invitation.proto + .AccessInvitationStatus invitation_status = 6 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v14/resources/customizer_attribute.proto b/third_party/googleapis/google/ads/googleads/v14/resources/customizer_attribute.proto new file mode 100644 index 000000000..426e8b5f6 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/customizer_attribute.proto @@ -0,0 +1,105 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/customizer_attribute.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/customizer_attribute.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/customizer_attribute.proto +package google.ads.googleads.v13.resources; + +import "google/ads/googleads/v13/enums/customizer_attribute_status.proto"; +import "google/ads/googleads/v13/enums/customizer_attribute_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomizerAttributeProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +package google.ads.googleads.v14.resources; + +import "google/ads/googleads/v14/enums/customizer_attribute_status.proto"; +import "google/ads/googleads/v14/enums/customizer_attribute_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomizerAttributeProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/customizer_attribute.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/customizer_attribute.proto + google.ads.googleads.v13.enums.CustomizerAttributeTypeEnum +======== + google.ads.googleads.v14.enums.CustomizerAttributeTypeEnum +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/customizer_attribute.proto + .CustomizerAttributeType type = 4 + [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. The status of the customizer attribute. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/customizer_attribute.proto + google.ads.googleads.v13.enums.CustomizerAttributeStatusEnum +======== + google.ads.googleads.v14.enums.CustomizerAttributeStatusEnum +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/customizer_attribute.proto + .CustomizerAttributeStatus status = 5 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v14/resources/detail_placement_view.proto b/third_party/googleapis/google/ads/googleads/v14/resources/detail_placement_view.proto new file mode 100644 index 000000000..303081ff2 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/detail_placement_view.proto @@ -0,0 +1,98 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/detail_placement_view.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/detail_placement_view.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/detail_placement_view.proto +package google.ads.googleads.v13.resources; + +import "google/ads/googleads/v13/enums/placement_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "DetailPlacementViewProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +package google.ads.googleads.v14.resources; + +import "google/ads/googleads/v14/enums/placement_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "DetailPlacementViewProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/detail_placement_view.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/detail_placement_view.proto + google.ads.googleads.v13.enums.PlacementTypeEnum.PlacementType +======== + google.ads.googleads.v14.enums.PlacementTypeEnum.PlacementType +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/detail_placement_view.proto + placement_type = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v14/resources/detailed_demographic.proto b/third_party/googleapis/google/ads/googleads/v14/resources/detailed_demographic.proto new file mode 100644 index 000000000..913307a67 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/detailed_demographic.proto @@ -0,0 +1,100 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/detailed_demographic.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/detailed_demographic.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/detailed_demographic.proto +package google.ads.googleads.v13.resources; + +import "google/ads/googleads/v13/common/criterion_category_availability.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "DetailedDemographicProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +package google.ads.googleads.v14.resources; + +import "google/ads/googleads/v14/common/criterion_category_availability.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "DetailedDemographicProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/detailed_demographic.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/detailed_demographic.proto + repeated google.ads.googleads.v13.common.CriterionCategoryAvailability +======== + repeated google.ads.googleads.v14.common.CriterionCategoryAvailability +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/detailed_demographic.proto + availabilities = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v14/resources/display_keyword_view.proto b/third_party/googleapis/google/ads/googleads/v14/resources/display_keyword_view.proto new file mode 100644 index 000000000..ad3abda0a --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/display_keyword_view.proto @@ -0,0 +1,69 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/display_keyword_view.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/display_keyword_view.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/display_keyword_view.proto +package google.ads.googleads.v12.resources; +======== +package google.ads.googleads.v14.resources; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/display_keyword_view.proto + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/display_keyword_view.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "DisplayKeywordViewProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "DisplayKeywordViewProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/display_keyword_view.proto + +// 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/v14/resources/distance_view.proto b/third_party/googleapis/google/ads/googleads/v14/resources/distance_view.proto new file mode 100644 index 000000000..2822fc6b6 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/distance_view.proto @@ -0,0 +1,88 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/distance_view.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/distance_view.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/distance_view.proto +package google.ads.googleads.v13.resources; + +import "google/ads/googleads/v13/enums/distance_bucket.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "DistanceViewProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +package google.ads.googleads.v14.resources; + +import "google/ads/googleads/v14/enums/distance_bucket.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "DistanceViewProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/distance_view.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/distance_view.proto + google.ads.googleads.v13.enums.DistanceBucketEnum.DistanceBucket +======== + google.ads.googleads.v14.enums.DistanceBucketEnum.DistanceBucket +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/distance_view.proto + 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/v14/resources/domain_category.proto b/third_party/googleapis/google/ads/googleads/v14/resources/domain_category.proto new file mode 100644 index 000000000..63e637c45 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/domain_category.proto @@ -0,0 +1,113 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/domain_category.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/domain_category.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/domain_category.proto +package google.ads.googleads.v13.resources; +======== +package google.ads.googleads.v14.resources; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/domain_category.proto + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/domain_category.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "DomainCategoryProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "DomainCategoryProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/domain_category.proto + +// 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/v14/resources/dynamic_search_ads_search_term_view.proto b/third_party/googleapis/google/ads/googleads/v14/resources/dynamic_search_ads_search_term_view.proto new file mode 100644 index 000000000..6e3ca81d7 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/dynamic_search_ads_search_term_view.proto @@ -0,0 +1,107 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/dynamic_search_ads_search_term_view.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/dynamic_search_ads_search_term_view.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/dynamic_search_ads_search_term_view.proto +package google.ads.googleads.v13.resources; +======== +package google.ads.googleads.v14.resources; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/dynamic_search_ads_search_term_view.proto + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/dynamic_search_ads_search_term_view.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "DynamicSearchAdsSearchTermViewProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "DynamicSearchAdsSearchTermViewProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/dynamic_search_ads_search_term_view.proto + +// 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/v14/resources/expanded_landing_page_view.proto b/third_party/googleapis/google/ads/googleads/v14/resources/expanded_landing_page_view.proto new file mode 100644 index 000000000..aaeab6f00 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/expanded_landing_page_view.proto @@ -0,0 +1,74 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/expanded_landing_page_view.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/expanded_landing_page_view.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/expanded_landing_page_view.proto +package google.ads.googleads.v13.resources; +======== +package google.ads.googleads.v14.resources; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/expanded_landing_page_view.proto + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/expanded_landing_page_view.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ExpandedLandingPageViewProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ExpandedLandingPageViewProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/expanded_landing_page_view.proto + +// 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/v14/resources/experiment.proto b/third_party/googleapis/google/ads/googleads/v14/resources/experiment.proto new file mode 100644 index 000000000..6bc85dec6 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/experiment.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.v14.resources; + +import "google/ads/googleads/v14/common/metric_goal.proto"; +import "google/ads/googleads/v14/enums/async_action_status.proto"; +import "google/ads/googleads/v14/enums/experiment_status.proto"; +import "google/ads/googleads/v14/enums/experiment_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ExperimentProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::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.v14.enums.ExperimentTypeEnum.ExperimentType type = 13 + [(google.api.field_behavior) = REQUIRED]; + + // The Advertiser-chosen status of this experiment. + google.ads.googleads.v14.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.v14.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.v14.enums.AsyncActionStatusEnum.AsyncActionStatus + promote_status = 19 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v14/resources/experiment_arm.proto b/third_party/googleapis/google/ads/googleads/v14/resources/experiment_arm.proto new file mode 100644 index 000000000..8cb28813c --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/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.v14.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ExperimentArmProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::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/v14/resources/extension_feed_item.proto b/third_party/googleapis/google/ads/googleads/v14/resources/extension_feed_item.proto new file mode 100644 index 000000000..22ea9344a --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/extension_feed_item.proto @@ -0,0 +1,248 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/extension_feed_item.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/extension_feed_item.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/extension_feed_item.proto +package google.ads.googleads.v13.resources; + +import "google/ads/googleads/v13/common/criteria.proto"; +import "google/ads/googleads/v13/common/extensions.proto"; +import "google/ads/googleads/v13/enums/extension_type.proto"; +import "google/ads/googleads/v13/enums/feed_item_status.proto"; +import "google/ads/googleads/v13/enums/feed_item_target_device.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ExtensionFeedItemProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +package google.ads.googleads.v14.resources; + +import "google/ads/googleads/v14/common/criteria.proto"; +import "google/ads/googleads/v14/common/extensions.proto"; +import "google/ads/googleads/v14/enums/extension_type.proto"; +import "google/ads/googleads/v14/enums/feed_item_status.proto"; +import "google/ads/googleads/v14/enums/feed_item_target_device.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ExtensionFeedItemProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/extension_feed_item.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/extension_feed_item.proto + google.ads.googleads.v13.enums.ExtensionTypeEnum.ExtensionType +======== + google.ads.googleads.v14.enums.ExtensionTypeEnum.ExtensionType +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/extension_feed_item.proto + 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/extension_feed_item.proto + repeated google.ads.googleads.v13.common.AdScheduleInfo ad_schedules = 16; + + // The targeted device. + google.ads.googleads.v13.enums.FeedItemTargetDeviceEnum.FeedItemTargetDevice +======== + repeated google.ads.googleads.v14.common.AdScheduleInfo ad_schedules = 16; + + // The targeted device. + google.ads.googleads.v14.enums.FeedItemTargetDeviceEnum.FeedItemTargetDevice +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/extension_feed_item.proto + 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/extension_feed_item.proto + google.ads.googleads.v13.common.KeywordInfo targeted_keyword = 22; + + // Output only. Status of the feed item. + // This field is read-only. + google.ads.googleads.v13.enums.FeedItemStatusEnum.FeedItemStatus status = 4 +======== + google.ads.googleads.v14.common.KeywordInfo targeted_keyword = 22; + + // Output only. Status of the feed item. + // This field is read-only. + google.ads.googleads.v14.enums.FeedItemStatusEnum.FeedItemStatus status = 4 +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/extension_feed_item.proto + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Extension type. + oneof extension { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/extension_feed_item.proto + // Sitelink extension. + google.ads.googleads.v13.common.SitelinkFeedItem sitelink_feed_item = 2; + + // Structured snippet extension. + google.ads.googleads.v13.common.StructuredSnippetFeedItem + structured_snippet_feed_item = 3; + + // App extension. + google.ads.googleads.v13.common.AppFeedItem app_feed_item = 7; + + // Call extension. + google.ads.googleads.v13.common.CallFeedItem call_feed_item = 8; + + // Callout extension. + google.ads.googleads.v13.common.CalloutFeedItem callout_feed_item = 9; + + // Text message extension. + google.ads.googleads.v13.common.TextMessageFeedItem text_message_feed_item = + 10; + + // Price extension. + google.ads.googleads.v13.common.PriceFeedItem price_feed_item = 11; + + // Promotion extension. + google.ads.googleads.v13.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.v13.common.LocationFeedItem location_feed_item = 14 +======== + // Sitelink. + google.ads.googleads.v14.common.SitelinkFeedItem sitelink_feed_item = 2; + + // Structured snippet extension. + google.ads.googleads.v14.common.StructuredSnippetFeedItem + structured_snippet_feed_item = 3; + + // App extension. + google.ads.googleads.v14.common.AppFeedItem app_feed_item = 7; + + // Call extension. + google.ads.googleads.v14.common.CallFeedItem call_feed_item = 8; + + // Callout extension. + google.ads.googleads.v14.common.CalloutFeedItem callout_feed_item = 9; + + // Text message extension. + google.ads.googleads.v14.common.TextMessageFeedItem text_message_feed_item = + 10; + + // Price extension. + google.ads.googleads.v14.common.PriceFeedItem price_feed_item = 11; + + // Promotion extension. + google.ads.googleads.v14.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.v14.common.LocationFeedItem location_feed_item = 14 +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/extension_feed_item.proto + [(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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/extension_feed_item.proto + google.ads.googleads.v13.common.AffiliateLocationFeedItem +======== + google.ads.googleads.v14.common.AffiliateLocationFeedItem +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/extension_feed_item.proto + affiliate_location_feed_item = 15 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Hotel Callout extension. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/extension_feed_item.proto + google.ads.googleads.v13.common.HotelCalloutFeedItem + hotel_callout_feed_item = 23; + + // Immutable. Advertiser provided image extension. + google.ads.googleads.v13.common.ImageFeedItem image_feed_item = 31 +======== + google.ads.googleads.v14.common.HotelCalloutFeedItem + hotel_callout_feed_item = 23; + + // Immutable. Advertiser provided image extension. + google.ads.googleads.v14.common.ImageFeedItem image_feed_item = 31 +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/extension_feed_item.proto + [(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/v14/resources/feed.proto b/third_party/googleapis/google/ads/googleads/v14/resources/feed.proto new file mode 100644 index 000000000..5ea9c734b --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/feed.proto @@ -0,0 +1,231 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/feed.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/feed.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/feed.proto +package google.ads.googleads.v13.resources; + +import "google/ads/googleads/v13/enums/affiliate_location_feed_relationship_type.proto"; +import "google/ads/googleads/v13/enums/feed_attribute_type.proto"; +import "google/ads/googleads/v13/enums/feed_origin.proto"; +import "google/ads/googleads/v13/enums/feed_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "FeedProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +package google.ads.googleads.v14.resources; + +import "google/ads/googleads/v14/enums/affiliate_location_feed_relationship_type.proto"; +import "google/ads/googleads/v14/enums/feed_attribute_type.proto"; +import "google/ads/googleads/v14/enums/feed_origin.proto"; +import "google/ads/googleads/v14/enums/feed_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "FeedProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/feed.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/feed.proto + google.ads.googleads.v13.enums.AffiliateLocationFeedRelationshipTypeEnum +======== + google.ads.googleads.v14.enums.AffiliateLocationFeedRelationshipTypeEnum +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/feed.proto + .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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/feed.proto + google.ads.googleads.v13.enums.FeedOriginEnum.FeedOrigin origin = 5 +======== + google.ads.googleads.v14.enums.FeedOriginEnum.FeedOrigin origin = 5 +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/feed.proto + [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. Status of the feed. + // This field is read-only. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/feed.proto + google.ads.googleads.v13.enums.FeedStatusEnum.FeedStatus status = 8 +======== + google.ads.googleads.v14.enums.FeedStatusEnum.FeedStatus status = 8 +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/feed.proto + [(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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/feed.proto + google.ads.googleads.v13.enums.FeedAttributeTypeEnum.FeedAttributeType type = +======== + google.ads.googleads.v14.enums.FeedAttributeTypeEnum.FeedAttributeType type = +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/feed.proto + 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/v14/resources/feed_item.proto b/third_party/googleapis/google/ads/googleads/v14/resources/feed_item.proto new file mode 100644 index 000000000..bbb5eef18 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/feed_item.proto @@ -0,0 +1,327 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/feed_item.proto +package google.ads.googleads.v12.resources; + +import "google/ads/googleads/v12/common/custom_parameter.proto"; +import "google/ads/googleads/v12/common/feed_common.proto"; +import "google/ads/googleads/v12/common/policy.proto"; +import "google/ads/googleads/v12/enums/feed_item_quality_approval_status.proto"; +import "google/ads/googleads/v12/enums/feed_item_quality_disapproval_reason.proto"; +import "google/ads/googleads/v12/enums/feed_item_status.proto"; +import "google/ads/googleads/v12/enums/feed_item_validation_status.proto"; +import "google/ads/googleads/v12/enums/geo_targeting_restriction.proto"; +import "google/ads/googleads/v12/enums/placeholder_type.proto"; +import "google/ads/googleads/v12/enums/policy_approval_status.proto"; +import "google/ads/googleads/v12/enums/policy_review_status.proto"; +import "google/ads/googleads/v12/errors/feed_item_validation_error.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +package google.ads.googleads.v14.resources; + +import "google/ads/googleads/v14/common/custom_parameter.proto"; +import "google/ads/googleads/v14/common/feed_common.proto"; +import "google/ads/googleads/v14/common/policy.proto"; +import "google/ads/googleads/v14/enums/feed_item_quality_approval_status.proto"; +import "google/ads/googleads/v14/enums/feed_item_quality_disapproval_reason.proto"; +import "google/ads/googleads/v14/enums/feed_item_status.proto"; +import "google/ads/googleads/v14/enums/feed_item_validation_status.proto"; +import "google/ads/googleads/v14/enums/geo_targeting_restriction.proto"; +import "google/ads/googleads/v14/enums/placeholder_type.proto"; +import "google/ads/googleads/v14/enums/policy_approval_status.proto"; +import "google/ads/googleads/v14/enums/policy_review_status.proto"; +import "google/ads/googleads/v14/errors/feed_item_validation_error.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/feed_item.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/feed_item.proto + google.ads.googleads.v12.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.v12.common.CustomParameter url_custom_parameters = 8; + + // Output only. Status of the feed item. + // This field is read-only. + google.ads.googleads.v12.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]; +======== + google.ads.googleads.v14.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.v14.common.CustomParameter + url_custom_parameters = 8; + + // Output only. Status of the feed item. + // This field is read-only. + google.ads.googleads.v14.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]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/feed_item.proto +} + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/feed_item.proto + google.ads.googleads.v12.common.Money price_value = 6; +======== + google.ads.googleads.v14.common.Money price_value = 6; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/feed_item.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/feed_item.proto + google.ads.googleads.v12.enums.PlaceholderTypeEnum.PlaceholderType placeholder_type_enum = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; +======== + google.ads.googleads.v14.enums.PlaceholderTypeEnum.PlaceholderType + placeholder_type_enum = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/feed_item.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/feed_item.proto + google.ads.googleads.v12.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.v12.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.v12.common.PolicyTopicEntry policy_topic_entries = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The validation status of the palceholder type. + google.ads.googleads.v12.enums.FeedItemValidationStatusEnum.FeedItemValidationStatus validation_status = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; +======== + google.ads.googleads.v14.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.v14.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.v14.common.PolicyTopicEntry + policy_topic_entries = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The validation status of the palceholder type. + google.ads.googleads.v14.enums.FeedItemValidationStatusEnum + .FeedItemValidationStatus validation_status = 6 + [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/feed_item.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/feed_item.proto + google.ads.googleads.v12.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.v12.enums.FeedItemQualityDisapprovalReasonEnum.FeedItemQualityDisapprovalReason quality_disapproval_reasons = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; +======== + google.ads.googleads.v14.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.v14.enums.FeedItemQualityDisapprovalReasonEnum + .FeedItemQualityDisapprovalReason quality_disapproval_reasons = 9 + [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/feed_item.proto +} + +// Stores a validation error and the set of offending feed attributes which +// together are responsible for causing a feed item validation error. +message FeedItemValidationError { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/feed_item.proto + // 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.v12.errors.FeedItemValidationErrorEnum.FeedItemValidationError validation_error = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; +======== + // 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.v14.errors.FeedItemValidationErrorEnum + .FeedItemValidationError validation_error = 1 + [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/feed_item.proto + + // Output only. The description of the validation error. + optional string description = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/feed_item.proto + // 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. +======== + // 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. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/feed_item.proto + optional string extra_info = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v14/resources/feed_item_set.proto b/third_party/googleapis/google/ads/googleads/v14/resources/feed_item_set.proto new file mode 100644 index 000000000..1220872fb --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/feed_item_set.proto @@ -0,0 +1,118 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/feed_item_set.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/feed_item_set.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/feed_item_set.proto +package google.ads.googleads.v13.resources; + +import "google/ads/googleads/v13/common/feed_item_set_filter_type_infos.proto"; +import "google/ads/googleads/v13/enums/feed_item_set_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemSetProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +package google.ads.googleads.v14.resources; + +import "google/ads/googleads/v14/common/feed_item_set_filter_type_infos.proto"; +import "google/ads/googleads/v14/enums/feed_item_set_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemSetProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/feed_item_set.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/feed_item_set.proto + google.ads.googleads.v13.enums.FeedItemSetStatusEnum.FeedItemSetStatus +======== + google.ads.googleads.v14.enums.FeedItemSetStatusEnum.FeedItemSetStatus +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/feed_item_set.proto + 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/feed_item_set.proto + google.ads.googleads.v13.common.DynamicLocationSetFilter +======== + google.ads.googleads.v14.common.DynamicLocationSetFilter +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/feed_item_set.proto + 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/feed_item_set.proto + google.ads.googleads.v13.common.DynamicAffiliateLocationSetFilter +======== + google.ads.googleads.v14.common.DynamicAffiliateLocationSetFilter +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/feed_item_set.proto + dynamic_affiliate_location_set_filter = 6; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v14/resources/feed_item_set_link.proto b/third_party/googleapis/google/ads/googleads/v14/resources/feed_item_set_link.proto new file mode 100644 index 000000000..208cae553 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/feed_item_set_link.proto @@ -0,0 +1,84 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/feed_item_set_link.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/feed_item_set_link.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/feed_item_set_link.proto +package google.ads.googleads.v12.resources; +======== +package google.ads.googleads.v14.resources; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/feed_item_set_link.proto + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/feed_item_set_link.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemSetLinkProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemSetLinkProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/feed_item_set_link.proto + +// 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/v14/resources/feed_item_target.proto b/third_party/googleapis/google/ads/googleads/v14/resources/feed_item_target.proto new file mode 100644 index 000000000..45a736814 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/feed_item_target.proto @@ -0,0 +1,158 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/feed_item_target.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/feed_item_target.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/feed_item_target.proto +package google.ads.googleads.v13.resources; + +import "google/ads/googleads/v13/common/criteria.proto"; +import "google/ads/googleads/v13/enums/feed_item_target_device.proto"; +import "google/ads/googleads/v13/enums/feed_item_target_status.proto"; +import "google/ads/googleads/v13/enums/feed_item_target_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemTargetProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +package google.ads.googleads.v14.resources; + +import "google/ads/googleads/v14/common/criteria.proto"; +import "google/ads/googleads/v14/enums/feed_item_target_device.proto"; +import "google/ads/googleads/v14/enums/feed_item_target_status.proto"; +import "google/ads/googleads/v14/enums/feed_item_target_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemTargetProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/feed_item_target.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/feed_item_target.proto + google.ads.googleads.v13.enums.FeedItemTargetTypeEnum.FeedItemTargetType +======== + google.ads.googleads.v14.enums.FeedItemTargetTypeEnum.FeedItemTargetType +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/feed_item_target.proto + 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/feed_item_target.proto + google.ads.googleads.v13.enums.FeedItemTargetStatusEnum.FeedItemTargetStatus +======== + google.ads.googleads.v14.enums.FeedItemTargetStatusEnum.FeedItemTargetStatus +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/feed_item_target.proto + 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/feed_item_target.proto + google.ads.googleads.v13.common.KeywordInfo keyword = 7 +======== + google.ads.googleads.v14.common.KeywordInfo keyword = 7 +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/feed_item_target.proto + [(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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/feed_item_target.proto + google.ads.googleads.v13.enums.FeedItemTargetDeviceEnum.FeedItemTargetDevice + device = 9 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. The targeted schedule. + google.ads.googleads.v13.common.AdScheduleInfo ad_schedule = 10 +======== + google.ads.googleads.v14.enums.FeedItemTargetDeviceEnum.FeedItemTargetDevice + device = 9 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. The targeted schedule. + google.ads.googleads.v14.common.AdScheduleInfo ad_schedule = 10 +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/feed_item_target.proto + [(google.api.field_behavior) = IMMUTABLE]; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v14/resources/feed_mapping.proto b/third_party/googleapis/google/ads/googleads/v14/resources/feed_mapping.proto new file mode 100644 index 000000000..e581eb5e9 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/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.v14.resources; + +import "google/ads/googleads/v14/enums/ad_customizer_placeholder_field.proto"; +import "google/ads/googleads/v14/enums/affiliate_location_placeholder_field.proto"; +import "google/ads/googleads/v14/enums/app_placeholder_field.proto"; +import "google/ads/googleads/v14/enums/call_placeholder_field.proto"; +import "google/ads/googleads/v14/enums/callout_placeholder_field.proto"; +import "google/ads/googleads/v14/enums/custom_placeholder_field.proto"; +import "google/ads/googleads/v14/enums/dsa_page_feed_criterion_field.proto"; +import "google/ads/googleads/v14/enums/education_placeholder_field.proto"; +import "google/ads/googleads/v14/enums/feed_mapping_criterion_type.proto"; +import "google/ads/googleads/v14/enums/feed_mapping_status.proto"; +import "google/ads/googleads/v14/enums/flight_placeholder_field.proto"; +import "google/ads/googleads/v14/enums/hotel_placeholder_field.proto"; +import "google/ads/googleads/v14/enums/image_placeholder_field.proto"; +import "google/ads/googleads/v14/enums/job_placeholder_field.proto"; +import "google/ads/googleads/v14/enums/local_placeholder_field.proto"; +import "google/ads/googleads/v14/enums/location_extension_targeting_criterion_field.proto"; +import "google/ads/googleads/v14/enums/location_placeholder_field.proto"; +import "google/ads/googleads/v14/enums/message_placeholder_field.proto"; +import "google/ads/googleads/v14/enums/placeholder_type.proto"; +import "google/ads/googleads/v14/enums/price_placeholder_field.proto"; +import "google/ads/googleads/v14/enums/promotion_placeholder_field.proto"; +import "google/ads/googleads/v14/enums/real_estate_placeholder_field.proto"; +import "google/ads/googleads/v14/enums/sitelink_placeholder_field.proto"; +import "google/ads/googleads/v14/enums/structured_snippet_placeholder_field.proto"; +import "google/ads/googleads/v14/enums/travel_placeholder_field.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "FeedMappingProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::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.v14.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.v14.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.v14.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.v14.enums.SitelinkPlaceholderFieldEnum + .SitelinkPlaceholderField sitelink_field = 3 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Call Placeholder Fields. + google.ads.googleads.v14.enums.CallPlaceholderFieldEnum.CallPlaceholderField + call_field = 4 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. App Placeholder Fields. + google.ads.googleads.v14.enums.AppPlaceholderFieldEnum.AppPlaceholderField + app_field = 5 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. Location Placeholder Fields. This field is read-only. + google.ads.googleads.v14.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.v14.enums.AffiliateLocationPlaceholderFieldEnum + .AffiliateLocationPlaceholderField affiliate_location_field = 7 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. Callout Placeholder Fields. + google.ads.googleads.v14.enums.CalloutPlaceholderFieldEnum + .CalloutPlaceholderField callout_field = 8 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Structured Snippet Placeholder Fields. + google.ads.googleads.v14.enums.StructuredSnippetPlaceholderFieldEnum + .StructuredSnippetPlaceholderField structured_snippet_field = 9 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Message Placeholder Fields. + google.ads.googleads.v14.enums.MessagePlaceholderFieldEnum + .MessagePlaceholderField message_field = 10 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Price Placeholder Fields. + google.ads.googleads.v14.enums.PricePlaceholderFieldEnum + .PricePlaceholderField price_field = 11 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Promotion Placeholder Fields. + google.ads.googleads.v14.enums.PromotionPlaceholderFieldEnum + .PromotionPlaceholderField promotion_field = 12 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Ad Customizer Placeholder Fields + google.ads.googleads.v14.enums.AdCustomizerPlaceholderFieldEnum + .AdCustomizerPlaceholderField ad_customizer_field = 13 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Dynamic Search Ad Page Feed Fields. + google.ads.googleads.v14.enums.DsaPageFeedCriterionFieldEnum + .DsaPageFeedCriterionField dsa_page_feed_field = 14 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Location Target Fields. + google.ads.googleads.v14.enums.LocationExtensionTargetingCriterionFieldEnum + .LocationExtensionTargetingCriterionField + location_extension_targeting_field = 15 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Education Placeholder Fields + google.ads.googleads.v14.enums.EducationPlaceholderFieldEnum + .EducationPlaceholderField education_field = 16 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Flight Placeholder Fields + google.ads.googleads.v14.enums.FlightPlaceholderFieldEnum + .FlightPlaceholderField flight_field = 17 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Custom Placeholder Fields + google.ads.googleads.v14.enums.CustomPlaceholderFieldEnum + .CustomPlaceholderField custom_field = 18 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Hotel Placeholder Fields + google.ads.googleads.v14.enums.HotelPlaceholderFieldEnum + .HotelPlaceholderField hotel_field = 19 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Real Estate Placeholder Fields + google.ads.googleads.v14.enums.RealEstatePlaceholderFieldEnum + .RealEstatePlaceholderField real_estate_field = 20 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Travel Placeholder Fields + google.ads.googleads.v14.enums.TravelPlaceholderFieldEnum + .TravelPlaceholderField travel_field = 21 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Local Placeholder Fields + google.ads.googleads.v14.enums.LocalPlaceholderFieldEnum + .LocalPlaceholderField local_field = 22 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Job Placeholder Fields + google.ads.googleads.v14.enums.JobPlaceholderFieldEnum.JobPlaceholderField + job_field = 23 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Image Placeholder Fields + google.ads.googleads.v14.enums.ImagePlaceholderFieldEnum + .ImagePlaceholderField image_field = 26 + [(google.api.field_behavior) = IMMUTABLE]; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v14/resources/feed_placeholder_view.proto b/third_party/googleapis/google/ads/googleads/v14/resources/feed_placeholder_view.proto new file mode 100644 index 000000000..74c8abd17 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/feed_placeholder_view.proto @@ -0,0 +1,80 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/feed_placeholder_view.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/feed_placeholder_view.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/feed_placeholder_view.proto +package google.ads.googleads.v13.resources; + +import "google/ads/googleads/v13/enums/placeholder_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "FeedPlaceholderViewProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +package google.ads.googleads.v14.resources; + +import "google/ads/googleads/v14/enums/placeholder_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "FeedPlaceholderViewProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/feed_placeholder_view.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/feed_placeholder_view.proto + google.ads.googleads.v13.enums.PlaceholderTypeEnum.PlaceholderType +======== + google.ads.googleads.v14.enums.PlaceholderTypeEnum.PlaceholderType +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/feed_placeholder_view.proto + placeholder_type = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v14/resources/gender_view.proto b/third_party/googleapis/google/ads/googleads/v14/resources/gender_view.proto new file mode 100644 index 000000000..86c2f7d89 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/gender_view.proto @@ -0,0 +1,69 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/gender_view.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/gender_view.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/gender_view.proto +package google.ads.googleads.v12.resources; +======== +package google.ads.googleads.v14.resources; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/gender_view.proto + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/gender_view.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "GenderViewProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "GenderViewProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/gender_view.proto + +// 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/v14/resources/geo_target_constant.proto b/third_party/googleapis/google/ads/googleads/v14/resources/geo_target_constant.proto new file mode 100644 index 000000000..0490716d1 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/geo_target_constant.proto @@ -0,0 +1,110 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/geo_target_constant.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/geo_target_constant.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/geo_target_constant.proto +package google.ads.googleads.v13.resources; + +import "google/ads/googleads/v13/enums/geo_target_constant_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "GeoTargetConstantProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +package google.ads.googleads.v14.resources; + +import "google/ads/googleads/v14/enums/geo_target_constant_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "GeoTargetConstantProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/geo_target_constant.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/geo_target_constant.proto + google.ads.googleads.v13.enums.GeoTargetConstantStatusEnum +======== + google.ads.googleads.v14.enums.GeoTargetConstantStatusEnum +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/geo_target_constant.proto + .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/v14/resources/geographic_view.proto b/third_party/googleapis/google/ads/googleads/v14/resources/geographic_view.proto new file mode 100644 index 000000000..898052b20 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/geographic_view.proto @@ -0,0 +1,89 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/geographic_view.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/geographic_view.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/geographic_view.proto +package google.ads.googleads.v13.resources; + +import "google/ads/googleads/v13/enums/geo_targeting_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "GeographicViewProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +package google.ads.googleads.v14.resources; + +import "google/ads/googleads/v14/enums/geo_targeting_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "GeographicViewProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/geographic_view.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/geographic_view.proto + google.ads.googleads.v13.enums.GeoTargetingTypeEnum.GeoTargetingType +======== + google.ads.googleads.v14.enums.GeoTargetingTypeEnum.GeoTargetingType +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/geographic_view.proto + 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/v14/resources/google_ads_field.proto b/third_party/googleapis/google/ads/googleads/v14/resources/google_ads_field.proto new file mode 100644 index 000000000..41b876cdd --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/google_ads_field.proto @@ -0,0 +1,145 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/searchads360/v0/resources/search_ads360_field.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/google_ads_field.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/searchads360/v0/resources/search_ads360_field.proto +package google.ads.searchads360.v0.resources; + +import "google/ads/searchads360/v0/enums/search_ads360_field_category.proto"; +import "google/ads/searchads360/v0/enums/search_ads360_field_data_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.SearchAds360.V0.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/searchads360/v0/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "SearchAds360FieldProto"; +option java_package = "com.google.ads.searchads360.v0.resources"; +option objc_class_prefix = "GASA360"; +option php_namespace = "Google\\Ads\\SearchAds360\\V0\\Resources"; +option ruby_package = "Google::Ads::SearchAds360::V0::Resources"; +======== +package google.ads.googleads.v14.resources; + +import "google/ads/googleads/v14/enums/google_ads_field_category.proto"; +import "google/ads/googleads/v14/enums/google_ads_field_data_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "GoogleAdsFieldProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/google_ads_field.proto + +// Proto file describing the Search Ads 360 Field resource. + +// A field or resource (artifact) used by SearchAds360Service. +message SearchAds360Field { + option (google.api.resource) = { + type: "searchads360.googleapis.com/SearchAds360Field" + pattern: "searchAds360Fields/{search_ads_360_field}" + }; + + // Output only. The resource name of the artifact. + // Artifact resource names have the form: + // + // `SearchAds360Fields/{name}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "searchads360.googleapis.com/SearchAds360Field" + } + ]; + + // Output only. The name of the artifact. + optional string name = 21 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The category of the artifact. +<<<<<<<< HEAD:third_party/googleapis/google/ads/searchads360/v0/resources/search_ads360_field.proto + google.ads.searchads360.v0.enums.SearchAds360FieldCategoryEnum.SearchAds360FieldCategory category = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; +======== + google.ads.googleads.v14.enums.GoogleAdsFieldCategoryEnum + .GoogleAdsFieldCategory category = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/google_ads_field.proto + + // 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]; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/searchads360/v0/resources/search_ads360_field.proto + // Output only. This field determines the operators that can be used with the artifact + // in WHERE clauses. + google.ads.searchads360.v0.enums.SearchAds360FieldDataTypeEnum.SearchAds360FieldDataType data_type = 12 [(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.v14.enums.GoogleAdsFieldDataTypeEnum + .GoogleAdsFieldDataType data_type = 12 + [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/google_ads_field.proto + + // 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/v14/resources/group_placement_view.proto b/third_party/googleapis/google/ads/googleads/v14/resources/group_placement_view.proto new file mode 100644 index 000000000..63660c572 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/group_placement_view.proto @@ -0,0 +1,93 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/group_placement_view.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/group_placement_view.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/group_placement_view.proto +package google.ads.googleads.v13.resources; + +import "google/ads/googleads/v13/enums/placement_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "GroupPlacementViewProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +package google.ads.googleads.v14.resources; + +import "google/ads/googleads/v14/enums/placement_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "GroupPlacementViewProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/group_placement_view.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/group_placement_view.proto + google.ads.googleads.v13.enums.PlacementTypeEnum.PlacementType +======== + google.ads.googleads.v14.enums.PlacementTypeEnum.PlacementType +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/group_placement_view.proto + placement_type = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v14/resources/hotel_group_view.proto b/third_party/googleapis/google/ads/googleads/v14/resources/hotel_group_view.proto new file mode 100644 index 000000000..0d22dc34f --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/hotel_group_view.proto @@ -0,0 +1,69 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/hotel_group_view.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/hotel_group_view.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/hotel_group_view.proto +package google.ads.googleads.v12.resources; +======== +package google.ads.googleads.v14.resources; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/hotel_group_view.proto + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/hotel_group_view.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "HotelGroupViewProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "HotelGroupViewProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/hotel_group_view.proto + +// 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/v14/resources/hotel_performance_view.proto b/third_party/googleapis/google/ads/googleads/v14/resources/hotel_performance_view.proto new file mode 100644 index 000000000..5f2477ec7 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/hotel_performance_view.proto @@ -0,0 +1,69 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/hotel_performance_view.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/hotel_performance_view.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/hotel_performance_view.proto +package google.ads.googleads.v12.resources; +======== +package google.ads.googleads.v14.resources; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/hotel_performance_view.proto + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/hotel_performance_view.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "HotelPerformanceViewProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "HotelPerformanceViewProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/hotel_performance_view.proto + +// 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/v14/resources/hotel_reconciliation.proto b/third_party/googleapis/google/ads/googleads/v14/resources/hotel_reconciliation.proto new file mode 100644 index 000000000..b3df3e6ad --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/hotel_reconciliation.proto @@ -0,0 +1,145 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/hotel_reconciliation.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/hotel_reconciliation.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/hotel_reconciliation.proto +package google.ads.googleads.v13.resources; + +import "google/ads/googleads/v13/enums/hotel_reconciliation_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "HotelReconciliationProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +package google.ads.googleads.v14.resources; + +import "google/ads/googleads/v14/enums/hotel_reconciliation_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "HotelReconciliationProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/hotel_reconciliation.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/hotel_reconciliation.proto + google.ads.googleads.v13.enums.HotelReconciliationStatusEnum +======== + google.ads.googleads.v14.enums.HotelReconciliationStatusEnum +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/hotel_reconciliation.proto + .HotelReconciliationStatus status = 10 [ + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = OUTPUT_ONLY + ]; +} diff --git a/third_party/googleapis/google/ads/googleads/v14/resources/income_range_view.proto b/third_party/googleapis/google/ads/googleads/v14/resources/income_range_view.proto new file mode 100644 index 000000000..095115aca --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/income_range_view.proto @@ -0,0 +1,69 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/income_range_view.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/income_range_view.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/income_range_view.proto +package google.ads.googleads.v12.resources; +======== +package google.ads.googleads.v14.resources; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/income_range_view.proto + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/income_range_view.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "IncomeRangeViewProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "IncomeRangeViewProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/income_range_view.proto + +// 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/v14/resources/invoice.proto b/third_party/googleapis/google/ads/googleads/v14/resources/invoice.proto new file mode 100644 index 000000000..a84daac60 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/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.v14.resources; + +import "google/ads/googleads/v14/common/dates.proto"; +import "google/ads/googleads/v14/enums/invoice_type.proto"; +import "google/ads/googleads/v14/enums/month_of_year.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "InvoiceProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::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.v14.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.v14.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.v14.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.v14.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/v14/resources/keyword_plan.proto b/third_party/googleapis/google/ads/googleads/v14/resources/keyword_plan.proto new file mode 100644 index 000000000..c08803edd --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/keyword_plan.proto @@ -0,0 +1,113 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/keyword_plan.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/keyword_plan.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/keyword_plan.proto +package google.ads.googleads.v13.resources; + +import "google/ads/googleads/v13/common/dates.proto"; +import "google/ads/googleads/v13/enums/keyword_plan_forecast_interval.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +package google.ads.googleads.v14.resources; + +import "google/ads/googleads/v14/common/dates.proto"; +import "google/ads/googleads/v14/enums/keyword_plan_forecast_interval.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/keyword_plan.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/keyword_plan.proto + google.ads.googleads.v13.enums.KeywordPlanForecastIntervalEnum +======== + google.ads.googleads.v14.enums.KeywordPlanForecastIntervalEnum +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/keyword_plan.proto + .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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/keyword_plan.proto + google.ads.googleads.v13.common.DateRange date_range = 2; +======== + google.ads.googleads.v14.common.DateRange date_range = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/keyword_plan.proto + } +} diff --git a/third_party/googleapis/google/ads/googleads/v14/resources/keyword_plan_ad_group.proto b/third_party/googleapis/google/ads/googleads/v14/resources/keyword_plan_ad_group.proto new file mode 100644 index 000000000..fb20117bc --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/keyword_plan_ad_group.proto @@ -0,0 +1,89 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/keyword_plan_ad_group.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/keyword_plan_ad_group.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/keyword_plan_ad_group.proto +package google.ads.googleads.v13.resources; +======== +package google.ads.googleads.v14.resources; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/keyword_plan_ad_group.proto + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/keyword_plan_ad_group.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanAdGroupProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanAdGroupProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/keyword_plan_ad_group.proto + +// 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/v14/resources/keyword_plan_ad_group_keyword.proto b/third_party/googleapis/google/ads/googleads/v14/resources/keyword_plan_ad_group_keyword.proto new file mode 100644 index 000000000..cb14d1e65 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/keyword_plan_ad_group_keyword.proto @@ -0,0 +1,101 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/keyword_plan_ad_group_keyword.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/keyword_plan_ad_group_keyword.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/keyword_plan_ad_group_keyword.proto +package google.ads.googleads.v13.resources; + +import "google/ads/googleads/v13/enums/keyword_match_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanAdGroupKeywordProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +package google.ads.googleads.v14.resources; + +import "google/ads/googleads/v14/enums/keyword_match_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanAdGroupKeywordProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/keyword_plan_ad_group_keyword.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/keyword_plan_ad_group_keyword.proto + google.ads.googleads.v13.enums.KeywordMatchTypeEnum.KeywordMatchType +======== + google.ads.googleads.v14.enums.KeywordMatchTypeEnum.KeywordMatchType +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/keyword_plan_ad_group_keyword.proto + 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/v14/resources/keyword_plan_campaign.proto b/third_party/googleapis/google/ads/googleads/v14/resources/keyword_plan_campaign.proto new file mode 100644 index 000000000..46d3e1d85 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/keyword_plan_campaign.proto @@ -0,0 +1,123 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/keyword_plan_campaign.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/keyword_plan_campaign.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/keyword_plan_campaign.proto +package google.ads.googleads.v13.resources; + +import "google/ads/googleads/v13/enums/keyword_plan_network.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanCampaignProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +package google.ads.googleads.v14.resources; + +import "google/ads/googleads/v14/enums/keyword_plan_network.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanCampaignProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/keyword_plan_campaign.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/keyword_plan_campaign.proto + google.ads.googleads.v13.enums.KeywordPlanNetworkEnum.KeywordPlanNetwork +======== + google.ads.googleads.v14.enums.KeywordPlanNetworkEnum.KeywordPlanNetwork +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/keyword_plan_campaign.proto + 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/v14/resources/keyword_plan_campaign_keyword.proto b/third_party/googleapis/google/ads/googleads/v14/resources/keyword_plan_campaign_keyword.proto new file mode 100644 index 000000000..1b58b9deb --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/keyword_plan_campaign_keyword.proto @@ -0,0 +1,96 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/keyword_plan_campaign_keyword.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/keyword_plan_campaign_keyword.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/keyword_plan_campaign_keyword.proto +package google.ads.googleads.v13.resources; + +import "google/ads/googleads/v13/enums/keyword_match_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanCampaignKeywordProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +package google.ads.googleads.v14.resources; + +import "google/ads/googleads/v14/enums/keyword_match_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanCampaignKeywordProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/keyword_plan_campaign_keyword.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/keyword_plan_campaign_keyword.proto + google.ads.googleads.v13.enums.KeywordMatchTypeEnum.KeywordMatchType +======== + google.ads.googleads.v14.enums.KeywordMatchTypeEnum.KeywordMatchType +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/keyword_plan_campaign_keyword.proto + 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/v14/resources/keyword_theme_constant.proto b/third_party/googleapis/google/ads/googleads/v14/resources/keyword_theme_constant.proto new file mode 100644 index 000000000..670ce5069 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/keyword_theme_constant.proto @@ -0,0 +1,82 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/keyword_theme_constant.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/keyword_theme_constant.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/keyword_theme_constant.proto +package google.ads.googleads.v13.resources; +======== +package google.ads.googleads.v14.resources; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/keyword_theme_constant.proto + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/keyword_theme_constant.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "KeywordThemeConstantProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "KeywordThemeConstantProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/keyword_theme_constant.proto + +// 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/v14/resources/keyword_view.proto b/third_party/googleapis/google/ads/googleads/v14/resources/keyword_view.proto new file mode 100644 index 000000000..fcd7f6c36 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/keyword_view.proto @@ -0,0 +1,69 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/keyword_view.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/keyword_view.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/keyword_view.proto +package google.ads.googleads.v12.resources; +======== +package google.ads.googleads.v14.resources; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/keyword_view.proto + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/keyword_view.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "KeywordViewProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "KeywordViewProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/keyword_view.proto + +// 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/v14/resources/label.proto b/third_party/googleapis/google/ads/googleads/v14/resources/label.proto new file mode 100644 index 000000000..507e17dd7 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/label.proto @@ -0,0 +1,94 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/label.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/label.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/label.proto +package google.ads.googleads.v13.resources; + +import "google/ads/googleads/v13/common/text_label.proto"; +import "google/ads/googleads/v13/enums/label_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "LabelProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +package google.ads.googleads.v14.resources; + +import "google/ads/googleads/v14/common/text_label.proto"; +import "google/ads/googleads/v14/enums/label_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "LabelProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/label.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/label.proto + google.ads.googleads.v13.enums.LabelStatusEnum.LabelStatus status = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // A type of label displaying text on a colored background. + google.ads.googleads.v13.common.TextLabel text_label = 5; +======== + google.ads.googleads.v14.enums.LabelStatusEnum.LabelStatus status = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // A type of label displaying text on a colored background. + google.ads.googleads.v14.common.TextLabel text_label = 5; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/label.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v14/resources/landing_page_view.proto b/third_party/googleapis/google/ads/googleads/v14/resources/landing_page_view.proto new file mode 100644 index 000000000..ff1d2780b --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/landing_page_view.proto @@ -0,0 +1,74 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/landing_page_view.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/landing_page_view.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/landing_page_view.proto +package google.ads.googleads.v13.resources; +======== +package google.ads.googleads.v14.resources; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/landing_page_view.proto + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/landing_page_view.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "LandingPageViewProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "LandingPageViewProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/landing_page_view.proto + +// 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/v14/resources/language_constant.proto b/third_party/googleapis/google/ads/googleads/v14/resources/language_constant.proto new file mode 100644 index 000000000..6209de657 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/language_constant.proto @@ -0,0 +1,91 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/language_constant.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/language_constant.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/language_constant.proto +package google.ads.googleads.v12.resources; +======== +package google.ads.googleads.v14.resources; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/language_constant.proto + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/language_constant.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "LanguageConstantProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "LanguageConstantProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/language_constant.proto + +// 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]; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/language_constant.proto + // 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. +======== + // 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. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/language_constant.proto + 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/v14/resources/lead_form_submission_data.proto b/third_party/googleapis/google/ads/googleads/v14/resources/lead_form_submission_data.proto new file mode 100644 index 000000000..8bded0275 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/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.v14.resources; + +import "google/ads/googleads/v14/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.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "LeadFormSubmissionDataProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::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.v14.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/v14/resources/life_event.proto b/third_party/googleapis/google/ads/googleads/v14/resources/life_event.proto new file mode 100644 index 000000000..48e627a37 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/life_event.proto @@ -0,0 +1,99 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/life_event.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/life_event.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/life_event.proto +package google.ads.googleads.v13.resources; + +import "google/ads/googleads/v13/common/criterion_category_availability.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "LifeEventProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +package google.ads.googleads.v14.resources; + +import "google/ads/googleads/v14/common/criterion_category_availability.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "LifeEventProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/life_event.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/life_event.proto + repeated google.ads.googleads.v13.common.CriterionCategoryAvailability +======== + repeated google.ads.googleads.v14.common.CriterionCategoryAvailability +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/life_event.proto + availabilities = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v14/resources/location_view.proto b/third_party/googleapis/google/ads/googleads/v14/resources/location_view.proto new file mode 100644 index 000000000..a841bca7f --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/location_view.proto @@ -0,0 +1,70 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/location_view.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/location_view.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/location_view.proto +package google.ads.googleads.v12.resources; +======== +package google.ads.googleads.v14.resources; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/location_view.proto + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/location_view.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "LocationViewProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "LocationViewProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/location_view.proto + +// 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/v14/resources/managed_placement_view.proto b/third_party/googleapis/google/ads/googleads/v14/resources/managed_placement_view.proto new file mode 100644 index 000000000..3cb033f0c --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/managed_placement_view.proto @@ -0,0 +1,69 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/managed_placement_view.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/managed_placement_view.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/managed_placement_view.proto +package google.ads.googleads.v12.resources; +======== +package google.ads.googleads.v14.resources; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/managed_placement_view.proto + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/managed_placement_view.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ManagedPlacementViewProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ManagedPlacementViewProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/managed_placement_view.proto + +// 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/v14/resources/media_file.proto b/third_party/googleapis/google/ads/googleads/v14/resources/media_file.proto new file mode 100644 index 000000000..0f07a514e --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/media_file.proto @@ -0,0 +1,175 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/media_file.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/media_file.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/media_file.proto +package google.ads.googleads.v13.resources; + +import "google/ads/googleads/v13/enums/media_type.proto"; +import "google/ads/googleads/v13/enums/mime_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "MediaFileProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +package google.ads.googleads.v14.resources; + +import "google/ads/googleads/v14/enums/media_type.proto"; +import "google/ads/googleads/v14/enums/mime_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "MediaFileProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/media_file.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/media_file.proto + google.ads.googleads.v13.enums.MediaTypeEnum.MediaType type = 5 + [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. The mime type of the media file. + google.ads.googleads.v13.enums.MimeTypeEnum.MimeType mime_type = 6 +======== + google.ads.googleads.v14.enums.MediaTypeEnum.MediaType type = 5 + [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. The mime type of the media file. + google.ads.googleads.v14.enums.MimeTypeEnum.MimeType mime_type = 6 +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/media_file.proto + [(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/v14/resources/merchant_center_link.proto b/third_party/googleapis/google/ads/googleads/v14/resources/merchant_center_link.proto new file mode 100644 index 000000000..16538eafa --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/merchant_center_link.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/merchant_center_link.proto +package google.ads.googleads.v12.resources; + +import "google/ads/googleads/v12/enums/merchant_center_link_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "MerchantCenterLinkProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +package google.ads.googleads.v14.resources; + +import "google/ads/googleads/v14/enums/merchant_center_link_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "MerchantCenterLinkProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/merchant_center_link.proto + +// Proto file describing the Merchant Center link resource. + +// A data sharing connection, proposed or in use, +// between a Google Ads Customer and a Merchant Center account. +message MerchantCenterLink { + option (google.api.resource) = { + type: "googleads.googleapis.com/MerchantCenterLink" + pattern: "customers/{customer_id}/merchantCenterLinks/{merchant_center_id}" + }; + + // Immutable. The resource name of the merchant center link. + // Merchant center link resource names have the form: + // + // `customers/{customer_id}/merchantCenterLinks/{merchant_center_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/MerchantCenterLink" + } + ]; + + // Output only. The ID of the Merchant Center account. + // This field is readonly. + optional int64 id = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The name of the Merchant Center account. + // This field is readonly. + optional string merchant_center_account_name = 7 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The status of the link. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/merchant_center_link.proto + google.ads.googleads.v12.enums.MerchantCenterLinkStatusEnum.MerchantCenterLinkStatus status = 5; +======== + google.ads.googleads.v14.enums.MerchantCenterLinkStatusEnum + .MerchantCenterLinkStatus status = 5; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/merchant_center_link.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v14/resources/mobile_app_category_constant.proto b/third_party/googleapis/google/ads/googleads/v14/resources/mobile_app_category_constant.proto new file mode 100644 index 000000000..0572a9372 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/mobile_app_category_constant.proto @@ -0,0 +1,75 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/mobile_app_category_constant.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/mobile_app_category_constant.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/mobile_app_category_constant.proto +package google.ads.googleads.v12.resources; +======== +package google.ads.googleads.v14.resources; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/mobile_app_category_constant.proto + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/mobile_app_category_constant.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "MobileAppCategoryConstantProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "MobileAppCategoryConstantProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/mobile_app_category_constant.proto + +// 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/v14/resources/mobile_device_constant.proto b/third_party/googleapis/google/ads/googleads/v14/resources/mobile_device_constant.proto new file mode 100644 index 000000000..7d49efcfd --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/mobile_device_constant.proto @@ -0,0 +1,94 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/mobile_device_constant.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/mobile_device_constant.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/mobile_device_constant.proto +package google.ads.googleads.v13.resources; + +import "google/ads/googleads/v13/enums/mobile_device_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "MobileDeviceConstantProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +package google.ads.googleads.v14.resources; + +import "google/ads/googleads/v14/enums/mobile_device_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "MobileDeviceConstantProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/mobile_device_constant.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/mobile_device_constant.proto + google.ads.googleads.v13.enums.MobileDeviceTypeEnum.MobileDeviceType type = 6 +======== + google.ads.googleads.v14.enums.MobileDeviceTypeEnum.MobileDeviceType type = 6 +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/mobile_device_constant.proto + [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v14/resources/offline_user_data_job.proto b/third_party/googleapis/google/ads/googleads/v14/resources/offline_user_data_job.proto new file mode 100644 index 000000000..16fed95ae --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/offline_user_data_job.proto @@ -0,0 +1,155 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/offline_user_data_job.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/offline_user_data_job.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/offline_user_data_job.proto +package google.ads.googleads.v13.resources; + +import "google/ads/googleads/v13/common/offline_user_data.proto"; +import "google/ads/googleads/v13/enums/offline_user_data_job_failure_reason.proto"; +import "google/ads/googleads/v13/enums/offline_user_data_job_match_rate_range.proto"; +import "google/ads/googleads/v13/enums/offline_user_data_job_status.proto"; +import "google/ads/googleads/v13/enums/offline_user_data_job_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "OfflineUserDataJobProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +package google.ads.googleads.v14.resources; + +import "google/ads/googleads/v14/common/offline_user_data.proto"; +import "google/ads/googleads/v14/enums/offline_user_data_job_failure_reason.proto"; +import "google/ads/googleads/v14/enums/offline_user_data_job_match_rate_range.proto"; +import "google/ads/googleads/v14/enums/offline_user_data_job_status.proto"; +import "google/ads/googleads/v14/enums/offline_user_data_job_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "OfflineUserDataJobProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/offline_user_data_job.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/offline_user_data_job.proto + google.ads.googleads.v13.enums.OfflineUserDataJobTypeEnum +======== + google.ads.googleads.v14.enums.OfflineUserDataJobTypeEnum +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/offline_user_data_job.proto + .OfflineUserDataJobType type = 4 + [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. Status of the job. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/offline_user_data_job.proto + google.ads.googleads.v13.enums.OfflineUserDataJobStatusEnum +======== + google.ads.googleads.v14.enums.OfflineUserDataJobStatusEnum +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/offline_user_data_job.proto + .OfflineUserDataJobStatus status = 5 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Reason for the processing failure, if status is FAILED. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/offline_user_data_job.proto + google.ads.googleads.v13.enums.OfflineUserDataJobFailureReasonEnum +======== + google.ads.googleads.v14.enums.OfflineUserDataJobFailureReasonEnum +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/offline_user_data_job.proto + .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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/offline_user_data_job.proto + google.ads.googleads.v13.common.CustomerMatchUserListMetadata +======== + google.ads.googleads.v14.common.CustomerMatchUserListMetadata +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/offline_user_data_job.proto + customer_match_user_list_metadata = 7 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Metadata for store sales data update. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/offline_user_data_job.proto + google.ads.googleads.v13.common.StoreSalesMetadata store_sales_metadata = 8 +======== + google.ads.googleads.v14.common.StoreSalesMetadata store_sales_metadata = 8 +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/offline_user_data_job.proto + [(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". +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/offline_user_data_job.proto + google.ads.googleads.v13.enums.OfflineUserDataJobMatchRateRangeEnum +======== + google.ads.googleads.v14.enums.OfflineUserDataJobMatchRateRangeEnum +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/offline_user_data_job.proto + .OfflineUserDataJobMatchRateRange match_rate_range = 1 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v14/resources/operating_system_version_constant.proto b/third_party/googleapis/google/ads/googleads/v14/resources/operating_system_version_constant.proto new file mode 100644 index 000000000..3a2057e4c --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/operating_system_version_constant.proto @@ -0,0 +1,98 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/operating_system_version_constant.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/operating_system_version_constant.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/operating_system_version_constant.proto +package google.ads.googleads.v13.resources; + +import "google/ads/googleads/v13/enums/operating_system_version_operator_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "OperatingSystemVersionConstantProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +package google.ads.googleads.v14.resources; + +import "google/ads/googleads/v14/enums/operating_system_version_operator_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "OperatingSystemVersionConstantProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/operating_system_version_constant.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/operating_system_version_constant.proto + google.ads.googleads.v13.enums.OperatingSystemVersionOperatorTypeEnum +======== + google.ads.googleads.v14.enums.OperatingSystemVersionOperatorTypeEnum +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/operating_system_version_constant.proto + .OperatingSystemVersionOperatorType operator_type = 6 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v14/resources/paid_organic_search_term_view.proto b/third_party/googleapis/google/ads/googleads/v14/resources/paid_organic_search_term_view.proto new file mode 100644 index 000000000..72aef21dd --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/paid_organic_search_term_view.proto @@ -0,0 +1,74 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/paid_organic_search_term_view.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/paid_organic_search_term_view.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/paid_organic_search_term_view.proto +package google.ads.googleads.v12.resources; +======== +package google.ads.googleads.v14.resources; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/paid_organic_search_term_view.proto + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/paid_organic_search_term_view.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "PaidOrganicSearchTermViewProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "PaidOrganicSearchTermViewProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/paid_organic_search_term_view.proto + +// 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/v14/resources/parental_status_view.proto b/third_party/googleapis/google/ads/googleads/v14/resources/parental_status_view.proto new file mode 100644 index 000000000..10368bde2 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/parental_status_view.proto @@ -0,0 +1,69 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/parental_status_view.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/parental_status_view.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/parental_status_view.proto +package google.ads.googleads.v12.resources; +======== +package google.ads.googleads.v14.resources; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/parental_status_view.proto + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/parental_status_view.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ParentalStatusViewProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ParentalStatusViewProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/parental_status_view.proto + +// 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/v14/resources/payments_account.proto b/third_party/googleapis/google/ads/googleads/v14/resources/payments_account.proto new file mode 100644 index 000000000..8d1e4a0e0 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/payments_account.proto @@ -0,0 +1,101 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/payments_account.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/payments_account.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/payments_account.proto +package google.ads.googleads.v13.resources; +======== +package google.ads.googleads.v14.resources; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/payments_account.proto + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/payments_account.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "PaymentsAccountProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "PaymentsAccountProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/payments_account.proto + +// 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/v14/resources/per_store_view.proto b/third_party/googleapis/google/ads/googleads/v14/resources/per_store_view.proto new file mode 100644 index 000000000..a82139d2e --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/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.v14.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "PerStoreViewProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::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/v14/resources/product_bidding_category_constant.proto b/third_party/googleapis/google/ads/googleads/v14/resources/product_bidding_category_constant.proto new file mode 100644 index 000000000..4e273a98e --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/product_bidding_category_constant.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/product_bidding_category_constant.proto +package google.ads.googleads.v12.resources; + +import "google/ads/googleads/v12/enums/product_bidding_category_level.proto"; +import "google/ads/googleads/v12/enums/product_bidding_category_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ProductBiddingCategoryConstantProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +package google.ads.googleads.v14.resources; + +import "google/ads/googleads/v14/enums/product_bidding_category_level.proto"; +import "google/ads/googleads/v14/enums/product_bidding_category_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ProductBiddingCategoryConstantProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/product_bidding_category_constant.proto + +// Proto file describing the ProductBiddingCategoryConstant resource. + +// A Product Bidding Category. +message ProductBiddingCategoryConstant { + option (google.api.resource) = { + type: "googleads.googleapis.com/ProductBiddingCategoryConstant" + pattern: "productBiddingCategoryConstants/{country_code}~{level}~{id}" + }; + + // Output only. The resource name of the product bidding category. + // Product bidding category resource names have the form: + // + // `productBiddingCategoryConstants/{country_code}~{level}~{id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/ProductBiddingCategoryConstant" + } + ]; + + // Output only. ID of the product bidding 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 id = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Two-letter upper-case country code of the product bidding + // category. + optional string country_code = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Resource name of the parent product bidding category. + optional string product_bidding_category_constant_parent = 12 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/ProductBiddingCategoryConstant" + } + ]; + + // Output only. Level of the product bidding category. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/product_bidding_category_constant.proto + google.ads.googleads.v12.enums.ProductBiddingCategoryLevelEnum.ProductBiddingCategoryLevel level = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Status of the product bidding category. + google.ads.googleads.v12.enums.ProductBiddingCategoryStatusEnum.ProductBiddingCategoryStatus status = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; +======== + google.ads.googleads.v14.enums.ProductBiddingCategoryLevelEnum + .ProductBiddingCategoryLevel level = 5 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Status of the product bidding category. + google.ads.googleads.v14.enums.ProductBiddingCategoryStatusEnum + .ProductBiddingCategoryStatus status = 6 + [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/product_bidding_category_constant.proto + + // Output only. Language code of the product bidding category. + optional string language_code = 13 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Display value of the product bidding category localized + // according to language_code. + optional string localized_name = 14 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v14/resources/product_group_view.proto b/third_party/googleapis/google/ads/googleads/v14/resources/product_group_view.proto new file mode 100644 index 000000000..52ecfa3e0 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/product_group_view.proto @@ -0,0 +1,69 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/product_group_view.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/product_group_view.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/product_group_view.proto +package google.ads.googleads.v12.resources; +======== +package google.ads.googleads.v14.resources; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/product_group_view.proto + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/product_group_view.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ProductGroupViewProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ProductGroupViewProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/product_group_view.proto + +// 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/v14/resources/product_link.proto b/third_party/googleapis/google/ads/googleads/v14/resources/product_link.proto new file mode 100644 index 000000000..c1f8a1a45 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/product_link.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.v14.resources; + +import "google/ads/googleads/v14/enums/linked_product_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ProductLinkProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::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.v14.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]; + } +} + +// 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" + } + ]; +} diff --git a/third_party/googleapis/google/ads/googleads/v14/resources/qualifying_question.proto b/third_party/googleapis/google/ads/googleads/v14/resources/qualifying_question.proto new file mode 100644 index 000000000..b50094aec --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/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.v14.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "QualifyingQuestionProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::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/v14/resources/recommendation.proto b/third_party/googleapis/google/ads/googleads/v14/resources/recommendation.proto new file mode 100644 index 000000000..2b0f02eea --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/recommendation.proto @@ -0,0 +1,832 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.ads.googleads.v14.resources; + +import "google/ads/googleads/v14/common/criteria.proto"; +import "google/ads/googleads/v14/enums/app_bidding_goal.proto"; +import "google/ads/googleads/v14/enums/keyword_match_type.proto"; +import "google/ads/googleads/v14/enums/recommendation_type.proto"; +import "google/ads/googleads/v14/enums/shopping_add_products_to_campaign_recommendation_enum.proto"; +import "google/ads/googleads/v14/enums/target_cpa_opt_in_recommendation_goal.proto"; +import "google/ads/googleads/v14/resources/ad.proto"; +import "google/ads/googleads/v14/resources/asset.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "RecommendationProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::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. 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.v14.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.v14.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.v14.common.KeywordInfo keyword = 1 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The recommended new match type. + google.ads.googleads.v14.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.v14.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.v14.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.v14.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 + // 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]; + } + + // 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.v14.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, + 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]; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v14/resources/remarketing_action.proto b/third_party/googleapis/google/ads/googleads/v14/resources/remarketing_action.proto new file mode 100644 index 000000000..4ad8a05d7 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/remarketing_action.proto @@ -0,0 +1,91 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/remarketing_action.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/remarketing_action.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/remarketing_action.proto +package google.ads.googleads.v13.resources; + +import "google/ads/googleads/v13/common/tag_snippet.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "RemarketingActionProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +package google.ads.googleads.v14.resources; + +import "google/ads/googleads/v14/common/tag_snippet.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "RemarketingActionProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/remarketing_action.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/remarketing_action.proto + repeated google.ads.googleads.v13.common.TagSnippet tag_snippets = 4 +======== + repeated google.ads.googleads.v14.common.TagSnippet tag_snippets = 4 +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/remarketing_action.proto + [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v14/resources/search_term_view.proto b/third_party/googleapis/google/ads/googleads/v14/resources/search_term_view.proto new file mode 100644 index 000000000..fc85cb8fb --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/search_term_view.proto @@ -0,0 +1,94 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/search_term_view.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/search_term_view.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/search_term_view.proto +package google.ads.googleads.v13.resources; + +import "google/ads/googleads/v13/enums/search_term_targeting_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "SearchTermViewProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +package google.ads.googleads.v14.resources; + +import "google/ads/googleads/v14/enums/search_term_targeting_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "SearchTermViewProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/search_term_view.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/search_term_view.proto + google.ads.googleads.v13.enums.SearchTermTargetingStatusEnum +======== + google.ads.googleads.v14.enums.SearchTermTargetingStatusEnum +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/search_term_view.proto + .SearchTermTargetingStatus status = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v14/resources/shared_criterion.proto b/third_party/googleapis/google/ads/googleads/v14/resources/shared_criterion.proto new file mode 100644 index 000000000..4cb716eef --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/shared_criterion.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/shared_criterion.proto +package google.ads.googleads.v12.resources; + +import "google/ads/googleads/v12/common/criteria.proto"; +import "google/ads/googleads/v12/enums/criterion_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "SharedCriterionProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +package google.ads.googleads.v14.resources; + +import "google/ads/googleads/v14/common/criteria.proto"; +import "google/ads/googleads/v14/enums/criterion_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "SharedCriterionProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/shared_criterion.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/shared_criterion.proto + google.ads.googleads.v12.enums.CriterionTypeEnum.CriterionType type = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; +======== + google.ads.googleads.v14.enums.CriterionTypeEnum.CriterionType type = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/shared_criterion.proto + + // The criterion. + // + // Exactly one must be set. + oneof criterion { + // Immutable. Keyword. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/shared_criterion.proto + google.ads.googleads.v12.common.KeywordInfo keyword = 3 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. YouTube Video. + google.ads.googleads.v12.common.YouTubeVideoInfo youtube_video = 5 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. YouTube Channel. + google.ads.googleads.v12.common.YouTubeChannelInfo youtube_channel = 6 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Placement. + google.ads.googleads.v12.common.PlacementInfo placement = 7 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Mobile App Category. + google.ads.googleads.v12.common.MobileAppCategoryInfo mobile_app_category = 8 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Mobile application. + google.ads.googleads.v12.common.MobileApplicationInfo mobile_application = 9 [(google.api.field_behavior) = IMMUTABLE]; +======== + google.ads.googleads.v14.common.KeywordInfo keyword = 3 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. YouTube Video. + google.ads.googleads.v14.common.YouTubeVideoInfo youtube_video = 5 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. YouTube Channel. + google.ads.googleads.v14.common.YouTubeChannelInfo youtube_channel = 6 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Placement. + google.ads.googleads.v14.common.PlacementInfo placement = 7 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Mobile App Category. + google.ads.googleads.v14.common.MobileAppCategoryInfo mobile_app_category = + 8 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Mobile application. + google.ads.googleads.v14.common.MobileApplicationInfo mobile_application = 9 + [(google.api.field_behavior) = IMMUTABLE]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/shared_criterion.proto + } +} diff --git a/third_party/googleapis/google/ads/googleads/v14/resources/shared_set.proto b/third_party/googleapis/google/ads/googleads/v14/resources/shared_set.proto new file mode 100644 index 000000000..2952258bb --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/shared_set.proto @@ -0,0 +1,111 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/shared_set.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/shared_set.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/shared_set.proto +package google.ads.googleads.v13.resources; + +import "google/ads/googleads/v13/enums/shared_set_status.proto"; +import "google/ads/googleads/v13/enums/shared_set_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "SharedSetProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +package google.ads.googleads.v14.resources; + +import "google/ads/googleads/v14/enums/shared_set_status.proto"; +import "google/ads/googleads/v14/enums/shared_set_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "SharedSetProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/shared_set.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/shared_set.proto + google.ads.googleads.v13.enums.SharedSetTypeEnum.SharedSetType type = 3 +======== + google.ads.googleads.v14.enums.SharedSetTypeEnum.SharedSetType type = 3 +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/shared_set.proto + [(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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/shared_set.proto + google.ads.googleads.v13.enums.SharedSetStatusEnum.SharedSetStatus status = 5 +======== + google.ads.googleads.v14.enums.SharedSetStatusEnum.SharedSetStatus status = 5 +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/shared_set.proto + [(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/v14/resources/shopping_performance_view.proto b/third_party/googleapis/google/ads/googleads/v14/resources/shopping_performance_view.proto new file mode 100644 index 000000000..d1c320a65 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/shopping_performance_view.proto @@ -0,0 +1,73 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/shopping_performance_view.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/shopping_performance_view.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/shopping_performance_view.proto +package google.ads.googleads.v12.resources; +======== +package google.ads.googleads.v14.resources; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/shopping_performance_view.proto + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/shopping_performance_view.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ShoppingPerformanceViewProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ShoppingPerformanceViewProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/shopping_performance_view.proto + +// 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/v14/resources/smart_campaign_search_term_view.proto b/third_party/googleapis/google/ads/googleads/v14/resources/smart_campaign_search_term_view.proto new file mode 100644 index 000000000..2b6988d65 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/smart_campaign_search_term_view.proto @@ -0,0 +1,80 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/smart_campaign_search_term_view.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/smart_campaign_search_term_view.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/smart_campaign_search_term_view.proto +package google.ads.googleads.v12.resources; +======== +package google.ads.googleads.v14.resources; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/smart_campaign_search_term_view.proto + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/smart_campaign_search_term_view.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "SmartCampaignSearchTermViewProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "SmartCampaignSearchTermViewProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/smart_campaign_search_term_view.proto + +// 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/v14/resources/smart_campaign_setting.proto b/third_party/googleapis/google/ads/googleads/v14/resources/smart_campaign_setting.proto new file mode 100644 index 000000000..2944750ea --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/smart_campaign_setting.proto @@ -0,0 +1,131 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/smart_campaign_setting.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/smart_campaign_setting.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/smart_campaign_setting.proto +package google.ads.googleads.v13.resources; +======== +package google.ads.googleads.v14.resources; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/smart_campaign_setting.proto + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/smart_campaign_setting.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "SmartCampaignSettingProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "SmartCampaignSettingProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/smart_campaign_setting.proto + +// 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/v14/resources/third_party_app_analytics_link.proto b/third_party/googleapis/google/ads/googleads/v14/resources/third_party_app_analytics_link.proto new file mode 100644 index 000000000..2b42f455b --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/third_party_app_analytics_link.proto @@ -0,0 +1,74 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/third_party_app_analytics_link.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/third_party_app_analytics_link.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/third_party_app_analytics_link.proto +package google.ads.googleads.v13.resources; +======== +package google.ads.googleads.v14.resources; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/third_party_app_analytics_link.proto + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/third_party_app_analytics_link.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ThirdPartyAppAnalyticsLinkProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ThirdPartyAppAnalyticsLinkProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/third_party_app_analytics_link.proto + +// 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/v14/resources/topic_constant.proto b/third_party/googleapis/google/ads/googleads/v14/resources/topic_constant.proto new file mode 100644 index 000000000..0d988983f --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/topic_constant.proto @@ -0,0 +1,89 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/topic_constant.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/topic_constant.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/topic_constant.proto +package google.ads.googleads.v13.resources; +======== +package google.ads.googleads.v14.resources; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/topic_constant.proto + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/topic_constant.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "TopicConstantProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "TopicConstantProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/topic_constant.proto + +// 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/v14/resources/topic_view.proto b/third_party/googleapis/google/ads/googleads/v14/resources/topic_view.proto new file mode 100644 index 000000000..6fe8566b3 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/topic_view.proto @@ -0,0 +1,69 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/topic_view.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/topic_view.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/topic_view.proto +package google.ads.googleads.v12.resources; +======== +package google.ads.googleads.v14.resources; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/topic_view.proto + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/topic_view.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "TopicViewProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "TopicViewProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/topic_view.proto + +// 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/v14/resources/travel_activity_group_view.proto b/third_party/googleapis/google/ads/googleads/v14/resources/travel_activity_group_view.proto new file mode 100644 index 000000000..cf247b4d2 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/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.v14.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "TravelActivityGroupViewProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::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/v14/resources/travel_activity_performance_view.proto b/third_party/googleapis/google/ads/googleads/v14/resources/travel_activity_performance_view.proto new file mode 100644 index 000000000..bec45a6c9 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/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.v14.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "TravelActivityPerformanceViewProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::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/v14/resources/user_interest.proto b/third_party/googleapis/google/ads/googleads/v14/resources/user_interest.proto new file mode 100644 index 000000000..56ac6b0ac --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/user_interest.proto @@ -0,0 +1,111 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/user_interest.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/user_interest.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/user_interest.proto +package google.ads.googleads.v13.resources; + +import "google/ads/googleads/v13/common/criterion_category_availability.proto"; +import "google/ads/googleads/v13/enums/user_interest_taxonomy_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "UserInterestProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +package google.ads.googleads.v14.resources; + +import "google/ads/googleads/v14/common/criterion_category_availability.proto"; +import "google/ads/googleads/v14/enums/user_interest_taxonomy_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "UserInterestProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/user_interest.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/user_interest.proto + google.ads.googleads.v13.enums.UserInterestTaxonomyTypeEnum +======== + google.ads.googleads.v14.enums.UserInterestTaxonomyTypeEnum +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/user_interest.proto + .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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/user_interest.proto + repeated google.ads.googleads.v13.common.CriterionCategoryAvailability +======== + repeated google.ads.googleads.v14.common.CriterionCategoryAvailability +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/user_interest.proto + availabilities = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v14/resources/user_list.proto b/third_party/googleapis/google/ads/googleads/v14/resources/user_list.proto new file mode 100644 index 000000000..11f961372 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/user_list.proto @@ -0,0 +1,272 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/user_list.proto +package google.ads.googleads.v12.resources; + +import "google/ads/googleads/v12/common/user_lists.proto"; +import "google/ads/googleads/v12/enums/access_reason.proto"; +import "google/ads/googleads/v12/enums/user_list_access_status.proto"; +import "google/ads/googleads/v12/enums/user_list_closing_reason.proto"; +import "google/ads/googleads/v12/enums/user_list_membership_status.proto"; +import "google/ads/googleads/v12/enums/user_list_size_range.proto"; +import "google/ads/googleads/v12/enums/user_list_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "UserListProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +package google.ads.googleads.v14.resources; + +import "google/ads/googleads/v14/common/user_lists.proto"; +import "google/ads/googleads/v14/enums/access_reason.proto"; +import "google/ads/googleads/v14/enums/user_list_access_status.proto"; +import "google/ads/googleads/v14/enums/user_list_closing_reason.proto"; +import "google/ads/googleads/v14/enums/user_list_membership_status.proto"; +import "google/ads/googleads/v14/enums/user_list_size_range.proto"; +import "google/ads/googleads/v14/enums/user_list_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "UserListProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/user_list.proto + +// 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]; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/user_list.proto + // 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. +======== + // 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. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/user_list.proto + // + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/user_list.proto + google.ads.googleads.v12.enums.UserListMembershipStatusEnum.UserListMembershipStatus membership_status = 6; +======== + google.ads.googleads.v14.enums.UserListMembershipStatusEnum + .UserListMembershipStatus membership_status = 6; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/user_list.proto + + // 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. + // + // It'll be ignored for logical_user_list. + 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.v14.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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/user_list.proto + google.ads.googleads.v12.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.v12.enums.UserListSizeRangeEnum.UserListSizeRange size_range_for_search = 12 [(google.api.field_behavior) = OUTPUT_ONLY]; +======== + google.ads.googleads.v14.enums.UserListSizeRangeEnum.UserListSizeRange + size_range_for_search = 12 [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/user_list.proto + + // Output only. Type of this list. + // + // This field is read-only. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/user_list.proto + google.ads.googleads.v12.enums.UserListTypeEnum.UserListType type = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; +======== + google.ads.googleads.v14.enums.UserListTypeEnum.UserListType type = 13 + [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/user_list.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/user_list.proto + google.ads.googleads.v12.enums.UserListClosingReasonEnum.UserListClosingReason closing_reason = 14; +======== + google.ads.googleads.v14.enums.UserListClosingReasonEnum.UserListClosingReason + closing_reason = 14; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/user_list.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/user_list.proto + google.ads.googleads.v12.enums.AccessReasonEnum.AccessReason access_reason = 15 [(google.api.field_behavior) = OUTPUT_ONLY]; +======== + google.ads.googleads.v14.enums.AccessReasonEnum.AccessReason access_reason = + 15 [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/user_list.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/user_list.proto + google.ads.googleads.v12.enums.UserListAccessStatusEnum.UserListAccessStatus account_user_list_status = 16; +======== + google.ads.googleads.v14.enums.UserListAccessStatusEnum.UserListAccessStatus + account_user_list_status = 16; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/user_list.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/user_list.proto + google.ads.googleads.v12.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.v12.common.SimilarUserListInfo similar_user_list = 20 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // User list generated by a rule. + google.ads.googleads.v12.common.RuleBasedUserListInfo rule_based_user_list = 21; + + // User list that is a custom combination of user lists and user interests. + google.ads.googleads.v12.common.LogicalUserListInfo logical_user_list = 22; + + // User list targeting as a collection of conversion or remarketing actions. + google.ads.googleads.v12.common.BasicUserListInfo basic_user_list = 23; +======== + google.ads.googleads.v14.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.v14.common.SimilarUserListInfo similar_user_list = 20 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // User list generated by a rule. + google.ads.googleads.v14.common.RuleBasedUserListInfo rule_based_user_list = + 21; + + // User list that is a custom combination of user lists and user interests. + google.ads.googleads.v14.common.LogicalUserListInfo logical_user_list = 22; + + // User list targeting as a collection of conversion or remarketing actions. + google.ads.googleads.v14.common.BasicUserListInfo basic_user_list = 23; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/user_list.proto + } +} diff --git a/third_party/googleapis/google/ads/googleads/v14/resources/user_location_view.proto b/third_party/googleapis/google/ads/googleads/v14/resources/user_location_view.proto new file mode 100644 index 000000000..4fa9c9eb2 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/user_location_view.proto @@ -0,0 +1,82 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/user_location_view.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/user_location_view.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/user_location_view.proto +package google.ads.googleads.v13.resources; +======== +package google.ads.googleads.v14.resources; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/user_location_view.proto + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/user_location_view.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "UserLocationViewProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "UserLocationViewProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/user_location_view.proto + +// 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/v14/resources/video.proto b/third_party/googleapis/google/ads/googleads/v14/resources/video.proto new file mode 100644 index 000000000..f53f60a42 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/video.proto @@ -0,0 +1,80 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/video.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/video.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/video.proto +package google.ads.googleads.v13.resources; +======== +package google.ads.googleads.v14.resources; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/video.proto + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/video.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "VideoProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "VideoProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/video.proto + +// 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/v14/resources/webpage_view.proto b/third_party/googleapis/google/ads/googleads/v14/resources/webpage_view.proto new file mode 100644 index 000000000..f7fde1a4a --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/resources/webpage_view.proto @@ -0,0 +1,69 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/webpage_view.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/webpage_view.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/webpage_view.proto +package google.ads.googleads.v12.resources; +======== +package google.ads.googleads.v14.resources; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/webpage_view.proto + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/webpage_view.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "WebpageViewProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "WebpageViewProto"; +option java_package = "com.google.ads.googleads.v14.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/resources/webpage_view.proto + +// 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/v14/services/BUILD.bazel b/third_party/googleapis/google/ads/googleads/v14/services/BUILD.bazel new file mode 100644 index 000000000..17129dc6b --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/services/BUILD.bazel @@ -0,0 +1,145 @@ +# 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 = [ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/BUILD.bazel + "//google/ads/googleads/v12/common:common_proto", + "//google/ads/googleads/v12/enums:enums_proto", + "//google/ads/googleads/v12/errors:errors_proto", + "//google/ads/googleads/v12/resources:resources_proto", +======== + "//google/ads/googleads/v14/common:common_proto", + "//google/ads/googleads/v14/enums:enums_proto", + "//google/ads/googleads/v14/errors:errors_proto", + "//google/ads/googleads/v14/resources:resources_proto", +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/BUILD.bazel + "//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/v14/services/account_budget_proposal_service.proto b/third_party/googleapis/google/ads/googleads/v14/services/account_budget_proposal_service.proto new file mode 100644 index 000000000..f8c7df742 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/services/account_budget_proposal_service.proto @@ -0,0 +1,168 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/account_budget_proposal_service.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/account_budget_proposal_service.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/account_budget_proposal_service.proto +package google.ads.googleads.v13.services; + +import "google/ads/googleads/v13/resources/account_budget_proposal.proto"; +======== +package google.ads.googleads.v14.services; + +import "google/ads/googleads/v14/resources/account_budget_proposal.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/account_budget_proposal_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/protobuf/field_mask.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/account_budget_proposal_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AccountBudgetProposalServiceProto"; +option java_package = "com.google.ads.googleads.v13.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V13::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AccountBudgetProposalServiceProto"; +option java_package = "com.google.ads.googleads.v14.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V14::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/account_budget_proposal_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/account_budget_proposal_service.proto + post: "/v13/customers/{customer_id=*}/accountBudgetProposals:mutate" +======== + post: "/v14/customers/{customer_id=*}/accountBudgetProposals:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/account_budget_proposal_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operation"; + } +} + +// Request message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/account_budget_proposal_service.proto +// [AccountBudgetProposalService.MutateAccountBudgetProposal][google.ads.googleads.v13.services.AccountBudgetProposalService.MutateAccountBudgetProposal]. +======== +// [AccountBudgetProposalService.MutateAccountBudgetProposal][google.ads.googleads.v14.services.AccountBudgetProposalService.MutateAccountBudgetProposal]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/account_budget_proposal_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/account_budget_proposal_service.proto + google.ads.googleads.v13.resources.AccountBudgetProposal create = 2; +======== + google.ads.googleads.v14.resources.AccountBudgetProposal create = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/account_budget_proposal_service.proto + + // 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/v14/services/account_link_service.proto b/third_party/googleapis/google/ads/googleads/v14/services/account_link_service.proto new file mode 100644 index 000000000..0e1b260a6 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/services/account_link_service.proto @@ -0,0 +1,217 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/account_link_service.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/account_link_service.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/account_link_service.proto +package google.ads.googleads.v13.services; + +import "google/ads/googleads/v13/resources/account_link.proto"; +======== +package google.ads.googleads.v14.services; + +import "google/ads/googleads/v14/resources/account_link.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/account_link_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/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/account_link_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AccountLinkServiceProto"; +option java_package = "com.google.ads.googleads.v13.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V13::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AccountLinkServiceProto"; +option java_package = "com.google.ads.googleads.v14.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V14::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/account_link_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/account_link_service.proto + post: "/v13/customers/{customer_id=*}/accountLinks:create" +======== + post: "/v14/customers/{customer_id=*}/accountLinks:create" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/account_link_service.proto + 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/account_link_service.proto + post: "/v13/customers/{customer_id=*}/accountLinks:mutate" +======== + post: "/v14/customers/{customer_id=*}/accountLinks:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/account_link_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operation"; + } +} + +// Request message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/account_link_service.proto +// [AccountLinkService.CreateAccountLink][google.ads.googleads.v13.services.AccountLinkService.CreateAccountLink]. +======== +// [AccountLinkService.CreateAccountLink][google.ads.googleads.v14.services.AccountLinkService.CreateAccountLink]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/account_link_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/account_link_service.proto + google.ads.googleads.v13.resources.AccountLink account_link = 2 +======== + google.ads.googleads.v14.resources.AccountLink account_link = 2 +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/account_link_service.proto + [(google.api.field_behavior) = REQUIRED]; +} + +// Response message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/account_link_service.proto +// [AccountLinkService.CreateAccountLink][google.ads.googleads.v13.services.AccountLinkService.CreateAccountLink]. +======== +// [AccountLinkService.CreateAccountLink][google.ads.googleads.v14.services.AccountLinkService.CreateAccountLink]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/account_link_service.proto +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 +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/account_link_service.proto +// [AccountLinkService.MutateAccountLink][google.ads.googleads.v13.services.AccountLinkService.MutateAccountLink]. +======== +// [AccountLinkService.MutateAccountLink][google.ads.googleads.v14.services.AccountLinkService.MutateAccountLink]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/account_link_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/account_link_service.proto + google.ads.googleads.v13.resources.AccountLink update = 2; +======== + google.ads.googleads.v14.resources.AccountLink update = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/account_link_service.proto + + // 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/v14/services/ad_group_ad_label_service.proto b/third_party/googleapis/google/ads/googleads/v14/services/ad_group_ad_label_service.proto new file mode 100644 index 000000000..3d183135c --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/services/ad_group_ad_label_service.proto @@ -0,0 +1,156 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/ad_group_ad_label_service.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/ad_group_ad_label_service.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/ad_group_ad_label_service.proto +package google.ads.googleads.v13.services; + +import "google/ads/googleads/v13/resources/ad_group_ad_label.proto"; +======== +package google.ads.googleads.v14.services; + +import "google/ads/googleads/v14/resources/ad_group_ad_label.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/ad_group_ad_label_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/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/ad_group_ad_label_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupAdLabelServiceProto"; +option java_package = "com.google.ads.googleads.v13.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V13::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupAdLabelServiceProto"; +option java_package = "com.google.ads.googleads.v14.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V14::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/ad_group_ad_label_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/ad_group_ad_label_service.proto + post: "/v13/customers/{customer_id=*}/adGroupAdLabels:mutate" +======== + post: "/v14/customers/{customer_id=*}/adGroupAdLabels:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/ad_group_ad_label_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/ad_group_ad_label_service.proto +// [AdGroupAdLabelService.MutateAdGroupAdLabels][google.ads.googleads.v13.services.AdGroupAdLabelService.MutateAdGroupAdLabels]. +======== +// [AdGroupAdLabelService.MutateAdGroupAdLabels][google.ads.googleads.v14.services.AdGroupAdLabelService.MutateAdGroupAdLabels]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/ad_group_ad_label_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/ad_group_ad_label_service.proto + google.ads.googleads.v13.resources.AdGroupAdLabel create = 1; +======== + google.ads.googleads.v14.resources.AdGroupAdLabel create = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/ad_group_ad_label_service.proto + + // 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/v14/services/ad_group_ad_service.proto b/third_party/googleapis/google/ads/googleads/v14/services/ad_group_ad_service.proto new file mode 100644 index 000000000..a077e2a4f --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/services/ad_group_ad_service.proto @@ -0,0 +1,227 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/ad_group_ad_service.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/ad_group_ad_service.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/ad_group_ad_service.proto +package google.ads.googleads.v13.services; + +import "google/ads/googleads/v13/common/policy.proto"; +import "google/ads/googleads/v13/enums/response_content_type.proto"; +import "google/ads/googleads/v13/resources/ad_group_ad.proto"; +======== +package google.ads.googleads.v14.services; + +import "google/ads/googleads/v14/common/policy.proto"; +import "google/ads/googleads/v14/enums/response_content_type.proto"; +import "google/ads/googleads/v14/resources/ad_group_ad.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/ad_group_ad_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/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/ad_group_ad_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupAdServiceProto"; +option java_package = "com.google.ads.googleads.v13.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V13::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupAdServiceProto"; +option java_package = "com.google.ads.googleads.v14.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V14::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/ad_group_ad_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/ad_group_ad_service.proto + post: "/v13/customers/{customer_id=*}/adGroupAds:mutate" +======== + post: "/v14/customers/{customer_id=*}/adGroupAds:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/ad_group_ad_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/ad_group_ad_service.proto +// [AdGroupAdService.MutateAdGroupAds][google.ads.googleads.v13.services.AdGroupAdService.MutateAdGroupAds]. +======== +// [AdGroupAdService.MutateAdGroupAds][google.ads.googleads.v14.services.AdGroupAdService.MutateAdGroupAds]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/ad_group_ad_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/ad_group_ad_service.proto + google.ads.googleads.v13.enums.ResponseContentTypeEnum.ResponseContentType +======== + google.ads.googleads.v14.enums.ResponseContentTypeEnum.ResponseContentType +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/ad_group_ad_service.proto + 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/ad_group_ad_service.proto + google.ads.googleads.v13.common.PolicyValidationParameter +======== + google.ads.googleads.v14.common.PolicyValidationParameter +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/ad_group_ad_service.proto + policy_validation_parameter = 5; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new ad. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/ad_group_ad_service.proto + google.ads.googleads.v13.resources.AdGroupAd create = 1; + + // Update operation: The ad is expected to have a valid resource name. + google.ads.googleads.v13.resources.AdGroupAd update = 2; +======== + google.ads.googleads.v14.resources.AdGroupAd create = 1; + + // Update operation: The ad is expected to have a valid resource name. + google.ads.googleads.v14.resources.AdGroupAd update = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/ad_group_ad_service.proto + + // 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". +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/ad_group_ad_service.proto + google.ads.googleads.v13.resources.AdGroupAd ad_group_ad = 2; +======== + google.ads.googleads.v14.resources.AdGroupAd ad_group_ad = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/ad_group_ad_service.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v14/services/ad_group_asset_service.proto b/third_party/googleapis/google/ads/googleads/v14/services/ad_group_asset_service.proto new file mode 100644 index 000000000..840e6613a --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/services/ad_group_asset_service.proto @@ -0,0 +1,189 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/ad_group_asset_service.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/ad_group_asset_service.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/ad_group_asset_service.proto +package google.ads.googleads.v13.services; + +import "google/ads/googleads/v13/enums/response_content_type.proto"; +import "google/ads/googleads/v13/resources/ad_group_asset.proto"; +======== +package google.ads.googleads.v14.services; + +import "google/ads/googleads/v14/enums/response_content_type.proto"; +import "google/ads/googleads/v14/resources/ad_group_asset.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/ad_group_asset_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/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/ad_group_asset_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupAssetServiceProto"; +option java_package = "com.google.ads.googleads.v13.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V13::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupAssetServiceProto"; +option java_package = "com.google.ads.googleads.v14.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V14::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/ad_group_asset_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/ad_group_asset_service.proto + post: "/v13/customers/{customer_id=*}/adGroupAssets:mutate" +======== + post: "/v14/customers/{customer_id=*}/adGroupAssets:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/ad_group_asset_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/ad_group_asset_service.proto +// [AdGroupAssetService.MutateAdGroupAssets][google.ads.googleads.v13.services.AdGroupAssetService.MutateAdGroupAssets]. +======== +// [AdGroupAssetService.MutateAdGroupAssets][google.ads.googleads.v14.services.AdGroupAssetService.MutateAdGroupAssets]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/ad_group_asset_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/ad_group_asset_service.proto + google.ads.googleads.v13.enums.ResponseContentTypeEnum.ResponseContentType +======== + google.ads.googleads.v14.enums.ResponseContentTypeEnum.ResponseContentType +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/ad_group_asset_service.proto + 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/ad_group_asset_service.proto + google.ads.googleads.v13.resources.AdGroupAsset create = 1; + + // Update operation: The ad group asset is expected to have a valid resource + // name. + google.ads.googleads.v13.resources.AdGroupAsset update = 3; +======== + google.ads.googleads.v14.resources.AdGroupAsset create = 1; + + // Update operation: The ad group asset is expected to have a valid resource + // name. + google.ads.googleads.v14.resources.AdGroupAsset update = 3; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/ad_group_asset_service.proto + + // 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". +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/ad_group_asset_service.proto + google.ads.googleads.v13.resources.AdGroupAsset ad_group_asset = 2; +======== + google.ads.googleads.v14.resources.AdGroupAsset ad_group_asset = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/ad_group_asset_service.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v14/services/ad_group_asset_set_service.proto b/third_party/googleapis/google/ads/googleads/v14/services/ad_group_asset_set_service.proto new file mode 100644 index 000000000..855fda707 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/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.v14.services; + +import "google/ads/googleads/v14/enums/response_content_type.proto"; +import "google/ads/googleads/v14/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.V14.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupAssetSetServiceProto"; +option java_package = "com.google.ads.googleads.v14.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V14::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: "/v14/customers/{customer_id=*}/adGroupAssetSets:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [AdGroupAssetSetService.MutateAdGroupAssetSets][google.ads.googleads.v14.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.v14.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.v14.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.v14.resources.AdGroupAssetSet ad_group_asset_set = 2; +} diff --git a/third_party/googleapis/google/ads/googleads/v14/services/ad_group_bid_modifier_service.proto b/third_party/googleapis/google/ads/googleads/v14/services/ad_group_bid_modifier_service.proto new file mode 100644 index 000000000..2a99d3fa4 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/services/ad_group_bid_modifier_service.proto @@ -0,0 +1,204 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/ad_group_bid_modifier_service.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/ad_group_bid_modifier_service.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/ad_group_bid_modifier_service.proto +package google.ads.googleads.v13.services; + +import "google/ads/googleads/v13/enums/response_content_type.proto"; +import "google/ads/googleads/v13/resources/ad_group_bid_modifier.proto"; +======== +package google.ads.googleads.v14.services; + +import "google/ads/googleads/v14/enums/response_content_type.proto"; +import "google/ads/googleads/v14/resources/ad_group_bid_modifier.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/ad_group_bid_modifier_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/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/ad_group_bid_modifier_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupBidModifierServiceProto"; +option java_package = "com.google.ads.googleads.v13.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V13::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupBidModifierServiceProto"; +option java_package = "com.google.ads.googleads.v14.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V14::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/ad_group_bid_modifier_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/ad_group_bid_modifier_service.proto + post: "/v13/customers/{customer_id=*}/adGroupBidModifiers:mutate" +======== + post: "/v14/customers/{customer_id=*}/adGroupBidModifiers:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/ad_group_bid_modifier_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/ad_group_bid_modifier_service.proto +// [AdGroupBidModifierService.MutateAdGroupBidModifiers][google.ads.googleads.v13.services.AdGroupBidModifierService.MutateAdGroupBidModifiers]. +======== +// [AdGroupBidModifierService.MutateAdGroupBidModifiers][google.ads.googleads.v14.services.AdGroupBidModifierService.MutateAdGroupBidModifiers]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/ad_group_bid_modifier_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/ad_group_bid_modifier_service.proto + google.ads.googleads.v13.enums.ResponseContentTypeEnum.ResponseContentType +======== + google.ads.googleads.v14.enums.ResponseContentTypeEnum.ResponseContentType +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/ad_group_bid_modifier_service.proto + 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/ad_group_bid_modifier_service.proto + google.ads.googleads.v13.resources.AdGroupBidModifier create = 1; + + // Update operation: The ad group bid modifier is expected to have a valid + // resource name. + google.ads.googleads.v13.resources.AdGroupBidModifier update = 2; +======== + google.ads.googleads.v14.resources.AdGroupBidModifier create = 1; + + // Update operation: The ad group bid modifier is expected to have a valid + // resource name. + google.ads.googleads.v14.resources.AdGroupBidModifier update = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/ad_group_bid_modifier_service.proto + + // 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". +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/ad_group_bid_modifier_service.proto + google.ads.googleads.v13.resources.AdGroupBidModifier ad_group_bid_modifier = +======== + google.ads.googleads.v14.resources.AdGroupBidModifier ad_group_bid_modifier = +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/ad_group_bid_modifier_service.proto + 2; +} diff --git a/third_party/googleapis/google/ads/googleads/v14/services/ad_group_criterion_customizer_service.proto b/third_party/googleapis/google/ads/googleads/v14/services/ad_group_criterion_customizer_service.proto new file mode 100644 index 000000000..298cccea1 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/services/ad_group_criterion_customizer_service.proto @@ -0,0 +1,168 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/ad_group_criterion_customizer_service.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/ad_group_criterion_customizer_service.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/ad_group_criterion_customizer_service.proto +package google.ads.googleads.v13.services; + +import "google/ads/googleads/v13/enums/response_content_type.proto"; +import "google/ads/googleads/v13/resources/ad_group_criterion_customizer.proto"; +======== +package google.ads.googleads.v14.services; + +import "google/ads/googleads/v14/enums/response_content_type.proto"; +import "google/ads/googleads/v14/resources/ad_group_criterion_customizer.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/ad_group_criterion_customizer_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/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/ad_group_criterion_customizer_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupCriterionCustomizerServiceProto"; +option java_package = "com.google.ads.googleads.v13.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V13::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupCriterionCustomizerServiceProto"; +option java_package = "com.google.ads.googleads.v14.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V14::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/ad_group_criterion_customizer_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/ad_group_criterion_customizer_service.proto + post: "/v13/customers/{customer_id=*}/AdGroupCriterionCustomizers:mutate" +======== + post: "/v14/customers/{customer_id=*}/AdGroupCriterionCustomizers:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/ad_group_criterion_customizer_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/ad_group_criterion_customizer_service.proto +// [AdGroupCriterionCustomizerService.MutateAdGroupCriterionCustomizers][google.ads.googleads.v13.services.AdGroupCriterionCustomizerService.MutateAdGroupCriterionCustomizers]. +======== +// [AdGroupCriterionCustomizerService.MutateAdGroupCriterionCustomizers][google.ads.googleads.v14.services.AdGroupCriterionCustomizerService.MutateAdGroupCriterionCustomizers]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/ad_group_criterion_customizer_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/ad_group_criterion_customizer_service.proto + google.ads.googleads.v13.enums.ResponseContentTypeEnum.ResponseContentType +======== + google.ads.googleads.v14.enums.ResponseContentTypeEnum.ResponseContentType +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/ad_group_criterion_customizer_service.proto + 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/ad_group_criterion_customizer_service.proto + google.ads.googleads.v13.resources.AdGroupCriterionCustomizer create = 1; +======== + google.ads.googleads.v14.resources.AdGroupCriterionCustomizer create = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/ad_group_criterion_customizer_service.proto + + // 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". +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/ad_group_criterion_customizer_service.proto + google.ads.googleads.v13.resources.AdGroupCriterionCustomizer +======== + google.ads.googleads.v14.resources.AdGroupCriterionCustomizer +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/ad_group_criterion_customizer_service.proto + ad_group_criterion_customizer = 2; +} diff --git a/third_party/googleapis/google/ads/googleads/v14/services/ad_group_criterion_label_service.proto b/third_party/googleapis/google/ads/googleads/v14/services/ad_group_criterion_label_service.proto new file mode 100644 index 000000000..ab209588c --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/services/ad_group_criterion_label_service.proto @@ -0,0 +1,155 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/ad_group_criterion_label_service.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/ad_group_criterion_label_service.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/ad_group_criterion_label_service.proto +package google.ads.googleads.v13.services; + +import "google/ads/googleads/v13/resources/ad_group_criterion_label.proto"; +======== +package google.ads.googleads.v14.services; + +import "google/ads/googleads/v14/resources/ad_group_criterion_label.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/ad_group_criterion_label_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/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/ad_group_criterion_label_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupCriterionLabelServiceProto"; +option java_package = "com.google.ads.googleads.v13.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V13::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupCriterionLabelServiceProto"; +option java_package = "com.google.ads.googleads.v14.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V14::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/ad_group_criterion_label_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/ad_group_criterion_label_service.proto + post: "/v13/customers/{customer_id=*}/adGroupCriterionLabels:mutate" +======== + post: "/v14/customers/{customer_id=*}/adGroupCriterionLabels:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/ad_group_criterion_label_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/ad_group_criterion_label_service.proto +// [AdGroupCriterionLabelService.MutateAdGroupCriterionLabels][google.ads.googleads.v13.services.AdGroupCriterionLabelService.MutateAdGroupCriterionLabels]. +======== +// [AdGroupCriterionLabelService.MutateAdGroupCriterionLabels][google.ads.googleads.v14.services.AdGroupCriterionLabelService.MutateAdGroupCriterionLabels]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/ad_group_criterion_label_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/ad_group_criterion_label_service.proto + google.ads.googleads.v13.resources.AdGroupCriterionLabel create = 1; +======== + google.ads.googleads.v14.resources.AdGroupCriterionLabel create = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/ad_group_criterion_label_service.proto + + // 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/v14/services/ad_group_criterion_service.proto b/third_party/googleapis/google/ads/googleads/v14/services/ad_group_criterion_service.proto new file mode 100644 index 000000000..3d6318644 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/services/ad_group_criterion_service.proto @@ -0,0 +1,227 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/ad_group_criterion_service.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/ad_group_criterion_service.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/ad_group_criterion_service.proto +package google.ads.googleads.v13.services; + +import "google/ads/googleads/v13/common/policy.proto"; +import "google/ads/googleads/v13/enums/response_content_type.proto"; +import "google/ads/googleads/v13/resources/ad_group_criterion.proto"; +======== +package google.ads.googleads.v14.services; + +import "google/ads/googleads/v14/common/policy.proto"; +import "google/ads/googleads/v14/enums/response_content_type.proto"; +import "google/ads/googleads/v14/resources/ad_group_criterion.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/ad_group_criterion_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/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/ad_group_criterion_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupCriterionServiceProto"; +option java_package = "com.google.ads.googleads.v13.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V13::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupCriterionServiceProto"; +option java_package = "com.google.ads.googleads.v14.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V14::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/ad_group_criterion_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/ad_group_criterion_service.proto + post: "/v13/customers/{customer_id=*}/adGroupCriteria:mutate" +======== + post: "/v14/customers/{customer_id=*}/adGroupCriteria:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/ad_group_criterion_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/ad_group_criterion_service.proto +// [AdGroupCriterionService.MutateAdGroupCriteria][google.ads.googleads.v13.services.AdGroupCriterionService.MutateAdGroupCriteria]. +======== +// [AdGroupCriterionService.MutateAdGroupCriteria][google.ads.googleads.v14.services.AdGroupCriterionService.MutateAdGroupCriteria]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/ad_group_criterion_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/ad_group_criterion_service.proto + google.ads.googleads.v13.enums.ResponseContentTypeEnum.ResponseContentType +======== + google.ads.googleads.v14.enums.ResponseContentTypeEnum.ResponseContentType +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/ad_group_criterion_service.proto + 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/ad_group_criterion_service.proto + repeated google.ads.googleads.v13.common.PolicyViolationKey +======== + repeated google.ads.googleads.v14.common.PolicyViolationKey +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/ad_group_criterion_service.proto + exempt_policy_violation_keys = 5; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new criterion. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/ad_group_criterion_service.proto + google.ads.googleads.v13.resources.AdGroupCriterion create = 1; + + // Update operation: The criterion is expected to have a valid resource + // name. + google.ads.googleads.v13.resources.AdGroupCriterion update = 2; +======== + google.ads.googleads.v14.resources.AdGroupCriterion create = 1; + + // Update operation: The criterion is expected to have a valid resource + // name. + google.ads.googleads.v14.resources.AdGroupCriterion update = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/ad_group_criterion_service.proto + + // 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". +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/ad_group_criterion_service.proto + google.ads.googleads.v13.resources.AdGroupCriterion ad_group_criterion = 2; +======== + google.ads.googleads.v14.resources.AdGroupCriterion ad_group_criterion = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/ad_group_criterion_service.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v14/services/ad_group_customizer_service.proto b/third_party/googleapis/google/ads/googleads/v14/services/ad_group_customizer_service.proto new file mode 100644 index 000000000..47ad3b69c --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/services/ad_group_customizer_service.proto @@ -0,0 +1,165 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/ad_group_customizer_service.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/ad_group_customizer_service.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/ad_group_customizer_service.proto +package google.ads.googleads.v13.services; + +import "google/ads/googleads/v13/enums/response_content_type.proto"; +import "google/ads/googleads/v13/resources/ad_group_customizer.proto"; +======== +package google.ads.googleads.v14.services; + +import "google/ads/googleads/v14/enums/response_content_type.proto"; +import "google/ads/googleads/v14/resources/ad_group_customizer.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/ad_group_customizer_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/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/ad_group_customizer_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupCustomizerServiceProto"; +option java_package = "com.google.ads.googleads.v13.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V13::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupCustomizerServiceProto"; +option java_package = "com.google.ads.googleads.v14.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V14::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/ad_group_customizer_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/ad_group_customizer_service.proto + post: "/v13/customers/{customer_id=*}/adGroupCustomizers:mutate" +======== + post: "/v14/customers/{customer_id=*}/adGroupCustomizers:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/ad_group_customizer_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/ad_group_customizer_service.proto +// [AdGroupCustomizerService.MutateAdGroupCustomizers][google.ads.googleads.v13.services.AdGroupCustomizerService.MutateAdGroupCustomizers]. +======== +// [AdGroupCustomizerService.MutateAdGroupCustomizers][google.ads.googleads.v14.services.AdGroupCustomizerService.MutateAdGroupCustomizers]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/ad_group_customizer_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/ad_group_customizer_service.proto + google.ads.googleads.v13.enums.ResponseContentTypeEnum.ResponseContentType +======== + google.ads.googleads.v14.enums.ResponseContentTypeEnum.ResponseContentType +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/ad_group_customizer_service.proto + 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 +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/ad_group_customizer_service.proto + google.ads.googleads.v13.resources.AdGroupCustomizer create = 1; +======== + google.ads.googleads.v14.resources.AdGroupCustomizer create = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/ad_group_customizer_service.proto + + // 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". +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/ad_group_customizer_service.proto + google.ads.googleads.v13.resources.AdGroupCustomizer ad_group_customizer = 2; +======== + google.ads.googleads.v14.resources.AdGroupCustomizer ad_group_customizer = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/ad_group_customizer_service.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v14/services/ad_group_extension_setting_service.proto b/third_party/googleapis/google/ads/googleads/v14/services/ad_group_extension_setting_service.proto new file mode 100644 index 000000000..0692e5984 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/services/ad_group_extension_setting_service.proto @@ -0,0 +1,209 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/ad_group_extension_setting_service.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/ad_group_extension_setting_service.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/ad_group_extension_setting_service.proto +package google.ads.googleads.v13.services; + +import "google/ads/googleads/v13/enums/response_content_type.proto"; +import "google/ads/googleads/v13/resources/ad_group_extension_setting.proto"; +======== +package google.ads.googleads.v14.services; + +import "google/ads/googleads/v14/enums/response_content_type.proto"; +import "google/ads/googleads/v14/resources/ad_group_extension_setting.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/ad_group_extension_setting_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/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/ad_group_extension_setting_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupExtensionSettingServiceProto"; +option java_package = "com.google.ads.googleads.v13.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V13::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupExtensionSettingServiceProto"; +option java_package = "com.google.ads.googleads.v14.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V14::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/ad_group_extension_setting_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/ad_group_extension_setting_service.proto + post: "/v13/customers/{customer_id=*}/adGroupExtensionSettings:mutate" +======== + post: "/v14/customers/{customer_id=*}/adGroupExtensionSettings:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/ad_group_extension_setting_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/ad_group_extension_setting_service.proto +// [AdGroupExtensionSettingService.MutateAdGroupExtensionSettings][google.ads.googleads.v13.services.AdGroupExtensionSettingService.MutateAdGroupExtensionSettings]. +======== +// [AdGroupExtensionSettingService.MutateAdGroupExtensionSettings][google.ads.googleads.v14.services.AdGroupExtensionSettingService.MutateAdGroupExtensionSettings]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/ad_group_extension_setting_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/ad_group_extension_setting_service.proto + google.ads.googleads.v13.enums.ResponseContentTypeEnum.ResponseContentType +======== + google.ads.googleads.v14.enums.ResponseContentTypeEnum.ResponseContentType +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/ad_group_extension_setting_service.proto + response_content_type = 5; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new ad group + // extension setting. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/ad_group_extension_setting_service.proto + google.ads.googleads.v13.resources.AdGroupExtensionSetting create = 1; + + // Update operation: The ad group extension setting is expected to have a + // valid resource name. + google.ads.googleads.v13.resources.AdGroupExtensionSetting update = 2; +======== + google.ads.googleads.v14.resources.AdGroupExtensionSetting create = 1; + + // Update operation: The ad group extension setting is expected to have a + // valid resource name. + google.ads.googleads.v14.resources.AdGroupExtensionSetting update = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/ad_group_extension_setting_service.proto + + // 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". +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/ad_group_extension_setting_service.proto + google.ads.googleads.v13.resources.AdGroupExtensionSetting +======== + google.ads.googleads.v14.resources.AdGroupExtensionSetting +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/ad_group_extension_setting_service.proto + ad_group_extension_setting = 2; +} diff --git a/third_party/googleapis/google/ads/googleads/v14/services/ad_group_feed_service.proto b/third_party/googleapis/google/ads/googleads/v14/services/ad_group_feed_service.proto new file mode 100644 index 000000000..ec1c9a602 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/services/ad_group_feed_service.proto @@ -0,0 +1,199 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/ad_group_feed_service.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/ad_group_feed_service.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/ad_group_feed_service.proto +package google.ads.googleads.v13.services; + +import "google/ads/googleads/v13/enums/response_content_type.proto"; +import "google/ads/googleads/v13/resources/ad_group_feed.proto"; +======== +package google.ads.googleads.v14.services; + +import "google/ads/googleads/v14/enums/response_content_type.proto"; +import "google/ads/googleads/v14/resources/ad_group_feed.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/ad_group_feed_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/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/ad_group_feed_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupFeedServiceProto"; +option java_package = "com.google.ads.googleads.v13.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V13::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupFeedServiceProto"; +option java_package = "com.google.ads.googleads.v14.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V14::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/ad_group_feed_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/ad_group_feed_service.proto + post: "/v13/customers/{customer_id=*}/adGroupFeeds:mutate" +======== + post: "/v14/customers/{customer_id=*}/adGroupFeeds:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/ad_group_feed_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/ad_group_feed_service.proto +// [AdGroupFeedService.MutateAdGroupFeeds][google.ads.googleads.v13.services.AdGroupFeedService.MutateAdGroupFeeds]. +======== +// [AdGroupFeedService.MutateAdGroupFeeds][google.ads.googleads.v14.services.AdGroupFeedService.MutateAdGroupFeeds]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/ad_group_feed_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/ad_group_feed_service.proto + google.ads.googleads.v13.enums.ResponseContentTypeEnum.ResponseContentType +======== + google.ads.googleads.v14.enums.ResponseContentTypeEnum.ResponseContentType +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/ad_group_feed_service.proto + 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/ad_group_feed_service.proto + google.ads.googleads.v13.resources.AdGroupFeed create = 1; + + // Update operation: The ad group feed is expected to have a valid resource + // name. + google.ads.googleads.v13.resources.AdGroupFeed update = 2; +======== + google.ads.googleads.v14.resources.AdGroupFeed create = 1; + + // Update operation: The ad group feed is expected to have a valid resource + // name. + google.ads.googleads.v14.resources.AdGroupFeed update = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/ad_group_feed_service.proto + + // 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". +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/ad_group_feed_service.proto + google.ads.googleads.v13.resources.AdGroupFeed ad_group_feed = 2; +======== + google.ads.googleads.v14.resources.AdGroupFeed ad_group_feed = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/ad_group_feed_service.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v14/services/ad_group_label_service.proto b/third_party/googleapis/google/ads/googleads/v14/services/ad_group_label_service.proto new file mode 100644 index 000000000..59968c341 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/services/ad_group_label_service.proto @@ -0,0 +1,157 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/ad_group_label_service.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/ad_group_label_service.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/ad_group_label_service.proto +package google.ads.googleads.v13.services; + +import "google/ads/googleads/v13/resources/ad_group_label.proto"; +======== +package google.ads.googleads.v14.services; + +import "google/ads/googleads/v14/resources/ad_group_label.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/ad_group_label_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/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/ad_group_label_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupLabelServiceProto"; +option java_package = "com.google.ads.googleads.v13.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V13::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupLabelServiceProto"; +option java_package = "com.google.ads.googleads.v14.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V14::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/ad_group_label_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/ad_group_label_service.proto + post: "/v13/customers/{customer_id=*}/adGroupLabels:mutate" +======== + post: "/v14/customers/{customer_id=*}/adGroupLabels:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/ad_group_label_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/ad_group_label_service.proto +// [AdGroupLabelService.MutateAdGroupLabels][google.ads.googleads.v13.services.AdGroupLabelService.MutateAdGroupLabels]. +======== +// [AdGroupLabelService.MutateAdGroupLabels][google.ads.googleads.v14.services.AdGroupLabelService.MutateAdGroupLabels]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/ad_group_label_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/ad_group_label_service.proto + google.ads.googleads.v13.resources.AdGroupLabel create = 1; +======== + google.ads.googleads.v14.resources.AdGroupLabel create = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/ad_group_label_service.proto + + // 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/v14/services/ad_group_service.proto b/third_party/googleapis/google/ads/googleads/v14/services/ad_group_service.proto new file mode 100644 index 000000000..edccf7e82 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/services/ad_group_service.proto @@ -0,0 +1,203 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/ad_group_service.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/ad_group_service.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/ad_group_service.proto +package google.ads.googleads.v13.services; + +import "google/ads/googleads/v13/enums/response_content_type.proto"; +import "google/ads/googleads/v13/resources/ad_group.proto"; +======== +package google.ads.googleads.v14.services; + +import "google/ads/googleads/v14/enums/response_content_type.proto"; +import "google/ads/googleads/v14/resources/ad_group.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/ad_group_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/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/ad_group_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupServiceProto"; +option java_package = "com.google.ads.googleads.v13.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V13::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupServiceProto"; +option java_package = "com.google.ads.googleads.v14.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V14::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/ad_group_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/ad_group_service.proto + post: "/v13/customers/{customer_id=*}/adGroups:mutate" +======== + post: "/v14/customers/{customer_id=*}/adGroups:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/ad_group_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/ad_group_service.proto +// [AdGroupService.MutateAdGroups][google.ads.googleads.v13.services.AdGroupService.MutateAdGroups]. +======== +// [AdGroupService.MutateAdGroups][google.ads.googleads.v14.services.AdGroupService.MutateAdGroups]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/ad_group_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/ad_group_service.proto + google.ads.googleads.v13.enums.ResponseContentTypeEnum.ResponseContentType +======== + google.ads.googleads.v14.enums.ResponseContentTypeEnum.ResponseContentType +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/ad_group_service.proto + 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/ad_group_service.proto + google.ads.googleads.v13.resources.AdGroup create = 1; + + // Update operation: The ad group is expected to have a valid resource name. + google.ads.googleads.v13.resources.AdGroup update = 2; +======== + google.ads.googleads.v14.resources.AdGroup create = 1; + + // Update operation: The ad group is expected to have a valid resource name. + google.ads.googleads.v14.resources.AdGroup update = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/ad_group_service.proto + + // 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". +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/ad_group_service.proto + google.ads.googleads.v13.resources.AdGroup ad_group = 2; +======== + google.ads.googleads.v14.resources.AdGroup ad_group = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/ad_group_service.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v14/services/ad_parameter_service.proto b/third_party/googleapis/google/ads/googleads/v14/services/ad_parameter_service.proto new file mode 100644 index 000000000..19cd677d1 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/services/ad_parameter_service.proto @@ -0,0 +1,189 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/ad_parameter_service.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/ad_parameter_service.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/ad_parameter_service.proto +package google.ads.googleads.v13.services; + +import "google/ads/googleads/v13/enums/response_content_type.proto"; +import "google/ads/googleads/v13/resources/ad_parameter.proto"; +======== +package google.ads.googleads.v14.services; + +import "google/ads/googleads/v14/enums/response_content_type.proto"; +import "google/ads/googleads/v14/resources/ad_parameter.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/ad_parameter_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/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/ad_parameter_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdParameterServiceProto"; +option java_package = "com.google.ads.googleads.v13.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V13::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdParameterServiceProto"; +option java_package = "com.google.ads.googleads.v14.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V14::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/ad_parameter_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/ad_parameter_service.proto + post: "/v13/customers/{customer_id=*}/adParameters:mutate" +======== + post: "/v14/customers/{customer_id=*}/adParameters:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/ad_parameter_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/ad_parameter_service.proto +// [AdParameterService.MutateAdParameters][google.ads.googleads.v13.services.AdParameterService.MutateAdParameters] +======== +// [AdParameterService.MutateAdParameters][google.ads.googleads.v14.services.AdParameterService.MutateAdParameters] +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/ad_parameter_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/ad_parameter_service.proto + google.ads.googleads.v13.enums.ResponseContentTypeEnum.ResponseContentType +======== + google.ads.googleads.v14.enums.ResponseContentTypeEnum.ResponseContentType +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/ad_parameter_service.proto + 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/ad_parameter_service.proto + google.ads.googleads.v13.resources.AdParameter create = 1; + + // Update operation: The ad parameter is expected to have a valid resource + // name. + google.ads.googleads.v13.resources.AdParameter update = 2; +======== + google.ads.googleads.v14.resources.AdParameter create = 1; + + // Update operation: The ad parameter is expected to have a valid resource + // name. + google.ads.googleads.v14.resources.AdParameter update = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/ad_parameter_service.proto + + // 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". +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/ad_parameter_service.proto + google.ads.googleads.v13.resources.AdParameter ad_parameter = 2; +======== + google.ads.googleads.v14.resources.AdParameter ad_parameter = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/ad_parameter_service.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v14/services/ad_service.proto b/third_party/googleapis/google/ads/googleads/v14/services/ad_service.proto new file mode 100644 index 000000000..ef77dbf49 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/services/ad_service.proto @@ -0,0 +1,241 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/ad_service.proto +package google.ads.googleads.v12.services; + +import "google/ads/googleads/v12/common/policy.proto"; +import "google/ads/googleads/v12/enums/response_content_type.proto"; +import "google/ads/googleads/v12/resources/ad.proto"; +======== +package google.ads.googleads.v14.services; + +import "google/ads/googleads/v14/common/policy.proto"; +import "google/ads/googleads/v14/enums/response_content_type.proto"; +import "google/ads/googleads/v14/resources/ad.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/ad_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/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/ad_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdServiceProto"; +option java_package = "com.google.ads.googleads.v12.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V12::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdServiceProto"; +option java_package = "com.google.ads.googleads.v14.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V14::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/ad_service.proto + +// 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]() +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/ad_service.proto + rpc GetAd(GetAdRequest) returns (google.ads.googleads.v12.resources.Ad) { + option (google.api.http) = { + get: "/v12/{resource_name=customers/*/ads/*}" +======== + rpc GetAd(GetAdRequest) returns (google.ads.googleads.v14.resources.Ad) { + option (google.api.http) = { + get: "/v14/{resource_name=customers/*/ads/*}" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/ad_service.proto + }; + 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/ad_service.proto + post: "/v12/customers/{customer_id=*}/ads:mutate" +======== + post: "/v14/customers/{customer_id=*}/ads:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/ad_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/ad_service.proto +// Request message for [AdService.GetAd][google.ads.googleads.v12.services.AdService.GetAd]. +======== +// Request message for +// [AdService.GetAd][google.ads.googleads.v14.services.AdService.GetAd]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/ad_service.proto +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" } + ]; +} + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/ad_service.proto +// Request message for [AdService.MutateAds][google.ads.googleads.v12.services.AdService.MutateAds]. +======== +// Request message for +// [AdService.MutateAds][google.ads.googleads.v14.services.AdService.MutateAds]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/ad_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/ad_service.proto + google.ads.googleads.v12.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +======== + google.ads.googleads.v14.enums.ResponseContentTypeEnum.ResponseContentType + response_content_type = 5; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/ad_service.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/ad_service.proto + google.ads.googleads.v12.common.PolicyValidationParameter policy_validation_parameter = 3; +======== + google.ads.googleads.v14.common.PolicyValidationParameter + policy_validation_parameter = 3; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/ad_service.proto + + // 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}` +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/ad_service.proto + google.ads.googleads.v12.resources.Ad update = 1; +======== + google.ads.googleads.v14.resources.Ad update = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/ad_service.proto + } +} + +// 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". +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/ad_service.proto + google.ads.googleads.v12.resources.Ad ad = 2; +======== + google.ads.googleads.v14.resources.Ad ad = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/ad_service.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v14/services/asset_group_asset_service.proto b/third_party/googleapis/google/ads/googleads/v14/services/asset_group_asset_service.proto new file mode 100644 index 000000000..15df1ed6d --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/services/asset_group_asset_service.proto @@ -0,0 +1,157 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/asset_group_asset_service.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/asset_group_asset_service.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/asset_group_asset_service.proto +package google.ads.googleads.v13.services; + +import "google/ads/googleads/v13/resources/asset_group_asset.proto"; +======== +package google.ads.googleads.v14.services; + +import "google/ads/googleads/v14/resources/asset_group_asset.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/asset_group_asset_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/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/asset_group_asset_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AssetGroupAssetServiceProto"; +option java_package = "com.google.ads.googleads.v13.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V13::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AssetGroupAssetServiceProto"; +option java_package = "com.google.ads.googleads.v14.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V14::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/asset_group_asset_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/asset_group_asset_service.proto + post: "/v13/customers/{customer_id=*}/assetGroupAssets:mutate" +======== + post: "/v14/customers/{customer_id=*}/assetGroupAssets:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/asset_group_asset_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/asset_group_asset_service.proto +// [AssetGroupAssetService.MutateAssetGroupAssets][google.ads.googleads.v13.services.AssetGroupAssetService.MutateAssetGroupAssets]. +======== +// [AssetGroupAssetService.MutateAssetGroupAssets][google.ads.googleads.v14.services.AssetGroupAssetService.MutateAssetGroupAssets]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/asset_group_asset_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/asset_group_asset_service.proto + google.ads.googleads.v13.resources.AssetGroupAsset create = 1; + + // Update operation: The asset group asset is expected to have a valid + // resource name. + google.ads.googleads.v13.resources.AssetGroupAsset update = 2; +======== + google.ads.googleads.v14.resources.AssetGroupAsset create = 1; + + // Update operation: The asset group asset is expected to have a valid + // resource name. + google.ads.googleads.v14.resources.AssetGroupAsset update = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/asset_group_asset_service.proto + + // 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/v14/services/asset_group_listing_group_filter_service.proto b/third_party/googleapis/google/ads/googleads/v14/services/asset_group_listing_group_filter_service.proto new file mode 100644 index 000000000..1a90dab36 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/services/asset_group_listing_group_filter_service.proto @@ -0,0 +1,171 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/asset_group_listing_group_filter_service.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/asset_group_listing_group_filter_service.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/asset_group_listing_group_filter_service.proto +package google.ads.googleads.v13.services; + +import "google/ads/googleads/v13/enums/response_content_type.proto"; +import "google/ads/googleads/v13/resources/asset_group_listing_group_filter.proto"; +======== +package google.ads.googleads.v14.services; + +import "google/ads/googleads/v14/enums/response_content_type.proto"; +import "google/ads/googleads/v14/resources/asset_group_listing_group_filter.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/asset_group_listing_group_filter_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/protobuf/field_mask.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/asset_group_listing_group_filter_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AssetGroupListingGroupFilterServiceProto"; +option java_package = "com.google.ads.googleads.v13.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V13::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AssetGroupListingGroupFilterServiceProto"; +option java_package = "com.google.ads.googleads.v14.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V14::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/asset_group_listing_group_filter_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/asset_group_listing_group_filter_service.proto + post: "/v13/customers/{customer_id=*}/assetGroupListingGroupFilters:mutate" +======== + post: "/v14/customers/{customer_id=*}/assetGroupListingGroupFilters:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/asset_group_listing_group_filter_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/asset_group_listing_group_filter_service.proto +// [AssetGroupListingGroupFilterService.MutateAssetGroupListingGroupFilters][google.ads.googleads.v13.services.AssetGroupListingGroupFilterService.MutateAssetGroupListingGroupFilters]. +======== +// [AssetGroupListingGroupFilterService.MutateAssetGroupListingGroupFilters][google.ads.googleads.v14.services.AssetGroupListingGroupFilterService.MutateAssetGroupListingGroupFilters]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/asset_group_listing_group_filter_service.proto +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/asset_group_listing_group_filter_service.proto + google.ads.googleads.v13.enums.ResponseContentTypeEnum.ResponseContentType +======== + google.ads.googleads.v14.enums.ResponseContentTypeEnum.ResponseContentType +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/asset_group_listing_group_filter_service.proto + 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/asset_group_listing_group_filter_service.proto + google.ads.googleads.v13.resources.AssetGroupListingGroupFilter create = 1; + + // Update operation: The asset group listing group filter is expected to + // have a valid resource name. + google.ads.googleads.v13.resources.AssetGroupListingGroupFilter update = 2; +======== + google.ads.googleads.v14.resources.AssetGroupListingGroupFilter create = 1; + + // Update operation: The asset group listing group filter is expected to + // have a valid resource name. + google.ads.googleads.v14.resources.AssetGroupListingGroupFilter update = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/asset_group_listing_group_filter_service.proto + + // 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". +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/asset_group_listing_group_filter_service.proto + google.ads.googleads.v13.resources.AssetGroupListingGroupFilter +======== + google.ads.googleads.v14.resources.AssetGroupListingGroupFilter +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/asset_group_listing_group_filter_service.proto + asset_group_listing_group_filter = 2; +} diff --git a/third_party/googleapis/google/ads/googleads/v14/services/asset_group_service.proto b/third_party/googleapis/google/ads/googleads/v14/services/asset_group_service.proto new file mode 100644 index 000000000..526c0f81e --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/services/asset_group_service.proto @@ -0,0 +1,148 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/asset_group_service.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/asset_group_service.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/asset_group_service.proto +package google.ads.googleads.v13.services; + +import "google/ads/googleads/v13/resources/asset_group.proto"; +======== +package google.ads.googleads.v14.services; + +import "google/ads/googleads/v14/resources/asset_group.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/asset_group_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/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/asset_group_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AssetGroupServiceProto"; +option java_package = "com.google.ads.googleads.v13.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V13::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AssetGroupServiceProto"; +option java_package = "com.google.ads.googleads.v14.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V14::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/asset_group_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/asset_group_service.proto + post: "/v13/customers/{customer_id=*}/assetGroups:mutate" +======== + post: "/v14/customers/{customer_id=*}/assetGroups:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/asset_group_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/asset_group_service.proto +// [AssetGroupService.MutateAssetGroups][google.ads.googleads.v13.services.AssetGroupService.MutateAssetGroups]. +======== +// [AssetGroupService.MutateAssetGroups][google.ads.googleads.v14.services.AssetGroupService.MutateAssetGroups]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/asset_group_service.proto +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 +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/asset_group_service.proto + google.ads.googleads.v13.resources.AssetGroup create = 1; + + // Update operation: The asset group is expected to have a valid resource + // name. + google.ads.googleads.v13.resources.AssetGroup update = 2; +======== + google.ads.googleads.v14.resources.AssetGroup create = 1; + + // Update operation: The asset group is expected to have a valid resource + // name. + google.ads.googleads.v14.resources.AssetGroup update = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/asset_group_service.proto + + // 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/v14/services/asset_group_signal_service.proto b/third_party/googleapis/google/ads/googleads/v14/services/asset_group_signal_service.proto new file mode 100644 index 000000000..2ee47c6d3 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/services/asset_group_signal_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/asset_group_signal_service.proto +package google.ads.googleads.v12.services; + +import "google/ads/googleads/v12/enums/response_content_type.proto"; +import "google/ads/googleads/v12/resources/asset_group_signal.proto"; +======== +package google.ads.googleads.v14.services; + +import "google/ads/googleads/v14/enums/response_content_type.proto"; +import "google/ads/googleads/v14/resources/asset_group_signal.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/asset_group_signal_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/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/asset_group_signal_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AssetGroupSignalServiceProto"; +option java_package = "com.google.ads.googleads.v12.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V12::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AssetGroupSignalServiceProto"; +option java_package = "com.google.ads.googleads.v14.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V14::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/asset_group_signal_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/asset_group_signal_service.proto + post: "/v12/customers/{customer_id=*}/assetGroupSignals:mutate" +======== + post: "/v14/customers/{customer_id=*}/assetGroupSignals:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/asset_group_signal_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/asset_group_signal_service.proto +// [AssetGroupSignalService.MutateAssetGroupSignals][google.ads.googleads.v12.services.AssetGroupSignalService.MutateAssetGroupSignals]. +======== +// [AssetGroupSignalService.MutateAssetGroupSignals][google.ads.googleads.v14.services.AssetGroupSignalService.MutateAssetGroupSignals]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/asset_group_signal_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/asset_group_signal_service.proto + google.ads.googleads.v12.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +======== + google.ads.googleads.v14.enums.ResponseContentTypeEnum.ResponseContentType + response_content_type = 5; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/asset_group_signal_service.proto +} + +// A single operation (create, remove) on an asset group signal. +message AssetGroupSignalOperation { + // The mutate operation. Update is not supported. + oneof operation { + // Create operation: No resource name is expected for the new asset group + // signal. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/asset_group_signal_service.proto + google.ads.googleads.v12.resources.AssetGroupSignal create = 1; +======== + google.ads.googleads.v14.resources.AssetGroupSignal create = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/asset_group_signal_service.proto + + // 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". +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/asset_group_signal_service.proto + google.ads.googleads.v12.resources.AssetGroupSignal asset_group_signal = 2; +======== + google.ads.googleads.v14.resources.AssetGroupSignal asset_group_signal = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/asset_group_signal_service.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v14/services/asset_service.proto b/third_party/googleapis/google/ads/googleads/v14/services/asset_service.proto new file mode 100644 index 000000000..2d32f3a1f --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/services/asset_service.proto @@ -0,0 +1,200 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/asset_service.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/asset_service.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/asset_service.proto +package google.ads.googleads.v13.services; + +import "google/ads/googleads/v13/enums/response_content_type.proto"; +import "google/ads/googleads/v13/resources/asset.proto"; +======== +package google.ads.googleads.v14.services; + +import "google/ads/googleads/v14/enums/response_content_type.proto"; +import "google/ads/googleads/v14/resources/asset.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/asset_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/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/asset_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AssetServiceProto"; +option java_package = "com.google.ads.googleads.v13.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V13::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AssetServiceProto"; +option java_package = "com.google.ads.googleads.v14.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V14::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/asset_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/asset_service.proto + post: "/v13/customers/{customer_id=*}/assets:mutate" +======== + post: "/v14/customers/{customer_id=*}/assets:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/asset_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/asset_service.proto +// [AssetService.MutateAssets][google.ads.googleads.v13.services.AssetService.MutateAssets] +======== +// [AssetService.MutateAssets][google.ads.googleads.v14.services.AssetService.MutateAssets] +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/asset_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/asset_service.proto + google.ads.googleads.v13.enums.ResponseContentTypeEnum.ResponseContentType +======== + google.ads.googleads.v14.enums.ResponseContentTypeEnum.ResponseContentType +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/asset_service.proto + 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/asset_service.proto + google.ads.googleads.v13.resources.Asset create = 1; +======== + google.ads.googleads.v14.resources.Asset create = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/asset_service.proto + + // Update operation: The asset is expected to have a valid resource name in + // this format: + // + // `customers/{customer_id}/assets/{asset_id}` +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/asset_service.proto + google.ads.googleads.v13.resources.Asset update = 2; +======== + google.ads.googleads.v14.resources.Asset update = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/asset_service.proto + } +} + +// 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". +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/asset_service.proto + google.ads.googleads.v13.resources.Asset asset = 2; +======== + google.ads.googleads.v14.resources.Asset asset = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/asset_service.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v14/services/asset_set_asset_service.proto b/third_party/googleapis/google/ads/googleads/v14/services/asset_set_asset_service.proto new file mode 100644 index 000000000..d074b7faf --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/services/asset_set_asset_service.proto @@ -0,0 +1,163 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/asset_set_asset_service.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/asset_set_asset_service.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/asset_set_asset_service.proto +package google.ads.googleads.v13.services; + +import "google/ads/googleads/v13/enums/response_content_type.proto"; +import "google/ads/googleads/v13/resources/asset_set_asset.proto"; +======== +package google.ads.googleads.v14.services; + +import "google/ads/googleads/v14/enums/response_content_type.proto"; +import "google/ads/googleads/v14/resources/asset_set_asset.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/asset_set_asset_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/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/asset_set_asset_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AssetSetAssetServiceProto"; +option java_package = "com.google.ads.googleads.v13.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V13::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AssetSetAssetServiceProto"; +option java_package = "com.google.ads.googleads.v14.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V14::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/asset_set_asset_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/asset_set_asset_service.proto + post: "/v13/customers/{customer_id=*}/assetSetAssets:mutate" +======== + post: "/v14/customers/{customer_id=*}/assetSetAssets:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/asset_set_asset_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/asset_set_asset_service.proto +// [AssetSetAssetService.MutateAssetSetAssets][google.ads.googleads.v13.services.AssetSetAssetService.MutateAssetSetAssets]. +======== +// [AssetSetAssetService.MutateAssetSetAssets][google.ads.googleads.v14.services.AssetSetAssetService.MutateAssetSetAssets]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/asset_set_asset_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/asset_set_asset_service.proto + google.ads.googleads.v13.enums.ResponseContentTypeEnum.ResponseContentType +======== + google.ads.googleads.v14.enums.ResponseContentTypeEnum.ResponseContentType +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/asset_set_asset_service.proto + 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 +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/asset_set_asset_service.proto + google.ads.googleads.v13.resources.AssetSetAsset create = 1; +======== + google.ads.googleads.v14.resources.AssetSetAsset create = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/asset_set_asset_service.proto + + // 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". +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/asset_set_asset_service.proto + google.ads.googleads.v13.resources.AssetSetAsset asset_set_asset = 2; +======== + google.ads.googleads.v14.resources.AssetSetAsset asset_set_asset = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/asset_set_asset_service.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v14/services/asset_set_service.proto b/third_party/googleapis/google/ads/googleads/v14/services/asset_set_service.proto new file mode 100644 index 000000000..b7e83dd5c --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/services/asset_set_service.proto @@ -0,0 +1,173 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/asset_set_service.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/asset_set_service.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/asset_set_service.proto +package google.ads.googleads.v13.services; + +import "google/ads/googleads/v13/enums/response_content_type.proto"; +import "google/ads/googleads/v13/resources/asset_set.proto"; +======== +package google.ads.googleads.v14.services; + +import "google/ads/googleads/v14/enums/response_content_type.proto"; +import "google/ads/googleads/v14/resources/asset_set.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/asset_set_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/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/asset_set_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AssetSetServiceProto"; +option java_package = "com.google.ads.googleads.v13.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V13::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AssetSetServiceProto"; +option java_package = "com.google.ads.googleads.v14.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V14::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/asset_set_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/asset_set_service.proto + post: "/v13/customers/{customer_id=*}/assetSets:mutate" +======== + post: "/v14/customers/{customer_id=*}/assetSets:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/asset_set_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/asset_set_service.proto +// [AssetSetService.MutateAssetSets][google.ads.googleads.v13.services.AssetSetService.MutateAssetSets]. +======== +// [AssetSetService.MutateAssetSets][google.ads.googleads.v14.services.AssetSetService.MutateAssetSets]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/asset_set_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/asset_set_service.proto + google.ads.googleads.v13.enums.ResponseContentTypeEnum.ResponseContentType +======== + google.ads.googleads.v14.enums.ResponseContentTypeEnum.ResponseContentType +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/asset_set_service.proto + 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 +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/asset_set_service.proto + google.ads.googleads.v13.resources.AssetSet create = 1; + + // Update operation: The asset set is expected to have a valid resource + // name. + google.ads.googleads.v13.resources.AssetSet update = 2; +======== + google.ads.googleads.v14.resources.AssetSet create = 1; + + // Update operation: The asset set is expected to have a valid resource + // name. + google.ads.googleads.v14.resources.AssetSet update = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/asset_set_service.proto + + // 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". +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/asset_set_service.proto + google.ads.googleads.v13.resources.AssetSet asset_set = 2; +======== + google.ads.googleads.v14.resources.AssetSet asset_set = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/asset_set_service.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v14/services/audience_insights_service.proto b/third_party/googleapis/google/ads/googleads/v14/services/audience_insights_service.proto new file mode 100644 index 000000000..654654de5 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/services/audience_insights_service.proto @@ -0,0 +1,538 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.ads.googleads.v14.services; + +import "google/ads/googleads/v14/common/criteria.proto"; +import "google/ads/googleads/v14/common/dates.proto"; +import "google/ads/googleads/v14/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.V14.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AudienceInsightsServiceProto"; +option java_package = "com.google.ads.googleads.v14.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V14::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: "/v14/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: "/v14/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: "/v14/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: "/v14/customers/{customer_id=*}:generateAudienceCompositionInsights" + body: "*" + }; + option (google.api.method_signature) = "customer_id,audience,dimensions"; + } +} + +// Request message for +// [AudienceInsightsService.GenerateInsightsFinderReport][google.ads.googleads.v14.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.v14.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.v14.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.v14.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.v14.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.ListAudienceInsightsAttributes][google.ads.googleads.v14.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.v14.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.v14.common.LocationInfo + location_country_filters = 5; +} + +// Response message for +// [AudienceInsightsService.ListAudienceInsightsAttributes][google.ads.googleads.v14.services.AudienceInsightsService.ListAudienceInsightsAttributes]. +message ListAudienceInsightsAttributesResponse { + // The attributes matching the search query. + repeated AudienceInsightsAttributeMetadata attributes = 1; +} + +// Request message for +// [AudienceInsightsService.ListInsightsEligibleDates][google.ads.googleads.v14.services.AudienceInsightsService.ListInsightsEligibleDates]. +message ListInsightsEligibleDatesRequest {} + +// Response message for +// [AudienceInsightsService.ListInsightsEligibleDates][google.ads.googleads.v14.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.v14.services.AudienceInsightsService.GenerateAudienceCompositionInsights] + // requests that have no data_month set. + google.ads.googleads.v14.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.v14.common.AgeRangeInfo age_range = 1; + + // An audience attribute defined by a gender. + google.ads.googleads.v14.common.GenderInfo gender = 2; + + // An audience attribute defined by a geographic location. + google.ads.googleads.v14.common.LocationInfo location = 3; + + // An Affinity or In-Market audience. + google.ads.googleads.v14.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.v14.common.ParentalStatusInfo parental_status = 8; + + // A household income percentile range. + google.ads.googleads.v14.common.IncomeRangeInfo income_range = 9; + + // A YouTube channel. + google.ads.googleads.v14.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.v14.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.v14.common.LocationInfo sub_country_locations = + 2; + + // Gender for the audience. If absent, the audience does not restrict by + // gender. + google.ads.googleads.v14.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.v14.common.AgeRangeInfo age_ranges = 4; + + // User interests defining this audience. Affinity and In-Market audiences + // are supported. + repeated google.ads.googleads.v14.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.v14.enums.AudienceInsightsDimensionEnum + .AudienceInsightsDimension dimension = 1; + + // The attribute itself. + AudienceInsightsAttribute attribute = 2; + + // The human-readable name of the attribute. + string display_name = 3; + + // A relevance score for this attribute, between 0 and 1. + double score = 4; + + // 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.v14.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.v14.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.v14.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.v14.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.v14.common.LocationInfo sub_country_locations = + 2; + + // Gender for the audience. If absent, the audience does not restrict by + // gender. + google.ads.googleads.v14.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.v14.common.AgeRangeInfo age_ranges = 4; + + // Parental status for the audience. If absent, the audience does not + // restrict by parental status. + google.ads.googleads.v14.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.v14.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.v14.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/v14/services/audience_service.proto b/third_party/googleapis/google/ads/googleads/v14/services/audience_service.proto new file mode 100644 index 000000000..cf0d49961 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/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.v14.services; + +import "google/ads/googleads/v14/enums/response_content_type.proto"; +import "google/ads/googleads/v14/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.V14.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AudienceServiceProto"; +option java_package = "com.google.ads.googleads.v14.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V14::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: "/v14/customers/{customer_id=*}/audiences:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [AudienceService.MutateAudiences][google.ads.googleads.v14.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.v14.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.v14.resources.Audience create = 1; + + // Update operation: The audience is expected to have a valid resource + // name. + google.ads.googleads.v14.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.v14.resources.Audience audience = 2; +} diff --git a/third_party/googleapis/google/ads/googleads/v14/services/batch_job_service.proto b/third_party/googleapis/google/ads/googleads/v14/services/batch_job_service.proto new file mode 100644 index 000000000..381ef8b7c --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/services/batch_job_service.proto @@ -0,0 +1,362 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/batch_job_service.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/batch_job_service.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/batch_job_service.proto +package google.ads.googleads.v13.services; + +import "google/ads/googleads/v13/enums/response_content_type.proto"; +import "google/ads/googleads/v13/resources/batch_job.proto"; +import "google/ads/googleads/v13/services/google_ads_service.proto"; +======== +package google.ads.googleads.v14.services; + +import "google/ads/googleads/v14/enums/response_content_type.proto"; +import "google/ads/googleads/v14/resources/batch_job.proto"; +import "google/ads/googleads/v14/services/google_ads_service.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/batch_job_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/batch_job_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/services;services"; +option java_multiple_files = true; +option java_outer_classname = "BatchJobServiceProto"; +option java_package = "com.google.ads.googleads.v13.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V13::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/services;services"; +option java_multiple_files = true; +option java_outer_classname = "BatchJobServiceProto"; +option java_package = "com.google.ads.googleads.v14.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V14::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/batch_job_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/batch_job_service.proto + post: "/v13/customers/{customer_id=*}/batchJobs:mutate" +======== + post: "/v14/customers/{customer_id=*}/batchJobs:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/batch_job_service.proto + 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/batch_job_service.proto + get: "/v13/{resource_name=customers/*/batchJobs/*}:listResults" +======== + get: "/v14/{resource_name=customers/*/batchJobs/*}:listResults" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/batch_job_service.proto + }; + 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/batch_job_service.proto + post: "/v13/{resource_name=customers/*/batchJobs/*}:run" +======== + post: "/v14/{resource_name=customers/*/batchJobs/*}:run" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/batch_job_service.proto + body: "*" + }; + option (google.api.method_signature) = "resource_name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/batch_job_service.proto + metadata_type: "google.ads.googleads.v13.resources.BatchJob.BatchJobMetadata" +======== + metadata_type: "google.ads.googleads.v14.resources.BatchJob.BatchJobMetadata" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/batch_job_service.proto + }; + } + + // 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/batch_job_service.proto + post: "/v13/{resource_name=customers/*/batchJobs/*}:addOperations" +======== + post: "/v14/{resource_name=customers/*/batchJobs/*}:addOperations" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/batch_job_service.proto + body: "*" + }; + option (google.api.method_signature) = + "resource_name,sequence_token,mutate_operations"; + option (google.api.method_signature) = "resource_name,mutate_operations"; + } +} + +// Request message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/batch_job_service.proto +// [BatchJobService.MutateBatchJob][google.ads.googleads.v13.services.BatchJobService.MutateBatchJob]. +======== +// [BatchJobService.MutateBatchJob][google.ads.googleads.v14.services.BatchJobService.MutateBatchJob]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/batch_job_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/batch_job_service.proto + google.ads.googleads.v13.resources.BatchJob create = 1; +======== + google.ads.googleads.v14.resources.BatchJob create = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/batch_job_service.proto + + // 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 +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/batch_job_service.proto +// [BatchJobService.MutateBatchJob][google.ads.googleads.v13.services.BatchJobService.MutateBatchJob]. +======== +// [BatchJobService.MutateBatchJob][google.ads.googleads.v14.services.BatchJobService.MutateBatchJob]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/batch_job_service.proto +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 +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/batch_job_service.proto +// [BatchJobService.RunBatchJob][google.ads.googleads.v13.services.BatchJobService.RunBatchJob]. +======== +// [BatchJobService.RunBatchJob][google.ads.googleads.v14.services.BatchJobService.RunBatchJob]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/batch_job_service.proto +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 +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/batch_job_service.proto +// [BatchJobService.AddBatchJobOperations][google.ads.googleads.v13.services.BatchJobService.AddBatchJobOperations]. +======== +// [BatchJobService.AddBatchJobOperations][google.ads.googleads.v14.services.BatchJobService.AddBatchJobOperations]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/batch_job_service.proto +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 +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/batch_job_service.proto +// [BatchJobService.AddBatchJobOperations][google.ads.googleads.v13.services.BatchJobService.AddBatchJobOperations]. +======== +// [BatchJobService.AddBatchJobOperations][google.ads.googleads.v14.services.BatchJobService.AddBatchJobOperations]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/batch_job_service.proto +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 +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/batch_job_service.proto +// [BatchJobService.ListBatchJobResults][google.ads.googleads.v13.services.BatchJobService.ListBatchJobResults]. +======== +// [BatchJobService.ListBatchJobResults][google.ads.googleads.v14.services.BatchJobService.ListBatchJobResults]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/batch_job_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/batch_job_service.proto + google.ads.googleads.v13.enums.ResponseContentTypeEnum.ResponseContentType +======== + google.ads.googleads.v14.enums.ResponseContentTypeEnum.ResponseContentType +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/batch_job_service.proto + response_content_type = 4; +} + +// Response message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/batch_job_service.proto +// [BatchJobService.ListBatchJobResults][google.ads.googleads.v13.services.BatchJobService.ListBatchJobResults]. +======== +// [BatchJobService.ListBatchJobResults][google.ads.googleads.v14.services.BatchJobService.ListBatchJobResults]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/batch_job_service.proto +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/v14/services/bidding_data_exclusion_service.proto b/third_party/googleapis/google/ads/googleads/v14/services/bidding_data_exclusion_service.proto new file mode 100644 index 000000000..ab2c80c6e --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/services/bidding_data_exclusion_service.proto @@ -0,0 +1,175 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/bidding_data_exclusion_service.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/bidding_data_exclusion_service.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/bidding_data_exclusion_service.proto +package google.ads.googleads.v13.services; + +import "google/ads/googleads/v13/enums/response_content_type.proto"; +import "google/ads/googleads/v13/resources/bidding_data_exclusion.proto"; +======== +package google.ads.googleads.v14.services; + +import "google/ads/googleads/v14/enums/response_content_type.proto"; +import "google/ads/googleads/v14/resources/bidding_data_exclusion.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/bidding_data_exclusion_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/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/bidding_data_exclusion_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/services;services"; +option java_multiple_files = true; +option java_outer_classname = "BiddingDataExclusionServiceProto"; +option java_package = "com.google.ads.googleads.v13.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V13::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/services;services"; +option java_multiple_files = true; +option java_outer_classname = "BiddingDataExclusionServiceProto"; +option java_package = "com.google.ads.googleads.v14.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V14::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/bidding_data_exclusion_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/bidding_data_exclusion_service.proto + post: "/v13/customers/{customer_id=*}/biddingDataExclusions:mutate" +======== + post: "/v14/customers/{customer_id=*}/biddingDataExclusions:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/bidding_data_exclusion_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/bidding_data_exclusion_service.proto +// [BiddingDataExclusionService.MutateBiddingDataExclusions][google.ads.googleads.v13.services.BiddingDataExclusionService.MutateBiddingDataExclusions]. +======== +// [BiddingDataExclusionService.MutateBiddingDataExclusions][google.ads.googleads.v14.services.BiddingDataExclusionService.MutateBiddingDataExclusions]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/bidding_data_exclusion_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/bidding_data_exclusion_service.proto + google.ads.googleads.v13.enums.ResponseContentTypeEnum.ResponseContentType +======== + google.ads.googleads.v14.enums.ResponseContentTypeEnum.ResponseContentType +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/bidding_data_exclusion_service.proto + 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/bidding_data_exclusion_service.proto + google.ads.googleads.v13.resources.BiddingDataExclusion create = 1; + + // Update operation: The data exclusion is expected to have a valid + // resource name. + google.ads.googleads.v13.resources.BiddingDataExclusion update = 2; +======== + google.ads.googleads.v14.resources.BiddingDataExclusion create = 1; + + // Update operation: The data exclusion is expected to have a valid + // resource name. + google.ads.googleads.v14.resources.BiddingDataExclusion update = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/bidding_data_exclusion_service.proto + + // 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". +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/bidding_data_exclusion_service.proto + google.ads.googleads.v13.resources.BiddingDataExclusion +======== + google.ads.googleads.v14.resources.BiddingDataExclusion +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/bidding_data_exclusion_service.proto + bidding_data_exclusion = 2; +} diff --git a/third_party/googleapis/google/ads/googleads/v14/services/bidding_seasonality_adjustment_service.proto b/third_party/googleapis/google/ads/googleads/v14/services/bidding_seasonality_adjustment_service.proto new file mode 100644 index 000000000..738738cce --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/services/bidding_seasonality_adjustment_service.proto @@ -0,0 +1,178 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/bidding_seasonality_adjustment_service.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/bidding_seasonality_adjustment_service.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/bidding_seasonality_adjustment_service.proto +package google.ads.googleads.v13.services; + +import "google/ads/googleads/v13/enums/response_content_type.proto"; +import "google/ads/googleads/v13/resources/bidding_seasonality_adjustment.proto"; +======== +package google.ads.googleads.v14.services; + +import "google/ads/googleads/v14/enums/response_content_type.proto"; +import "google/ads/googleads/v14/resources/bidding_seasonality_adjustment.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/bidding_seasonality_adjustment_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/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/bidding_seasonality_adjustment_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/services;services"; +option java_multiple_files = true; +option java_outer_classname = "BiddingSeasonalityAdjustmentServiceProto"; +option java_package = "com.google.ads.googleads.v13.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V13::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/services;services"; +option java_multiple_files = true; +option java_outer_classname = "BiddingSeasonalityAdjustmentServiceProto"; +option java_package = "com.google.ads.googleads.v14.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V14::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/bidding_seasonality_adjustment_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/bidding_seasonality_adjustment_service.proto + post: "/v13/customers/{customer_id=*}/biddingSeasonalityAdjustments:mutate" +======== + post: "/v14/customers/{customer_id=*}/biddingSeasonalityAdjustments:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/bidding_seasonality_adjustment_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/bidding_seasonality_adjustment_service.proto +// [BiddingSeasonalityAdjustmentService.MutateBiddingSeasonalityAdjustments][google.ads.googleads.v13.services.BiddingSeasonalityAdjustmentService.MutateBiddingSeasonalityAdjustments]. +======== +// [BiddingSeasonalityAdjustmentService.MutateBiddingSeasonalityAdjustments][google.ads.googleads.v14.services.BiddingSeasonalityAdjustmentService.MutateBiddingSeasonalityAdjustments]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/bidding_seasonality_adjustment_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/bidding_seasonality_adjustment_service.proto + google.ads.googleads.v13.enums.ResponseContentTypeEnum.ResponseContentType +======== + google.ads.googleads.v14.enums.ResponseContentTypeEnum.ResponseContentType +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/bidding_seasonality_adjustment_service.proto + 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/bidding_seasonality_adjustment_service.proto + google.ads.googleads.v13.resources.BiddingSeasonalityAdjustment create = 1; + + // Update operation: The seasonality adjustment is expected to have a valid + // resource name. + google.ads.googleads.v13.resources.BiddingSeasonalityAdjustment update = 2; +======== + google.ads.googleads.v14.resources.BiddingSeasonalityAdjustment create = 1; + + // Update operation: The seasonality adjustment is expected to have a valid + // resource name. + google.ads.googleads.v14.resources.BiddingSeasonalityAdjustment update = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/bidding_seasonality_adjustment_service.proto + + // 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". +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/bidding_seasonality_adjustment_service.proto + google.ads.googleads.v13.resources.BiddingSeasonalityAdjustment +======== + google.ads.googleads.v14.resources.BiddingSeasonalityAdjustment +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/bidding_seasonality_adjustment_service.proto + bidding_seasonality_adjustment = 2; +} diff --git a/third_party/googleapis/google/ads/googleads/v14/services/bidding_strategy_service.proto b/third_party/googleapis/google/ads/googleads/v14/services/bidding_strategy_service.proto new file mode 100644 index 000000000..3b1f83b75 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/services/bidding_strategy_service.proto @@ -0,0 +1,206 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/bidding_strategy_service.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/bidding_strategy_service.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/bidding_strategy_service.proto +package google.ads.googleads.v13.services; + +import "google/ads/googleads/v13/enums/response_content_type.proto"; +import "google/ads/googleads/v13/resources/bidding_strategy.proto"; +======== +package google.ads.googleads.v14.services; + +import "google/ads/googleads/v14/enums/response_content_type.proto"; +import "google/ads/googleads/v14/resources/bidding_strategy.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/bidding_strategy_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/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/bidding_strategy_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/services;services"; +option java_multiple_files = true; +option java_outer_classname = "BiddingStrategyServiceProto"; +option java_package = "com.google.ads.googleads.v13.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V13::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/services;services"; +option java_multiple_files = true; +option java_outer_classname = "BiddingStrategyServiceProto"; +option java_package = "com.google.ads.googleads.v14.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V14::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/bidding_strategy_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/bidding_strategy_service.proto + post: "/v13/customers/{customer_id=*}/biddingStrategies:mutate" +======== + post: "/v14/customers/{customer_id=*}/biddingStrategies:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/bidding_strategy_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/bidding_strategy_service.proto +// [BiddingStrategyService.MutateBiddingStrategies][google.ads.googleads.v13.services.BiddingStrategyService.MutateBiddingStrategies]. +======== +// [BiddingStrategyService.MutateBiddingStrategies][google.ads.googleads.v14.services.BiddingStrategyService.MutateBiddingStrategies]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/bidding_strategy_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/bidding_strategy_service.proto + google.ads.googleads.v13.enums.ResponseContentTypeEnum.ResponseContentType +======== + google.ads.googleads.v14.enums.ResponseContentTypeEnum.ResponseContentType +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/bidding_strategy_service.proto + 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/bidding_strategy_service.proto + google.ads.googleads.v13.resources.BiddingStrategy create = 1; + + // Update operation: The bidding strategy is expected to have a valid + // resource name. + google.ads.googleads.v13.resources.BiddingStrategy update = 2; +======== + google.ads.googleads.v14.resources.BiddingStrategy create = 1; + + // Update operation: The bidding strategy is expected to have a valid + // resource name. + google.ads.googleads.v14.resources.BiddingStrategy update = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/bidding_strategy_service.proto + + // 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". +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/bidding_strategy_service.proto + google.ads.googleads.v13.resources.BiddingStrategy bidding_strategy = 2; +======== + google.ads.googleads.v14.resources.BiddingStrategy bidding_strategy = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/bidding_strategy_service.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v14/services/billing_setup_service.proto b/third_party/googleapis/google/ads/googleads/v14/services/billing_setup_service.proto new file mode 100644 index 000000000..dcd5f41f1 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/services/billing_setup_service.proto @@ -0,0 +1,143 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/billing_setup_service.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/billing_setup_service.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/billing_setup_service.proto +package google.ads.googleads.v13.services; + +import "google/ads/googleads/v13/resources/billing_setup.proto"; +======== +package google.ads.googleads.v14.services; + +import "google/ads/googleads/v14/resources/billing_setup.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/billing_setup_service.proto +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/billing_setup_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/services;services"; +option java_multiple_files = true; +option java_outer_classname = "BillingSetupServiceProto"; +option java_package = "com.google.ads.googleads.v13.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V13::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/services;services"; +option java_multiple_files = true; +option java_outer_classname = "BillingSetupServiceProto"; +option java_package = "com.google.ads.googleads.v14.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V14::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/billing_setup_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/billing_setup_service.proto + post: "/v13/customers/{customer_id=*}/billingSetups:mutate" +======== + post: "/v14/customers/{customer_id=*}/billingSetups:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/billing_setup_service.proto + 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/billing_setup_service.proto + google.ads.googleads.v13.resources.BillingSetup create = 2; +======== + google.ads.googleads.v14.resources.BillingSetup create = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/billing_setup_service.proto + + // 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/v14/services/campaign_asset_service.proto b/third_party/googleapis/google/ads/googleads/v14/services/campaign_asset_service.proto new file mode 100644 index 000000000..5da21b859 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/services/campaign_asset_service.proto @@ -0,0 +1,190 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/campaign_asset_service.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/campaign_asset_service.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/campaign_asset_service.proto +package google.ads.googleads.v13.services; + +import "google/ads/googleads/v13/enums/response_content_type.proto"; +import "google/ads/googleads/v13/resources/campaign_asset.proto"; +======== +package google.ads.googleads.v14.services; + +import "google/ads/googleads/v14/enums/response_content_type.proto"; +import "google/ads/googleads/v14/resources/campaign_asset.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/campaign_asset_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/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/campaign_asset_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CampaignAssetServiceProto"; +option java_package = "com.google.ads.googleads.v13.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V13::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CampaignAssetServiceProto"; +option java_package = "com.google.ads.googleads.v14.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V14::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/campaign_asset_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/campaign_asset_service.proto + post: "/v13/customers/{customer_id=*}/campaignAssets:mutate" +======== + post: "/v14/customers/{customer_id=*}/campaignAssets:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/campaign_asset_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/campaign_asset_service.proto +// [CampaignAssetService.MutateCampaignAssets][google.ads.googleads.v13.services.CampaignAssetService.MutateCampaignAssets]. +======== +// [CampaignAssetService.MutateCampaignAssets][google.ads.googleads.v14.services.CampaignAssetService.MutateCampaignAssets]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/campaign_asset_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/campaign_asset_service.proto + google.ads.googleads.v13.enums.ResponseContentTypeEnum.ResponseContentType +======== + google.ads.googleads.v14.enums.ResponseContentTypeEnum.ResponseContentType +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/campaign_asset_service.proto + 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/campaign_asset_service.proto + google.ads.googleads.v13.resources.CampaignAsset create = 1; + + // Update operation: The campaign asset is expected to have a valid resource + // name. + google.ads.googleads.v13.resources.CampaignAsset update = 3; +======== + google.ads.googleads.v14.resources.CampaignAsset create = 1; + + // Update operation: The campaign asset is expected to have a valid resource + // name. + google.ads.googleads.v14.resources.CampaignAsset update = 3; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/campaign_asset_service.proto + + // 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". +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/campaign_asset_service.proto + google.ads.googleads.v13.resources.CampaignAsset campaign_asset = 2; +======== + google.ads.googleads.v14.resources.CampaignAsset campaign_asset = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/campaign_asset_service.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v14/services/campaign_asset_set_service.proto b/third_party/googleapis/google/ads/googleads/v14/services/campaign_asset_set_service.proto new file mode 100644 index 000000000..f34330d20 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/services/campaign_asset_set_service.proto @@ -0,0 +1,165 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/campaign_asset_set_service.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/campaign_asset_set_service.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/campaign_asset_set_service.proto +package google.ads.googleads.v13.services; + +import "google/ads/googleads/v13/enums/response_content_type.proto"; +import "google/ads/googleads/v13/resources/campaign_asset_set.proto"; +======== +package google.ads.googleads.v14.services; + +import "google/ads/googleads/v14/enums/response_content_type.proto"; +import "google/ads/googleads/v14/resources/campaign_asset_set.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/campaign_asset_set_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/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/campaign_asset_set_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CampaignAssetSetServiceProto"; +option java_package = "com.google.ads.googleads.v13.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V13::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CampaignAssetSetServiceProto"; +option java_package = "com.google.ads.googleads.v14.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V14::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/campaign_asset_set_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/campaign_asset_set_service.proto + post: "/v13/customers/{customer_id=*}/campaignAssetSets:mutate" +======== + post: "/v14/customers/{customer_id=*}/campaignAssetSets:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/campaign_asset_set_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/campaign_asset_set_service.proto +// [CampaignAssetSetService.MutateCampaignAssetSets][google.ads.googleads.v13.services.CampaignAssetSetService.MutateCampaignAssetSets]. +======== +// [CampaignAssetSetService.MutateCampaignAssetSets][google.ads.googleads.v14.services.CampaignAssetSetService.MutateCampaignAssetSets]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/campaign_asset_set_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/campaign_asset_set_service.proto + google.ads.googleads.v13.enums.ResponseContentTypeEnum.ResponseContentType +======== + google.ads.googleads.v14.enums.ResponseContentTypeEnum.ResponseContentType +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/campaign_asset_set_service.proto + 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/campaign_asset_set_service.proto + google.ads.googleads.v13.resources.CampaignAssetSet create = 1; +======== + google.ads.googleads.v14.resources.CampaignAssetSet create = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/campaign_asset_set_service.proto + + // 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". +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/campaign_asset_set_service.proto + google.ads.googleads.v13.resources.CampaignAssetSet campaign_asset_set = 2; +======== + google.ads.googleads.v14.resources.CampaignAssetSet campaign_asset_set = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/campaign_asset_set_service.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v14/services/campaign_bid_modifier_service.proto b/third_party/googleapis/google/ads/googleads/v14/services/campaign_bid_modifier_service.proto new file mode 100644 index 000000000..44336d347 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/services/campaign_bid_modifier_service.proto @@ -0,0 +1,203 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/campaign_bid_modifier_service.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/campaign_bid_modifier_service.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/campaign_bid_modifier_service.proto +package google.ads.googleads.v13.services; + +import "google/ads/googleads/v13/enums/response_content_type.proto"; +import "google/ads/googleads/v13/resources/campaign_bid_modifier.proto"; +======== +package google.ads.googleads.v14.services; + +import "google/ads/googleads/v14/enums/response_content_type.proto"; +import "google/ads/googleads/v14/resources/campaign_bid_modifier.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/campaign_bid_modifier_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/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/campaign_bid_modifier_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CampaignBidModifierServiceProto"; +option java_package = "com.google.ads.googleads.v13.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V13::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CampaignBidModifierServiceProto"; +option java_package = "com.google.ads.googleads.v14.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V14::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/campaign_bid_modifier_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/campaign_bid_modifier_service.proto + post: "/v13/customers/{customer_id=*}/campaignBidModifiers:mutate" +======== + post: "/v14/customers/{customer_id=*}/campaignBidModifiers:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/campaign_bid_modifier_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/campaign_bid_modifier_service.proto +// [CampaignBidModifierService.MutateCampaignBidModifiers][google.ads.googleads.v13.services.CampaignBidModifierService.MutateCampaignBidModifiers]. +======== +// [CampaignBidModifierService.MutateCampaignBidModifiers][google.ads.googleads.v14.services.CampaignBidModifierService.MutateCampaignBidModifiers]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/campaign_bid_modifier_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/campaign_bid_modifier_service.proto + google.ads.googleads.v13.enums.ResponseContentTypeEnum.ResponseContentType +======== + google.ads.googleads.v14.enums.ResponseContentTypeEnum.ResponseContentType +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/campaign_bid_modifier_service.proto + 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/campaign_bid_modifier_service.proto + google.ads.googleads.v13.resources.CampaignBidModifier create = 1; + + // Update operation: The campaign bid modifier is expected to have a valid + // resource name. + google.ads.googleads.v13.resources.CampaignBidModifier update = 2; +======== + google.ads.googleads.v14.resources.CampaignBidModifier create = 1; + + // Update operation: The campaign bid modifier is expected to have a valid + // resource name. + google.ads.googleads.v14.resources.CampaignBidModifier update = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/campaign_bid_modifier_service.proto + + // 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". +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/campaign_bid_modifier_service.proto + google.ads.googleads.v13.resources.CampaignBidModifier campaign_bid_modifier = +======== + google.ads.googleads.v14.resources.CampaignBidModifier campaign_bid_modifier = +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/campaign_bid_modifier_service.proto + 2; +} diff --git a/third_party/googleapis/google/ads/googleads/v14/services/campaign_budget_service.proto b/third_party/googleapis/google/ads/googleads/v14/services/campaign_budget_service.proto new file mode 100644 index 000000000..88418b74e --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/services/campaign_budget_service.proto @@ -0,0 +1,194 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/campaign_budget_service.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/campaign_budget_service.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/campaign_budget_service.proto +package google.ads.googleads.v13.services; + +import "google/ads/googleads/v13/enums/response_content_type.proto"; +import "google/ads/googleads/v13/resources/campaign_budget.proto"; +======== +package google.ads.googleads.v14.services; + +import "google/ads/googleads/v14/enums/response_content_type.proto"; +import "google/ads/googleads/v14/resources/campaign_budget.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/campaign_budget_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/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/campaign_budget_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CampaignBudgetServiceProto"; +option java_package = "com.google.ads.googleads.v13.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V13::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CampaignBudgetServiceProto"; +option java_package = "com.google.ads.googleads.v14.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V14::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/campaign_budget_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/campaign_budget_service.proto + post: "/v13/customers/{customer_id=*}/campaignBudgets:mutate" +======== + post: "/v14/customers/{customer_id=*}/campaignBudgets:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/campaign_budget_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/campaign_budget_service.proto +// [CampaignBudgetService.MutateCampaignBudgets][google.ads.googleads.v13.services.CampaignBudgetService.MutateCampaignBudgets]. +======== +// [CampaignBudgetService.MutateCampaignBudgets][google.ads.googleads.v14.services.CampaignBudgetService.MutateCampaignBudgets]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/campaign_budget_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/campaign_budget_service.proto + google.ads.googleads.v13.enums.ResponseContentTypeEnum.ResponseContentType +======== + google.ads.googleads.v14.enums.ResponseContentTypeEnum.ResponseContentType +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/campaign_budget_service.proto + 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/campaign_budget_service.proto + google.ads.googleads.v13.resources.CampaignBudget create = 1; + + // Update operation: The campaign budget is expected to have a valid + // resource name. + google.ads.googleads.v13.resources.CampaignBudget update = 2; +======== + google.ads.googleads.v14.resources.CampaignBudget create = 1; + + // Update operation: The campaign budget is expected to have a valid + // resource name. + google.ads.googleads.v14.resources.CampaignBudget update = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/campaign_budget_service.proto + + // 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". +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/campaign_budget_service.proto + google.ads.googleads.v13.resources.CampaignBudget campaign_budget = 2; +======== + google.ads.googleads.v14.resources.CampaignBudget campaign_budget = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/campaign_budget_service.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v14/services/campaign_conversion_goal_service.proto b/third_party/googleapis/google/ads/googleads/v14/services/campaign_conversion_goal_service.proto new file mode 100644 index 000000000..d5f690268 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/services/campaign_conversion_goal_service.proto @@ -0,0 +1,129 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/campaign_conversion_goal_service.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/campaign_conversion_goal_service.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/campaign_conversion_goal_service.proto +package google.ads.googleads.v13.services; + +import "google/ads/googleads/v13/resources/campaign_conversion_goal.proto"; +======== +package google.ads.googleads.v14.services; + +import "google/ads/googleads/v14/resources/campaign_conversion_goal.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/campaign_conversion_goal_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/protobuf/field_mask.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/campaign_conversion_goal_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CampaignConversionGoalServiceProto"; +option java_package = "com.google.ads.googleads.v13.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V13::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CampaignConversionGoalServiceProto"; +option java_package = "com.google.ads.googleads.v14.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V14::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/campaign_conversion_goal_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/campaign_conversion_goal_service.proto + post: "/v13/customers/{customer_id=*}/campaignConversionGoals:mutate" +======== + post: "/v14/customers/{customer_id=*}/campaignConversionGoals:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/campaign_conversion_goal_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/campaign_conversion_goal_service.proto +// [CampaignConversionGoalService.MutateCampaignConversionGoals][google.ads.googleads.v13.services.CampaignConversionGoalService.MutateCampaignConversionGoals]. +======== +// [CampaignConversionGoalService.MutateCampaignConversionGoals][google.ads.googleads.v14.services.CampaignConversionGoalService.MutateCampaignConversionGoals]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/campaign_conversion_goal_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/campaign_conversion_goal_service.proto + google.ads.googleads.v13.resources.CampaignConversionGoal update = 1; +======== + google.ads.googleads.v14.resources.CampaignConversionGoal update = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/campaign_conversion_goal_service.proto + } +} + +// 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/v14/services/campaign_criterion_service.proto b/third_party/googleapis/google/ads/googleads/v14/services/campaign_criterion_service.proto new file mode 100644 index 000000000..292451f7c --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/services/campaign_criterion_service.proto @@ -0,0 +1,205 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/campaign_criterion_service.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/campaign_criterion_service.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/campaign_criterion_service.proto +package google.ads.googleads.v13.services; + +import "google/ads/googleads/v13/enums/response_content_type.proto"; +import "google/ads/googleads/v13/resources/campaign_criterion.proto"; +======== +package google.ads.googleads.v14.services; + +import "google/ads/googleads/v14/enums/response_content_type.proto"; +import "google/ads/googleads/v14/resources/campaign_criterion.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/campaign_criterion_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/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/campaign_criterion_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CampaignCriterionServiceProto"; +option java_package = "com.google.ads.googleads.v13.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V13::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CampaignCriterionServiceProto"; +option java_package = "com.google.ads.googleads.v14.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V14::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/campaign_criterion_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/campaign_criterion_service.proto + post: "/v13/customers/{customer_id=*}/campaignCriteria:mutate" +======== + post: "/v14/customers/{customer_id=*}/campaignCriteria:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/campaign_criterion_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/campaign_criterion_service.proto +// [CampaignCriterionService.MutateCampaignCriteria][google.ads.googleads.v13.services.CampaignCriterionService.MutateCampaignCriteria]. +======== +// [CampaignCriterionService.MutateCampaignCriteria][google.ads.googleads.v14.services.CampaignCriterionService.MutateCampaignCriteria]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/campaign_criterion_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/campaign_criterion_service.proto + google.ads.googleads.v13.enums.ResponseContentTypeEnum.ResponseContentType +======== + google.ads.googleads.v14.enums.ResponseContentTypeEnum.ResponseContentType +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/campaign_criterion_service.proto + 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/campaign_criterion_service.proto + google.ads.googleads.v13.resources.CampaignCriterion create = 1; + + // Update operation: The criterion is expected to have a valid resource + // name. + google.ads.googleads.v13.resources.CampaignCriterion update = 2; +======== + google.ads.googleads.v14.resources.CampaignCriterion create = 1; + + // Update operation: The criterion is expected to have a valid resource + // name. + google.ads.googleads.v14.resources.CampaignCriterion update = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/campaign_criterion_service.proto + + // 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". +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/campaign_criterion_service.proto + google.ads.googleads.v13.resources.CampaignCriterion campaign_criterion = 2; +======== + google.ads.googleads.v14.resources.CampaignCriterion campaign_criterion = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/campaign_criterion_service.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v14/services/campaign_customizer_service.proto b/third_party/googleapis/google/ads/googleads/v14/services/campaign_customizer_service.proto new file mode 100644 index 000000000..29fdbc574 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/services/campaign_customizer_service.proto @@ -0,0 +1,165 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/campaign_customizer_service.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/campaign_customizer_service.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/campaign_customizer_service.proto +package google.ads.googleads.v13.services; + +import "google/ads/googleads/v13/enums/response_content_type.proto"; +import "google/ads/googleads/v13/resources/campaign_customizer.proto"; +======== +package google.ads.googleads.v14.services; + +import "google/ads/googleads/v14/enums/response_content_type.proto"; +import "google/ads/googleads/v14/resources/campaign_customizer.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/campaign_customizer_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/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/campaign_customizer_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CampaignCustomizerServiceProto"; +option java_package = "com.google.ads.googleads.v13.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V13::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CampaignCustomizerServiceProto"; +option java_package = "com.google.ads.googleads.v14.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V14::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/campaign_customizer_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/campaign_customizer_service.proto + post: "/v13/customers/{customer_id=*}/campaignCustomizers:mutate" +======== + post: "/v14/customers/{customer_id=*}/campaignCustomizers:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/campaign_customizer_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/campaign_customizer_service.proto +// [CampaignCustomizerService.MutateCampaignCustomizers][google.ads.googleads.v13.services.CampaignCustomizerService.MutateCampaignCustomizers]. +======== +// [CampaignCustomizerService.MutateCampaignCustomizers][google.ads.googleads.v14.services.CampaignCustomizerService.MutateCampaignCustomizers]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/campaign_customizer_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/campaign_customizer_service.proto + google.ads.googleads.v13.enums.ResponseContentTypeEnum.ResponseContentType +======== + google.ads.googleads.v14.enums.ResponseContentTypeEnum.ResponseContentType +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/campaign_customizer_service.proto + 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 +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/campaign_customizer_service.proto + google.ads.googleads.v13.resources.CampaignCustomizer create = 1; +======== + google.ads.googleads.v14.resources.CampaignCustomizer create = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/campaign_customizer_service.proto + + // 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". +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/campaign_customizer_service.proto + google.ads.googleads.v13.resources.CampaignCustomizer campaign_customizer = 2; +======== + google.ads.googleads.v14.resources.CampaignCustomizer campaign_customizer = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/campaign_customizer_service.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v14/services/campaign_draft_service.proto b/third_party/googleapis/google/ads/googleads/v14/services/campaign_draft_service.proto new file mode 100644 index 000000000..8aaa48701 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/services/campaign_draft_service.proto @@ -0,0 +1,317 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/campaign_draft_service.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/campaign_draft_service.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/campaign_draft_service.proto +package google.ads.googleads.v13.services; + +import "google/ads/googleads/v13/enums/response_content_type.proto"; +import "google/ads/googleads/v13/resources/campaign_draft.proto"; +======== +package google.ads.googleads.v14.services; + +import "google/ads/googleads/v14/enums/response_content_type.proto"; +import "google/ads/googleads/v14/resources/campaign_draft.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/campaign_draft_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/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/campaign_draft_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CampaignDraftServiceProto"; +option java_package = "com.google.ads.googleads.v13.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V13::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CampaignDraftServiceProto"; +option java_package = "com.google.ads.googleads.v14.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V14::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/campaign_draft_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/campaign_draft_service.proto + post: "/v13/customers/{customer_id=*}/campaignDrafts:mutate" +======== + post: "/v14/customers/{customer_id=*}/campaignDrafts:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/campaign_draft_service.proto + 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 +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/campaign_draft_service.proto + // [CampaignDraftService.ListCampaignDraftAsyncErrors][google.ads.googleads.v13.services.CampaignDraftService.ListCampaignDraftAsyncErrors] +======== + // [CampaignDraftService.ListCampaignDraftAsyncErrors][google.ads.googleads.v14.services.CampaignDraftService.ListCampaignDraftAsyncErrors] +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/campaign_draft_service.proto + // 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/campaign_draft_service.proto + post: "/v13/{campaign_draft=customers/*/campaignDrafts/*}:promote" +======== + post: "/v14/{campaign_draft=customers/*/campaignDrafts/*}:promote" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/campaign_draft_service.proto + 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/campaign_draft_service.proto + get: "/v13/{resource_name=customers/*/campaignDrafts/*}:listAsyncErrors" +======== + get: "/v14/{resource_name=customers/*/campaignDrafts/*}:listAsyncErrors" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/campaign_draft_service.proto + }; + option (google.api.method_signature) = "resource_name"; + } +} + +// Request message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/campaign_draft_service.proto +// [CampaignDraftService.MutateCampaignDrafts][google.ads.googleads.v13.services.CampaignDraftService.MutateCampaignDrafts]. +======== +// [CampaignDraftService.MutateCampaignDrafts][google.ads.googleads.v14.services.CampaignDraftService.MutateCampaignDrafts]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/campaign_draft_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/campaign_draft_service.proto + google.ads.googleads.v13.enums.ResponseContentTypeEnum.ResponseContentType +======== + google.ads.googleads.v14.enums.ResponseContentTypeEnum.ResponseContentType +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/campaign_draft_service.proto + response_content_type = 5; +} + +// Request message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/campaign_draft_service.proto +// [CampaignDraftService.PromoteCampaignDraft][google.ads.googleads.v13.services.CampaignDraftService.PromoteCampaignDraft]. +======== +// [CampaignDraftService.PromoteCampaignDraft][google.ads.googleads.v14.services.CampaignDraftService.PromoteCampaignDraft]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/campaign_draft_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/campaign_draft_service.proto + google.ads.googleads.v13.resources.CampaignDraft create = 1; + + // Update operation: The campaign draft is expected to have a valid + // resource name. + google.ads.googleads.v13.resources.CampaignDraft update = 2; +======== + google.ads.googleads.v14.resources.CampaignDraft create = 1; + + // Update operation: The campaign draft is expected to have a valid + // resource name. + google.ads.googleads.v14.resources.CampaignDraft update = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/campaign_draft_service.proto + + // 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". +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/campaign_draft_service.proto + google.ads.googleads.v13.resources.CampaignDraft campaign_draft = 2; +} + +// Request message for +// [CampaignDraftService.ListCampaignDraftAsyncErrors][google.ads.googleads.v13.services.CampaignDraftService.ListCampaignDraftAsyncErrors]. +======== + google.ads.googleads.v14.resources.CampaignDraft campaign_draft = 2; +} + +// Request message for +// [CampaignDraftService.ListCampaignDraftAsyncErrors][google.ads.googleads.v14.services.CampaignDraftService.ListCampaignDraftAsyncErrors]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/campaign_draft_service.proto +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 +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/campaign_draft_service.proto +// [CampaignDraftService.ListCampaignDraftAsyncErrors][google.ads.googleads.v13.services.CampaignDraftService.ListCampaignDraftAsyncErrors]. +======== +// [CampaignDraftService.ListCampaignDraftAsyncErrors][google.ads.googleads.v14.services.CampaignDraftService.ListCampaignDraftAsyncErrors]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/campaign_draft_service.proto +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/v14/services/campaign_extension_setting_service.proto b/third_party/googleapis/google/ads/googleads/v14/services/campaign_extension_setting_service.proto new file mode 100644 index 000000000..5f53ebd29 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/services/campaign_extension_setting_service.proto @@ -0,0 +1,208 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/campaign_extension_setting_service.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/campaign_extension_setting_service.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/campaign_extension_setting_service.proto +package google.ads.googleads.v13.services; + +import "google/ads/googleads/v13/enums/response_content_type.proto"; +import "google/ads/googleads/v13/resources/campaign_extension_setting.proto"; +======== +package google.ads.googleads.v14.services; + +import "google/ads/googleads/v14/enums/response_content_type.proto"; +import "google/ads/googleads/v14/resources/campaign_extension_setting.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/campaign_extension_setting_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/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/campaign_extension_setting_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CampaignExtensionSettingServiceProto"; +option java_package = "com.google.ads.googleads.v13.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V13::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CampaignExtensionSettingServiceProto"; +option java_package = "com.google.ads.googleads.v14.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V14::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/campaign_extension_setting_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/campaign_extension_setting_service.proto + post: "/v13/customers/{customer_id=*}/campaignExtensionSettings:mutate" +======== + post: "/v14/customers/{customer_id=*}/campaignExtensionSettings:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/campaign_extension_setting_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/campaign_extension_setting_service.proto +// [CampaignExtensionSettingService.MutateCampaignExtensionSettings][google.ads.googleads.v13.services.CampaignExtensionSettingService.MutateCampaignExtensionSettings]. +======== +// [CampaignExtensionSettingService.MutateCampaignExtensionSettings][google.ads.googleads.v14.services.CampaignExtensionSettingService.MutateCampaignExtensionSettings]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/campaign_extension_setting_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/campaign_extension_setting_service.proto + google.ads.googleads.v13.enums.ResponseContentTypeEnum.ResponseContentType +======== + google.ads.googleads.v14.enums.ResponseContentTypeEnum.ResponseContentType +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/campaign_extension_setting_service.proto + 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/campaign_extension_setting_service.proto + google.ads.googleads.v13.resources.CampaignExtensionSetting create = 1; + + // Update operation: The campaign extension setting is expected to have a + // valid resource name. + google.ads.googleads.v13.resources.CampaignExtensionSetting update = 2; +======== + google.ads.googleads.v14.resources.CampaignExtensionSetting create = 1; + + // Update operation: The campaign extension setting is expected to have a + // valid resource name. + google.ads.googleads.v14.resources.CampaignExtensionSetting update = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/campaign_extension_setting_service.proto + + // 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". +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/campaign_extension_setting_service.proto + google.ads.googleads.v13.resources.CampaignExtensionSetting +======== + google.ads.googleads.v14.resources.CampaignExtensionSetting +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/campaign_extension_setting_service.proto + campaign_extension_setting = 2; +} diff --git a/third_party/googleapis/google/ads/googleads/v14/services/campaign_feed_service.proto b/third_party/googleapis/google/ads/googleads/v14/services/campaign_feed_service.proto new file mode 100644 index 000000000..8cf61458d --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/services/campaign_feed_service.proto @@ -0,0 +1,200 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/campaign_feed_service.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/campaign_feed_service.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/campaign_feed_service.proto +package google.ads.googleads.v13.services; + +import "google/ads/googleads/v13/enums/response_content_type.proto"; +import "google/ads/googleads/v13/resources/campaign_feed.proto"; +======== +package google.ads.googleads.v14.services; + +import "google/ads/googleads/v14/enums/response_content_type.proto"; +import "google/ads/googleads/v14/resources/campaign_feed.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/campaign_feed_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/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/campaign_feed_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CampaignFeedServiceProto"; +option java_package = "com.google.ads.googleads.v13.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V13::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CampaignFeedServiceProto"; +option java_package = "com.google.ads.googleads.v14.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V14::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/campaign_feed_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/campaign_feed_service.proto + post: "/v13/customers/{customer_id=*}/campaignFeeds:mutate" +======== + post: "/v14/customers/{customer_id=*}/campaignFeeds:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/campaign_feed_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/campaign_feed_service.proto +// [CampaignFeedService.MutateCampaignFeeds][google.ads.googleads.v13.services.CampaignFeedService.MutateCampaignFeeds]. +======== +// [CampaignFeedService.MutateCampaignFeeds][google.ads.googleads.v14.services.CampaignFeedService.MutateCampaignFeeds]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/campaign_feed_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/campaign_feed_service.proto + google.ads.googleads.v13.enums.ResponseContentTypeEnum.ResponseContentType +======== + google.ads.googleads.v14.enums.ResponseContentTypeEnum.ResponseContentType +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/campaign_feed_service.proto + 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/campaign_feed_service.proto + google.ads.googleads.v13.resources.CampaignFeed create = 1; + + // Update operation: The campaign feed is expected to have a valid resource + // name. + google.ads.googleads.v13.resources.CampaignFeed update = 2; +======== + google.ads.googleads.v14.resources.CampaignFeed create = 1; + + // Update operation: The campaign feed is expected to have a valid resource + // name. + google.ads.googleads.v14.resources.CampaignFeed update = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/campaign_feed_service.proto + + // 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". +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/campaign_feed_service.proto + google.ads.googleads.v13.resources.CampaignFeed campaign_feed = 2; +======== + google.ads.googleads.v14.resources.CampaignFeed campaign_feed = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/campaign_feed_service.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v14/services/campaign_group_service.proto b/third_party/googleapis/google/ads/googleads/v14/services/campaign_group_service.proto new file mode 100644 index 000000000..3c373fc9e --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/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.v14.services; + +import "google/ads/googleads/v14/enums/response_content_type.proto"; +import "google/ads/googleads/v14/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.V14.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CampaignGroupServiceProto"; +option java_package = "com.google.ads.googleads.v14.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V14::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: "/v14/customers/{customer_id=*}/campaignGroups:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [CampaignGroupService.MutateCampaignGroups][google.ads.googleads.v14.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.v14.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.v14.resources.CampaignGroup create = 1; + + // Update operation: The campaign group is expected to have a valid + // resource name. + google.ads.googleads.v14.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.v14.resources.CampaignGroup campaign_group = 2; +} diff --git a/third_party/googleapis/google/ads/googleads/v14/services/campaign_label_service.proto b/third_party/googleapis/google/ads/googleads/v14/services/campaign_label_service.proto new file mode 100644 index 000000000..3cbd86ff2 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/services/campaign_label_service.proto @@ -0,0 +1,159 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/campaign_label_service.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/campaign_label_service.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/campaign_label_service.proto +package google.ads.googleads.v13.services; + +import "google/ads/googleads/v13/resources/campaign_label.proto"; +======== +package google.ads.googleads.v14.services; + +import "google/ads/googleads/v14/resources/campaign_label.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/campaign_label_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/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/campaign_label_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CampaignLabelServiceProto"; +option java_package = "com.google.ads.googleads.v13.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V13::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CampaignLabelServiceProto"; +option java_package = "com.google.ads.googleads.v14.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V14::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/campaign_label_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/campaign_label_service.proto + post: "/v13/customers/{customer_id=*}/campaignLabels:mutate" +======== + post: "/v14/customers/{customer_id=*}/campaignLabels:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/campaign_label_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/campaign_label_service.proto +// [CampaignLabelService.MutateCampaignLabels][google.ads.googleads.v13.services.CampaignLabelService.MutateCampaignLabels]. +======== +// [CampaignLabelService.MutateCampaignLabels][google.ads.googleads.v14.services.CampaignLabelService.MutateCampaignLabels]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/campaign_label_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/campaign_label_service.proto + google.ads.googleads.v13.resources.CampaignLabel create = 1; +======== + google.ads.googleads.v14.resources.CampaignLabel create = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/campaign_label_service.proto + + // 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/v14/services/campaign_service.proto b/third_party/googleapis/google/ads/googleads/v14/services/campaign_service.proto new file mode 100644 index 000000000..3949fb398 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/services/campaign_service.proto @@ -0,0 +1,210 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/campaign_service.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/campaign_service.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/campaign_service.proto +package google.ads.googleads.v13.services; + +import "google/ads/googleads/v13/enums/response_content_type.proto"; +import "google/ads/googleads/v13/resources/campaign.proto"; +======== +package google.ads.googleads.v14.services; + +import "google/ads/googleads/v14/enums/response_content_type.proto"; +import "google/ads/googleads/v14/resources/campaign.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/campaign_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/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/campaign_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CampaignServiceProto"; +option java_package = "com.google.ads.googleads.v13.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V13::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CampaignServiceProto"; +option java_package = "com.google.ads.googleads.v14.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V14::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/campaign_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/campaign_service.proto + post: "/v13/customers/{customer_id=*}/campaigns:mutate" +======== + post: "/v14/customers/{customer_id=*}/campaigns:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/campaign_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/campaign_service.proto +// [CampaignService.MutateCampaigns][google.ads.googleads.v13.services.CampaignService.MutateCampaigns]. +======== +// [CampaignService.MutateCampaigns][google.ads.googleads.v14.services.CampaignService.MutateCampaigns]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/campaign_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/campaign_service.proto + google.ads.googleads.v13.enums.ResponseContentTypeEnum.ResponseContentType +======== + google.ads.googleads.v14.enums.ResponseContentTypeEnum.ResponseContentType +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/campaign_service.proto + 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/campaign_service.proto + google.ads.googleads.v13.resources.Campaign create = 1; + + // Update operation: The campaign is expected to have a valid + // resource name. + google.ads.googleads.v13.resources.Campaign update = 2; +======== + google.ads.googleads.v14.resources.Campaign create = 1; + + // Update operation: The campaign is expected to have a valid + // resource name. + google.ads.googleads.v14.resources.Campaign update = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/campaign_service.proto + + // 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". +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/campaign_service.proto + google.ads.googleads.v13.resources.Campaign campaign = 2; +======== + google.ads.googleads.v14.resources.Campaign campaign = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/campaign_service.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v14/services/campaign_shared_set_service.proto b/third_party/googleapis/google/ads/googleads/v14/services/campaign_shared_set_service.proto new file mode 100644 index 000000000..ccc1f36a1 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/services/campaign_shared_set_service.proto @@ -0,0 +1,189 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/campaign_shared_set_service.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/campaign_shared_set_service.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/campaign_shared_set_service.proto +package google.ads.googleads.v13.services; + +import "google/ads/googleads/v13/enums/response_content_type.proto"; +import "google/ads/googleads/v13/resources/campaign_shared_set.proto"; +======== +package google.ads.googleads.v14.services; + +import "google/ads/googleads/v14/enums/response_content_type.proto"; +import "google/ads/googleads/v14/resources/campaign_shared_set.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/campaign_shared_set_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/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/campaign_shared_set_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CampaignSharedSetServiceProto"; +option java_package = "com.google.ads.googleads.v13.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V13::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CampaignSharedSetServiceProto"; +option java_package = "com.google.ads.googleads.v14.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V14::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/campaign_shared_set_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/campaign_shared_set_service.proto + post: "/v13/customers/{customer_id=*}/campaignSharedSets:mutate" +======== + post: "/v14/customers/{customer_id=*}/campaignSharedSets:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/campaign_shared_set_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/campaign_shared_set_service.proto +// [CampaignSharedSetService.MutateCampaignSharedSets][google.ads.googleads.v13.services.CampaignSharedSetService.MutateCampaignSharedSets]. +======== +// [CampaignSharedSetService.MutateCampaignSharedSets][google.ads.googleads.v14.services.CampaignSharedSetService.MutateCampaignSharedSets]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/campaign_shared_set_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/campaign_shared_set_service.proto + google.ads.googleads.v13.enums.ResponseContentTypeEnum.ResponseContentType +======== + google.ads.googleads.v14.enums.ResponseContentTypeEnum.ResponseContentType +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/campaign_shared_set_service.proto + 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/campaign_shared_set_service.proto + google.ads.googleads.v13.resources.CampaignSharedSet create = 1; +======== + google.ads.googleads.v14.resources.CampaignSharedSet create = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/campaign_shared_set_service.proto + + // 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". +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/campaign_shared_set_service.proto + google.ads.googleads.v13.resources.CampaignSharedSet campaign_shared_set = 2; +======== + google.ads.googleads.v14.resources.CampaignSharedSet campaign_shared_set = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/campaign_shared_set_service.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v14/services/conversion_action_service.proto b/third_party/googleapis/google/ads/googleads/v14/services/conversion_action_service.proto new file mode 100644 index 000000000..5230c3d92 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/services/conversion_action_service.proto @@ -0,0 +1,201 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/conversion_action_service.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/conversion_action_service.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/conversion_action_service.proto +package google.ads.googleads.v13.services; + +import "google/ads/googleads/v13/enums/response_content_type.proto"; +import "google/ads/googleads/v13/resources/conversion_action.proto"; +======== +package google.ads.googleads.v14.services; + +import "google/ads/googleads/v14/enums/response_content_type.proto"; +import "google/ads/googleads/v14/resources/conversion_action.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/conversion_action_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/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/conversion_action_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/services;services"; +option java_multiple_files = true; +option java_outer_classname = "ConversionActionServiceProto"; +option java_package = "com.google.ads.googleads.v13.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V13::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/services;services"; +option java_multiple_files = true; +option java_outer_classname = "ConversionActionServiceProto"; +option java_package = "com.google.ads.googleads.v14.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V14::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/conversion_action_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/conversion_action_service.proto + post: "/v13/customers/{customer_id=*}/conversionActions:mutate" +======== + post: "/v14/customers/{customer_id=*}/conversionActions:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/conversion_action_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/conversion_action_service.proto +// [ConversionActionService.MutateConversionActions][google.ads.googleads.v13.services.ConversionActionService.MutateConversionActions]. +======== +// [ConversionActionService.MutateConversionActions][google.ads.googleads.v14.services.ConversionActionService.MutateConversionActions]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/conversion_action_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/conversion_action_service.proto + google.ads.googleads.v13.enums.ResponseContentTypeEnum.ResponseContentType +======== + google.ads.googleads.v14.enums.ResponseContentTypeEnum.ResponseContentType +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/conversion_action_service.proto + 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/conversion_action_service.proto + google.ads.googleads.v13.resources.ConversionAction create = 1; + + // Update operation: The conversion action is expected to have a valid + // resource name. + google.ads.googleads.v13.resources.ConversionAction update = 2; +======== + google.ads.googleads.v14.resources.ConversionAction create = 1; + + // Update operation: The conversion action is expected to have a valid + // resource name. + google.ads.googleads.v14.resources.ConversionAction update = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/conversion_action_service.proto + + // 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 +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/conversion_action_service.proto +// [ConversionActionService.MutateConversionActions][google.ads.googleads.v13.services.ConversionActionService.MutateConversionActions]. +======== +// [ConversionActionService.MutateConversionActions][google.ads.googleads.v14.services.ConversionActionService.MutateConversionActions]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/conversion_action_service.proto +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". +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/conversion_action_service.proto + google.ads.googleads.v13.resources.ConversionAction conversion_action = 2; +======== + google.ads.googleads.v14.resources.ConversionAction conversion_action = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/conversion_action_service.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v14/services/conversion_adjustment_upload_service.proto b/third_party/googleapis/google/ads/googleads/v14/services/conversion_adjustment_upload_service.proto new file mode 100644 index 000000000..7efe54e3d --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/services/conversion_adjustment_upload_service.proto @@ -0,0 +1,249 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/conversion_adjustment_upload_service.proto +package google.ads.googleads.v12.services; + +import "google/ads/googleads/v12/common/offline_user_data.proto"; +import "google/ads/googleads/v12/enums/conversion_adjustment_type.proto"; +======== +package google.ads.googleads.v14.services; + +import "google/ads/googleads/v14/common/offline_user_data.proto"; +import "google/ads/googleads/v14/enums/conversion_adjustment_type.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/conversion_adjustment_upload_service.proto +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/conversion_adjustment_upload_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/services;services"; +option java_multiple_files = true; +option java_outer_classname = "ConversionAdjustmentUploadServiceProto"; +option java_package = "com.google.ads.googleads.v12.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V12::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/services;services"; +option java_multiple_files = true; +option java_outer_classname = "ConversionAdjustmentUploadServiceProto"; +option java_package = "com.google.ads.googleads.v14.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V14::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/conversion_adjustment_upload_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/conversion_adjustment_upload_service.proto + post: "/v12/customers/{customer_id=*}:uploadConversionAdjustments" +======== + post: "/v14/customers/{customer_id=*}:uploadConversionAdjustments" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/conversion_adjustment_upload_service.proto + body: "*" + }; + option (google.api.method_signature) = + "customer_id,conversion_adjustments,partial_failure"; + } +} + +// Request message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/conversion_adjustment_upload_service.proto +// [ConversionAdjustmentUploadService.UploadConversionAdjustments][google.ads.googleads.v12.services.ConversionAdjustmentUploadService.UploadConversionAdjustments]. +======== +// [ConversionAdjustmentUploadService.UploadConversionAdjustments][google.ads.googleads.v14.services.ConversionAdjustmentUploadService.UploadConversionAdjustments]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/conversion_adjustment_upload_service.proto +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; +} + +// Response message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/conversion_adjustment_upload_service.proto +// [ConversionAdjustmentUploadService.UploadConversionAdjustments][google.ads.googleads.v12.services.ConversionAdjustmentUploadService.UploadConversionAdjustments]. +======== +// [ConversionAdjustmentUploadService.UploadConversionAdjustments][google.ads.googleads.v14.services.ConversionAdjustmentUploadService.UploadConversionAdjustments]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/conversion_adjustment_upload_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/conversion_adjustment_upload_service.proto + google.ads.googleads.v12.enums.ConversionAdjustmentTypeEnum.ConversionAdjustmentType adjustment_type = 5; +======== + google.ads.googleads.v14.enums.ConversionAdjustmentTypeEnum + .ConversionAdjustmentType adjustment_type = 5; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/conversion_adjustment_upload_service.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/conversion_adjustment_upload_service.proto + repeated google.ads.googleads.v12.common.UserIdentifier user_identifiers = 10; +======== + repeated google.ads.googleads.v14.common.UserIdentifier user_identifiers = 10; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/conversion_adjustment_upload_service.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/conversion_adjustment_upload_service.proto + google.ads.googleads.v12.enums.ConversionAdjustmentTypeEnum.ConversionAdjustmentType adjustment_type = 5; +======== + google.ads.googleads.v14.enums.ConversionAdjustmentTypeEnum + .ConversionAdjustmentType adjustment_type = 5; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/conversion_adjustment_upload_service.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v14/services/conversion_custom_variable_service.proto b/third_party/googleapis/google/ads/googleads/v14/services/conversion_custom_variable_service.proto new file mode 100644 index 000000000..a8fa53c7d --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/services/conversion_custom_variable_service.proto @@ -0,0 +1,186 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/conversion_custom_variable_service.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/conversion_custom_variable_service.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/conversion_custom_variable_service.proto +package google.ads.googleads.v13.services; + +import "google/ads/googleads/v13/enums/response_content_type.proto"; +import "google/ads/googleads/v13/resources/conversion_custom_variable.proto"; +======== +package google.ads.googleads.v14.services; + +import "google/ads/googleads/v14/enums/response_content_type.proto"; +import "google/ads/googleads/v14/resources/conversion_custom_variable.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/conversion_custom_variable_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/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/conversion_custom_variable_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/services;services"; +option java_multiple_files = true; +option java_outer_classname = "ConversionCustomVariableServiceProto"; +option java_package = "com.google.ads.googleads.v13.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V13::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/services;services"; +option java_multiple_files = true; +option java_outer_classname = "ConversionCustomVariableServiceProto"; +option java_package = "com.google.ads.googleads.v14.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V14::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/conversion_custom_variable_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/conversion_custom_variable_service.proto + post: "/v13/customers/{customer_id=*}/conversionCustomVariables:mutate" +======== + post: "/v14/customers/{customer_id=*}/conversionCustomVariables:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/conversion_custom_variable_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/conversion_custom_variable_service.proto +// [ConversionCustomVariableService.MutateConversionCustomVariables][google.ads.googleads.v13.services.ConversionCustomVariableService.MutateConversionCustomVariables]. +======== +// [ConversionCustomVariableService.MutateConversionCustomVariables][google.ads.googleads.v14.services.ConversionCustomVariableService.MutateConversionCustomVariables]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/conversion_custom_variable_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/conversion_custom_variable_service.proto + google.ads.googleads.v13.enums.ResponseContentTypeEnum.ResponseContentType +======== + google.ads.googleads.v14.enums.ResponseContentTypeEnum.ResponseContentType +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/conversion_custom_variable_service.proto + 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/conversion_custom_variable_service.proto + google.ads.googleads.v13.resources.ConversionCustomVariable create = 1; + + // Update operation: The conversion custom variable is expected to have a + // valid resource name. + google.ads.googleads.v13.resources.ConversionCustomVariable update = 2; +======== + google.ads.googleads.v14.resources.ConversionCustomVariable create = 1; + + // Update operation: The conversion custom variable is expected to have a + // valid resource name. + google.ads.googleads.v14.resources.ConversionCustomVariable update = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/conversion_custom_variable_service.proto + } +} + +// Response message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/conversion_custom_variable_service.proto +// [ConversionCustomVariableService.MutateConversionCustomVariables][google.ads.googleads.v13.services.ConversionCustomVariableService.MutateConversionCustomVariables]. +======== +// [ConversionCustomVariableService.MutateConversionCustomVariables][google.ads.googleads.v14.services.ConversionCustomVariableService.MutateConversionCustomVariables]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/conversion_custom_variable_service.proto +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". +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/conversion_custom_variable_service.proto + google.ads.googleads.v13.resources.ConversionCustomVariable +======== + google.ads.googleads.v14.resources.ConversionCustomVariable +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/conversion_custom_variable_service.proto + conversion_custom_variable = 2; +} diff --git a/third_party/googleapis/google/ads/googleads/v14/services/conversion_goal_campaign_config_service.proto b/third_party/googleapis/google/ads/googleads/v14/services/conversion_goal_campaign_config_service.proto new file mode 100644 index 000000000..17483a5cc --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/services/conversion_goal_campaign_config_service.proto @@ -0,0 +1,147 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/conversion_goal_campaign_config_service.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/conversion_goal_campaign_config_service.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/conversion_goal_campaign_config_service.proto +package google.ads.googleads.v13.services; + +import "google/ads/googleads/v13/enums/response_content_type.proto"; +import "google/ads/googleads/v13/resources/conversion_goal_campaign_config.proto"; +======== +package google.ads.googleads.v14.services; + +import "google/ads/googleads/v14/enums/response_content_type.proto"; +import "google/ads/googleads/v14/resources/conversion_goal_campaign_config.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/conversion_goal_campaign_config_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/protobuf/field_mask.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/conversion_goal_campaign_config_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/services;services"; +option java_multiple_files = true; +option java_outer_classname = "ConversionGoalCampaignConfigServiceProto"; +option java_package = "com.google.ads.googleads.v13.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V13::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/services;services"; +option java_multiple_files = true; +option java_outer_classname = "ConversionGoalCampaignConfigServiceProto"; +option java_package = "com.google.ads.googleads.v14.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V14::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/conversion_goal_campaign_config_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/conversion_goal_campaign_config_service.proto + post: "/v13/customers/{customer_id=*}/conversionGoalCampaignConfigs:mutate" +======== + post: "/v14/customers/{customer_id=*}/conversionGoalCampaignConfigs:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/conversion_goal_campaign_config_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [ConversionGoalCampaignConfigService.MutateConversionGoalCampaignConfigs][google.ads.googleads.v14.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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/conversion_goal_campaign_config_service.proto + google.ads.googleads.v13.enums.ResponseContentTypeEnum.ResponseContentType +======== + google.ads.googleads.v14.enums.ResponseContentTypeEnum.ResponseContentType +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/conversion_goal_campaign_config_service.proto + 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/conversion_goal_campaign_config_service.proto + google.ads.googleads.v13.resources.ConversionGoalCampaignConfig update = 1; +======== + google.ads.googleads.v14.resources.ConversionGoalCampaignConfig update = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/conversion_goal_campaign_config_service.proto + } +} + +// 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". +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/conversion_goal_campaign_config_service.proto + google.ads.googleads.v13.resources.ConversionGoalCampaignConfig +======== + google.ads.googleads.v14.resources.ConversionGoalCampaignConfig +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/conversion_goal_campaign_config_service.proto + conversion_goal_campaign_config = 2; +} diff --git a/third_party/googleapis/google/ads/googleads/v14/services/conversion_upload_service.proto b/third_party/googleapis/google/ads/googleads/v14/services/conversion_upload_service.proto new file mode 100644 index 000000000..765d2413b --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/services/conversion_upload_service.proto @@ -0,0 +1,434 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/conversion_upload_service.proto +package google.ads.googleads.v12.services; + +import "google/ads/googleads/v12/common/offline_user_data.proto"; +import "google/ads/googleads/v12/enums/conversion_environment_enum.proto"; +======== +package google.ads.googleads.v14.services; + +import "google/ads/googleads/v14/common/offline_user_data.proto"; +import "google/ads/googleads/v14/enums/conversion_environment_enum.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/conversion_upload_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/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/conversion_upload_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/services;services"; +option java_multiple_files = true; +option java_outer_classname = "ConversionUploadServiceProto"; +option java_package = "com.google.ads.googleads.v12.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V12::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/services;services"; +option java_multiple_files = true; +option java_outer_classname = "ConversionUploadServiceProto"; +option java_package = "com.google.ads.googleads.v14.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V14::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/conversion_upload_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/conversion_upload_service.proto + post: "/v12/customers/{customer_id=*}:uploadClickConversions" +======== + post: "/v14/customers/{customer_id=*}:uploadClickConversions" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/conversion_upload_service.proto + 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/conversion_upload_service.proto + post: "/v12/customers/{customer_id=*}:uploadCallConversions" +======== + post: "/v14/customers/{customer_id=*}:uploadCallConversions" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/conversion_upload_service.proto + body: "*" + }; + option (google.api.method_signature) = + "customer_id,conversions,partial_failure"; + } +} + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/conversion_upload_service.proto +// Request message for [ConversionUploadService.UploadClickConversions][google.ads.googleads.v12.services.ConversionUploadService.UploadClickConversions]. +======== +// Request message for +// [ConversionUploadService.UploadClickConversions][google.ads.googleads.v14.services.ConversionUploadService.UploadClickConversions]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/conversion_upload_service.proto +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; +} + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/conversion_upload_service.proto +// Response message for [ConversionUploadService.UploadClickConversions][google.ads.googleads.v12.services.ConversionUploadService.UploadClickConversions]. +======== +// Response message for +// [ConversionUploadService.UploadClickConversions][google.ads.googleads.v14.services.ConversionUploadService.UploadClickConversions]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/conversion_upload_service.proto +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; +} + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/conversion_upload_service.proto +// Request message for [ConversionUploadService.UploadCallConversions][google.ads.googleads.v12.services.ConversionUploadService.UploadCallConversions]. +======== +// Request message for +// [ConversionUploadService.UploadCallConversions][google.ads.googleads.v14.services.ConversionUploadService.UploadCallConversions]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/conversion_upload_service.proto +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; +} + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/conversion_upload_service.proto +// Response message for [ConversionUploadService.UploadCallConversions][google.ads.googleads.v12.services.ConversionUploadService.UploadCallConversions]. +======== +// Response message for +// [ConversionUploadService.UploadCallConversions][google.ads.googleads.v14.services.ConversionUploadService.UploadCallConversions]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/conversion_upload_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/conversion_upload_service.proto + repeated google.ads.googleads.v12.common.UserIdentifier user_identifiers = 17; + + // The environment this conversion was recorded on, for example, App or Web. + google.ads.googleads.v12.enums.ConversionEnvironmentEnum.ConversionEnvironment conversion_environment = 20; +======== + repeated google.ads.googleads.v14.common.UserIdentifier user_identifiers = 17; + + // The environment this conversion was recorded on, for example, App or Web. + google.ads.googleads.v14.enums.ConversionEnvironmentEnum.ConversionEnvironment + conversion_environment = 20; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/conversion_upload_service.proto +} + +// 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; +} + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/conversion_upload_service.proto + repeated google.ads.googleads.v12.common.UserIdentifier user_identifiers = 7; +======== + repeated google.ads.googleads.v14.common.UserIdentifier user_identifiers = 7; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/conversion_upload_service.proto +} + +// 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/v14/services/conversion_value_rule_service.proto b/third_party/googleapis/google/ads/googleads/v14/services/conversion_value_rule_service.proto new file mode 100644 index 000000000..1121a1137 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/services/conversion_value_rule_service.proto @@ -0,0 +1,184 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/conversion_value_rule_service.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/conversion_value_rule_service.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/conversion_value_rule_service.proto +package google.ads.googleads.v13.services; + +import "google/ads/googleads/v13/enums/response_content_type.proto"; +import "google/ads/googleads/v13/resources/conversion_value_rule.proto"; +======== +package google.ads.googleads.v14.services; + +import "google/ads/googleads/v14/enums/response_content_type.proto"; +import "google/ads/googleads/v14/resources/conversion_value_rule.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/conversion_value_rule_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/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/conversion_value_rule_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/services;services"; +option java_multiple_files = true; +option java_outer_classname = "ConversionValueRuleServiceProto"; +option java_package = "com.google.ads.googleads.v13.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V13::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/services;services"; +option java_multiple_files = true; +option java_outer_classname = "ConversionValueRuleServiceProto"; +option java_package = "com.google.ads.googleads.v14.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V14::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/conversion_value_rule_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/conversion_value_rule_service.proto + post: "/v13/customers/{customer_id=*}/conversionValueRules:mutate" +======== + post: "/v14/customers/{customer_id=*}/conversionValueRules:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/conversion_value_rule_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/conversion_value_rule_service.proto +// [ConversionValueRuleService.MutateConversionValueRules][google.ads.googleads.v13.services.ConversionValueRuleService.MutateConversionValueRules]. +======== +// [ConversionValueRuleService.MutateConversionValueRules][google.ads.googleads.v14.services.ConversionValueRuleService.MutateConversionValueRules]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/conversion_value_rule_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/conversion_value_rule_service.proto + google.ads.googleads.v13.enums.ResponseContentTypeEnum.ResponseContentType +======== + google.ads.googleads.v14.enums.ResponseContentTypeEnum.ResponseContentType +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/conversion_value_rule_service.proto + 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/conversion_value_rule_service.proto + google.ads.googleads.v13.resources.ConversionValueRule create = 1; + + // Update operation: The conversion value rule is expected to have a valid + // resource name. + google.ads.googleads.v13.resources.ConversionValueRule update = 2; +======== + google.ads.googleads.v14.resources.ConversionValueRule create = 1; + + // Update operation: The conversion value rule is expected to have a valid + // resource name. + google.ads.googleads.v14.resources.ConversionValueRule update = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/conversion_value_rule_service.proto + + // 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 +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/conversion_value_rule_service.proto +// [ConversionValueRuleService.MutateConversionValueRules][google.ads.googleads.v13.services.ConversionValueRuleService.MutateConversionValueRules]. +======== +// [ConversionValueRuleService.MutateConversionValueRules][google.ads.googleads.v14.services.ConversionValueRuleService.MutateConversionValueRules]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/conversion_value_rule_service.proto +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". +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/conversion_value_rule_service.proto + google.ads.googleads.v13.resources.ConversionValueRule conversion_value_rule = +======== + google.ads.googleads.v14.resources.ConversionValueRule conversion_value_rule = +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/conversion_value_rule_service.proto + 2; +} diff --git a/third_party/googleapis/google/ads/googleads/v14/services/conversion_value_rule_set_service.proto b/third_party/googleapis/google/ads/googleads/v14/services/conversion_value_rule_set_service.proto new file mode 100644 index 000000000..3fa77d156 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/services/conversion_value_rule_set_service.proto @@ -0,0 +1,184 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/conversion_value_rule_set_service.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/conversion_value_rule_set_service.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/conversion_value_rule_set_service.proto +package google.ads.googleads.v13.services; + +import "google/ads/googleads/v13/enums/response_content_type.proto"; +import "google/ads/googleads/v13/resources/conversion_value_rule_set.proto"; +======== +package google.ads.googleads.v14.services; + +import "google/ads/googleads/v14/enums/response_content_type.proto"; +import "google/ads/googleads/v14/resources/conversion_value_rule_set.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/conversion_value_rule_set_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/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/conversion_value_rule_set_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/services;services"; +option java_multiple_files = true; +option java_outer_classname = "ConversionValueRuleSetServiceProto"; +option java_package = "com.google.ads.googleads.v13.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V13::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/services;services"; +option java_multiple_files = true; +option java_outer_classname = "ConversionValueRuleSetServiceProto"; +option java_package = "com.google.ads.googleads.v14.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V14::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/conversion_value_rule_set_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/conversion_value_rule_set_service.proto + post: "/v13/customers/{customer_id=*}/conversionValueRuleSets:mutate" +======== + post: "/v14/customers/{customer_id=*}/conversionValueRuleSets:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/conversion_value_rule_set_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/conversion_value_rule_set_service.proto +// [ConversionValueRuleSetService.MutateConversionValueRuleSets][google.ads.googleads.v13.services.ConversionValueRuleSetService.MutateConversionValueRuleSets]. +======== +// [ConversionValueRuleSetService.MutateConversionValueRuleSets][google.ads.googleads.v14.services.ConversionValueRuleSetService.MutateConversionValueRuleSets]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/conversion_value_rule_set_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/conversion_value_rule_set_service.proto + google.ads.googleads.v13.enums.ResponseContentTypeEnum.ResponseContentType +======== + google.ads.googleads.v14.enums.ResponseContentTypeEnum.ResponseContentType +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/conversion_value_rule_set_service.proto + 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/conversion_value_rule_set_service.proto + google.ads.googleads.v13.resources.ConversionValueRuleSet create = 1; + + // Update operation: The conversion value rule set is expected to have a + // valid resource name. + google.ads.googleads.v13.resources.ConversionValueRuleSet update = 2; +======== + google.ads.googleads.v14.resources.ConversionValueRuleSet create = 1; + + // Update operation: The conversion value rule set is expected to have a + // valid resource name. + google.ads.googleads.v14.resources.ConversionValueRuleSet update = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/conversion_value_rule_set_service.proto + + // 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 +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/conversion_value_rule_set_service.proto +// [ConversionValueRuleSetService.MutateConversionValueRuleSets][google.ads.googleads.v13.services.ConversionValueRuleSetService.MutateConversionValueRuleSets]. +======== +// [ConversionValueRuleSetService.MutateConversionValueRuleSets][google.ads.googleads.v14.services.ConversionValueRuleSetService.MutateConversionValueRuleSets]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/conversion_value_rule_set_service.proto +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". +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/conversion_value_rule_set_service.proto + google.ads.googleads.v13.resources.ConversionValueRuleSet +======== + google.ads.googleads.v14.resources.ConversionValueRuleSet +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/conversion_value_rule_set_service.proto + conversion_value_rule_set = 2; +} diff --git a/third_party/googleapis/google/ads/googleads/v14/services/custom_audience_service.proto b/third_party/googleapis/google/ads/googleads/v14/services/custom_audience_service.proto new file mode 100644 index 000000000..13f9cde82 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/services/custom_audience_service.proto @@ -0,0 +1,157 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/custom_audience_service.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/custom_audience_service.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/custom_audience_service.proto +package google.ads.googleads.v13.services; + +import "google/ads/googleads/v13/resources/custom_audience.proto"; +======== +package google.ads.googleads.v14.services; + +import "google/ads/googleads/v14/resources/custom_audience.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/custom_audience_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/protobuf/field_mask.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/custom_audience_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomAudienceServiceProto"; +option java_package = "com.google.ads.googleads.v13.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V13::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomAudienceServiceProto"; +option java_package = "com.google.ads.googleads.v14.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V14::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/custom_audience_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/custom_audience_service.proto + post: "/v13/customers/{customer_id=*}/customAudiences:mutate" +======== + post: "/v14/customers/{customer_id=*}/customAudiences:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/custom_audience_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/custom_audience_service.proto +// [CustomAudienceService.MutateCustomAudiences][google.ads.googleads.v13.services.CustomAudienceService.MutateCustomAudiences]. +======== +// [CustomAudienceService.MutateCustomAudiences][google.ads.googleads.v14.services.CustomAudienceService.MutateCustomAudiences]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/custom_audience_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/custom_audience_service.proto + google.ads.googleads.v13.resources.CustomAudience create = 1; + + // Update operation: The custom audience is expected to have a valid + // resource name. + google.ads.googleads.v13.resources.CustomAudience update = 2; +======== + google.ads.googleads.v14.resources.CustomAudience create = 1; + + // Update operation: The custom audience is expected to have a valid + // resource name. + google.ads.googleads.v14.resources.CustomAudience update = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/custom_audience_service.proto + + // 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/v14/services/custom_conversion_goal_service.proto b/third_party/googleapis/google/ads/googleads/v14/services/custom_conversion_goal_service.proto new file mode 100644 index 000000000..a4b3b9ed7 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/services/custom_conversion_goal_service.proto @@ -0,0 +1,166 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/custom_conversion_goal_service.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/custom_conversion_goal_service.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/custom_conversion_goal_service.proto +package google.ads.googleads.v13.services; + +import "google/ads/googleads/v13/enums/response_content_type.proto"; +import "google/ads/googleads/v13/resources/custom_conversion_goal.proto"; +======== +package google.ads.googleads.v14.services; + +import "google/ads/googleads/v14/enums/response_content_type.proto"; +import "google/ads/googleads/v14/resources/custom_conversion_goal.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/custom_conversion_goal_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/protobuf/field_mask.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/custom_conversion_goal_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomConversionGoalServiceProto"; +option java_package = "com.google.ads.googleads.v13.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V13::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomConversionGoalServiceProto"; +option java_package = "com.google.ads.googleads.v14.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V14::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/custom_conversion_goal_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/custom_conversion_goal_service.proto + post: "/v13/customers/{customer_id=*}/customConversionGoals:mutate" +======== + post: "/v14/customers/{customer_id=*}/customConversionGoals:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/custom_conversion_goal_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/custom_conversion_goal_service.proto +// [CustomConversionGoalService.MutateCustomConversionGoals][google.ads.googleads.v13.services.CustomConversionGoalService.MutateCustomConversionGoals]. +======== +// [CustomConversionGoalService.MutateCustomConversionGoals][google.ads.googleads.v14.services.CustomConversionGoalService.MutateCustomConversionGoals]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/custom_conversion_goal_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/custom_conversion_goal_service.proto + google.ads.googleads.v13.enums.ResponseContentTypeEnum.ResponseContentType +======== + google.ads.googleads.v14.enums.ResponseContentTypeEnum.ResponseContentType +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/custom_conversion_goal_service.proto + 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 +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/custom_conversion_goal_service.proto + google.ads.googleads.v13.resources.CustomConversionGoal create = 1; + + // Update operation: The custom conversion goal is expected to have a + // valid resource name. + google.ads.googleads.v13.resources.CustomConversionGoal update = 2; +======== + google.ads.googleads.v14.resources.CustomConversionGoal create = 1; + + // Update operation: The custom conversion goal is expected to have a + // valid resource name. + google.ads.googleads.v14.resources.CustomConversionGoal update = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/custom_conversion_goal_service.proto + + // 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". +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/custom_conversion_goal_service.proto + google.ads.googleads.v13.resources.CustomConversionGoal +======== + google.ads.googleads.v14.resources.CustomConversionGoal +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/custom_conversion_goal_service.proto + custom_conversion_goal = 2; +} diff --git a/third_party/googleapis/google/ads/googleads/v14/services/custom_interest_service.proto b/third_party/googleapis/google/ads/googleads/v14/services/custom_interest_service.proto new file mode 100644 index 000000000..66adbf7b5 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/services/custom_interest_service.proto @@ -0,0 +1,147 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/custom_interest_service.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/custom_interest_service.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/custom_interest_service.proto +package google.ads.googleads.v13.services; + +import "google/ads/googleads/v13/resources/custom_interest.proto"; +======== +package google.ads.googleads.v14.services; + +import "google/ads/googleads/v14/resources/custom_interest.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/custom_interest_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/protobuf/field_mask.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/custom_interest_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomInterestServiceProto"; +option java_package = "com.google.ads.googleads.v13.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V13::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomInterestServiceProto"; +option java_package = "com.google.ads.googleads.v14.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V14::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/custom_interest_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/custom_interest_service.proto + post: "/v13/customers/{customer_id=*}/customInterests:mutate" +======== + post: "/v14/customers/{customer_id=*}/customInterests:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/custom_interest_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/custom_interest_service.proto +// [CustomInterestService.MutateCustomInterests][google.ads.googleads.v13.services.CustomInterestService.MutateCustomInterests]. +======== +// [CustomInterestService.MutateCustomInterests][google.ads.googleads.v14.services.CustomInterestService.MutateCustomInterests]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/custom_interest_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/custom_interest_service.proto + google.ads.googleads.v13.resources.CustomInterest create = 1; + + // Update operation: The custom interest is expected to have a valid + // resource name. + google.ads.googleads.v13.resources.CustomInterest update = 2; +======== + google.ads.googleads.v14.resources.CustomInterest create = 1; + + // Update operation: The custom interest is expected to have a valid + // resource name. + google.ads.googleads.v14.resources.CustomInterest update = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/custom_interest_service.proto + } +} + +// 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/v14/services/customer_asset_service.proto b/third_party/googleapis/google/ads/googleads/v14/services/customer_asset_service.proto new file mode 100644 index 000000000..b5e1778f5 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/services/customer_asset_service.proto @@ -0,0 +1,187 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/customer_asset_service.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/customer_asset_service.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/customer_asset_service.proto +package google.ads.googleads.v13.services; + +import "google/ads/googleads/v13/enums/response_content_type.proto"; +import "google/ads/googleads/v13/resources/customer_asset.proto"; +======== +package google.ads.googleads.v14.services; + +import "google/ads/googleads/v14/enums/response_content_type.proto"; +import "google/ads/googleads/v14/resources/customer_asset.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/customer_asset_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/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/customer_asset_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomerAssetServiceProto"; +option java_package = "com.google.ads.googleads.v13.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V13::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomerAssetServiceProto"; +option java_package = "com.google.ads.googleads.v14.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V14::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/customer_asset_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/customer_asset_service.proto + post: "/v13/customers/{customer_id=*}/customerAssets:mutate" +======== + post: "/v14/customers/{customer_id=*}/customerAssets:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/customer_asset_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/customer_asset_service.proto +// [CustomerAssetService.MutateCustomerAssets][google.ads.googleads.v13.services.CustomerAssetService.MutateCustomerAssets]. +======== +// [CustomerAssetService.MutateCustomerAssets][google.ads.googleads.v14.services.CustomerAssetService.MutateCustomerAssets]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/customer_asset_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/customer_asset_service.proto + google.ads.googleads.v13.enums.ResponseContentTypeEnum.ResponseContentType +======== + google.ads.googleads.v14.enums.ResponseContentTypeEnum.ResponseContentType +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/customer_asset_service.proto + 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/customer_asset_service.proto + google.ads.googleads.v13.resources.CustomerAsset create = 1; + + // Update operation: The customer asset is expected to have a valid resource + // name. + google.ads.googleads.v13.resources.CustomerAsset update = 3; +======== + google.ads.googleads.v14.resources.CustomerAsset create = 1; + + // Update operation: The customer asset is expected to have a valid resource + // name. + google.ads.googleads.v14.resources.CustomerAsset update = 3; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/customer_asset_service.proto + + // 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". +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/customer_asset_service.proto + google.ads.googleads.v13.resources.CustomerAsset customer_asset = 2; +======== + google.ads.googleads.v14.resources.CustomerAsset customer_asset = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/customer_asset_service.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v14/services/customer_asset_set_service.proto b/third_party/googleapis/google/ads/googleads/v14/services/customer_asset_set_service.proto new file mode 100644 index 000000000..7b0424393 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/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.v14.services; + +import "google/ads/googleads/v14/enums/response_content_type.proto"; +import "google/ads/googleads/v14/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.V14.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomerAssetSetServiceProto"; +option java_package = "com.google.ads.googleads.v14.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V14::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: "/v14/customers/{customer_id=*}/customerAssetSets:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [CustomerAssetSetService.MutateCustomerAssetSets][google.ads.googleads.v14.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.v14.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.v14.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.v14.resources.CustomerAssetSet customer_asset_set = 2; +} diff --git a/third_party/googleapis/google/ads/googleads/v14/services/customer_client_link_service.proto b/third_party/googleapis/google/ads/googleads/v14/services/customer_client_link_service.proto new file mode 100644 index 000000000..2c42b40e9 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/services/customer_client_link_service.proto @@ -0,0 +1,143 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/customer_client_link_service.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/customer_client_link_service.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/customer_client_link_service.proto +package google.ads.googleads.v13.services; + +import "google/ads/googleads/v13/resources/customer_client_link.proto"; +======== +package google.ads.googleads.v14.services; + +import "google/ads/googleads/v14/resources/customer_client_link.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/customer_client_link_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/protobuf/field_mask.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/customer_client_link_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomerClientLinkServiceProto"; +option java_package = "com.google.ads.googleads.v13.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V13::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomerClientLinkServiceProto"; +option java_package = "com.google.ads.googleads.v14.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V14::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/customer_client_link_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/customer_client_link_service.proto + post: "/v13/customers/{customer_id=*}/customerClientLinks:mutate" +======== + post: "/v14/customers/{customer_id=*}/customerClientLinks:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/customer_client_link_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operation"; + } +} + +// Request message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/customer_client_link_service.proto +// [CustomerClientLinkService.MutateCustomerClientLink][google.ads.googleads.v13.services.CustomerClientLinkService.MutateCustomerClientLink]. +======== +// [CustomerClientLinkService.MutateCustomerClientLink][google.ads.googleads.v14.services.CustomerClientLinkService.MutateCustomerClientLink]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/customer_client_link_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/customer_client_link_service.proto + google.ads.googleads.v13.resources.CustomerClientLink create = 1; + + // Update operation: The link is expected to have a valid resource name. + google.ads.googleads.v13.resources.CustomerClientLink update = 2; +======== + google.ads.googleads.v14.resources.CustomerClientLink create = 1; + + // Update operation: The link is expected to have a valid resource name. + google.ads.googleads.v14.resources.CustomerClientLink update = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/customer_client_link_service.proto + } +} + +// 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/v14/services/customer_conversion_goal_service.proto b/third_party/googleapis/google/ads/googleads/v14/services/customer_conversion_goal_service.proto new file mode 100644 index 000000000..7373c7c5a --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/services/customer_conversion_goal_service.proto @@ -0,0 +1,129 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/customer_conversion_goal_service.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/customer_conversion_goal_service.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/customer_conversion_goal_service.proto +package google.ads.googleads.v13.services; + +import "google/ads/googleads/v13/resources/customer_conversion_goal.proto"; +======== +package google.ads.googleads.v14.services; + +import "google/ads/googleads/v14/resources/customer_conversion_goal.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/customer_conversion_goal_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/protobuf/field_mask.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/customer_conversion_goal_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomerConversionGoalServiceProto"; +option java_package = "com.google.ads.googleads.v13.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V13::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomerConversionGoalServiceProto"; +option java_package = "com.google.ads.googleads.v14.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V14::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/customer_conversion_goal_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/customer_conversion_goal_service.proto + post: "/v13/customers/{customer_id=*}/customerConversionGoals:mutate" +======== + post: "/v14/customers/{customer_id=*}/customerConversionGoals:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/customer_conversion_goal_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/customer_conversion_goal_service.proto +// [CustomerConversionGoalService.MutateCustomerConversionGoals][google.ads.googleads.v13.services.CustomerConversionGoalService.MutateCustomerConversionGoals]. +======== +// [CustomerConversionGoalService.MutateCustomerConversionGoals][google.ads.googleads.v14.services.CustomerConversionGoalService.MutateCustomerConversionGoals]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/customer_conversion_goal_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/customer_conversion_goal_service.proto + google.ads.googleads.v13.resources.CustomerConversionGoal update = 1; +======== + google.ads.googleads.v14.resources.CustomerConversionGoal update = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/customer_conversion_goal_service.proto + } +} + +// 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/v14/services/customer_customizer_service.proto b/third_party/googleapis/google/ads/googleads/v14/services/customer_customizer_service.proto new file mode 100644 index 000000000..d9d4434a2 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/services/customer_customizer_service.proto @@ -0,0 +1,165 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/customer_customizer_service.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/customer_customizer_service.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/customer_customizer_service.proto +package google.ads.googleads.v13.services; + +import "google/ads/googleads/v13/enums/response_content_type.proto"; +import "google/ads/googleads/v13/resources/customer_customizer.proto"; +======== +package google.ads.googleads.v14.services; + +import "google/ads/googleads/v14/enums/response_content_type.proto"; +import "google/ads/googleads/v14/resources/customer_customizer.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/customer_customizer_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/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/customer_customizer_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomerCustomizerServiceProto"; +option java_package = "com.google.ads.googleads.v13.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V13::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomerCustomizerServiceProto"; +option java_package = "com.google.ads.googleads.v14.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V14::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/customer_customizer_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/customer_customizer_service.proto + post: "/v13/customers/{customer_id=*}/CustomerCustomizers:mutate" +======== + post: "/v14/customers/{customer_id=*}/CustomerCustomizers:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/customer_customizer_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/customer_customizer_service.proto +// [CustomerCustomizerService.MutateCustomerCustomizers][google.ads.googleads.v13.services.CustomerCustomizerService.MutateCustomerCustomizers]. +======== +// [CustomerCustomizerService.MutateCustomerCustomizers][google.ads.googleads.v14.services.CustomerCustomizerService.MutateCustomerCustomizers]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/customer_customizer_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/customer_customizer_service.proto + google.ads.googleads.v13.enums.ResponseContentTypeEnum.ResponseContentType +======== + google.ads.googleads.v14.enums.ResponseContentTypeEnum.ResponseContentType +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/customer_customizer_service.proto + 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 +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/customer_customizer_service.proto + google.ads.googleads.v13.resources.CustomerCustomizer create = 1; +======== + google.ads.googleads.v14.resources.CustomerCustomizer create = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/customer_customizer_service.proto + + // 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". +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/customer_customizer_service.proto + google.ads.googleads.v13.resources.CustomerCustomizer customer_customizer = 2; +======== + google.ads.googleads.v14.resources.CustomerCustomizer customer_customizer = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/customer_customizer_service.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v14/services/customer_extension_setting_service.proto b/third_party/googleapis/google/ads/googleads/v14/services/customer_extension_setting_service.proto new file mode 100644 index 000000000..050b98452 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/services/customer_extension_setting_service.proto @@ -0,0 +1,206 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/customer_extension_setting_service.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/customer_extension_setting_service.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/customer_extension_setting_service.proto +package google.ads.googleads.v13.services; + +import "google/ads/googleads/v13/enums/response_content_type.proto"; +import "google/ads/googleads/v13/resources/customer_extension_setting.proto"; +======== +package google.ads.googleads.v14.services; + +import "google/ads/googleads/v14/enums/response_content_type.proto"; +import "google/ads/googleads/v14/resources/customer_extension_setting.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/customer_extension_setting_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/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/customer_extension_setting_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomerExtensionSettingServiceProto"; +option java_package = "com.google.ads.googleads.v13.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V13::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomerExtensionSettingServiceProto"; +option java_package = "com.google.ads.googleads.v14.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V14::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/customer_extension_setting_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/customer_extension_setting_service.proto + post: "/v13/customers/{customer_id=*}/customerExtensionSettings:mutate" +======== + post: "/v14/customers/{customer_id=*}/customerExtensionSettings:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/customer_extension_setting_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/customer_extension_setting_service.proto +// [CustomerExtensionSettingService.MutateCustomerExtensionSettings][google.ads.googleads.v13.services.CustomerExtensionSettingService.MutateCustomerExtensionSettings]. +======== +// [CustomerExtensionSettingService.MutateCustomerExtensionSettings][google.ads.googleads.v14.services.CustomerExtensionSettingService.MutateCustomerExtensionSettings]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/customer_extension_setting_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/customer_extension_setting_service.proto + google.ads.googleads.v13.enums.ResponseContentTypeEnum.ResponseContentType +======== + google.ads.googleads.v14.enums.ResponseContentTypeEnum.ResponseContentType +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/customer_extension_setting_service.proto + 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/customer_extension_setting_service.proto + google.ads.googleads.v13.resources.CustomerExtensionSetting create = 1; + + // Update operation: The customer extension setting is expected to have a + // valid resource name. + google.ads.googleads.v13.resources.CustomerExtensionSetting update = 2; +======== + google.ads.googleads.v14.resources.CustomerExtensionSetting create = 1; + + // Update operation: The customer extension setting is expected to have a + // valid resource name. + google.ads.googleads.v14.resources.CustomerExtensionSetting update = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/customer_extension_setting_service.proto + + // 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". +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/customer_extension_setting_service.proto + google.ads.googleads.v13.resources.CustomerExtensionSetting +======== + google.ads.googleads.v14.resources.CustomerExtensionSetting +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/customer_extension_setting_service.proto + customer_extension_setting = 2; +} diff --git a/third_party/googleapis/google/ads/googleads/v14/services/customer_feed_service.proto b/third_party/googleapis/google/ads/googleads/v14/services/customer_feed_service.proto new file mode 100644 index 000000000..82b3c9fe6 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/services/customer_feed_service.proto @@ -0,0 +1,199 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/customer_feed_service.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/customer_feed_service.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/customer_feed_service.proto +package google.ads.googleads.v13.services; + +import "google/ads/googleads/v13/enums/response_content_type.proto"; +import "google/ads/googleads/v13/resources/customer_feed.proto"; +======== +package google.ads.googleads.v14.services; + +import "google/ads/googleads/v14/enums/response_content_type.proto"; +import "google/ads/googleads/v14/resources/customer_feed.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/customer_feed_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/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/customer_feed_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomerFeedServiceProto"; +option java_package = "com.google.ads.googleads.v13.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V13::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomerFeedServiceProto"; +option java_package = "com.google.ads.googleads.v14.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V14::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/customer_feed_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/customer_feed_service.proto + post: "/v13/customers/{customer_id=*}/customerFeeds:mutate" +======== + post: "/v14/customers/{customer_id=*}/customerFeeds:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/customer_feed_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/customer_feed_service.proto +// [CustomerFeedService.MutateCustomerFeeds][google.ads.googleads.v13.services.CustomerFeedService.MutateCustomerFeeds]. +======== +// [CustomerFeedService.MutateCustomerFeeds][google.ads.googleads.v14.services.CustomerFeedService.MutateCustomerFeeds]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/customer_feed_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/customer_feed_service.proto + google.ads.googleads.v13.enums.ResponseContentTypeEnum.ResponseContentType +======== + google.ads.googleads.v14.enums.ResponseContentTypeEnum.ResponseContentType +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/customer_feed_service.proto + 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/customer_feed_service.proto + google.ads.googleads.v13.resources.CustomerFeed create = 1; + + // Update operation: The customer feed is expected to have a valid resource + // name. + google.ads.googleads.v13.resources.CustomerFeed update = 2; +======== + google.ads.googleads.v14.resources.CustomerFeed create = 1; + + // Update operation: The customer feed is expected to have a valid resource + // name. + google.ads.googleads.v14.resources.CustomerFeed update = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/customer_feed_service.proto + + // 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". +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/customer_feed_service.proto + google.ads.googleads.v13.resources.CustomerFeed customer_feed = 2; +======== + google.ads.googleads.v14.resources.CustomerFeed customer_feed = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/customer_feed_service.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v14/services/customer_label_service.proto b/third_party/googleapis/google/ads/googleads/v14/services/customer_label_service.proto new file mode 100644 index 000000000..e01be5c33 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/services/customer_label_service.proto @@ -0,0 +1,157 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/customer_label_service.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/customer_label_service.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/customer_label_service.proto +package google.ads.googleads.v13.services; + +import "google/ads/googleads/v13/resources/customer_label.proto"; +======== +package google.ads.googleads.v14.services; + +import "google/ads/googleads/v14/resources/customer_label.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/customer_label_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/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/customer_label_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomerLabelServiceProto"; +option java_package = "com.google.ads.googleads.v13.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V13::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomerLabelServiceProto"; +option java_package = "com.google.ads.googleads.v14.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V14::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/customer_label_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/customer_label_service.proto + post: "/v13/customers/{customer_id=*}/customerLabels:mutate" +======== + post: "/v14/customers/{customer_id=*}/customerLabels:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/customer_label_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/customer_label_service.proto +// [CustomerLabelService.MutateCustomerLabels][google.ads.googleads.v13.services.CustomerLabelService.MutateCustomerLabels]. +======== +// [CustomerLabelService.MutateCustomerLabels][google.ads.googleads.v14.services.CustomerLabelService.MutateCustomerLabels]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/customer_label_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/customer_label_service.proto + google.ads.googleads.v13.resources.CustomerLabel create = 1; +======== + google.ads.googleads.v14.resources.CustomerLabel create = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/customer_label_service.proto + + // 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/v14/services/customer_manager_link_service.proto b/third_party/googleapis/google/ads/googleads/v14/services/customer_manager_link_service.proto new file mode 100644 index 000000000..46527041c --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/services/customer_manager_link_service.proto @@ -0,0 +1,208 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/customer_manager_link_service.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/customer_manager_link_service.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/customer_manager_link_service.proto +package google.ads.googleads.v13.services; + +import "google/ads/googleads/v13/resources/customer_manager_link.proto"; +======== +package google.ads.googleads.v14.services; + +import "google/ads/googleads/v14/resources/customer_manager_link.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/customer_manager_link_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/protobuf/field_mask.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/customer_manager_link_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomerManagerLinkServiceProto"; +option java_package = "com.google.ads.googleads.v13.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V13::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomerManagerLinkServiceProto"; +option java_package = "com.google.ads.googleads.v14.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V14::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/customer_manager_link_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/customer_manager_link_service.proto + post: "/v13/customers/{customer_id=*}/customerManagerLinks:mutate" +======== + post: "/v14/customers/{customer_id=*}/customerManagerLinks:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/customer_manager_link_service.proto + 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/customer_manager_link_service.proto + post: "/v13/customers/{customer_id=*}/customerManagerLinks:moveManagerLink" +======== + post: "/v14/customers/{customer_id=*}/customerManagerLinks:moveManagerLink" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/customer_manager_link_service.proto + body: "*" + }; + option (google.api.method_signature) = + "customer_id,previous_customer_manager_link,new_manager"; + } +} + +// Request message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/customer_manager_link_service.proto +// [CustomerManagerLinkService.MutateCustomerManagerLink][google.ads.googleads.v13.services.CustomerManagerLinkService.MutateCustomerManagerLink]. +======== +// [CustomerManagerLinkService.MutateCustomerManagerLink][google.ads.googleads.v14.services.CustomerManagerLinkService.MutateCustomerManagerLink]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/customer_manager_link_service.proto +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 +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/customer_manager_link_service.proto +// [CustomerManagerLinkService.MoveManagerLink][google.ads.googleads.v13.services.CustomerManagerLinkService.MoveManagerLink]. +======== +// [CustomerManagerLinkService.MoveManagerLink][google.ads.googleads.v14.services.CustomerManagerLinkService.MoveManagerLink]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/customer_manager_link_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/customer_manager_link_service.proto + google.ads.googleads.v13.resources.CustomerManagerLink update = 2; +======== + google.ads.googleads.v14.resources.CustomerManagerLink update = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/customer_manager_link_service.proto + } +} + +// 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/v14/services/customer_negative_criterion_service.proto b/third_party/googleapis/google/ads/googleads/v14/services/customer_negative_criterion_service.proto new file mode 100644 index 000000000..f6de29829 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/services/customer_negative_criterion_service.proto @@ -0,0 +1,174 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/customer_negative_criterion_service.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/customer_negative_criterion_service.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/customer_negative_criterion_service.proto +package google.ads.googleads.v13.services; + +import "google/ads/googleads/v13/enums/response_content_type.proto"; +import "google/ads/googleads/v13/resources/customer_negative_criterion.proto"; +======== +package google.ads.googleads.v14.services; + +import "google/ads/googleads/v14/enums/response_content_type.proto"; +import "google/ads/googleads/v14/resources/customer_negative_criterion.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/customer_negative_criterion_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/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/customer_negative_criterion_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomerNegativeCriterionServiceProto"; +option java_package = "com.google.ads.googleads.v13.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V13::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomerNegativeCriterionServiceProto"; +option java_package = "com.google.ads.googleads.v14.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V14::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/customer_negative_criterion_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/customer_negative_criterion_service.proto + post: "/v13/customers/{customer_id=*}/customerNegativeCriteria:mutate" +======== + post: "/v14/customers/{customer_id=*}/customerNegativeCriteria:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/customer_negative_criterion_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/customer_negative_criterion_service.proto +// [CustomerNegativeCriterionService.MutateCustomerNegativeCriteria][google.ads.googleads.v13.services.CustomerNegativeCriterionService.MutateCustomerNegativeCriteria]. +======== +// [CustomerNegativeCriterionService.MutateCustomerNegativeCriteria][google.ads.googleads.v14.services.CustomerNegativeCriterionService.MutateCustomerNegativeCriteria]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/customer_negative_criterion_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/customer_negative_criterion_service.proto + google.ads.googleads.v13.enums.ResponseContentTypeEnum.ResponseContentType +======== + google.ads.googleads.v14.enums.ResponseContentTypeEnum.ResponseContentType +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/customer_negative_criterion_service.proto + 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/customer_negative_criterion_service.proto + google.ads.googleads.v13.resources.CustomerNegativeCriterion create = 1; +======== + google.ads.googleads.v14.resources.CustomerNegativeCriterion create = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/customer_negative_criterion_service.proto + + // 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". +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/customer_negative_criterion_service.proto + google.ads.googleads.v13.resources.CustomerNegativeCriterion +======== + google.ads.googleads.v14.resources.CustomerNegativeCriterion +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/customer_negative_criterion_service.proto + customer_negative_criterion = 2; +} diff --git a/third_party/googleapis/google/ads/googleads/v14/services/customer_service.proto b/third_party/googleapis/google/ads/googleads/v14/services/customer_service.proto new file mode 100644 index 000000000..700c447fa --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/services/customer_service.proto @@ -0,0 +1,270 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/customer_service.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/customer_service.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/customer_service.proto +package google.ads.googleads.v13.services; + +import "google/ads/googleads/v13/enums/access_role.proto"; +import "google/ads/googleads/v13/enums/response_content_type.proto"; +import "google/ads/googleads/v13/resources/customer.proto"; +======== +package google.ads.googleads.v14.services; + +import "google/ads/googleads/v14/enums/access_role.proto"; +import "google/ads/googleads/v14/enums/response_content_type.proto"; +import "google/ads/googleads/v14/resources/customer.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/customer_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/protobuf/field_mask.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/customer_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomerServiceProto"; +option java_package = "com.google.ads.googleads.v13.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V13::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomerServiceProto"; +option java_package = "com.google.ads.googleads.v14.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V14::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/customer_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/customer_service.proto + post: "/v13/customers/{customer_id=*}:mutate" +======== + post: "/v14/customers/{customer_id=*}:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/customer_service.proto + 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/customer_service.proto + get: "/v13/customers:listAccessibleCustomers" +======== + get: "/v14/customers:listAccessibleCustomers" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/customer_service.proto + }; + } + + // 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/customer_service.proto + post: "/v13/customers/{customer_id=*}:createCustomerClient" +======== + post: "/v14/customers/{customer_id=*}:createCustomerClient" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/customer_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,customer_client"; + } +} + +// Request message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/customer_service.proto +// [CustomerService.MutateCustomer][google.ads.googleads.v13.services.CustomerService.MutateCustomer]. +======== +// [CustomerService.MutateCustomer][google.ads.googleads.v14.services.CustomerService.MutateCustomer]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/customer_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/customer_service.proto + google.ads.googleads.v13.enums.ResponseContentTypeEnum.ResponseContentType +======== + google.ads.googleads.v14.enums.ResponseContentTypeEnum.ResponseContentType +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/customer_service.proto + response_content_type = 6; +} + +// Request message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/customer_service.proto +// [CustomerService.CreateCustomerClient][google.ads.googleads.v13.services.CustomerService.CreateCustomerClient]. +======== +// [CustomerService.CreateCustomerClient][google.ads.googleads.v14.services.CustomerService.CreateCustomerClient]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/customer_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/customer_service.proto + google.ads.googleads.v13.resources.Customer customer_client = 2 +======== + google.ads.googleads.v14.resources.Customer customer_client = 2 +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/customer_service.proto + [(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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/customer_service.proto + google.ads.googleads.v13.enums.AccessRoleEnum.AccessRole access_role = 4; +======== + google.ads.googleads.v14.enums.AccessRoleEnum.AccessRole access_role = 4; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/customer_service.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/customer_service.proto + google.ads.googleads.v13.resources.Customer update = 1; +======== + google.ads.googleads.v14.resources.Customer update = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/customer_service.proto + + // 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". +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/customer_service.proto + google.ads.googleads.v13.resources.Customer customer = 2; +} + +// Request message for +// [CustomerService.ListAccessibleCustomers][google.ads.googleads.v13.services.CustomerService.ListAccessibleCustomers]. +message ListAccessibleCustomersRequest {} + +// Response message for +// [CustomerService.ListAccessibleCustomers][google.ads.googleads.v13.services.CustomerService.ListAccessibleCustomers]. +======== + google.ads.googleads.v14.resources.Customer customer = 2; +} + +// Request message for +// [CustomerService.ListAccessibleCustomers][google.ads.googleads.v14.services.CustomerService.ListAccessibleCustomers]. +message ListAccessibleCustomersRequest {} + +// Response message for +// [CustomerService.ListAccessibleCustomers][google.ads.googleads.v14.services.CustomerService.ListAccessibleCustomers]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/customer_service.proto +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/v14/services/customer_sk_ad_network_conversion_value_schema_service.proto b/third_party/googleapis/google/ads/googleads/v14/services/customer_sk_ad_network_conversion_value_schema_service.proto new file mode 100644 index 000000000..979d91eed --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/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.v14.services; + +import "google/ads/googleads/v14/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.V14.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomerSkAdNetworkConversionValueSchemaServiceProto"; +option java_package = "com.google.ads.googleads.v14.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V14::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: "/v14/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.v14.resources.CustomerSkAdNetworkConversionValueSchema + update = 1; +} + +// Request message for +// [CustomerSkAdNetworkConversionValueSchemaService.MutateCustomerSkAdNetworkConversionValueSchema][google.ads.googleads.v14.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/v14/services/customer_user_access_invitation_service.proto b/third_party/googleapis/google/ads/googleads/v14/services/customer_user_access_invitation_service.proto new file mode 100644 index 000000000..5f6c9c221 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/services/customer_user_access_invitation_service.proto @@ -0,0 +1,137 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/customer_user_access_invitation_service.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/customer_user_access_invitation_service.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/customer_user_access_invitation_service.proto +package google.ads.googleads.v13.services; + +import "google/ads/googleads/v13/resources/customer_user_access_invitation.proto"; +======== +package google.ads.googleads.v14.services; + +import "google/ads/googleads/v14/resources/customer_user_access_invitation.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/customer_user_access_invitation_service.proto +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/customer_user_access_invitation_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomerUserAccessInvitationServiceProto"; +option java_package = "com.google.ads.googleads.v13.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V13::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomerUserAccessInvitationServiceProto"; +option java_package = "com.google.ads.googleads.v14.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V14::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/customer_user_access_invitation_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/customer_user_access_invitation_service.proto + post: "/v13/customers/{customer_id=*}/customerUserAccessInvitations:mutate" +======== + post: "/v14/customers/{customer_id=*}/customerUserAccessInvitations:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/customer_user_access_invitation_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operation"; + } +} + +// Request message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/customer_user_access_invitation_service.proto +// [CustomerUserAccessInvitation.MutateCustomerUserAccessInvitation][] +======== +// [CustomerUserAccessInvitationService.MutateCustomerUserAccessInvitation][google.ads.googleads.v14.services.CustomerUserAccessInvitationService.MutateCustomerUserAccessInvitation] +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/customer_user_access_invitation_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/customer_user_access_invitation_service.proto + google.ads.googleads.v13.resources.CustomerUserAccessInvitation create = 1; +======== + google.ads.googleads.v14.resources.CustomerUserAccessInvitation create = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/customer_user_access_invitation_service.proto + + // 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/v14/services/customer_user_access_service.proto b/third_party/googleapis/google/ads/googleads/v14/services/customer_user_access_service.proto new file mode 100644 index 000000000..1bd642798 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/services/customer_user_access_service.proto @@ -0,0 +1,140 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/customer_user_access_service.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/customer_user_access_service.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/customer_user_access_service.proto +package google.ads.googleads.v13.services; + +import "google/ads/googleads/v13/resources/customer_user_access.proto"; +======== +package google.ads.googleads.v14.services; + +import "google/ads/googleads/v14/resources/customer_user_access.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/customer_user_access_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/protobuf/field_mask.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/customer_user_access_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomerUserAccessServiceProto"; +option java_package = "com.google.ads.googleads.v13.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V13::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomerUserAccessServiceProto"; +option java_package = "com.google.ads.googleads.v14.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V14::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/customer_user_access_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/customer_user_access_service.proto + post: "/v13/customers/{customer_id=*}/customerUserAccesses:mutate" +======== + post: "/v14/customers/{customer_id=*}/customerUserAccesses:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/customer_user_access_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operation"; + } +} + +// Mutate Request for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/customer_user_access_service.proto +// [CustomerUserAccessService.MutateCustomerUserAccess][google.ads.googleads.v13.services.CustomerUserAccessService.MutateCustomerUserAccess]. +======== +// [CustomerUserAccessService.MutateCustomerUserAccess][google.ads.googleads.v14.services.CustomerUserAccessService.MutateCustomerUserAccess]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/customer_user_access_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/customer_user_access_service.proto + google.ads.googleads.v13.resources.CustomerUserAccess update = 1; +======== + google.ads.googleads.v14.resources.CustomerUserAccess update = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/customer_user_access_service.proto + + // 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/v14/services/customizer_attribute_service.proto b/third_party/googleapis/google/ads/googleads/v14/services/customizer_attribute_service.proto new file mode 100644 index 000000000..61f54e1b9 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/services/customizer_attribute_service.proto @@ -0,0 +1,170 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/customizer_attribute_service.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/customizer_attribute_service.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/customizer_attribute_service.proto +package google.ads.googleads.v13.services; + +import "google/ads/googleads/v13/enums/response_content_type.proto"; +import "google/ads/googleads/v13/resources/customizer_attribute.proto"; +======== +package google.ads.googleads.v14.services; + +import "google/ads/googleads/v14/enums/response_content_type.proto"; +import "google/ads/googleads/v14/resources/customizer_attribute.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/customizer_attribute_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/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/customizer_attribute_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomizerAttributeServiceProto"; +option java_package = "com.google.ads.googleads.v13.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V13::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomizerAttributeServiceProto"; +option java_package = "com.google.ads.googleads.v14.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V14::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/customizer_attribute_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/customizer_attribute_service.proto + post: "/v13/customers/{customer_id=*}/customizerAttributes:mutate" +======== + post: "/v14/customers/{customer_id=*}/customizerAttributes:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/customizer_attribute_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/customizer_attribute_service.proto +// [CustomizerAttributeService.MutateCustomizerAttributes][google.ads.googleads.v13.services.CustomizerAttributeService.MutateCustomizerAttributes]. +======== +// [CustomizerAttributeService.MutateCustomizerAttributes][google.ads.googleads.v14.services.CustomizerAttributeService.MutateCustomizerAttributes]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/customizer_attribute_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/customizer_attribute_service.proto + google.ads.googleads.v13.enums.ResponseContentTypeEnum.ResponseContentType +======== + google.ads.googleads.v14.enums.ResponseContentTypeEnum.ResponseContentType +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/customizer_attribute_service.proto + 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 +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/customizer_attribute_service.proto + google.ads.googleads.v13.resources.CustomizerAttribute create = 1; +======== + google.ads.googleads.v14.resources.CustomizerAttribute create = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/customizer_attribute_service.proto + + // 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". +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/customizer_attribute_service.proto + google.ads.googleads.v13.resources.CustomizerAttribute customizer_attribute = +======== + google.ads.googleads.v14.resources.CustomizerAttribute customizer_attribute = +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/customizer_attribute_service.proto + 2; +} diff --git a/third_party/googleapis/google/ads/googleads/v14/services/experiment_arm_service.proto b/third_party/googleapis/google/ads/googleads/v14/services/experiment_arm_service.proto new file mode 100644 index 000000000..4a387ade8 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/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.v14.services; + +import "google/ads/googleads/v14/enums/response_content_type.proto"; +import "google/ads/googleads/v14/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.V14.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/services;services"; +option java_multiple_files = true; +option java_outer_classname = "ExperimentArmServiceProto"; +option java_package = "com.google.ads.googleads.v14.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V14::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: "/v14/customers/{customer_id=*}/experimentArms:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [ExperimentArmService.MutateExperimentArms][google.ads.googleads.v14.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.v14.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.v14.resources.ExperimentArm create = 1; + + // Update operation: The experiment arm is expected to have a valid + // resource name. + google.ads.googleads.v14.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.v14.resources.ExperimentArm experiment_arm = 2; +} diff --git a/third_party/googleapis/google/ads/googleads/v14/services/experiment_service.proto b/third_party/googleapis/google/ads/googleads/v14/services/experiment_service.proto new file mode 100644 index 000000000..124e32854 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/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.v14.services; + +import "google/ads/googleads/v14/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.V14.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/services;services"; +option java_multiple_files = true; +option java_outer_classname = "ExperimentServiceProto"; +option java_package = "com.google.ads.googleads.v14.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V14::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: "/v14/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: "/v14/{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: "/v14/{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: "/v14/{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: "/v14/{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.v14.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: "/v14/{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.v14.services.PromoteExperimentMetadata" + }; + } +} + +// Request message for +// [ExperimentService.MutateExperiments][google.ads.googleads.v14.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.v14.resources.Experiment create = 1; + + // Update operation: The experiment is expected to have a valid + // resource name. + google.ads.googleads.v14.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.v14.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.v14.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.v14.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.v14.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.v14.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.v14.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/v14/services/extension_feed_item_service.proto b/third_party/googleapis/google/ads/googleads/v14/services/extension_feed_item_service.proto new file mode 100644 index 000000000..03fa2990a --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/services/extension_feed_item_service.proto @@ -0,0 +1,203 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/extension_feed_item_service.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/extension_feed_item_service.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/extension_feed_item_service.proto +package google.ads.googleads.v13.services; + +import "google/ads/googleads/v13/enums/response_content_type.proto"; +import "google/ads/googleads/v13/resources/extension_feed_item.proto"; +======== +package google.ads.googleads.v14.services; + +import "google/ads/googleads/v14/enums/response_content_type.proto"; +import "google/ads/googleads/v14/resources/extension_feed_item.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/extension_feed_item_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/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/extension_feed_item_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/services;services"; +option java_multiple_files = true; +option java_outer_classname = "ExtensionFeedItemServiceProto"; +option java_package = "com.google.ads.googleads.v13.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V13::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/services;services"; +option java_multiple_files = true; +option java_outer_classname = "ExtensionFeedItemServiceProto"; +option java_package = "com.google.ads.googleads.v14.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V14::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/extension_feed_item_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/extension_feed_item_service.proto + post: "/v13/customers/{customer_id=*}/extensionFeedItems:mutate" +======== + post: "/v14/customers/{customer_id=*}/extensionFeedItems:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/extension_feed_item_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/extension_feed_item_service.proto +// [ExtensionFeedItemService.MutateExtensionFeedItems][google.ads.googleads.v13.services.ExtensionFeedItemService.MutateExtensionFeedItems]. +======== +// [ExtensionFeedItemService.MutateExtensionFeedItems][google.ads.googleads.v14.services.ExtensionFeedItemService.MutateExtensionFeedItems]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/extension_feed_item_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/extension_feed_item_service.proto + google.ads.googleads.v13.enums.ResponseContentTypeEnum.ResponseContentType +======== + google.ads.googleads.v14.enums.ResponseContentTypeEnum.ResponseContentType +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/extension_feed_item_service.proto + 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/extension_feed_item_service.proto + google.ads.googleads.v13.resources.ExtensionFeedItem create = 1; + + // Update operation: The extension feed item is expected to have a + // valid resource name. + google.ads.googleads.v13.resources.ExtensionFeedItem update = 2; +======== + google.ads.googleads.v14.resources.ExtensionFeedItem create = 1; + + // Update operation: The extension feed item is expected to have a + // valid resource name. + google.ads.googleads.v14.resources.ExtensionFeedItem update = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/extension_feed_item_service.proto + + // 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". +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/extension_feed_item_service.proto + google.ads.googleads.v13.resources.ExtensionFeedItem extension_feed_item = 2; +======== + google.ads.googleads.v14.resources.ExtensionFeedItem extension_feed_item = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/extension_feed_item_service.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v14/services/feed_item_service.proto b/third_party/googleapis/google/ads/googleads/v14/services/feed_item_service.proto new file mode 100644 index 000000000..78b5a0634 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/services/feed_item_service.proto @@ -0,0 +1,201 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/feed_item_service.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/feed_item_service.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/feed_item_service.proto +package google.ads.googleads.v13.services; + +import "google/ads/googleads/v13/enums/response_content_type.proto"; +import "google/ads/googleads/v13/resources/feed_item.proto"; +======== +package google.ads.googleads.v14.services; + +import "google/ads/googleads/v14/enums/response_content_type.proto"; +import "google/ads/googleads/v14/resources/feed_item.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/feed_item_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/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/feed_item_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/services;services"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemServiceProto"; +option java_package = "com.google.ads.googleads.v13.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V13::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/services;services"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemServiceProto"; +option java_package = "com.google.ads.googleads.v14.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V14::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/feed_item_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/feed_item_service.proto + post: "/v13/customers/{customer_id=*}/feedItems:mutate" +======== + post: "/v14/customers/{customer_id=*}/feedItems:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/feed_item_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/feed_item_service.proto +// [FeedItemService.MutateFeedItems][google.ads.googleads.v13.services.FeedItemService.MutateFeedItems]. +======== +// [FeedItemService.MutateFeedItems][google.ads.googleads.v14.services.FeedItemService.MutateFeedItems]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/feed_item_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/feed_item_service.proto + google.ads.googleads.v13.enums.ResponseContentTypeEnum.ResponseContentType +======== + google.ads.googleads.v14.enums.ResponseContentTypeEnum.ResponseContentType +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/feed_item_service.proto + 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/feed_item_service.proto + google.ads.googleads.v13.resources.FeedItem create = 1; + + // Update operation: The feed item is expected to have a valid resource + // name. + google.ads.googleads.v13.resources.FeedItem update = 2; +======== + google.ads.googleads.v14.resources.FeedItem create = 1; + + // Update operation: The feed item is expected to have a valid resource + // name. + google.ads.googleads.v14.resources.FeedItem update = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/feed_item_service.proto + + // 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". +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/feed_item_service.proto + google.ads.googleads.v13.resources.FeedItem feed_item = 2; +======== + google.ads.googleads.v14.resources.FeedItem feed_item = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/feed_item_service.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v14/services/feed_item_set_link_service.proto b/third_party/googleapis/google/ads/googleads/v14/services/feed_item_set_link_service.proto new file mode 100644 index 000000000..416215228 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/services/feed_item_set_link_service.proto @@ -0,0 +1,153 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/feed_item_set_link_service.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/feed_item_set_link_service.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/feed_item_set_link_service.proto +package google.ads.googleads.v13.services; + +import "google/ads/googleads/v13/resources/feed_item_set_link.proto"; +======== +package google.ads.googleads.v14.services; + +import "google/ads/googleads/v14/resources/feed_item_set_link.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/feed_item_set_link_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/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/feed_item_set_link_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/services;services"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemSetLinkServiceProto"; +option java_package = "com.google.ads.googleads.v13.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V13::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/services;services"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemSetLinkServiceProto"; +option java_package = "com.google.ads.googleads.v14.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V14::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/feed_item_set_link_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/feed_item_set_link_service.proto + post: "/v13/customers/{customer_id=*}/feedItemSetLinks:mutate" +======== + post: "/v14/customers/{customer_id=*}/feedItemSetLinks:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/feed_item_set_link_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/feed_item_set_link_service.proto +// [FeedItemSetLinkService.MutateFeedItemSetLinks][google.ads.googleads.v13.services.FeedItemSetLinkService.MutateFeedItemSetLinks]. +======== +// [FeedItemSetLinkService.MutateFeedItemSetLinks][google.ads.googleads.v14.services.FeedItemSetLinkService.MutateFeedItemSetLinks]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/feed_item_set_link_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/feed_item_set_link_service.proto + google.ads.googleads.v13.resources.FeedItemSetLink create = 1; +======== + google.ads.googleads.v14.resources.FeedItemSetLink create = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/feed_item_set_link_service.proto + + // 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/v14/services/feed_item_set_service.proto b/third_party/googleapis/google/ads/googleads/v14/services/feed_item_set_service.proto new file mode 100644 index 000000000..e5dd31d4c --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/services/feed_item_set_service.proto @@ -0,0 +1,163 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/feed_item_set_service.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/feed_item_set_service.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/feed_item_set_service.proto +package google.ads.googleads.v13.services; + +import "google/ads/googleads/v13/resources/feed_item_set.proto"; +======== +package google.ads.googleads.v14.services; + +import "google/ads/googleads/v14/resources/feed_item_set.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/feed_item_set_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/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/feed_item_set_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/services;services"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemSetServiceProto"; +option java_package = "com.google.ads.googleads.v13.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V13::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/services;services"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemSetServiceProto"; +option java_package = "com.google.ads.googleads.v14.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V14::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/feed_item_set_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/feed_item_set_service.proto + post: "/v13/customers/{customer_id=*}/feedItemSets:mutate" +======== + post: "/v14/customers/{customer_id=*}/feedItemSets:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/feed_item_set_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/feed_item_set_service.proto +// [FeedItemSetService.MutateFeedItemSets][google.ads.googleads.v13.services.FeedItemSetService.MutateFeedItemSets]. +======== +// [FeedItemSetService.MutateFeedItemSets][google.ads.googleads.v14.services.FeedItemSetService.MutateFeedItemSets]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/feed_item_set_service.proto +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 +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/feed_item_set_service.proto + google.ads.googleads.v13.resources.FeedItemSet create = 1; + + // Update operation: The feed item set is expected to have a valid resource + // name. + google.ads.googleads.v13.resources.FeedItemSet update = 2; +======== + google.ads.googleads.v14.resources.FeedItemSet create = 1; + + // Update operation: The feed item set is expected to have a valid resource + // name. + google.ads.googleads.v14.resources.FeedItemSet update = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/feed_item_set_service.proto + + // 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/v14/services/feed_item_target_service.proto b/third_party/googleapis/google/ads/googleads/v14/services/feed_item_target_service.proto new file mode 100644 index 000000000..81c7f298d --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/services/feed_item_target_service.proto @@ -0,0 +1,186 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/feed_item_target_service.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/feed_item_target_service.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/feed_item_target_service.proto +package google.ads.googleads.v13.services; + +import "google/ads/googleads/v13/enums/response_content_type.proto"; +import "google/ads/googleads/v13/resources/feed_item_target.proto"; +======== +package google.ads.googleads.v14.services; + +import "google/ads/googleads/v14/enums/response_content_type.proto"; +import "google/ads/googleads/v14/resources/feed_item_target.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/feed_item_target_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/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/feed_item_target_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/services;services"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemTargetServiceProto"; +option java_package = "com.google.ads.googleads.v13.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V13::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/services;services"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemTargetServiceProto"; +option java_package = "com.google.ads.googleads.v14.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V14::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/feed_item_target_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/feed_item_target_service.proto + post: "/v13/customers/{customer_id=*}/feedItemTargets:mutate" +======== + post: "/v14/customers/{customer_id=*}/feedItemTargets:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/feed_item_target_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/feed_item_target_service.proto +// [FeedItemTargetService.MutateFeedItemTargets][google.ads.googleads.v13.services.FeedItemTargetService.MutateFeedItemTargets]. +======== +// [FeedItemTargetService.MutateFeedItemTargets][google.ads.googleads.v14.services.FeedItemTargetService.MutateFeedItemTargets]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/feed_item_target_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/feed_item_target_service.proto + google.ads.googleads.v13.enums.ResponseContentTypeEnum.ResponseContentType +======== + google.ads.googleads.v14.enums.ResponseContentTypeEnum.ResponseContentType +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/feed_item_target_service.proto + 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/feed_item_target_service.proto + google.ads.googleads.v13.resources.FeedItemTarget create = 1; +======== + google.ads.googleads.v14.resources.FeedItemTarget create = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/feed_item_target_service.proto + + // 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". +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/feed_item_target_service.proto + google.ads.googleads.v13.resources.FeedItemTarget feed_item_target = 2; +======== + google.ads.googleads.v14.resources.FeedItemTarget feed_item_target = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/feed_item_target_service.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v14/services/feed_mapping_service.proto b/third_party/googleapis/google/ads/googleads/v14/services/feed_mapping_service.proto new file mode 100644 index 000000000..5c77c1ee6 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/services/feed_mapping_service.proto @@ -0,0 +1,184 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/feed_mapping_service.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/feed_mapping_service.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/feed_mapping_service.proto +package google.ads.googleads.v13.services; + +import "google/ads/googleads/v13/enums/response_content_type.proto"; +import "google/ads/googleads/v13/resources/feed_mapping.proto"; +======== +package google.ads.googleads.v14.services; + +import "google/ads/googleads/v14/enums/response_content_type.proto"; +import "google/ads/googleads/v14/resources/feed_mapping.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/feed_mapping_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/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/feed_mapping_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/services;services"; +option java_multiple_files = true; +option java_outer_classname = "FeedMappingServiceProto"; +option java_package = "com.google.ads.googleads.v13.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V13::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/services;services"; +option java_multiple_files = true; +option java_outer_classname = "FeedMappingServiceProto"; +option java_package = "com.google.ads.googleads.v14.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V14::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/feed_mapping_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/feed_mapping_service.proto + post: "/v13/customers/{customer_id=*}/feedMappings:mutate" +======== + post: "/v14/customers/{customer_id=*}/feedMappings:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/feed_mapping_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/feed_mapping_service.proto +// [FeedMappingService.MutateFeedMappings][google.ads.googleads.v13.services.FeedMappingService.MutateFeedMappings]. +======== +// [FeedMappingService.MutateFeedMappings][google.ads.googleads.v14.services.FeedMappingService.MutateFeedMappings]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/feed_mapping_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/feed_mapping_service.proto + google.ads.googleads.v13.enums.ResponseContentTypeEnum.ResponseContentType +======== + google.ads.googleads.v14.enums.ResponseContentTypeEnum.ResponseContentType +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/feed_mapping_service.proto + 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/feed_mapping_service.proto + google.ads.googleads.v13.resources.FeedMapping create = 1; +======== + google.ads.googleads.v14.resources.FeedMapping create = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/feed_mapping_service.proto + + // 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". +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/feed_mapping_service.proto + google.ads.googleads.v13.resources.FeedMapping feed_mapping = 2; +======== + google.ads.googleads.v14.resources.FeedMapping feed_mapping = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/feed_mapping_service.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v14/services/feed_service.proto b/third_party/googleapis/google/ads/googleads/v14/services/feed_service.proto new file mode 100644 index 000000000..3b2111488 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/services/feed_service.proto @@ -0,0 +1,199 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/feed_service.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/feed_service.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/feed_service.proto +package google.ads.googleads.v13.services; + +import "google/ads/googleads/v13/enums/response_content_type.proto"; +import "google/ads/googleads/v13/resources/feed.proto"; +======== +package google.ads.googleads.v14.services; + +import "google/ads/googleads/v14/enums/response_content_type.proto"; +import "google/ads/googleads/v14/resources/feed.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/feed_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/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/feed_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/services;services"; +option java_multiple_files = true; +option java_outer_classname = "FeedServiceProto"; +option java_package = "com.google.ads.googleads.v13.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V13::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/services;services"; +option java_multiple_files = true; +option java_outer_classname = "FeedServiceProto"; +option java_package = "com.google.ads.googleads.v14.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V14::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/feed_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/feed_service.proto + post: "/v13/customers/{customer_id=*}/feeds:mutate" +======== + post: "/v14/customers/{customer_id=*}/feeds:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/feed_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/feed_service.proto +// [FeedService.MutateFeeds][google.ads.googleads.v13.services.FeedService.MutateFeeds]. +======== +// [FeedService.MutateFeeds][google.ads.googleads.v14.services.FeedService.MutateFeeds]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/feed_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/feed_service.proto + google.ads.googleads.v13.enums.ResponseContentTypeEnum.ResponseContentType +======== + google.ads.googleads.v14.enums.ResponseContentTypeEnum.ResponseContentType +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/feed_service.proto + 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/feed_service.proto + google.ads.googleads.v13.resources.Feed create = 1; + + // Update operation: The feed is expected to have a valid resource + // name. + google.ads.googleads.v13.resources.Feed update = 2; +======== + google.ads.googleads.v14.resources.Feed create = 1; + + // Update operation: The feed is expected to have a valid resource + // name. + google.ads.googleads.v14.resources.Feed update = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/feed_service.proto + + // 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". +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/feed_service.proto + google.ads.googleads.v13.resources.Feed feed = 2; +======== + google.ads.googleads.v14.resources.Feed feed = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/feed_service.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v14/services/geo_target_constant_service.proto b/third_party/googleapis/google/ads/googleads/v14/services/geo_target_constant_service.proto new file mode 100644 index 000000000..cb9cc2c95 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/services/geo_target_constant_service.proto @@ -0,0 +1,160 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/geo_target_constant_service.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/geo_target_constant_service.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/geo_target_constant_service.proto +package google.ads.googleads.v13.services; + +import "google/ads/googleads/v13/resources/geo_target_constant.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/services;services"; +option java_multiple_files = true; +option java_outer_classname = "GeoTargetConstantServiceProto"; +option java_package = "com.google.ads.googleads.v13.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V13::Services"; +======== +package google.ads.googleads.v14.services; + +import "google/ads/googleads/v14/resources/geo_target_constant.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/services;services"; +option java_multiple_files = true; +option java_outer_classname = "GeoTargetConstantServiceProto"; +option java_package = "com.google.ads.googleads.v14.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V14::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/geo_target_constant_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/geo_target_constant_service.proto + post: "/v13/geoTargetConstants:suggest" +======== + post: "/v14/geoTargetConstants:suggest" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/geo_target_constant_service.proto + body: "*" + }; + } +} + +// Request message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/geo_target_constant_service.proto +// [GeoTargetConstantService.SuggestGeoTargetConstants][google.ads.googleads.v13.services.GeoTargetConstantService.SuggestGeoTargetConstants]. +======== +// [GeoTargetConstantService.SuggestGeoTargetConstants][google.ads.googleads.v14.services.GeoTargetConstantService.SuggestGeoTargetConstants]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/geo_target_constant_service.proto +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 +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/geo_target_constant_service.proto +// [GeoTargetConstantService.SuggestGeoTargetConstants][google.ads.googleads.v13.services.GeoTargetConstantService.SuggestGeoTargetConstants]. +======== +// [GeoTargetConstantService.SuggestGeoTargetConstants][google.ads.googleads.v14.services.GeoTargetConstantService.SuggestGeoTargetConstants]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/geo_target_constant_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/geo_target_constant_service.proto + google.ads.googleads.v13.resources.GeoTargetConstant geo_target_constant = 4; + + // The list of parents of the geo target constant. + repeated google.ads.googleads.v13.resources.GeoTargetConstant +======== + google.ads.googleads.v14.resources.GeoTargetConstant geo_target_constant = 4; + + // The list of parents of the geo target constant. + repeated google.ads.googleads.v14.resources.GeoTargetConstant +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/geo_target_constant_service.proto + geo_target_constant_parents = 5; +} diff --git a/third_party/googleapis/google/ads/googleads/v14/services/google_ads_field_service.proto b/third_party/googleapis/google/ads/googleads/v14/services/google_ads_field_service.proto new file mode 100644 index 000000000..467c7fa94 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/services/google_ads_field_service.proto @@ -0,0 +1,166 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/google_ads_field_service.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/google_ads_field_service.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/google_ads_field_service.proto +package google.ads.googleads.v13.services; + +import "google/ads/googleads/v13/resources/google_ads_field.proto"; +======== +package google.ads.googleads.v14.services; + +import "google/ads/googleads/v14/resources/google_ads_field.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/google_ads_field_service.proto +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/google_ads_field_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/services;services"; +option java_multiple_files = true; +option java_outer_classname = "GoogleAdsFieldServiceProto"; +option java_package = "com.google.ads.googleads.v13.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V13::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/services;services"; +option java_multiple_files = true; +option java_outer_classname = "GoogleAdsFieldServiceProto"; +option java_package = "com.google.ads.googleads.v14.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V14::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/google_ads_field_service.proto + +// 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) +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/google_ads_field_service.proto + returns (google.ads.googleads.v13.resources.GoogleAdsField) { + option (google.api.http) = { + get: "/v13/{resource_name=googleAdsFields/*}" +======== + returns (google.ads.googleads.v14.resources.GoogleAdsField) { + option (google.api.http) = { + get: "/v14/{resource_name=googleAdsFields/*}" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/google_ads_field_service.proto + }; + 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/google_ads_field_service.proto + post: "/v13/googleAdsFields:search" +======== + post: "/v14/googleAdsFields:search" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/google_ads_field_service.proto + body: "*" + }; + option (google.api.method_signature) = "query"; + } +} + +// Request message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/google_ads_field_service.proto +// [GoogleAdsFieldService.GetGoogleAdsField][google.ads.googleads.v13.services.GoogleAdsFieldService.GetGoogleAdsField]. +======== +// [GoogleAdsFieldService.GetGoogleAdsField][google.ads.googleads.v14.services.GoogleAdsFieldService.GetGoogleAdsField]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/google_ads_field_service.proto +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 +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/google_ads_field_service.proto +// [GoogleAdsFieldService.SearchGoogleAdsFields][google.ads.googleads.v13.services.GoogleAdsFieldService.SearchGoogleAdsFields]. +======== +// [GoogleAdsFieldService.SearchGoogleAdsFields][google.ads.googleads.v14.services.GoogleAdsFieldService.SearchGoogleAdsFields]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/google_ads_field_service.proto +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 +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/google_ads_field_service.proto +// [GoogleAdsFieldService.SearchGoogleAdsFields][google.ads.googleads.v13.services.GoogleAdsFieldService.SearchGoogleAdsFields]. +message SearchGoogleAdsFieldsResponse { + // The list of fields that matched the query. + repeated google.ads.googleads.v13.resources.GoogleAdsField results = 1; +======== +// [GoogleAdsFieldService.SearchGoogleAdsFields][google.ads.googleads.v14.services.GoogleAdsFieldService.SearchGoogleAdsFields]. +message SearchGoogleAdsFieldsResponse { + // The list of fields that matched the query. + repeated google.ads.googleads.v14.resources.GoogleAdsField results = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/google_ads_field_service.proto + + // 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/v14/services/google_ads_service.proto b/third_party/googleapis/google/ads/googleads/v14/services/google_ads_service.proto new file mode 100644 index 000000000..0b68ed2ee --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/services/google_ads_service.proto @@ -0,0 +1,2370 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/google_ads_service.proto +package google.ads.googleads.v12.services; + +import "google/ads/googleads/v12/common/metrics.proto"; +import "google/ads/googleads/v12/common/segments.proto"; +import "google/ads/googleads/v12/enums/response_content_type.proto"; +import "google/ads/googleads/v12/enums/summary_row_setting.proto"; +import "google/ads/googleads/v12/resources/accessible_bidding_strategy.proto"; +import "google/ads/googleads/v12/resources/account_budget.proto"; +import "google/ads/googleads/v12/resources/account_budget_proposal.proto"; +import "google/ads/googleads/v12/resources/account_link.proto"; +import "google/ads/googleads/v12/resources/ad_group.proto"; +import "google/ads/googleads/v12/resources/ad_group_ad.proto"; +import "google/ads/googleads/v12/resources/ad_group_ad_asset_combination_view.proto"; +import "google/ads/googleads/v12/resources/ad_group_ad_asset_view.proto"; +import "google/ads/googleads/v12/resources/ad_group_ad_label.proto"; +import "google/ads/googleads/v12/resources/ad_group_asset.proto"; +import "google/ads/googleads/v12/resources/ad_group_asset_set.proto"; +import "google/ads/googleads/v12/resources/ad_group_audience_view.proto"; +import "google/ads/googleads/v12/resources/ad_group_bid_modifier.proto"; +import "google/ads/googleads/v12/resources/ad_group_criterion.proto"; +import "google/ads/googleads/v12/resources/ad_group_criterion_customizer.proto"; +import "google/ads/googleads/v12/resources/ad_group_criterion_label.proto"; +import "google/ads/googleads/v12/resources/ad_group_criterion_simulation.proto"; +import "google/ads/googleads/v12/resources/ad_group_customizer.proto"; +import "google/ads/googleads/v12/resources/ad_group_extension_setting.proto"; +import "google/ads/googleads/v12/resources/ad_group_feed.proto"; +import "google/ads/googleads/v12/resources/ad_group_label.proto"; +import "google/ads/googleads/v12/resources/ad_group_simulation.proto"; +import "google/ads/googleads/v12/resources/ad_parameter.proto"; +import "google/ads/googleads/v12/resources/ad_schedule_view.proto"; +import "google/ads/googleads/v12/resources/age_range_view.proto"; +import "google/ads/googleads/v12/resources/asset.proto"; +import "google/ads/googleads/v12/resources/asset_field_type_view.proto"; +import "google/ads/googleads/v12/resources/asset_group.proto"; +import "google/ads/googleads/v12/resources/asset_group_asset.proto"; +import "google/ads/googleads/v12/resources/asset_group_listing_group_filter.proto"; +import "google/ads/googleads/v12/resources/asset_group_product_group_view.proto"; +import "google/ads/googleads/v12/resources/asset_group_signal.proto"; +import "google/ads/googleads/v12/resources/asset_set.proto"; +import "google/ads/googleads/v12/resources/asset_set_asset.proto"; +import "google/ads/googleads/v12/resources/asset_set_type_view.proto"; +import "google/ads/googleads/v12/resources/audience.proto"; +import "google/ads/googleads/v12/resources/batch_job.proto"; +import "google/ads/googleads/v12/resources/bidding_data_exclusion.proto"; +import "google/ads/googleads/v12/resources/bidding_seasonality_adjustment.proto"; +import "google/ads/googleads/v12/resources/bidding_strategy.proto"; +import "google/ads/googleads/v12/resources/bidding_strategy_simulation.proto"; +import "google/ads/googleads/v12/resources/billing_setup.proto"; +import "google/ads/googleads/v12/resources/call_view.proto"; +import "google/ads/googleads/v12/resources/campaign.proto"; +import "google/ads/googleads/v12/resources/campaign_asset.proto"; +import "google/ads/googleads/v12/resources/campaign_asset_set.proto"; +import "google/ads/googleads/v12/resources/campaign_audience_view.proto"; +import "google/ads/googleads/v12/resources/campaign_bid_modifier.proto"; +import "google/ads/googleads/v12/resources/campaign_budget.proto"; +import "google/ads/googleads/v12/resources/campaign_conversion_goal.proto"; +import "google/ads/googleads/v12/resources/campaign_criterion.proto"; +import "google/ads/googleads/v12/resources/campaign_criterion_simulation.proto"; +import "google/ads/googleads/v12/resources/campaign_customizer.proto"; +import "google/ads/googleads/v12/resources/campaign_draft.proto"; +import "google/ads/googleads/v12/resources/campaign_extension_setting.proto"; +import "google/ads/googleads/v12/resources/campaign_feed.proto"; +import "google/ads/googleads/v12/resources/campaign_group.proto"; +import "google/ads/googleads/v12/resources/campaign_label.proto"; +import "google/ads/googleads/v12/resources/campaign_shared_set.proto"; +import "google/ads/googleads/v12/resources/campaign_simulation.proto"; +import "google/ads/googleads/v12/resources/carrier_constant.proto"; +import "google/ads/googleads/v12/resources/change_event.proto"; +import "google/ads/googleads/v12/resources/change_status.proto"; +import "google/ads/googleads/v12/resources/click_view.proto"; +import "google/ads/googleads/v12/resources/combined_audience.proto"; +import "google/ads/googleads/v12/resources/conversion_action.proto"; +import "google/ads/googleads/v12/resources/conversion_custom_variable.proto"; +import "google/ads/googleads/v12/resources/conversion_goal_campaign_config.proto"; +import "google/ads/googleads/v12/resources/conversion_value_rule.proto"; +import "google/ads/googleads/v12/resources/conversion_value_rule_set.proto"; +import "google/ads/googleads/v12/resources/currency_constant.proto"; +import "google/ads/googleads/v12/resources/custom_audience.proto"; +import "google/ads/googleads/v12/resources/custom_conversion_goal.proto"; +import "google/ads/googleads/v12/resources/custom_interest.proto"; +import "google/ads/googleads/v12/resources/customer.proto"; +import "google/ads/googleads/v12/resources/customer_asset.proto"; +import "google/ads/googleads/v12/resources/customer_asset_set.proto"; +import "google/ads/googleads/v12/resources/customer_client.proto"; +import "google/ads/googleads/v12/resources/customer_client_link.proto"; +import "google/ads/googleads/v12/resources/customer_conversion_goal.proto"; +import "google/ads/googleads/v12/resources/customer_customizer.proto"; +import "google/ads/googleads/v12/resources/customer_extension_setting.proto"; +import "google/ads/googleads/v12/resources/customer_feed.proto"; +import "google/ads/googleads/v12/resources/customer_label.proto"; +import "google/ads/googleads/v12/resources/customer_manager_link.proto"; +import "google/ads/googleads/v12/resources/customer_negative_criterion.proto"; +import "google/ads/googleads/v12/resources/customer_user_access.proto"; +import "google/ads/googleads/v12/resources/customer_user_access_invitation.proto"; +import "google/ads/googleads/v12/resources/customizer_attribute.proto"; +import "google/ads/googleads/v12/resources/detail_placement_view.proto"; +import "google/ads/googleads/v12/resources/detailed_demographic.proto"; +import "google/ads/googleads/v12/resources/display_keyword_view.proto"; +import "google/ads/googleads/v12/resources/distance_view.proto"; +import "google/ads/googleads/v12/resources/domain_category.proto"; +import "google/ads/googleads/v12/resources/dynamic_search_ads_search_term_view.proto"; +import "google/ads/googleads/v12/resources/expanded_landing_page_view.proto"; +import "google/ads/googleads/v12/resources/experiment.proto"; +import "google/ads/googleads/v12/resources/experiment_arm.proto"; +import "google/ads/googleads/v12/resources/extension_feed_item.proto"; +import "google/ads/googleads/v12/resources/feed.proto"; +import "google/ads/googleads/v12/resources/feed_item.proto"; +import "google/ads/googleads/v12/resources/feed_item_set.proto"; +import "google/ads/googleads/v12/resources/feed_item_set_link.proto"; +import "google/ads/googleads/v12/resources/feed_item_target.proto"; +import "google/ads/googleads/v12/resources/feed_mapping.proto"; +import "google/ads/googleads/v12/resources/feed_placeholder_view.proto"; +import "google/ads/googleads/v12/resources/gender_view.proto"; +import "google/ads/googleads/v12/resources/geo_target_constant.proto"; +import "google/ads/googleads/v12/resources/geographic_view.proto"; +import "google/ads/googleads/v12/resources/group_placement_view.proto"; +import "google/ads/googleads/v12/resources/hotel_group_view.proto"; +import "google/ads/googleads/v12/resources/hotel_performance_view.proto"; +import "google/ads/googleads/v12/resources/hotel_reconciliation.proto"; +import "google/ads/googleads/v12/resources/income_range_view.proto"; +import "google/ads/googleads/v12/resources/keyword_plan.proto"; +import "google/ads/googleads/v12/resources/keyword_plan_ad_group.proto"; +import "google/ads/googleads/v12/resources/keyword_plan_ad_group_keyword.proto"; +import "google/ads/googleads/v12/resources/keyword_plan_campaign.proto"; +import "google/ads/googleads/v12/resources/keyword_plan_campaign_keyword.proto"; +import "google/ads/googleads/v12/resources/keyword_theme_constant.proto"; +import "google/ads/googleads/v12/resources/keyword_view.proto"; +import "google/ads/googleads/v12/resources/label.proto"; +import "google/ads/googleads/v12/resources/landing_page_view.proto"; +import "google/ads/googleads/v12/resources/language_constant.proto"; +import "google/ads/googleads/v12/resources/lead_form_submission_data.proto"; +import "google/ads/googleads/v12/resources/life_event.proto"; +import "google/ads/googleads/v12/resources/location_view.proto"; +import "google/ads/googleads/v12/resources/managed_placement_view.proto"; +import "google/ads/googleads/v12/resources/media_file.proto"; +import "google/ads/googleads/v12/resources/mobile_app_category_constant.proto"; +import "google/ads/googleads/v12/resources/mobile_device_constant.proto"; +import "google/ads/googleads/v12/resources/offline_user_data_job.proto"; +import "google/ads/googleads/v12/resources/operating_system_version_constant.proto"; +import "google/ads/googleads/v12/resources/paid_organic_search_term_view.proto"; +import "google/ads/googleads/v12/resources/parental_status_view.proto"; +import "google/ads/googleads/v12/resources/per_store_view.proto"; +import "google/ads/googleads/v12/resources/product_bidding_category_constant.proto"; +import "google/ads/googleads/v12/resources/product_group_view.proto"; +import "google/ads/googleads/v12/resources/recommendation.proto"; +import "google/ads/googleads/v12/resources/remarketing_action.proto"; +import "google/ads/googleads/v12/resources/search_term_view.proto"; +import "google/ads/googleads/v12/resources/shared_criterion.proto"; +import "google/ads/googleads/v12/resources/shared_set.proto"; +import "google/ads/googleads/v12/resources/shopping_performance_view.proto"; +import "google/ads/googleads/v12/resources/smart_campaign_search_term_view.proto"; +import "google/ads/googleads/v12/resources/smart_campaign_setting.proto"; +import "google/ads/googleads/v12/resources/third_party_app_analytics_link.proto"; +import "google/ads/googleads/v12/resources/topic_constant.proto"; +import "google/ads/googleads/v12/resources/topic_view.proto"; +import "google/ads/googleads/v12/resources/user_interest.proto"; +import "google/ads/googleads/v12/resources/user_list.proto"; +import "google/ads/googleads/v12/resources/user_location_view.proto"; +import "google/ads/googleads/v12/resources/video.proto"; +import "google/ads/googleads/v12/resources/webpage_view.proto"; +import "google/ads/googleads/v12/services/ad_group_ad_label_service.proto"; +import "google/ads/googleads/v12/services/ad_group_ad_service.proto"; +import "google/ads/googleads/v12/services/ad_group_asset_service.proto"; +import "google/ads/googleads/v12/services/ad_group_bid_modifier_service.proto"; +import "google/ads/googleads/v12/services/ad_group_criterion_customizer_service.proto"; +import "google/ads/googleads/v12/services/ad_group_criterion_label_service.proto"; +import "google/ads/googleads/v12/services/ad_group_criterion_service.proto"; +import "google/ads/googleads/v12/services/ad_group_customizer_service.proto"; +import "google/ads/googleads/v12/services/ad_group_extension_setting_service.proto"; +import "google/ads/googleads/v12/services/ad_group_feed_service.proto"; +import "google/ads/googleads/v12/services/ad_group_label_service.proto"; +import "google/ads/googleads/v12/services/ad_group_service.proto"; +import "google/ads/googleads/v12/services/ad_parameter_service.proto"; +import "google/ads/googleads/v12/services/ad_service.proto"; +import "google/ads/googleads/v12/services/asset_group_asset_service.proto"; +import "google/ads/googleads/v12/services/asset_group_listing_group_filter_service.proto"; +import "google/ads/googleads/v12/services/asset_group_service.proto"; +import "google/ads/googleads/v12/services/asset_group_signal_service.proto"; +import "google/ads/googleads/v12/services/asset_service.proto"; +import "google/ads/googleads/v12/services/asset_set_asset_service.proto"; +import "google/ads/googleads/v12/services/asset_set_service.proto"; +import "google/ads/googleads/v12/services/audience_service.proto"; +import "google/ads/googleads/v12/services/bidding_data_exclusion_service.proto"; +import "google/ads/googleads/v12/services/bidding_seasonality_adjustment_service.proto"; +import "google/ads/googleads/v12/services/bidding_strategy_service.proto"; +import "google/ads/googleads/v12/services/campaign_asset_service.proto"; +import "google/ads/googleads/v12/services/campaign_asset_set_service.proto"; +import "google/ads/googleads/v12/services/campaign_bid_modifier_service.proto"; +import "google/ads/googleads/v12/services/campaign_budget_service.proto"; +import "google/ads/googleads/v12/services/campaign_conversion_goal_service.proto"; +import "google/ads/googleads/v12/services/campaign_criterion_service.proto"; +import "google/ads/googleads/v12/services/campaign_customizer_service.proto"; +import "google/ads/googleads/v12/services/campaign_draft_service.proto"; +import "google/ads/googleads/v12/services/campaign_extension_setting_service.proto"; +import "google/ads/googleads/v12/services/campaign_feed_service.proto"; +import "google/ads/googleads/v12/services/campaign_group_service.proto"; +import "google/ads/googleads/v12/services/campaign_label_service.proto"; +import "google/ads/googleads/v12/services/campaign_service.proto"; +import "google/ads/googleads/v12/services/campaign_shared_set_service.proto"; +import "google/ads/googleads/v12/services/conversion_action_service.proto"; +import "google/ads/googleads/v12/services/conversion_custom_variable_service.proto"; +import "google/ads/googleads/v12/services/conversion_goal_campaign_config_service.proto"; +import "google/ads/googleads/v12/services/conversion_value_rule_service.proto"; +import "google/ads/googleads/v12/services/conversion_value_rule_set_service.proto"; +import "google/ads/googleads/v12/services/custom_conversion_goal_service.proto"; +import "google/ads/googleads/v12/services/customer_asset_service.proto"; +import "google/ads/googleads/v12/services/customer_conversion_goal_service.proto"; +import "google/ads/googleads/v12/services/customer_customizer_service.proto"; +import "google/ads/googleads/v12/services/customer_extension_setting_service.proto"; +import "google/ads/googleads/v12/services/customer_feed_service.proto"; +import "google/ads/googleads/v12/services/customer_label_service.proto"; +import "google/ads/googleads/v12/services/customer_negative_criterion_service.proto"; +import "google/ads/googleads/v12/services/customer_service.proto"; +import "google/ads/googleads/v12/services/customizer_attribute_service.proto"; +import "google/ads/googleads/v12/services/experiment_arm_service.proto"; +import "google/ads/googleads/v12/services/experiment_service.proto"; +import "google/ads/googleads/v12/services/extension_feed_item_service.proto"; +import "google/ads/googleads/v12/services/feed_item_service.proto"; +import "google/ads/googleads/v12/services/feed_item_set_link_service.proto"; +import "google/ads/googleads/v12/services/feed_item_set_service.proto"; +import "google/ads/googleads/v12/services/feed_item_target_service.proto"; +import "google/ads/googleads/v12/services/feed_mapping_service.proto"; +import "google/ads/googleads/v12/services/feed_service.proto"; +import "google/ads/googleads/v12/services/keyword_plan_ad_group_keyword_service.proto"; +import "google/ads/googleads/v12/services/keyword_plan_ad_group_service.proto"; +import "google/ads/googleads/v12/services/keyword_plan_campaign_keyword_service.proto"; +import "google/ads/googleads/v12/services/keyword_plan_campaign_service.proto"; +import "google/ads/googleads/v12/services/keyword_plan_service.proto"; +import "google/ads/googleads/v12/services/label_service.proto"; +import "google/ads/googleads/v12/services/media_file_service.proto"; +import "google/ads/googleads/v12/services/remarketing_action_service.proto"; +import "google/ads/googleads/v12/services/shared_criterion_service.proto"; +import "google/ads/googleads/v12/services/shared_set_service.proto"; +import "google/ads/googleads/v12/services/smart_campaign_setting_service.proto"; +import "google/ads/googleads/v12/services/user_list_service.proto"; +======== +package google.ads.googleads.v14.services; + +import "google/ads/googleads/v14/common/metrics.proto"; +import "google/ads/googleads/v14/common/segments.proto"; +import "google/ads/googleads/v14/enums/response_content_type.proto"; +import "google/ads/googleads/v14/enums/summary_row_setting.proto"; +import "google/ads/googleads/v14/resources/accessible_bidding_strategy.proto"; +import "google/ads/googleads/v14/resources/account_budget.proto"; +import "google/ads/googleads/v14/resources/account_budget_proposal.proto"; +import "google/ads/googleads/v14/resources/account_link.proto"; +import "google/ads/googleads/v14/resources/ad_group.proto"; +import "google/ads/googleads/v14/resources/ad_group_ad.proto"; +import "google/ads/googleads/v14/resources/ad_group_ad_asset_combination_view.proto"; +import "google/ads/googleads/v14/resources/ad_group_ad_asset_view.proto"; +import "google/ads/googleads/v14/resources/ad_group_ad_label.proto"; +import "google/ads/googleads/v14/resources/ad_group_asset.proto"; +import "google/ads/googleads/v14/resources/ad_group_asset_set.proto"; +import "google/ads/googleads/v14/resources/ad_group_audience_view.proto"; +import "google/ads/googleads/v14/resources/ad_group_bid_modifier.proto"; +import "google/ads/googleads/v14/resources/ad_group_criterion.proto"; +import "google/ads/googleads/v14/resources/ad_group_criterion_customizer.proto"; +import "google/ads/googleads/v14/resources/ad_group_criterion_label.proto"; +import "google/ads/googleads/v14/resources/ad_group_criterion_simulation.proto"; +import "google/ads/googleads/v14/resources/ad_group_customizer.proto"; +import "google/ads/googleads/v14/resources/ad_group_extension_setting.proto"; +import "google/ads/googleads/v14/resources/ad_group_feed.proto"; +import "google/ads/googleads/v14/resources/ad_group_label.proto"; +import "google/ads/googleads/v14/resources/ad_group_simulation.proto"; +import "google/ads/googleads/v14/resources/ad_parameter.proto"; +import "google/ads/googleads/v14/resources/ad_schedule_view.proto"; +import "google/ads/googleads/v14/resources/age_range_view.proto"; +import "google/ads/googleads/v14/resources/asset.proto"; +import "google/ads/googleads/v14/resources/asset_field_type_view.proto"; +import "google/ads/googleads/v14/resources/asset_group.proto"; +import "google/ads/googleads/v14/resources/asset_group_asset.proto"; +import "google/ads/googleads/v14/resources/asset_group_listing_group_filter.proto"; +import "google/ads/googleads/v14/resources/asset_group_product_group_view.proto"; +import "google/ads/googleads/v14/resources/asset_group_signal.proto"; +import "google/ads/googleads/v14/resources/asset_set.proto"; +import "google/ads/googleads/v14/resources/asset_set_asset.proto"; +import "google/ads/googleads/v14/resources/asset_set_type_view.proto"; +import "google/ads/googleads/v14/resources/audience.proto"; +import "google/ads/googleads/v14/resources/batch_job.proto"; +import "google/ads/googleads/v14/resources/bidding_data_exclusion.proto"; +import "google/ads/googleads/v14/resources/bidding_seasonality_adjustment.proto"; +import "google/ads/googleads/v14/resources/bidding_strategy.proto"; +import "google/ads/googleads/v14/resources/bidding_strategy_simulation.proto"; +import "google/ads/googleads/v14/resources/billing_setup.proto"; +import "google/ads/googleads/v14/resources/call_view.proto"; +import "google/ads/googleads/v14/resources/campaign.proto"; +import "google/ads/googleads/v14/resources/campaign_asset.proto"; +import "google/ads/googleads/v14/resources/campaign_asset_set.proto"; +import "google/ads/googleads/v14/resources/campaign_audience_view.proto"; +import "google/ads/googleads/v14/resources/campaign_bid_modifier.proto"; +import "google/ads/googleads/v14/resources/campaign_budget.proto"; +import "google/ads/googleads/v14/resources/campaign_conversion_goal.proto"; +import "google/ads/googleads/v14/resources/campaign_criterion.proto"; +import "google/ads/googleads/v14/resources/campaign_customizer.proto"; +import "google/ads/googleads/v14/resources/campaign_draft.proto"; +import "google/ads/googleads/v14/resources/campaign_extension_setting.proto"; +import "google/ads/googleads/v14/resources/campaign_feed.proto"; +import "google/ads/googleads/v14/resources/campaign_group.proto"; +import "google/ads/googleads/v14/resources/campaign_label.proto"; +import "google/ads/googleads/v14/resources/campaign_search_term_insight.proto"; +import "google/ads/googleads/v14/resources/campaign_shared_set.proto"; +import "google/ads/googleads/v14/resources/campaign_simulation.proto"; +import "google/ads/googleads/v14/resources/carrier_constant.proto"; +import "google/ads/googleads/v14/resources/change_event.proto"; +import "google/ads/googleads/v14/resources/change_status.proto"; +import "google/ads/googleads/v14/resources/click_view.proto"; +import "google/ads/googleads/v14/resources/combined_audience.proto"; +import "google/ads/googleads/v14/resources/conversion_action.proto"; +import "google/ads/googleads/v14/resources/conversion_custom_variable.proto"; +import "google/ads/googleads/v14/resources/conversion_goal_campaign_config.proto"; +import "google/ads/googleads/v14/resources/conversion_value_rule.proto"; +import "google/ads/googleads/v14/resources/conversion_value_rule_set.proto"; +import "google/ads/googleads/v14/resources/currency_constant.proto"; +import "google/ads/googleads/v14/resources/custom_audience.proto"; +import "google/ads/googleads/v14/resources/custom_conversion_goal.proto"; +import "google/ads/googleads/v14/resources/custom_interest.proto"; +import "google/ads/googleads/v14/resources/customer.proto"; +import "google/ads/googleads/v14/resources/customer_asset.proto"; +import "google/ads/googleads/v14/resources/customer_asset_set.proto"; +import "google/ads/googleads/v14/resources/customer_client.proto"; +import "google/ads/googleads/v14/resources/customer_client_link.proto"; +import "google/ads/googleads/v14/resources/customer_conversion_goal.proto"; +import "google/ads/googleads/v14/resources/customer_customizer.proto"; +import "google/ads/googleads/v14/resources/customer_extension_setting.proto"; +import "google/ads/googleads/v14/resources/customer_feed.proto"; +import "google/ads/googleads/v14/resources/customer_label.proto"; +import "google/ads/googleads/v14/resources/customer_manager_link.proto"; +import "google/ads/googleads/v14/resources/customer_negative_criterion.proto"; +import "google/ads/googleads/v14/resources/customer_search_term_insight.proto"; +import "google/ads/googleads/v14/resources/customer_user_access.proto"; +import "google/ads/googleads/v14/resources/customer_user_access_invitation.proto"; +import "google/ads/googleads/v14/resources/customizer_attribute.proto"; +import "google/ads/googleads/v14/resources/detail_placement_view.proto"; +import "google/ads/googleads/v14/resources/detailed_demographic.proto"; +import "google/ads/googleads/v14/resources/display_keyword_view.proto"; +import "google/ads/googleads/v14/resources/distance_view.proto"; +import "google/ads/googleads/v14/resources/domain_category.proto"; +import "google/ads/googleads/v14/resources/dynamic_search_ads_search_term_view.proto"; +import "google/ads/googleads/v14/resources/expanded_landing_page_view.proto"; +import "google/ads/googleads/v14/resources/experiment.proto"; +import "google/ads/googleads/v14/resources/experiment_arm.proto"; +import "google/ads/googleads/v14/resources/extension_feed_item.proto"; +import "google/ads/googleads/v14/resources/feed.proto"; +import "google/ads/googleads/v14/resources/feed_item.proto"; +import "google/ads/googleads/v14/resources/feed_item_set.proto"; +import "google/ads/googleads/v14/resources/feed_item_set_link.proto"; +import "google/ads/googleads/v14/resources/feed_item_target.proto"; +import "google/ads/googleads/v14/resources/feed_mapping.proto"; +import "google/ads/googleads/v14/resources/feed_placeholder_view.proto"; +import "google/ads/googleads/v14/resources/gender_view.proto"; +import "google/ads/googleads/v14/resources/geo_target_constant.proto"; +import "google/ads/googleads/v14/resources/geographic_view.proto"; +import "google/ads/googleads/v14/resources/group_placement_view.proto"; +import "google/ads/googleads/v14/resources/hotel_group_view.proto"; +import "google/ads/googleads/v14/resources/hotel_performance_view.proto"; +import "google/ads/googleads/v14/resources/hotel_reconciliation.proto"; +import "google/ads/googleads/v14/resources/income_range_view.proto"; +import "google/ads/googleads/v14/resources/keyword_plan.proto"; +import "google/ads/googleads/v14/resources/keyword_plan_ad_group.proto"; +import "google/ads/googleads/v14/resources/keyword_plan_ad_group_keyword.proto"; +import "google/ads/googleads/v14/resources/keyword_plan_campaign.proto"; +import "google/ads/googleads/v14/resources/keyword_plan_campaign_keyword.proto"; +import "google/ads/googleads/v14/resources/keyword_theme_constant.proto"; +import "google/ads/googleads/v14/resources/keyword_view.proto"; +import "google/ads/googleads/v14/resources/label.proto"; +import "google/ads/googleads/v14/resources/landing_page_view.proto"; +import "google/ads/googleads/v14/resources/language_constant.proto"; +import "google/ads/googleads/v14/resources/lead_form_submission_data.proto"; +import "google/ads/googleads/v14/resources/life_event.proto"; +import "google/ads/googleads/v14/resources/location_view.proto"; +import "google/ads/googleads/v14/resources/managed_placement_view.proto"; +import "google/ads/googleads/v14/resources/media_file.proto"; +import "google/ads/googleads/v14/resources/mobile_app_category_constant.proto"; +import "google/ads/googleads/v14/resources/mobile_device_constant.proto"; +import "google/ads/googleads/v14/resources/offline_user_data_job.proto"; +import "google/ads/googleads/v14/resources/operating_system_version_constant.proto"; +import "google/ads/googleads/v14/resources/paid_organic_search_term_view.proto"; +import "google/ads/googleads/v14/resources/parental_status_view.proto"; +import "google/ads/googleads/v14/resources/per_store_view.proto"; +import "google/ads/googleads/v14/resources/product_bidding_category_constant.proto"; +import "google/ads/googleads/v14/resources/product_group_view.proto"; +import "google/ads/googleads/v14/resources/product_link.proto"; +import "google/ads/googleads/v14/resources/qualifying_question.proto"; +import "google/ads/googleads/v14/resources/recommendation.proto"; +import "google/ads/googleads/v14/resources/remarketing_action.proto"; +import "google/ads/googleads/v14/resources/search_term_view.proto"; +import "google/ads/googleads/v14/resources/shared_criterion.proto"; +import "google/ads/googleads/v14/resources/shared_set.proto"; +import "google/ads/googleads/v14/resources/shopping_performance_view.proto"; +import "google/ads/googleads/v14/resources/smart_campaign_search_term_view.proto"; +import "google/ads/googleads/v14/resources/smart_campaign_setting.proto"; +import "google/ads/googleads/v14/resources/third_party_app_analytics_link.proto"; +import "google/ads/googleads/v14/resources/topic_constant.proto"; +import "google/ads/googleads/v14/resources/topic_view.proto"; +import "google/ads/googleads/v14/resources/travel_activity_group_view.proto"; +import "google/ads/googleads/v14/resources/travel_activity_performance_view.proto"; +import "google/ads/googleads/v14/resources/user_interest.proto"; +import "google/ads/googleads/v14/resources/user_list.proto"; +import "google/ads/googleads/v14/resources/user_location_view.proto"; +import "google/ads/googleads/v14/resources/video.proto"; +import "google/ads/googleads/v14/resources/webpage_view.proto"; +import "google/ads/googleads/v14/services/ad_group_ad_label_service.proto"; +import "google/ads/googleads/v14/services/ad_group_ad_service.proto"; +import "google/ads/googleads/v14/services/ad_group_asset_service.proto"; +import "google/ads/googleads/v14/services/ad_group_bid_modifier_service.proto"; +import "google/ads/googleads/v14/services/ad_group_criterion_customizer_service.proto"; +import "google/ads/googleads/v14/services/ad_group_criterion_label_service.proto"; +import "google/ads/googleads/v14/services/ad_group_criterion_service.proto"; +import "google/ads/googleads/v14/services/ad_group_customizer_service.proto"; +import "google/ads/googleads/v14/services/ad_group_extension_setting_service.proto"; +import "google/ads/googleads/v14/services/ad_group_feed_service.proto"; +import "google/ads/googleads/v14/services/ad_group_label_service.proto"; +import "google/ads/googleads/v14/services/ad_group_service.proto"; +import "google/ads/googleads/v14/services/ad_parameter_service.proto"; +import "google/ads/googleads/v14/services/ad_service.proto"; +import "google/ads/googleads/v14/services/asset_group_asset_service.proto"; +import "google/ads/googleads/v14/services/asset_group_listing_group_filter_service.proto"; +import "google/ads/googleads/v14/services/asset_group_service.proto"; +import "google/ads/googleads/v14/services/asset_group_signal_service.proto"; +import "google/ads/googleads/v14/services/asset_service.proto"; +import "google/ads/googleads/v14/services/asset_set_asset_service.proto"; +import "google/ads/googleads/v14/services/asset_set_service.proto"; +import "google/ads/googleads/v14/services/audience_service.proto"; +import "google/ads/googleads/v14/services/bidding_data_exclusion_service.proto"; +import "google/ads/googleads/v14/services/bidding_seasonality_adjustment_service.proto"; +import "google/ads/googleads/v14/services/bidding_strategy_service.proto"; +import "google/ads/googleads/v14/services/campaign_asset_service.proto"; +import "google/ads/googleads/v14/services/campaign_asset_set_service.proto"; +import "google/ads/googleads/v14/services/campaign_bid_modifier_service.proto"; +import "google/ads/googleads/v14/services/campaign_budget_service.proto"; +import "google/ads/googleads/v14/services/campaign_conversion_goal_service.proto"; +import "google/ads/googleads/v14/services/campaign_criterion_service.proto"; +import "google/ads/googleads/v14/services/campaign_customizer_service.proto"; +import "google/ads/googleads/v14/services/campaign_draft_service.proto"; +import "google/ads/googleads/v14/services/campaign_extension_setting_service.proto"; +import "google/ads/googleads/v14/services/campaign_feed_service.proto"; +import "google/ads/googleads/v14/services/campaign_group_service.proto"; +import "google/ads/googleads/v14/services/campaign_label_service.proto"; +import "google/ads/googleads/v14/services/campaign_service.proto"; +import "google/ads/googleads/v14/services/campaign_shared_set_service.proto"; +import "google/ads/googleads/v14/services/conversion_action_service.proto"; +import "google/ads/googleads/v14/services/conversion_custom_variable_service.proto"; +import "google/ads/googleads/v14/services/conversion_goal_campaign_config_service.proto"; +import "google/ads/googleads/v14/services/conversion_value_rule_service.proto"; +import "google/ads/googleads/v14/services/conversion_value_rule_set_service.proto"; +import "google/ads/googleads/v14/services/custom_conversion_goal_service.proto"; +import "google/ads/googleads/v14/services/customer_asset_service.proto"; +import "google/ads/googleads/v14/services/customer_conversion_goal_service.proto"; +import "google/ads/googleads/v14/services/customer_customizer_service.proto"; +import "google/ads/googleads/v14/services/customer_extension_setting_service.proto"; +import "google/ads/googleads/v14/services/customer_feed_service.proto"; +import "google/ads/googleads/v14/services/customer_label_service.proto"; +import "google/ads/googleads/v14/services/customer_negative_criterion_service.proto"; +import "google/ads/googleads/v14/services/customer_service.proto"; +import "google/ads/googleads/v14/services/customizer_attribute_service.proto"; +import "google/ads/googleads/v14/services/experiment_arm_service.proto"; +import "google/ads/googleads/v14/services/experiment_service.proto"; +import "google/ads/googleads/v14/services/extension_feed_item_service.proto"; +import "google/ads/googleads/v14/services/feed_item_service.proto"; +import "google/ads/googleads/v14/services/feed_item_set_link_service.proto"; +import "google/ads/googleads/v14/services/feed_item_set_service.proto"; +import "google/ads/googleads/v14/services/feed_item_target_service.proto"; +import "google/ads/googleads/v14/services/feed_mapping_service.proto"; +import "google/ads/googleads/v14/services/feed_service.proto"; +import "google/ads/googleads/v14/services/keyword_plan_ad_group_keyword_service.proto"; +import "google/ads/googleads/v14/services/keyword_plan_ad_group_service.proto"; +import "google/ads/googleads/v14/services/keyword_plan_campaign_keyword_service.proto"; +import "google/ads/googleads/v14/services/keyword_plan_campaign_service.proto"; +import "google/ads/googleads/v14/services/keyword_plan_service.proto"; +import "google/ads/googleads/v14/services/label_service.proto"; +import "google/ads/googleads/v14/services/media_file_service.proto"; +import "google/ads/googleads/v14/services/remarketing_action_service.proto"; +import "google/ads/googleads/v14/services/shared_criterion_service.proto"; +import "google/ads/googleads/v14/services/shared_set_service.proto"; +import "google/ads/googleads/v14/services/smart_campaign_setting_service.proto"; +import "google/ads/googleads/v14/services/user_list_service.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/google_ads_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/google_ads_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/services;services"; +option java_multiple_files = true; +option java_outer_classname = "GoogleAdsServiceProto"; +option java_package = "com.google.ads.googleads.v12.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V12::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/services;services"; +option java_multiple_files = true; +option java_outer_classname = "GoogleAdsServiceProto"; +option java_package = "com.google.ads.googleads.v14.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V14::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/google_ads_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/google_ads_service.proto + post: "/v12/customers/{customer_id=*}/googleAds:search" +======== + post: "/v14/customers/{customer_id=*}/googleAds:search" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/google_ads_service.proto + 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/google_ads_service.proto + post: "/v12/customers/{customer_id=*}/googleAds:searchStream" +======== + post: "/v14/customers/{customer_id=*}/googleAds:searchStream" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/google_ads_service.proto + 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/google_ads_service.proto + post: "/v12/customers/{customer_id=*}/googleAds:mutate" +======== + post: "/v14/customers/{customer_id=*}/googleAds:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/google_ads_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,mutate_operations"; + } +} + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/google_ads_service.proto +// Request message for [GoogleAdsService.Search][google.ads.googleads.v12.services.GoogleAdsService.Search]. +======== +// Request message for +// [GoogleAdsService.Search][google.ads.googleads.v14.services.GoogleAdsService.Search]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/google_ads_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/google_ads_service.proto + google.ads.googleads.v12.enums.SummaryRowSettingEnum.SummaryRowSetting summary_row_setting = 8; +} + +// Response message for [GoogleAdsService.Search][google.ads.googleads.v12.services.GoogleAdsService.Search]. +======== + google.ads.googleads.v14.enums.SummaryRowSettingEnum.SummaryRowSetting + summary_row_setting = 8; +} + +// Response message for +// [GoogleAdsService.Search][google.ads.googleads.v14.services.GoogleAdsService.Search]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/google_ads_service.proto +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; +} + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/google_ads_service.proto +// Request message for [GoogleAdsService.SearchStream][google.ads.googleads.v12.services.GoogleAdsService.SearchStream]. +======== +// Request message for +// [GoogleAdsService.SearchStream][google.ads.googleads.v14.services.GoogleAdsService.SearchStream]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/google_ads_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/google_ads_service.proto + google.ads.googleads.v12.enums.SummaryRowSettingEnum.SummaryRowSetting summary_row_setting = 3; +} + +// Response message for [GoogleAdsService.SearchStream][google.ads.googleads.v12.services.GoogleAdsService.SearchStream]. +======== + google.ads.googleads.v14.enums.SummaryRowSettingEnum.SummaryRowSetting + summary_row_setting = 3; +} + +// Response message for +// [GoogleAdsService.SearchStream][google.ads.googleads.v14.services.GoogleAdsService.SearchStream]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/google_ads_service.proto +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; +} + +// A returned row from the query. +message GoogleAdsRow { + // The account budget in the query. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/google_ads_service.proto + google.ads.googleads.v12.resources.AccountBudget account_budget = 42; + + // The account budget proposal referenced in the query. + google.ads.googleads.v12.resources.AccountBudgetProposal account_budget_proposal = 43; + + // The AccountLink referenced in the query. + google.ads.googleads.v12.resources.AccountLink account_link = 143; + + // The ad group referenced in the query. + google.ads.googleads.v12.resources.AdGroup ad_group = 3; + + // The ad referenced in the query. + google.ads.googleads.v12.resources.AdGroupAd ad_group_ad = 16; + + // The ad group ad asset combination view in the query. + google.ads.googleads.v12.resources.AdGroupAdAssetCombinationView ad_group_ad_asset_combination_view = 193; + + // The ad group ad asset view in the query. + google.ads.googleads.v12.resources.AdGroupAdAssetView ad_group_ad_asset_view = 131; + + // The ad group ad label referenced in the query. + google.ads.googleads.v12.resources.AdGroupAdLabel ad_group_ad_label = 120; + + // The ad group asset referenced in the query. + google.ads.googleads.v12.resources.AdGroupAsset ad_group_asset = 154; + + // The ad group asset set referenced in the query. + google.ads.googleads.v12.resources.AdGroupAssetSet ad_group_asset_set = 196; + + // The ad group audience view referenced in the query. + google.ads.googleads.v12.resources.AdGroupAudienceView ad_group_audience_view = 57; + + // The bid modifier referenced in the query. + google.ads.googleads.v12.resources.AdGroupBidModifier ad_group_bid_modifier = 24; + + // The criterion referenced in the query. + google.ads.googleads.v12.resources.AdGroupCriterion ad_group_criterion = 17; + + // The ad group criterion customizer referenced in the query. + google.ads.googleads.v12.resources.AdGroupCriterionCustomizer ad_group_criterion_customizer = 187; + + // The ad group criterion label referenced in the query. + google.ads.googleads.v12.resources.AdGroupCriterionLabel ad_group_criterion_label = 121; + + // The ad group criterion simulation referenced in the query. + google.ads.googleads.v12.resources.AdGroupCriterionSimulation ad_group_criterion_simulation = 110; + + // The ad group customizer referenced in the query. + google.ads.googleads.v12.resources.AdGroupCustomizer ad_group_customizer = 185; + + // The ad group extension setting referenced in the query. + google.ads.googleads.v12.resources.AdGroupExtensionSetting ad_group_extension_setting = 112; + + // The ad group feed referenced in the query. + google.ads.googleads.v12.resources.AdGroupFeed ad_group_feed = 67; + + // The ad group label referenced in the query. + google.ads.googleads.v12.resources.AdGroupLabel ad_group_label = 115; + + // The ad group simulation referenced in the query. + google.ads.googleads.v12.resources.AdGroupSimulation ad_group_simulation = 107; + + // The ad parameter referenced in the query. + google.ads.googleads.v12.resources.AdParameter ad_parameter = 130; + + // The age range view referenced in the query. + google.ads.googleads.v12.resources.AgeRangeView age_range_view = 48; + + // The ad schedule view referenced in the query. + google.ads.googleads.v12.resources.AdScheduleView ad_schedule_view = 89; + + // The domain category referenced in the query. + google.ads.googleads.v12.resources.DomainCategory domain_category = 91; + + // The asset referenced in the query. + google.ads.googleads.v12.resources.Asset asset = 105; + + // The asset field type view referenced in the query. + google.ads.googleads.v12.resources.AssetFieldTypeView asset_field_type_view = 168; + + // The asset group asset referenced in the query. + google.ads.googleads.v12.resources.AssetGroupAsset asset_group_asset = 173; + + // The asset group signal referenced in the query. + google.ads.googleads.v12.resources.AssetGroupSignal asset_group_signal = 191; + + // The asset group listing group filter referenced in the query. + google.ads.googleads.v12.resources.AssetGroupListingGroupFilter asset_group_listing_group_filter = 182; + + // The asset group product group view referenced in the query. + google.ads.googleads.v12.resources.AssetGroupProductGroupView asset_group_product_group_view = 189; + + // The asset group referenced in the query. + google.ads.googleads.v12.resources.AssetGroup asset_group = 172; + + // The asset set asset referenced in the query. + google.ads.googleads.v12.resources.AssetSetAsset asset_set_asset = 180; + + // The asset set referenced in the query. + google.ads.googleads.v12.resources.AssetSet asset_set = 179; + + // The asset set type view referenced in the query. + google.ads.googleads.v12.resources.AssetSetTypeView asset_set_type_view = 197; + + // The batch job referenced in the query. + google.ads.googleads.v12.resources.BatchJob batch_job = 139; + + // The bidding data exclusion referenced in the query. + google.ads.googleads.v12.resources.BiddingDataExclusion bidding_data_exclusion = 159; + + // The bidding seasonality adjustment referenced in the query. + google.ads.googleads.v12.resources.BiddingSeasonalityAdjustment bidding_seasonality_adjustment = 160; + + // The bidding strategy referenced in the query. + google.ads.googleads.v12.resources.BiddingStrategy bidding_strategy = 18; + + // The bidding strategy simulation referenced in the query. + google.ads.googleads.v12.resources.BiddingStrategySimulation bidding_strategy_simulation = 158; + + // The billing setup referenced in the query. + google.ads.googleads.v12.resources.BillingSetup billing_setup = 41; + + // The call view referenced in the query. + google.ads.googleads.v12.resources.CallView call_view = 152; + + // The campaign budget referenced in the query. + google.ads.googleads.v12.resources.CampaignBudget campaign_budget = 19; + + // The campaign referenced in the query. + google.ads.googleads.v12.resources.Campaign campaign = 2; + + // The campaign asset referenced in the query. + google.ads.googleads.v12.resources.CampaignAsset campaign_asset = 142; + + // The campaign asset set referenced in the query. + google.ads.googleads.v12.resources.CampaignAssetSet campaign_asset_set = 181; + + // The campaign audience view referenced in the query. + google.ads.googleads.v12.resources.CampaignAudienceView campaign_audience_view = 69; + + // The campaign bid modifier referenced in the query. + google.ads.googleads.v12.resources.CampaignBidModifier campaign_bid_modifier = 26; + + // The CampaignConversionGoal referenced in the query. + google.ads.googleads.v12.resources.CampaignConversionGoal campaign_conversion_goal = 175; + + // The campaign criterion referenced in the query. + google.ads.googleads.v12.resources.CampaignCriterion campaign_criterion = 20; + + // The campaign criterion simulation referenced in the query. + google.ads.googleads.v12.resources.CampaignCriterionSimulation campaign_criterion_simulation = 111; + + // The campaign customizer referenced in the query. + google.ads.googleads.v12.resources.CampaignCustomizer campaign_customizer = 186; + + // The campaign draft referenced in the query. + google.ads.googleads.v12.resources.CampaignDraft campaign_draft = 49; + + // The campaign extension setting referenced in the query. + google.ads.googleads.v12.resources.CampaignExtensionSetting campaign_extension_setting = 113; + + // The campaign feed referenced in the query. + google.ads.googleads.v12.resources.CampaignFeed campaign_feed = 63; + + // Campaign Group referenced in AWQL query. + google.ads.googleads.v12.resources.CampaignGroup campaign_group = 25; + + // The campaign label referenced in the query. + google.ads.googleads.v12.resources.CampaignLabel campaign_label = 108; + + // Campaign Shared Set referenced in AWQL query. + google.ads.googleads.v12.resources.CampaignSharedSet campaign_shared_set = 30; + + // The campaign simulation referenced in the query. + google.ads.googleads.v12.resources.CampaignSimulation campaign_simulation = 157; + + // The carrier constant referenced in the query. + google.ads.googleads.v12.resources.CarrierConstant carrier_constant = 66; + + // The ChangeEvent referenced in the query. + google.ads.googleads.v12.resources.ChangeEvent change_event = 145; + + // The ChangeStatus referenced in the query. + google.ads.googleads.v12.resources.ChangeStatus change_status = 37; + + // The CombinedAudience referenced in the query. + google.ads.googleads.v12.resources.CombinedAudience combined_audience = 148; + + // The Audience referenced in the query. + google.ads.googleads.v12.resources.Audience audience = 190; + + // The conversion action referenced in the query. + google.ads.googleads.v12.resources.ConversionAction conversion_action = 103; + + // The conversion custom variable referenced in the query. + google.ads.googleads.v12.resources.ConversionCustomVariable conversion_custom_variable = 153; + + // The ConversionGoalCampaignConfig referenced in the query. + google.ads.googleads.v12.resources.ConversionGoalCampaignConfig conversion_goal_campaign_config = 177; + + // The conversion value rule referenced in the query. + google.ads.googleads.v12.resources.ConversionValueRule conversion_value_rule = 164; + + // The conversion value rule set referenced in the query. + google.ads.googleads.v12.resources.ConversionValueRuleSet conversion_value_rule_set = 165; + + // The ClickView referenced in the query. + google.ads.googleads.v12.resources.ClickView click_view = 122; + + // The currency constant referenced in the query. + google.ads.googleads.v12.resources.CurrencyConstant currency_constant = 134; + + // The CustomAudience referenced in the query. + google.ads.googleads.v12.resources.CustomAudience custom_audience = 147; + + // The CustomConversionGoal referenced in the query. + google.ads.googleads.v12.resources.CustomConversionGoal custom_conversion_goal = 176; + + // The CustomInterest referenced in the query. + google.ads.googleads.v12.resources.CustomInterest custom_interest = 104; + + // The customer referenced in the query. + google.ads.googleads.v12.resources.Customer customer = 1; + + // The customer asset referenced in the query. + google.ads.googleads.v12.resources.CustomerAsset customer_asset = 155; + + // The customer asset set referenced in the query. + google.ads.googleads.v12.resources.CustomerAssetSet customer_asset_set = 195; + + // The accessible bidding strategy referenced in the query. + google.ads.googleads.v12.resources.AccessibleBiddingStrategy accessible_bidding_strategy = 169; + + // The customer customizer referenced in the query. + google.ads.googleads.v12.resources.CustomerCustomizer customer_customizer = 184; + + // The CustomerManagerLink referenced in the query. + google.ads.googleads.v12.resources.CustomerManagerLink customer_manager_link = 61; + + // The CustomerClientLink referenced in the query. + google.ads.googleads.v12.resources.CustomerClientLink customer_client_link = 62; + + // The CustomerClient referenced in the query. + google.ads.googleads.v12.resources.CustomerClient customer_client = 70; + + // The CustomerConversionGoal referenced in the query. + google.ads.googleads.v12.resources.CustomerConversionGoal customer_conversion_goal = 174; + + // The customer extension setting referenced in the query. + google.ads.googleads.v12.resources.CustomerExtensionSetting customer_extension_setting = 114; + + // The customer feed referenced in the query. + google.ads.googleads.v12.resources.CustomerFeed customer_feed = 64; + + // The customer label referenced in the query. + google.ads.googleads.v12.resources.CustomerLabel customer_label = 124; + + // The customer negative criterion referenced in the query. + google.ads.googleads.v12.resources.CustomerNegativeCriterion customer_negative_criterion = 88; + + // The CustomerUserAccess referenced in the query. + google.ads.googleads.v12.resources.CustomerUserAccess customer_user_access = 146; + + // The CustomerUserAccessInvitation referenced in the query. + google.ads.googleads.v12.resources.CustomerUserAccessInvitation customer_user_access_invitation = 150; + + // The customizer attribute referenced in the query. + google.ads.googleads.v12.resources.CustomizerAttribute customizer_attribute = 178; + + // The detail placement view referenced in the query. + google.ads.googleads.v12.resources.DetailPlacementView detail_placement_view = 118; + + // The detailed demographic referenced in the query. + google.ads.googleads.v12.resources.DetailedDemographic detailed_demographic = 166; + + // The display keyword view referenced in the query. + google.ads.googleads.v12.resources.DisplayKeywordView display_keyword_view = 47; + + // The distance view referenced in the query. + google.ads.googleads.v12.resources.DistanceView distance_view = 132; + + // The dynamic search ads search term view referenced in the query. + google.ads.googleads.v12.resources.DynamicSearchAdsSearchTermView dynamic_search_ads_search_term_view = 106; + + // The expanded landing page view referenced in the query. + google.ads.googleads.v12.resources.ExpandedLandingPageView expanded_landing_page_view = 128; + + // The extension feed item referenced in the query. + google.ads.googleads.v12.resources.ExtensionFeedItem extension_feed_item = 85; + + // The feed referenced in the query. + google.ads.googleads.v12.resources.Feed feed = 46; + + // The feed item referenced in the query. + google.ads.googleads.v12.resources.FeedItem feed_item = 50; + + // The feed item set referenced in the query. + google.ads.googleads.v12.resources.FeedItemSet feed_item_set = 149; + + // The feed item set link referenced in the query. + google.ads.googleads.v12.resources.FeedItemSetLink feed_item_set_link = 151; + + // The feed item target referenced in the query. + google.ads.googleads.v12.resources.FeedItemTarget feed_item_target = 116; + + // The feed mapping referenced in the query. + google.ads.googleads.v12.resources.FeedMapping feed_mapping = 58; + + // The feed placeholder view referenced in the query. + google.ads.googleads.v12.resources.FeedPlaceholderView feed_placeholder_view = 97; + + // The gender view referenced in the query. + google.ads.googleads.v12.resources.GenderView gender_view = 40; + + // The geo target constant referenced in the query. + google.ads.googleads.v12.resources.GeoTargetConstant geo_target_constant = 23; + + // The geographic view referenced in the query. + google.ads.googleads.v12.resources.GeographicView geographic_view = 125; + + // The group placement view referenced in the query. + google.ads.googleads.v12.resources.GroupPlacementView group_placement_view = 119; + + // The hotel group view referenced in the query. + google.ads.googleads.v12.resources.HotelGroupView hotel_group_view = 51; + + // The hotel performance view referenced in the query. + google.ads.googleads.v12.resources.HotelPerformanceView hotel_performance_view = 71; + + // The hotel reconciliation referenced in the query. + google.ads.googleads.v12.resources.HotelReconciliation hotel_reconciliation = 188; + + // The income range view referenced in the query. + google.ads.googleads.v12.resources.IncomeRangeView income_range_view = 138; + + // The keyword view referenced in the query. + google.ads.googleads.v12.resources.KeywordView keyword_view = 21; + + // The keyword plan referenced in the query. + google.ads.googleads.v12.resources.KeywordPlan keyword_plan = 32; + + // The keyword plan campaign referenced in the query. + google.ads.googleads.v12.resources.KeywordPlanCampaign keyword_plan_campaign = 33; + + // The keyword plan campaign keyword referenced in the query. + google.ads.googleads.v12.resources.KeywordPlanCampaignKeyword keyword_plan_campaign_keyword = 140; + + // The keyword plan ad group referenced in the query. + google.ads.googleads.v12.resources.KeywordPlanAdGroup keyword_plan_ad_group = 35; + + // The keyword plan ad group referenced in the query. + google.ads.googleads.v12.resources.KeywordPlanAdGroupKeyword keyword_plan_ad_group_keyword = 141; + + // The keyword theme constant referenced in the query. + google.ads.googleads.v12.resources.KeywordThemeConstant keyword_theme_constant = 163; + + // The label referenced in the query. + google.ads.googleads.v12.resources.Label label = 52; + + // The landing page view referenced in the query. + google.ads.googleads.v12.resources.LandingPageView landing_page_view = 126; + + // The language constant referenced in the query. + google.ads.googleads.v12.resources.LanguageConstant language_constant = 55; + + // The location view referenced in the query. + google.ads.googleads.v12.resources.LocationView location_view = 123; + + // The managed placement view referenced in the query. + google.ads.googleads.v12.resources.ManagedPlacementView managed_placement_view = 53; + + // The media file referenced in the query. + google.ads.googleads.v12.resources.MediaFile media_file = 90; + + // The mobile app category constant referenced in the query. + google.ads.googleads.v12.resources.MobileAppCategoryConstant mobile_app_category_constant = 87; + + // The mobile device constant referenced in the query. + google.ads.googleads.v12.resources.MobileDeviceConstant mobile_device_constant = 98; + + // The offline user data job referenced in the query. + google.ads.googleads.v12.resources.OfflineUserDataJob offline_user_data_job = 137; + + // The operating system version constant referenced in the query. + google.ads.googleads.v12.resources.OperatingSystemVersionConstant operating_system_version_constant = 86; + + // The paid organic search term view referenced in the query. + google.ads.googleads.v12.resources.PaidOrganicSearchTermView paid_organic_search_term_view = 129; + + // The parental status view referenced in the query. + google.ads.googleads.v12.resources.ParentalStatusView parental_status_view = 45; + + // The per store view referenced in the query. + google.ads.googleads.v12.resources.PerStoreView per_store_view = 198; + + // The Product Bidding Category referenced in the query. + google.ads.googleads.v12.resources.ProductBiddingCategoryConstant product_bidding_category_constant = 109; + + // The product group view referenced in the query. + google.ads.googleads.v12.resources.ProductGroupView product_group_view = 54; + + // The recommendation referenced in the query. + google.ads.googleads.v12.resources.Recommendation recommendation = 22; + + // The search term view referenced in the query. + google.ads.googleads.v12.resources.SearchTermView search_term_view = 68; + + // The shared set referenced in the query. + google.ads.googleads.v12.resources.SharedCriterion shared_criterion = 29; + + // The shared set referenced in the query. + google.ads.googleads.v12.resources.SharedSet shared_set = 27; + + // The Smart campaign setting referenced in the query. + google.ads.googleads.v12.resources.SmartCampaignSetting smart_campaign_setting = 167; + + // The shopping performance view referenced in the query. + google.ads.googleads.v12.resources.ShoppingPerformanceView shopping_performance_view = 117; + + // The Smart campaign search term view referenced in the query. + google.ads.googleads.v12.resources.SmartCampaignSearchTermView smart_campaign_search_term_view = 170; + + // The AccountLink referenced in the query. + google.ads.googleads.v12.resources.ThirdPartyAppAnalyticsLink third_party_app_analytics_link = 144; + + // The topic view referenced in the query. + google.ads.googleads.v12.resources.TopicView topic_view = 44; + + // The experiment referenced in the query. + google.ads.googleads.v12.resources.Experiment experiment = 133; + + // The experiment arm referenced in the query. + google.ads.googleads.v12.resources.ExperimentArm experiment_arm = 183; + + // The user interest referenced in the query. + google.ads.googleads.v12.resources.UserInterest user_interest = 59; + + // The life event referenced in the query. + google.ads.googleads.v12.resources.LifeEvent life_event = 161; + + // The user list referenced in the query. + google.ads.googleads.v12.resources.UserList user_list = 38; + + // The user location view referenced in the query. + google.ads.googleads.v12.resources.UserLocationView user_location_view = 135; + + // The remarketing action referenced in the query. + google.ads.googleads.v12.resources.RemarketingAction remarketing_action = 60; + + // The topic constant referenced in the query. + google.ads.googleads.v12.resources.TopicConstant topic_constant = 31; + + // The video referenced in the query. + google.ads.googleads.v12.resources.Video video = 39; + + // The webpage view referenced in the query. + google.ads.googleads.v12.resources.WebpageView webpage_view = 162; + + // The lead form user submission referenced in the query. + google.ads.googleads.v12.resources.LeadFormSubmissionData lead_form_submission_data = 192; + + // The metrics. + google.ads.googleads.v12.common.Metrics metrics = 4; + + // The segments. + google.ads.googleads.v12.common.Segments segments = 102; +} + +// Request message for [GoogleAdsService.Mutate][google.ads.googleads.v12.services.GoogleAdsService.Mutate]. +======== + google.ads.googleads.v14.resources.AccountBudget account_budget = 42; + + // The account budget proposal referenced in the query. + google.ads.googleads.v14.resources.AccountBudgetProposal + account_budget_proposal = 43; + + // The AccountLink referenced in the query. + google.ads.googleads.v14.resources.AccountLink account_link = 143; + + // The ad group referenced in the query. + google.ads.googleads.v14.resources.AdGroup ad_group = 3; + + // The ad referenced in the query. + google.ads.googleads.v14.resources.AdGroupAd ad_group_ad = 16; + + // The ad group ad asset combination view in the query. + google.ads.googleads.v14.resources.AdGroupAdAssetCombinationView + ad_group_ad_asset_combination_view = 193; + + // The ad group ad asset view in the query. + google.ads.googleads.v14.resources.AdGroupAdAssetView ad_group_ad_asset_view = + 131; + + // The ad group ad label referenced in the query. + google.ads.googleads.v14.resources.AdGroupAdLabel ad_group_ad_label = 120; + + // The ad group asset referenced in the query. + google.ads.googleads.v14.resources.AdGroupAsset ad_group_asset = 154; + + // The ad group asset set referenced in the query. + google.ads.googleads.v14.resources.AdGroupAssetSet ad_group_asset_set = 196; + + // The ad group audience view referenced in the query. + google.ads.googleads.v14.resources.AdGroupAudienceView + ad_group_audience_view = 57; + + // The bid modifier referenced in the query. + google.ads.googleads.v14.resources.AdGroupBidModifier ad_group_bid_modifier = + 24; + + // The criterion referenced in the query. + google.ads.googleads.v14.resources.AdGroupCriterion ad_group_criterion = 17; + + // The ad group criterion customizer referenced in the query. + google.ads.googleads.v14.resources.AdGroupCriterionCustomizer + ad_group_criterion_customizer = 187; + + // The ad group criterion label referenced in the query. + google.ads.googleads.v14.resources.AdGroupCriterionLabel + ad_group_criterion_label = 121; + + // The ad group criterion simulation referenced in the query. + google.ads.googleads.v14.resources.AdGroupCriterionSimulation + ad_group_criterion_simulation = 110; + + // The ad group customizer referenced in the query. + google.ads.googleads.v14.resources.AdGroupCustomizer ad_group_customizer = + 185; + + // The ad group extension setting referenced in the query. + google.ads.googleads.v14.resources.AdGroupExtensionSetting + ad_group_extension_setting = 112; + + // The ad group feed referenced in the query. + google.ads.googleads.v14.resources.AdGroupFeed ad_group_feed = 67; + + // The ad group label referenced in the query. + google.ads.googleads.v14.resources.AdGroupLabel ad_group_label = 115; + + // The ad group simulation referenced in the query. + google.ads.googleads.v14.resources.AdGroupSimulation ad_group_simulation = + 107; + + // The ad parameter referenced in the query. + google.ads.googleads.v14.resources.AdParameter ad_parameter = 130; + + // The age range view referenced in the query. + google.ads.googleads.v14.resources.AgeRangeView age_range_view = 48; + + // The ad schedule view referenced in the query. + google.ads.googleads.v14.resources.AdScheduleView ad_schedule_view = 89; + + // The domain category referenced in the query. + google.ads.googleads.v14.resources.DomainCategory domain_category = 91; + + // The asset referenced in the query. + google.ads.googleads.v14.resources.Asset asset = 105; + + // The asset field type view referenced in the query. + google.ads.googleads.v14.resources.AssetFieldTypeView asset_field_type_view = + 168; + + // The asset group asset referenced in the query. + google.ads.googleads.v14.resources.AssetGroupAsset asset_group_asset = 173; + + // The asset group signal referenced in the query. + google.ads.googleads.v14.resources.AssetGroupSignal asset_group_signal = 191; + + // The asset group listing group filter referenced in the query. + google.ads.googleads.v14.resources.AssetGroupListingGroupFilter + asset_group_listing_group_filter = 182; + + // The asset group product group view referenced in the query. + google.ads.googleads.v14.resources.AssetGroupProductGroupView + asset_group_product_group_view = 189; + + // The asset group referenced in the query. + google.ads.googleads.v14.resources.AssetGroup asset_group = 172; + + // The asset set asset referenced in the query. + google.ads.googleads.v14.resources.AssetSetAsset asset_set_asset = 180; + + // The asset set referenced in the query. + google.ads.googleads.v14.resources.AssetSet asset_set = 179; + + // The asset set type view referenced in the query. + google.ads.googleads.v14.resources.AssetSetTypeView asset_set_type_view = 197; + + // The batch job referenced in the query. + google.ads.googleads.v14.resources.BatchJob batch_job = 139; + + // The bidding data exclusion referenced in the query. + google.ads.googleads.v14.resources.BiddingDataExclusion + bidding_data_exclusion = 159; + + // The bidding seasonality adjustment referenced in the query. + google.ads.googleads.v14.resources.BiddingSeasonalityAdjustment + bidding_seasonality_adjustment = 160; + + // The bidding strategy referenced in the query. + google.ads.googleads.v14.resources.BiddingStrategy bidding_strategy = 18; + + // The bidding strategy simulation referenced in the query. + google.ads.googleads.v14.resources.BiddingStrategySimulation + bidding_strategy_simulation = 158; + + // The billing setup referenced in the query. + google.ads.googleads.v14.resources.BillingSetup billing_setup = 41; + + // The call view referenced in the query. + google.ads.googleads.v14.resources.CallView call_view = 152; + + // The campaign budget referenced in the query. + google.ads.googleads.v14.resources.CampaignBudget campaign_budget = 19; + + // The campaign referenced in the query. + google.ads.googleads.v14.resources.Campaign campaign = 2; + + // The campaign asset referenced in the query. + google.ads.googleads.v14.resources.CampaignAsset campaign_asset = 142; + + // The campaign asset set referenced in the query. + google.ads.googleads.v14.resources.CampaignAssetSet campaign_asset_set = 181; + + // The campaign audience view referenced in the query. + google.ads.googleads.v14.resources.CampaignAudienceView + campaign_audience_view = 69; + + // The campaign bid modifier referenced in the query. + google.ads.googleads.v14.resources.CampaignBidModifier campaign_bid_modifier = + 26; + + // The CampaignConversionGoal referenced in the query. + google.ads.googleads.v14.resources.CampaignConversionGoal + campaign_conversion_goal = 175; + + // The campaign criterion referenced in the query. + google.ads.googleads.v14.resources.CampaignCriterion campaign_criterion = 20; + + // The campaign customizer referenced in the query. + google.ads.googleads.v14.resources.CampaignCustomizer campaign_customizer = + 186; + + // The campaign draft referenced in the query. + google.ads.googleads.v14.resources.CampaignDraft campaign_draft = 49; + + // The campaign extension setting referenced in the query. + google.ads.googleads.v14.resources.CampaignExtensionSetting + campaign_extension_setting = 113; + + // The campaign feed referenced in the query. + google.ads.googleads.v14.resources.CampaignFeed campaign_feed = 63; + + // Campaign Group referenced in AWQL query. + google.ads.googleads.v14.resources.CampaignGroup campaign_group = 25; + + // The campaign label referenced in the query. + google.ads.googleads.v14.resources.CampaignLabel campaign_label = 108; + + // The campaign search term insight referenced in the query. + google.ads.googleads.v14.resources.CampaignSearchTermInsight + campaign_search_term_insight = 204; + + // Campaign Shared Set referenced in AWQL query. + google.ads.googleads.v14.resources.CampaignSharedSet campaign_shared_set = 30; + + // The campaign simulation referenced in the query. + google.ads.googleads.v14.resources.CampaignSimulation campaign_simulation = + 157; + + // The carrier constant referenced in the query. + google.ads.googleads.v14.resources.CarrierConstant carrier_constant = 66; + + // The ChangeEvent referenced in the query. + google.ads.googleads.v14.resources.ChangeEvent change_event = 145; + + // The ChangeStatus referenced in the query. + google.ads.googleads.v14.resources.ChangeStatus change_status = 37; + + // The CombinedAudience referenced in the query. + google.ads.googleads.v14.resources.CombinedAudience combined_audience = 148; + + // The Audience referenced in the query. + google.ads.googleads.v14.resources.Audience audience = 190; + + // The conversion action referenced in the query. + google.ads.googleads.v14.resources.ConversionAction conversion_action = 103; + + // The conversion custom variable referenced in the query. + google.ads.googleads.v14.resources.ConversionCustomVariable + conversion_custom_variable = 153; + + // The ConversionGoalCampaignConfig referenced in the query. + google.ads.googleads.v14.resources.ConversionGoalCampaignConfig + conversion_goal_campaign_config = 177; + + // The conversion value rule referenced in the query. + google.ads.googleads.v14.resources.ConversionValueRule conversion_value_rule = + 164; + + // The conversion value rule set referenced in the query. + google.ads.googleads.v14.resources.ConversionValueRuleSet + conversion_value_rule_set = 165; + + // The ClickView referenced in the query. + google.ads.googleads.v14.resources.ClickView click_view = 122; + + // The currency constant referenced in the query. + google.ads.googleads.v14.resources.CurrencyConstant currency_constant = 134; + + // The CustomAudience referenced in the query. + google.ads.googleads.v14.resources.CustomAudience custom_audience = 147; + + // The CustomConversionGoal referenced in the query. + google.ads.googleads.v14.resources.CustomConversionGoal + custom_conversion_goal = 176; + + // The CustomInterest referenced in the query. + google.ads.googleads.v14.resources.CustomInterest custom_interest = 104; + + // The customer referenced in the query. + google.ads.googleads.v14.resources.Customer customer = 1; + + // The customer asset referenced in the query. + google.ads.googleads.v14.resources.CustomerAsset customer_asset = 155; + + // The customer asset set referenced in the query. + google.ads.googleads.v14.resources.CustomerAssetSet customer_asset_set = 195; + + // The accessible bidding strategy referenced in the query. + google.ads.googleads.v14.resources.AccessibleBiddingStrategy + accessible_bidding_strategy = 169; + + // The customer customizer referenced in the query. + google.ads.googleads.v14.resources.CustomerCustomizer customer_customizer = + 184; + + // The CustomerManagerLink referenced in the query. + google.ads.googleads.v14.resources.CustomerManagerLink customer_manager_link = + 61; + + // The CustomerClientLink referenced in the query. + google.ads.googleads.v14.resources.CustomerClientLink customer_client_link = + 62; + + // The CustomerClient referenced in the query. + google.ads.googleads.v14.resources.CustomerClient customer_client = 70; + + // The CustomerConversionGoal referenced in the query. + google.ads.googleads.v14.resources.CustomerConversionGoal + customer_conversion_goal = 174; + + // The customer extension setting referenced in the query. + google.ads.googleads.v14.resources.CustomerExtensionSetting + customer_extension_setting = 114; + + // The customer feed referenced in the query. + google.ads.googleads.v14.resources.CustomerFeed customer_feed = 64; + + // The customer label referenced in the query. + google.ads.googleads.v14.resources.CustomerLabel customer_label = 124; + + // The customer negative criterion referenced in the query. + google.ads.googleads.v14.resources.CustomerNegativeCriterion + customer_negative_criterion = 88; + + // The customer search term insight referenced in the query. + google.ads.googleads.v14.resources.CustomerSearchTermInsight + customer_search_term_insight = 205; + + // The CustomerUserAccess referenced in the query. + google.ads.googleads.v14.resources.CustomerUserAccess customer_user_access = + 146; + + // The CustomerUserAccessInvitation referenced in the query. + google.ads.googleads.v14.resources.CustomerUserAccessInvitation + customer_user_access_invitation = 150; + + // The customizer attribute referenced in the query. + google.ads.googleads.v14.resources.CustomizerAttribute customizer_attribute = + 178; + + // The detail placement view referenced in the query. + google.ads.googleads.v14.resources.DetailPlacementView detail_placement_view = + 118; + + // The detailed demographic referenced in the query. + google.ads.googleads.v14.resources.DetailedDemographic detailed_demographic = + 166; + + // The display keyword view referenced in the query. + google.ads.googleads.v14.resources.DisplayKeywordView display_keyword_view = + 47; + + // The distance view referenced in the query. + google.ads.googleads.v14.resources.DistanceView distance_view = 132; + + // The dynamic search ads search term view referenced in the query. + google.ads.googleads.v14.resources.DynamicSearchAdsSearchTermView + dynamic_search_ads_search_term_view = 106; + + // The expanded landing page view referenced in the query. + google.ads.googleads.v14.resources.ExpandedLandingPageView + expanded_landing_page_view = 128; + + // The extension feed item referenced in the query. + google.ads.googleads.v14.resources.ExtensionFeedItem extension_feed_item = 85; + + // The feed referenced in the query. + google.ads.googleads.v14.resources.Feed feed = 46; + + // The feed item referenced in the query. + google.ads.googleads.v14.resources.FeedItem feed_item = 50; + + // The feed item set referenced in the query. + google.ads.googleads.v14.resources.FeedItemSet feed_item_set = 149; + + // The feed item set link referenced in the query. + google.ads.googleads.v14.resources.FeedItemSetLink feed_item_set_link = 151; + + // The feed item target referenced in the query. + google.ads.googleads.v14.resources.FeedItemTarget feed_item_target = 116; + + // The feed mapping referenced in the query. + google.ads.googleads.v14.resources.FeedMapping feed_mapping = 58; + + // The feed placeholder view referenced in the query. + google.ads.googleads.v14.resources.FeedPlaceholderView feed_placeholder_view = + 97; + + // The gender view referenced in the query. + google.ads.googleads.v14.resources.GenderView gender_view = 40; + + // The geo target constant referenced in the query. + google.ads.googleads.v14.resources.GeoTargetConstant geo_target_constant = 23; + + // The geographic view referenced in the query. + google.ads.googleads.v14.resources.GeographicView geographic_view = 125; + + // The group placement view referenced in the query. + google.ads.googleads.v14.resources.GroupPlacementView group_placement_view = + 119; + + // The hotel group view referenced in the query. + google.ads.googleads.v14.resources.HotelGroupView hotel_group_view = 51; + + // The hotel performance view referenced in the query. + google.ads.googleads.v14.resources.HotelPerformanceView + hotel_performance_view = 71; + + // The hotel reconciliation referenced in the query. + google.ads.googleads.v14.resources.HotelReconciliation hotel_reconciliation = + 188; + + // The income range view referenced in the query. + google.ads.googleads.v14.resources.IncomeRangeView income_range_view = 138; + + // The keyword view referenced in the query. + google.ads.googleads.v14.resources.KeywordView keyword_view = 21; + + // The keyword plan referenced in the query. + google.ads.googleads.v14.resources.KeywordPlan keyword_plan = 32; + + // The keyword plan campaign referenced in the query. + google.ads.googleads.v14.resources.KeywordPlanCampaign keyword_plan_campaign = + 33; + + // The keyword plan campaign keyword referenced in the query. + google.ads.googleads.v14.resources.KeywordPlanCampaignKeyword + keyword_plan_campaign_keyword = 140; + + // The keyword plan ad group referenced in the query. + google.ads.googleads.v14.resources.KeywordPlanAdGroup keyword_plan_ad_group = + 35; + + // The keyword plan ad group referenced in the query. + google.ads.googleads.v14.resources.KeywordPlanAdGroupKeyword + keyword_plan_ad_group_keyword = 141; + + // The keyword theme constant referenced in the query. + google.ads.googleads.v14.resources.KeywordThemeConstant + keyword_theme_constant = 163; + + // The label referenced in the query. + google.ads.googleads.v14.resources.Label label = 52; + + // The landing page view referenced in the query. + google.ads.googleads.v14.resources.LandingPageView landing_page_view = 126; + + // The language constant referenced in the query. + google.ads.googleads.v14.resources.LanguageConstant language_constant = 55; + + // The location view referenced in the query. + google.ads.googleads.v14.resources.LocationView location_view = 123; + + // The managed placement view referenced in the query. + google.ads.googleads.v14.resources.ManagedPlacementView + managed_placement_view = 53; + + // The media file referenced in the query. + google.ads.googleads.v14.resources.MediaFile media_file = 90; + + // The mobile app category constant referenced in the query. + google.ads.googleads.v14.resources.MobileAppCategoryConstant + mobile_app_category_constant = 87; + + // The mobile device constant referenced in the query. + google.ads.googleads.v14.resources.MobileDeviceConstant + mobile_device_constant = 98; + + // The offline user data job referenced in the query. + google.ads.googleads.v14.resources.OfflineUserDataJob offline_user_data_job = + 137; + + // The operating system version constant referenced in the query. + google.ads.googleads.v14.resources.OperatingSystemVersionConstant + operating_system_version_constant = 86; + + // The paid organic search term view referenced in the query. + google.ads.googleads.v14.resources.PaidOrganicSearchTermView + paid_organic_search_term_view = 129; + + // The qualifying question referenced in the query. + google.ads.googleads.v14.resources.QualifyingQuestion qualifying_question = + 202; + + // The parental status view referenced in the query. + google.ads.googleads.v14.resources.ParentalStatusView parental_status_view = + 45; + + // The per store view referenced in the query. + google.ads.googleads.v14.resources.PerStoreView per_store_view = 198; + + // The Product Bidding Category referenced in the query. + google.ads.googleads.v14.resources.ProductBiddingCategoryConstant + product_bidding_category_constant = 109; + + // The product group view referenced in the query. + google.ads.googleads.v14.resources.ProductGroupView product_group_view = 54; + + // The product link referenced in the query. + google.ads.googleads.v14.resources.ProductLink product_link = 194; + + // The recommendation referenced in the query. + google.ads.googleads.v14.resources.Recommendation recommendation = 22; + + // The search term view referenced in the query. + google.ads.googleads.v14.resources.SearchTermView search_term_view = 68; + + // The shared set referenced in the query. + google.ads.googleads.v14.resources.SharedCriterion shared_criterion = 29; + + // The shared set referenced in the query. + google.ads.googleads.v14.resources.SharedSet shared_set = 27; + + // The Smart campaign setting referenced in the query. + google.ads.googleads.v14.resources.SmartCampaignSetting + smart_campaign_setting = 167; + + // The shopping performance view referenced in the query. + google.ads.googleads.v14.resources.ShoppingPerformanceView + shopping_performance_view = 117; + + // The Smart campaign search term view referenced in the query. + google.ads.googleads.v14.resources.SmartCampaignSearchTermView + smart_campaign_search_term_view = 170; + + // The AccountLink referenced in the query. + google.ads.googleads.v14.resources.ThirdPartyAppAnalyticsLink + third_party_app_analytics_link = 144; + + // The topic view referenced in the query. + google.ads.googleads.v14.resources.TopicView topic_view = 44; + + // The travel activity group view referenced in the query. + google.ads.googleads.v14.resources.TravelActivityGroupView + travel_activity_group_view = 201; + + // The travel activity performance view referenced in the query. + google.ads.googleads.v14.resources.TravelActivityPerformanceView + travel_activity_performance_view = 200; + + // The experiment referenced in the query. + google.ads.googleads.v14.resources.Experiment experiment = 133; + + // The experiment arm referenced in the query. + google.ads.googleads.v14.resources.ExperimentArm experiment_arm = 183; + + // The user interest referenced in the query. + google.ads.googleads.v14.resources.UserInterest user_interest = 59; + + // The life event referenced in the query. + google.ads.googleads.v14.resources.LifeEvent life_event = 161; + + // The user list referenced in the query. + google.ads.googleads.v14.resources.UserList user_list = 38; + + // The user location view referenced in the query. + google.ads.googleads.v14.resources.UserLocationView user_location_view = 135; + + // The remarketing action referenced in the query. + google.ads.googleads.v14.resources.RemarketingAction remarketing_action = 60; + + // The topic constant referenced in the query. + google.ads.googleads.v14.resources.TopicConstant topic_constant = 31; + + // The video referenced in the query. + google.ads.googleads.v14.resources.Video video = 39; + + // The webpage view referenced in the query. + google.ads.googleads.v14.resources.WebpageView webpage_view = 162; + + // The lead form user submission referenced in the query. + google.ads.googleads.v14.resources.LeadFormSubmissionData + lead_form_submission_data = 192; + + // The metrics. + google.ads.googleads.v14.common.Metrics metrics = 4; + + // The segments. + google.ads.googleads.v14.common.Segments segments = 102; +} + +// Request message for +// [GoogleAdsService.Mutate][google.ads.googleads.v14.services.GoogleAdsService.Mutate]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/google_ads_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/google_ads_service.proto + google.ads.googleads.v12.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// Response message for [GoogleAdsService.Mutate][google.ads.googleads.v12.services.GoogleAdsService.Mutate]. +======== + google.ads.googleads.v14.enums.ResponseContentTypeEnum.ResponseContentType + response_content_type = 5; +} + +// Response message for +// [GoogleAdsService.Mutate][google.ads.googleads.v14.services.GoogleAdsService.Mutate]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/google_ads_service.proto +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 media file mutate operation. + MediaFileOperation media_file_operation = 42; + + // 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 media file mutate. + MutateMediaFileResult media_file_result = 42; + + // 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/v14/services/invoice_service.proto b/third_party/googleapis/google/ads/googleads/v14/services/invoice_service.proto new file mode 100644 index 000000000..0cc6981f3 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/services/invoice_service.proto @@ -0,0 +1,123 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/invoice_service.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/invoice_service.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/invoice_service.proto +package google.ads.googleads.v13.services; + +import "google/ads/googleads/v13/enums/month_of_year.proto"; +import "google/ads/googleads/v13/resources/invoice.proto"; +======== +package google.ads.googleads.v14.services; + +import "google/ads/googleads/v14/enums/month_of_year.proto"; +import "google/ads/googleads/v14/resources/invoice.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/invoice_service.proto +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/invoice_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/services;services"; +option java_multiple_files = true; +option java_outer_classname = "InvoiceServiceProto"; +option java_package = "com.google.ads.googleads.v13.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V13::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/services;services"; +option java_multiple_files = true; +option java_outer_classname = "InvoiceServiceProto"; +option java_package = "com.google.ads.googleads.v14.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V14::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/invoice_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/invoice_service.proto + get: "/v13/customers/{customer_id=*}/invoices" +======== + get: "/v14/customers/{customer_id=*}/invoices" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/invoice_service.proto + }; + 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/invoice_service.proto + google.ads.googleads.v13.enums.MonthOfYearEnum.MonthOfYear issue_month = 4 +======== + google.ads.googleads.v14.enums.MonthOfYearEnum.MonthOfYear issue_month = 4 +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/invoice_service.proto + [(google.api.field_behavior) = REQUIRED]; +} + +// Response message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/invoice_service.proto +// [InvoiceService.ListInvoices][google.ads.googleads.v13.services.InvoiceService.ListInvoices]. +message ListInvoicesResponse { + // The list of invoices that match the billing setup and time period. + repeated google.ads.googleads.v13.resources.Invoice invoices = 1; +======== +// [InvoiceService.ListInvoices][google.ads.googleads.v14.services.InvoiceService.ListInvoices]. +message ListInvoicesResponse { + // The list of invoices that match the billing setup and time period. + repeated google.ads.googleads.v14.resources.Invoice invoices = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/invoice_service.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v14/services/keyword_plan_ad_group_keyword_service.proto b/third_party/googleapis/google/ads/googleads/v14/services/keyword_plan_ad_group_keyword_service.proto new file mode 100644 index 000000000..2af465052 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/services/keyword_plan_ad_group_keyword_service.proto @@ -0,0 +1,178 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/keyword_plan_ad_group_keyword_service.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/keyword_plan_ad_group_keyword_service.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/keyword_plan_ad_group_keyword_service.proto +package google.ads.googleads.v13.services; + +import "google/ads/googleads/v13/resources/keyword_plan_ad_group_keyword.proto"; +======== +package google.ads.googleads.v14.services; + +import "google/ads/googleads/v14/resources/keyword_plan_ad_group_keyword.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/keyword_plan_ad_group_keyword_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/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/keyword_plan_ad_group_keyword_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/services;services"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanAdGroupKeywordServiceProto"; +option java_package = "com.google.ads.googleads.v13.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V13::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/services;services"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanAdGroupKeywordServiceProto"; +option java_package = "com.google.ads.googleads.v14.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V14::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/keyword_plan_ad_group_keyword_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/keyword_plan_ad_group_keyword_service.proto + post: "/v13/customers/{customer_id=*}/keywordPlanAdGroupKeywords:mutate" +======== + post: "/v14/customers/{customer_id=*}/keywordPlanAdGroupKeywords:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/keyword_plan_ad_group_keyword_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/keyword_plan_ad_group_keyword_service.proto +// [KeywordPlanAdGroupKeywordService.MutateKeywordPlanAdGroupKeywords][google.ads.googleads.v13.services.KeywordPlanAdGroupKeywordService.MutateKeywordPlanAdGroupKeywords]. +======== +// [KeywordPlanAdGroupKeywordService.MutateKeywordPlanAdGroupKeywords][google.ads.googleads.v14.services.KeywordPlanAdGroupKeywordService.MutateKeywordPlanAdGroupKeywords]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/keyword_plan_ad_group_keyword_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/keyword_plan_ad_group_keyword_service.proto + google.ads.googleads.v13.resources.KeywordPlanAdGroupKeyword create = 1; + + // Update operation: The Keyword Plan ad group keyword is expected to have a + // valid resource name. + google.ads.googleads.v13.resources.KeywordPlanAdGroupKeyword update = 2; +======== + google.ads.googleads.v14.resources.KeywordPlanAdGroupKeyword create = 1; + + // Update operation: The Keyword Plan ad group keyword is expected to have a + // valid resource name. + google.ads.googleads.v14.resources.KeywordPlanAdGroupKeyword update = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/keyword_plan_ad_group_keyword_service.proto + + // 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/v14/services/keyword_plan_ad_group_service.proto b/third_party/googleapis/google/ads/googleads/v14/services/keyword_plan_ad_group_service.proto new file mode 100644 index 000000000..a49deaf69 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/services/keyword_plan_ad_group_service.proto @@ -0,0 +1,176 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/keyword_plan_ad_group_service.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/keyword_plan_ad_group_service.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/keyword_plan_ad_group_service.proto +package google.ads.googleads.v13.services; + +import "google/ads/googleads/v13/resources/keyword_plan_ad_group.proto"; +======== +package google.ads.googleads.v14.services; + +import "google/ads/googleads/v14/resources/keyword_plan_ad_group.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/keyword_plan_ad_group_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/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/keyword_plan_ad_group_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/services;services"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanAdGroupServiceProto"; +option java_package = "com.google.ads.googleads.v13.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V13::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/services;services"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanAdGroupServiceProto"; +option java_package = "com.google.ads.googleads.v14.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V14::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/keyword_plan_ad_group_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/keyword_plan_ad_group_service.proto + post: "/v13/customers/{customer_id=*}/keywordPlanAdGroups:mutate" +======== + post: "/v14/customers/{customer_id=*}/keywordPlanAdGroups:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/keyword_plan_ad_group_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/keyword_plan_ad_group_service.proto +// [KeywordPlanAdGroupService.MutateKeywordPlanAdGroups][google.ads.googleads.v13.services.KeywordPlanAdGroupService.MutateKeywordPlanAdGroups]. +======== +// [KeywordPlanAdGroupService.MutateKeywordPlanAdGroups][google.ads.googleads.v14.services.KeywordPlanAdGroupService.MutateKeywordPlanAdGroups]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/keyword_plan_ad_group_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/keyword_plan_ad_group_service.proto + google.ads.googleads.v13.resources.KeywordPlanAdGroup create = 1; + + // Update operation: The Keyword Plan ad group is expected to have a valid + // resource name. + google.ads.googleads.v13.resources.KeywordPlanAdGroup update = 2; +======== + google.ads.googleads.v14.resources.KeywordPlanAdGroup create = 1; + + // Update operation: The Keyword Plan ad group is expected to have a valid + // resource name. + google.ads.googleads.v14.resources.KeywordPlanAdGroup update = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/keyword_plan_ad_group_service.proto + + // 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/v14/services/keyword_plan_campaign_keyword_service.proto b/third_party/googleapis/google/ads/googleads/v14/services/keyword_plan_campaign_keyword_service.proto new file mode 100644 index 000000000..bfe589a9a --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/services/keyword_plan_campaign_keyword_service.proto @@ -0,0 +1,177 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/keyword_plan_campaign_keyword_service.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/keyword_plan_campaign_keyword_service.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/keyword_plan_campaign_keyword_service.proto +package google.ads.googleads.v13.services; + +import "google/ads/googleads/v13/resources/keyword_plan_campaign_keyword.proto"; +======== +package google.ads.googleads.v14.services; + +import "google/ads/googleads/v14/resources/keyword_plan_campaign_keyword.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/keyword_plan_campaign_keyword_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/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/keyword_plan_campaign_keyword_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/services;services"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanCampaignKeywordServiceProto"; +option java_package = "com.google.ads.googleads.v13.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V13::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/services;services"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanCampaignKeywordServiceProto"; +option java_package = "com.google.ads.googleads.v14.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V14::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/keyword_plan_campaign_keyword_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/keyword_plan_campaign_keyword_service.proto + post: "/v13/customers/{customer_id=*}/keywordPlanCampaignKeywords:mutate" +======== + post: "/v14/customers/{customer_id=*}/keywordPlanCampaignKeywords:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/keyword_plan_campaign_keyword_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/keyword_plan_campaign_keyword_service.proto +// [KeywordPlanCampaignKeywordService.MutateKeywordPlanCampaignKeywords][google.ads.googleads.v13.services.KeywordPlanCampaignKeywordService.MutateKeywordPlanCampaignKeywords]. +======== +// [KeywordPlanCampaignKeywordService.MutateKeywordPlanCampaignKeywords][google.ads.googleads.v14.services.KeywordPlanCampaignKeywordService.MutateKeywordPlanCampaignKeywords]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/keyword_plan_campaign_keyword_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/keyword_plan_campaign_keyword_service.proto + google.ads.googleads.v13.resources.KeywordPlanCampaignKeyword create = 1; + + // Update operation: The Keyword Plan campaign keyword expected to have a + // valid resource name. + google.ads.googleads.v13.resources.KeywordPlanCampaignKeyword update = 2; +======== + google.ads.googleads.v14.resources.KeywordPlanCampaignKeyword create = 1; + + // Update operation: The Keyword Plan campaign keyword expected to have a + // valid resource name. + google.ads.googleads.v14.resources.KeywordPlanCampaignKeyword update = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/keyword_plan_campaign_keyword_service.proto + + // 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/v14/services/keyword_plan_campaign_service.proto b/third_party/googleapis/google/ads/googleads/v14/services/keyword_plan_campaign_service.proto new file mode 100644 index 000000000..0951e105a --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/services/keyword_plan_campaign_service.proto @@ -0,0 +1,176 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/keyword_plan_campaign_service.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/keyword_plan_campaign_service.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/keyword_plan_campaign_service.proto +package google.ads.googleads.v13.services; + +import "google/ads/googleads/v13/resources/keyword_plan_campaign.proto"; +======== +package google.ads.googleads.v14.services; + +import "google/ads/googleads/v14/resources/keyword_plan_campaign.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/keyword_plan_campaign_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/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/keyword_plan_campaign_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/services;services"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanCampaignServiceProto"; +option java_package = "com.google.ads.googleads.v13.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V13::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/services;services"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanCampaignServiceProto"; +option java_package = "com.google.ads.googleads.v14.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V14::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/keyword_plan_campaign_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/keyword_plan_campaign_service.proto + post: "/v13/customers/{customer_id=*}/keywordPlanCampaigns:mutate" +======== + post: "/v14/customers/{customer_id=*}/keywordPlanCampaigns:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/keyword_plan_campaign_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/keyword_plan_campaign_service.proto +// [KeywordPlanCampaignService.MutateKeywordPlanCampaigns][google.ads.googleads.v13.services.KeywordPlanCampaignService.MutateKeywordPlanCampaigns]. +======== +// [KeywordPlanCampaignService.MutateKeywordPlanCampaigns][google.ads.googleads.v14.services.KeywordPlanCampaignService.MutateKeywordPlanCampaigns]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/keyword_plan_campaign_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/keyword_plan_campaign_service.proto + google.ads.googleads.v13.resources.KeywordPlanCampaign create = 1; + + // Update operation: The Keyword Plan campaign is expected to have a valid + // resource name. + google.ads.googleads.v13.resources.KeywordPlanCampaign update = 2; +======== + google.ads.googleads.v14.resources.KeywordPlanCampaign create = 1; + + // Update operation: The Keyword Plan campaign is expected to have a valid + // resource name. + google.ads.googleads.v14.resources.KeywordPlanCampaign update = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/keyword_plan_campaign_service.proto + + // 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/v14/services/keyword_plan_idea_service.proto b/third_party/googleapis/google/ads/googleads/v14/services/keyword_plan_idea_service.proto new file mode 100644 index 000000000..a9ff2edaa --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/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.v14.services; + +import "google/ads/googleads/v14/common/criteria.proto"; +import "google/ads/googleads/v14/common/dates.proto"; +import "google/ads/googleads/v14/common/keyword_plan_common.proto"; +import "google/ads/googleads/v14/enums/keyword_match_type.proto"; +import "google/ads/googleads/v14/enums/keyword_plan_keyword_annotation.proto"; +import "google/ads/googleads/v14/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.V14.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/services;services"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanIdeaServiceProto"; +option java_package = "com.google.ads.googleads.v14.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V14::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: "/v14/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: "/v14/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: "/v14/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: "/v14/customers/{customer_id=*}:generateKeywordForecastMetrics" + body: "*" + }; + } +} + +// Request message for +// [KeywordPlanIdeaService.GenerateKeywordIdeas][google.ads.googleads.v14.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.v14.enums.KeywordPlanNetworkEnum.KeywordPlanNetwork + keyword_plan_network = 9; + + // The keyword annotations to include in response. + repeated google.ads.googleads.v14.enums.KeywordPlanKeywordAnnotationEnum + .KeywordPlanKeywordAnnotation keyword_annotation = 17; + + // The aggregate fields to include in response. + google.ads.googleads.v14.common.KeywordPlanAggregateMetrics + aggregate_metrics = 16; + + // The options for historical metrics data. + google.ads.googleads.v14.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.v14.services.KeywordPlanIdeaService.GenerateKeywordIdeas]. +message GenerateKeywordIdeaResponse { + // Results of generating keyword ideas. + repeated GenerateKeywordIdeaResult results = 1; + + // The aggregate metrics for all keyword ideas. + google.ads.googleads.v14.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.v14.common.KeywordPlanHistoricalMetrics + keyword_idea_metrics = 3; + + // The annotations for the keyword. + // The annotation data is only provided if requested. + google.ads.googleads.v14.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.v14.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.v14.enums.KeywordPlanNetworkEnum.KeywordPlanNetwork + keyword_plan_network = 7; + + // The aggregate fields to include in response. + google.ads.googleads.v14.common.KeywordPlanAggregateMetrics + aggregate_metrics = 8; + + // The options for historical metrics data. + google.ads.googleads.v14.common.HistoricalMetricsOptions + historical_metrics_options = 3; +} + +// Response message for +// [KeywordPlanIdeaService.GenerateKeywordHistoricalMetrics][google.ads.googleads.v14.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.v14.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.v14.common.KeywordPlanHistoricalMetrics keyword_metrics = + 2; +} + +// Request message for +// [KeywordPlanIdeaService.GenerateAdGroupThemes][google.ads.googleads.v14.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.v14.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.v14.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.v14.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.v14.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.v14.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.v14.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.v14.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/v14/services/keyword_plan_service.proto b/third_party/googleapis/google/ads/googleads/v14/services/keyword_plan_service.proto new file mode 100644 index 000000000..9197cc812 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/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.v14.services; + +import "google/ads/googleads/v14/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.V14.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/services;services"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanServiceProto"; +option java_package = "com.google.ads.googleads.v14.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V14::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: "/v14/customers/{customer_id=*}/keywordPlans:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [KeywordPlanService.MutateKeywordPlans][google.ads.googleads.v14.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.v14.resources.KeywordPlan create = 1; + + // Update operation: The keyword plan is expected to have a valid resource + // name. + google.ads.googleads.v14.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/v14/services/keyword_theme_constant_service.proto b/third_party/googleapis/google/ads/googleads/v14/services/keyword_theme_constant_service.proto new file mode 100644 index 000000000..833b006c1 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/services/keyword_theme_constant_service.proto @@ -0,0 +1,115 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/keyword_theme_constant_service.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/keyword_theme_constant_service.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/keyword_theme_constant_service.proto +package google.ads.googleads.v13.services; + +import "google/ads/googleads/v13/resources/keyword_theme_constant.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/services;services"; +option java_multiple_files = true; +option java_outer_classname = "KeywordThemeConstantServiceProto"; +option java_package = "com.google.ads.googleads.v13.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V13::Services"; +======== +package google.ads.googleads.v14.services; + +import "google/ads/googleads/v14/resources/keyword_theme_constant.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V14.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/services;services"; +option java_multiple_files = true; +option java_outer_classname = "KeywordThemeConstantServiceProto"; +option java_package = "com.google.ads.googleads.v14.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V14::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/keyword_theme_constant_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/keyword_theme_constant_service.proto + post: "/v13/keywordThemeConstants:suggest" +======== + post: "/v14/keywordThemeConstants:suggest" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/keyword_theme_constant_service.proto + body: "*" + }; + } +} + +// Request message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/keyword_theme_constant_service.proto +// [KeywordThemeConstantService.SuggestKeywordThemeConstants][google.ads.googleads.v13.services.KeywordThemeConstantService.SuggestKeywordThemeConstants]. +======== +// [KeywordThemeConstantService.SuggestKeywordThemeConstants][google.ads.googleads.v14.services.KeywordThemeConstantService.SuggestKeywordThemeConstants]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/keyword_theme_constant_service.proto +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 +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/keyword_theme_constant_service.proto +// [KeywordThemeConstantService.SuggestKeywordThemeConstants][google.ads.googleads.v13.services.KeywordThemeConstantService.SuggestKeywordThemeConstants]. +message SuggestKeywordThemeConstantsResponse { + // Smart Campaign keyword theme suggestions. + repeated google.ads.googleads.v13.resources.KeywordThemeConstant +======== +// [KeywordThemeConstantService.SuggestKeywordThemeConstants][google.ads.googleads.v14.services.KeywordThemeConstantService.SuggestKeywordThemeConstants]. +message SuggestKeywordThemeConstantsResponse { + // Smart Campaign keyword theme suggestions. + repeated google.ads.googleads.v14.resources.KeywordThemeConstant +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/keyword_theme_constant_service.proto + keyword_theme_constants = 1; +} diff --git a/third_party/googleapis/google/ads/googleads/v14/services/label_service.proto b/third_party/googleapis/google/ads/googleads/v14/services/label_service.proto new file mode 100644 index 000000000..3f6faa6be --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/services/label_service.proto @@ -0,0 +1,193 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/label_service.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/label_service.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/label_service.proto +package google.ads.googleads.v13.services; + +import "google/ads/googleads/v13/enums/response_content_type.proto"; +import "google/ads/googleads/v13/resources/label.proto"; +======== +package google.ads.googleads.v14.services; + +import "google/ads/googleads/v14/enums/response_content_type.proto"; +import "google/ads/googleads/v14/resources/label.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/label_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/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/label_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/services;services"; +option java_multiple_files = true; +option java_outer_classname = "LabelServiceProto"; +option java_package = "com.google.ads.googleads.v13.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V13::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/services;services"; +option java_multiple_files = true; +option java_outer_classname = "LabelServiceProto"; +option java_package = "com.google.ads.googleads.v14.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V14::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/label_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/label_service.proto + post: "/v13/customers/{customer_id=*}/labels:mutate" +======== + post: "/v14/customers/{customer_id=*}/labels:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/label_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/label_service.proto +// [LabelService.MutateLabels][google.ads.googleads.v13.services.LabelService.MutateLabels]. +======== +// [LabelService.MutateLabels][google.ads.googleads.v14.services.LabelService.MutateLabels]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/label_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/label_service.proto + google.ads.googleads.v13.enums.ResponseContentTypeEnum.ResponseContentType +======== + google.ads.googleads.v14.enums.ResponseContentTypeEnum.ResponseContentType +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/label_service.proto + 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/label_service.proto + google.ads.googleads.v13.resources.Label create = 1; + + // Update operation: The label is expected to have a valid resource name. + google.ads.googleads.v13.resources.Label update = 2; +======== + google.ads.googleads.v14.resources.Label create = 1; + + // Update operation: The label is expected to have a valid resource name. + google.ads.googleads.v14.resources.Label update = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/label_service.proto + + // 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". +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/label_service.proto + google.ads.googleads.v13.resources.Label label = 2; +======== + google.ads.googleads.v14.resources.Label label = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/label_service.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v14/services/media_file_service.proto b/third_party/googleapis/google/ads/googleads/v14/services/media_file_service.proto new file mode 100644 index 000000000..49841fbcc --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/services/media_file_service.proto @@ -0,0 +1,173 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/media_file_service.proto +package google.ads.googleads.v12.services; + +import "google/ads/googleads/v12/enums/response_content_type.proto"; +import "google/ads/googleads/v12/resources/media_file.proto"; +======== +package google.ads.googleads.v14.services; + +import "google/ads/googleads/v14/enums/response_content_type.proto"; +import "google/ads/googleads/v14/resources/media_file.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/media_file_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/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/media_file_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/services;services"; +option java_multiple_files = true; +option java_outer_classname = "MediaFileServiceProto"; +option java_package = "com.google.ads.googleads.v12.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V12::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/services;services"; +option java_multiple_files = true; +option java_outer_classname = "MediaFileServiceProto"; +option java_package = "com.google.ads.googleads.v14.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V14::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/media_file_service.proto + +// Proto file describing the Media File service. + +// Service to manage media files. +service MediaFileService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates media files. Operation statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [DatabaseError]() + // [DistinctError]() + // [FieldError]() + // [HeaderError]() + // [IdError]() + // [ImageError]() + // [InternalError]() + // [MediaBundleError]() + // [MediaFileError]() + // [NewResourceCreationError]() + // [NotEmptyError]() + // [NullError]() + // [OperatorError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + rpc MutateMediaFiles(MutateMediaFilesRequest) + returns (MutateMediaFilesResponse) { + option (google.api.http) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/media_file_service.proto + post: "/v12/customers/{customer_id=*}/mediaFiles:mutate" +======== + post: "/v14/customers/{customer_id=*}/mediaFiles:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/media_file_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/media_file_service.proto +// Request message for [MediaFileService.MutateMediaFiles][google.ads.googleads.v12.services.MediaFileService.MutateMediaFiles] +======== +// Request message for +// [MediaFileService.MutateMediaFiles][google.ads.googleads.v14.services.MediaFileService.MutateMediaFiles] +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/media_file_service.proto +message MutateMediaFilesRequest { + // Required. The ID of the customer whose media files are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual media file. + repeated MediaFileOperation 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/media_file_service.proto + google.ads.googleads.v12.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +======== + google.ads.googleads.v14.enums.ResponseContentTypeEnum.ResponseContentType + response_content_type = 5; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/media_file_service.proto +} + +// A single operation to create media file. +message MediaFileOperation { + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new media file. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/media_file_service.proto + google.ads.googleads.v12.resources.MediaFile create = 1; +======== + google.ads.googleads.v14.resources.MediaFile create = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/media_file_service.proto + } +} + +// Response message for a media file mutate. +message MutateMediaFilesResponse { + // 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 MutateMediaFileResult results = 2; +} + +// The result for the media file mutate. +message MutateMediaFileResult { + // The resource name returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/MediaFile" + }]; + + // The mutated media file with only mutable fields after mutate. The field + // will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/media_file_service.proto + google.ads.googleads.v12.resources.MediaFile media_file = 2; +======== + google.ads.googleads.v14.resources.MediaFile media_file = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/media_file_service.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v14/services/merchant_center_link_service.proto b/third_party/googleapis/google/ads/googleads/v14/services/merchant_center_link_service.proto new file mode 100644 index 000000000..fa5187947 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/services/merchant_center_link_service.proto @@ -0,0 +1,226 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/merchant_center_link_service.proto +package google.ads.googleads.v12.services; + +import "google/ads/googleads/v12/resources/merchant_center_link.proto"; +======== +package google.ads.googleads.v14.services; + +import "google/ads/googleads/v14/resources/merchant_center_link.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/merchant_center_link_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/protobuf/field_mask.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/merchant_center_link_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/services;services"; +option java_multiple_files = true; +option java_outer_classname = "MerchantCenterLinkServiceProto"; +option java_package = "com.google.ads.googleads.v12.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V12::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/services;services"; +option java_multiple_files = true; +option java_outer_classname = "MerchantCenterLinkServiceProto"; +option java_package = "com.google.ads.googleads.v14.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V14::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/merchant_center_link_service.proto + +// Proto file describing the MerchantCenterLink service. + +// This service allows management of links between Google Ads and Google +// Merchant Center. +service MerchantCenterLinkService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns Merchant Center links available for this customer. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc ListMerchantCenterLinks(ListMerchantCenterLinksRequest) + returns (ListMerchantCenterLinksResponse) { + option (google.api.http) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/merchant_center_link_service.proto + get: "/v12/customers/{customer_id=*}/merchantCenterLinks" +======== + get: "/v14/customers/{customer_id=*}/merchantCenterLinks" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/merchant_center_link_service.proto + }; + option (google.api.method_signature) = "customer_id"; + } + + // Returns the Merchant Center link in full detail. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/merchant_center_link_service.proto + rpc GetMerchantCenterLink(GetMerchantCenterLinkRequest) returns (google.ads.googleads.v12.resources.MerchantCenterLink) { + option (google.api.http) = { + get: "/v12/{resource_name=customers/*/merchantCenterLinks/*}" +======== + rpc GetMerchantCenterLink(GetMerchantCenterLinkRequest) + returns (google.ads.googleads.v14.resources.MerchantCenterLink) { + option (google.api.http) = { + get: "/v14/{resource_name=customers/*/merchantCenterLinks/*}" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/merchant_center_link_service.proto + }; + option (google.api.method_signature) = "resource_name"; + } + + // Updates status or removes a Merchant Center link. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [FieldMaskError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc MutateMerchantCenterLink(MutateMerchantCenterLinkRequest) + returns (MutateMerchantCenterLinkResponse) { + option (google.api.http) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/merchant_center_link_service.proto + post: "/v12/customers/{customer_id=*}/merchantCenterLinks:mutate" +======== + post: "/v14/customers/{customer_id=*}/merchantCenterLinks:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/merchant_center_link_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operation"; + } +} + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/merchant_center_link_service.proto +// Request message for [MerchantCenterLinkService.ListMerchantCenterLinks][google.ads.googleads.v12.services.MerchantCenterLinkService.ListMerchantCenterLinks]. +======== +// Request message for +// [MerchantCenterLinkService.ListMerchantCenterLinks][google.ads.googleads.v14.services.MerchantCenterLinkService.ListMerchantCenterLinks]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/merchant_center_link_service.proto +message ListMerchantCenterLinksRequest { + // Required. The ID of the customer onto which to apply the Merchant Center + // link list operation. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; +} + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/merchant_center_link_service.proto +// Response message for [MerchantCenterLinkService.ListMerchantCenterLinks][google.ads.googleads.v12.services.MerchantCenterLinkService.ListMerchantCenterLinks]. +message ListMerchantCenterLinksResponse { + // Merchant Center links available for the requested customer + repeated google.ads.googleads.v12.resources.MerchantCenterLink merchant_center_links = 1; +} + +// Request message for [MerchantCenterLinkService.GetMerchantCenterLink][google.ads.googleads.v12.services.MerchantCenterLinkService.GetMerchantCenterLink]. +======== +// Response message for +// [MerchantCenterLinkService.ListMerchantCenterLinks][google.ads.googleads.v14.services.MerchantCenterLinkService.ListMerchantCenterLinks]. +message ListMerchantCenterLinksResponse { + // Merchant Center links available for the requested customer + repeated google.ads.googleads.v14.resources.MerchantCenterLink + merchant_center_links = 1; +} + +// Request message for +// [MerchantCenterLinkService.GetMerchantCenterLink][google.ads.googleads.v14.services.MerchantCenterLinkService.GetMerchantCenterLink]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/merchant_center_link_service.proto +message GetMerchantCenterLinkRequest { + // Required. Resource name of the Merchant Center link. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/MerchantCenterLink" + } + ]; +} + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/merchant_center_link_service.proto +// Request message for [MerchantCenterLinkService.MutateMerchantCenterLink][google.ads.googleads.v12.services.MerchantCenterLinkService.MutateMerchantCenterLink]. +======== +// Request message for +// [MerchantCenterLinkService.MutateMerchantCenterLink][google.ads.googleads.v14.services.MerchantCenterLinkService.MutateMerchantCenterLink]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/merchant_center_link_service.proto +message MutateMerchantCenterLinkRequest { + // 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 + MerchantCenterLinkOperation 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 update on a Merchant Center link. +message MerchantCenterLinkOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 3; + + // The operation to perform + oneof operation { + // Update operation: The merchant center link is expected to have a valid + // resource name. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/merchant_center_link_service.proto + google.ads.googleads.v12.resources.MerchantCenterLink update = 1; +======== + google.ads.googleads.v14.resources.MerchantCenterLink update = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/merchant_center_link_service.proto + + // Remove operation: A resource name for the removed merchant center link is + // expected, in this format: + // + // `customers/{customer_id}/merchantCenterLinks/{merchant_center_id}` + string remove = 2 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/MerchantCenterLink" + }]; + } +} + +// Response message for Merchant Center link mutate. +message MutateMerchantCenterLinkResponse { + // Result for the mutate. + MutateMerchantCenterLinkResult result = 2; +} + +// The result for the Merchant Center link mutate. +message MutateMerchantCenterLinkResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/MerchantCenterLink" + }]; +} diff --git a/third_party/googleapis/google/ads/googleads/v14/services/offline_user_data_job_service.proto b/third_party/googleapis/google/ads/googleads/v14/services/offline_user_data_job_service.proto new file mode 100644 index 000000000..cea3cc54b --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/services/offline_user_data_job_service.proto @@ -0,0 +1,290 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/offline_user_data_job_service.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/offline_user_data_job_service.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/offline_user_data_job_service.proto +package google.ads.googleads.v13.services; + +import "google/ads/googleads/v13/common/offline_user_data.proto"; +import "google/ads/googleads/v13/resources/offline_user_data_job.proto"; +======== +package google.ads.googleads.v14.services; + +import "google/ads/googleads/v14/common/offline_user_data.proto"; +import "google/ads/googleads/v14/resources/offline_user_data_job.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/offline_user_data_job_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/offline_user_data_job_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/services;services"; +option java_multiple_files = true; +option java_outer_classname = "OfflineUserDataJobServiceProto"; +option java_package = "com.google.ads.googleads.v13.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V13::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/services;services"; +option java_multiple_files = true; +option java_outer_classname = "OfflineUserDataJobServiceProto"; +option java_package = "com.google.ads.googleads.v14.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V14::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/offline_user_data_job_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/offline_user_data_job_service.proto + post: "/v13/customers/{customer_id=*}/offlineUserDataJobs:create" +======== + post: "/v14/customers/{customer_id=*}/offlineUserDataJobs:create" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/offline_user_data_job_service.proto + 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/offline_user_data_job_service.proto + post: "/v13/{resource_name=customers/*/offlineUserDataJobs/*}:addOperations" +======== + post: "/v14/{resource_name=customers/*/offlineUserDataJobs/*}:addOperations" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/offline_user_data_job_service.proto + 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/offline_user_data_job_service.proto + post: "/v13/{resource_name=customers/*/offlineUserDataJobs/*}:run" +======== + post: "/v14/{resource_name=customers/*/offlineUserDataJobs/*}:run" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/offline_user_data_job_service.proto + body: "*" + }; + option (google.api.method_signature) = "resource_name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/offline_user_data_job_service.proto + metadata_type: "google.ads.googleads.v13.resources.OfflineUserDataJobMetadata" +======== + metadata_type: "google.ads.googleads.v14.resources.OfflineUserDataJobMetadata" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/offline_user_data_job_service.proto + }; + } +} + +// Request message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/offline_user_data_job_service.proto +// [OfflineUserDataJobService.CreateOfflineUserDataJob][google.ads.googleads.v13.services.OfflineUserDataJobService.CreateOfflineUserDataJob]. +======== +// [OfflineUserDataJobService.CreateOfflineUserDataJob][google.ads.googleads.v14.services.OfflineUserDataJobService.CreateOfflineUserDataJob]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/offline_user_data_job_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/offline_user_data_job_service.proto + google.ads.googleads.v13.resources.OfflineUserDataJob job = 2 +======== + google.ads.googleads.v14.resources.OfflineUserDataJob job = 2 +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/offline_user_data_job_service.proto + [(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 +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/offline_user_data_job_service.proto +// [OfflineUserDataJobService.CreateOfflineUserDataJob][google.ads.googleads.v13.services.OfflineUserDataJobService.CreateOfflineUserDataJob]. +======== +// [OfflineUserDataJobService.CreateOfflineUserDataJob][google.ads.googleads.v14.services.OfflineUserDataJobService.CreateOfflineUserDataJob]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/offline_user_data_job_service.proto +message CreateOfflineUserDataJobResponse { + // The resource name of the OfflineUserDataJob. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/OfflineUserDataJob" + }]; +} + +// Request message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/offline_user_data_job_service.proto +// [OfflineUserDataJobService.RunOfflineUserDataJob][google.ads.googleads.v13.services.OfflineUserDataJobService.RunOfflineUserDataJob]. +======== +// [OfflineUserDataJobService.RunOfflineUserDataJob][google.ads.googleads.v14.services.OfflineUserDataJobService.RunOfflineUserDataJob]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/offline_user_data_job_service.proto +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 +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/offline_user_data_job_service.proto +// [OfflineUserDataJobService.AddOfflineUserDataJobOperations][google.ads.googleads.v13.services.OfflineUserDataJobService.AddOfflineUserDataJobOperations]. +======== +// [OfflineUserDataJobService.AddOfflineUserDataJobOperations][google.ads.googleads.v14.services.OfflineUserDataJobService.AddOfflineUserDataJobOperations]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/offline_user_data_job_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/offline_user_data_job_service.proto + google.ads.googleads.v13.common.UserData create = 1; + + // Remove the provided data from the transaction. Data cannot be retrieved + // after being uploaded. + google.ads.googleads.v13.common.UserData remove = 2; +======== + google.ads.googleads.v14.common.UserData create = 1; + + // Remove the provided data from the transaction. Data cannot be retrieved + // after being uploaded. + google.ads.googleads.v14.common.UserData remove = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/offline_user_data_job_service.proto + + // Remove all previously provided data. This is only supported for Customer + // Match. + bool remove_all = 3; + } +} + +// Response message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/offline_user_data_job_service.proto +// [OfflineUserDataJobService.AddOfflineUserDataJobOperations][google.ads.googleads.v13.services.OfflineUserDataJobService.AddOfflineUserDataJobOperations]. +======== +// [OfflineUserDataJobService.AddOfflineUserDataJobOperations][google.ads.googleads.v14.services.OfflineUserDataJobService.AddOfflineUserDataJobOperations]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/offline_user_data_job_service.proto +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/v14/services/payments_account_service.proto b/third_party/googleapis/google/ads/googleads/v14/services/payments_account_service.proto new file mode 100644 index 000000000..c2c38d234 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/services/payments_account_service.proto @@ -0,0 +1,107 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/payments_account_service.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/payments_account_service.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/payments_account_service.proto +package google.ads.googleads.v13.services; + +import "google/ads/googleads/v13/resources/payments_account.proto"; +======== +package google.ads.googleads.v14.services; + +import "google/ads/googleads/v14/resources/payments_account.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/payments_account_service.proto +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/payments_account_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/services;services"; +option java_multiple_files = true; +option java_outer_classname = "PaymentsAccountServiceProto"; +option java_package = "com.google.ads.googleads.v13.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V13::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/services;services"; +option java_multiple_files = true; +option java_outer_classname = "PaymentsAccountServiceProto"; +option java_package = "com.google.ads.googleads.v14.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V14::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/payments_account_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/payments_account_service.proto + get: "/v13/customers/{customer_id=*}/paymentsAccounts" +======== + get: "/v14/customers/{customer_id=*}/paymentsAccounts" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/payments_account_service.proto + }; + 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 +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/payments_account_service.proto +// [PaymentsAccountService.ListPaymentsAccounts][google.ads.googleads.v13.services.PaymentsAccountService.ListPaymentsAccounts]. +message ListPaymentsAccountsResponse { + // The list of accessible payments accounts. + repeated google.ads.googleads.v13.resources.PaymentsAccount +======== +// [PaymentsAccountService.ListPaymentsAccounts][google.ads.googleads.v14.services.PaymentsAccountService.ListPaymentsAccounts]. +message ListPaymentsAccountsResponse { + // The list of accessible payments accounts. + repeated google.ads.googleads.v14.resources.PaymentsAccount +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/payments_account_service.proto + payments_accounts = 1; +} diff --git a/third_party/googleapis/google/ads/googleads/v14/services/product_link_service.proto b/third_party/googleapis/google/ads/googleads/v14/services/product_link_service.proto new file mode 100644 index 000000000..ac01e77aa --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/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.v14.services; + +import "google/ads/googleads/v14/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.V14.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/services;services"; +option java_multiple_files = true; +option java_outer_classname = "ProductLinkServiceProto"; +option java_package = "com.google.ads.googleads.v14.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V14::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: "/v14/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: "/v14/customers/{customer_id=*}/productLinks:remove" + body: "*" + }; + option (google.api.method_signature) = "customer_id,resource_name"; + } +} + +// Request message for +// [ProductLinkService.CreateProductLink][google.ads.googleads.v14.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.v14.resources.ProductLink product_link = 2 + [(google.api.field_behavior) = REQUIRED]; +} + +// Response message for +// [ProductLinkService.CreateProductLink][google.ads.googleads.v14.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.v14.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/v14/services/reach_plan_service.proto b/third_party/googleapis/google/ads/googleads/v14/services/reach_plan_service.proto new file mode 100644 index 000000000..f1f66230e --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/services/reach_plan_service.proto @@ -0,0 +1,740 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/reach_plan_service.proto +package google.ads.googleads.v12.services; + +import "google/ads/googleads/v12/common/criteria.proto"; +import "google/ads/googleads/v12/common/dates.proto"; +import "google/ads/googleads/v12/enums/frequency_cap_time_unit.proto"; +import "google/ads/googleads/v12/enums/reach_plan_age_range.proto"; +import "google/ads/googleads/v12/enums/reach_plan_network.proto"; +======== +package google.ads.googleads.v14.services; + +import "google/ads/googleads/v14/common/criteria.proto"; +import "google/ads/googleads/v14/common/dates.proto"; +import "google/ads/googleads/v14/enums/frequency_cap_time_unit.proto"; +import "google/ads/googleads/v14/enums/reach_plan_age_range.proto"; +import "google/ads/googleads/v14/enums/reach_plan_network.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/reach_plan_service.proto +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/reach_plan_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/services;services"; +option java_multiple_files = true; +option java_outer_classname = "ReachPlanServiceProto"; +option java_package = "com.google.ads.googleads.v12.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V12::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/services;services"; +option java_multiple_files = true; +option java_outer_classname = "ReachPlanServiceProto"; +option java_package = "com.google.ads.googleads.v14.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V14::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/reach_plan_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/reach_plan_service.proto + post: "/v12:listPlannableLocations" +======== + post: "/v14:listPlannableLocations" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/reach_plan_service.proto + 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/reach_plan_service.proto + post: "/v12:listPlannableProducts" +======== + post: "/v14:listPlannableProducts" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/reach_plan_service.proto + 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/reach_plan_service.proto + post: "/v12/customers/{customer_id=*}:generateReachForecast" +======== + post: "/v14/customers/{customer_id=*}:generateReachForecast" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/reach_plan_service.proto + body: "*" + }; + option (google.api.method_signature) = + "customer_id,campaign_duration,planned_products"; + } +} + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/reach_plan_service.proto +// Request message for [ReachPlanService.ListPlannableLocations][google.ads.googleads.v12.services.ReachPlanService.ListPlannableLocations]. +message ListPlannableLocationsRequest { + +} +======== +// Request message for +// [ReachPlanService.ListPlannableLocations][google.ads.googleads.v14.services.ReachPlanService.ListPlannableLocations]. +message ListPlannableLocationsRequest {} +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/reach_plan_service.proto + +// 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 +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/reach_plan_service.proto + // [ReachPlanService.ListPlannableLocations][google.ads.googleads.v12.services.ReachPlanService.ListPlannableLocations] or + // [GoogleAdsService.Search/SearchStream][]. +======== + // [ReachPlanService.ListPlannableLocations][google.ads.googleads.v14.services.ReachPlanService.ListPlannableLocations] + // or GoogleAdsService.Search/SearchStream. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/reach_plan_service.proto + 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 { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/reach_plan_service.proto + // Required. The ID of the selected location for planning. To list the available + // plannable location IDs use [ReachPlanService.ListPlannableLocations][google.ads.googleads.v12.services.ReachPlanService.ListPlannableLocations]. +======== + // Required. The ID of the selected location for planning. To list the + // available plannable location IDs use + // [ReachPlanService.ListPlannableLocations][google.ads.googleads.v14.services.ReachPlanService.ListPlannableLocations]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/reach_plan_service.proto + 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 +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/reach_plan_service.proto + // [ReachPlanService.ListPlannableProducts][google.ads.googleads.v12.services.ReachPlanService.ListPlannableProducts]. +======== + // [ReachPlanService.ListPlannableProducts][google.ads.googleads.v14.services.ReachPlanService.ListPlannableProducts]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/reach_plan_service.proto + 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/reach_plan_service.proto + repeated google.ads.googleads.v12.enums.ReachPlanAgeRangeEnum.ReachPlanAgeRange age_ranges = 1; + + // Targetable genders for the ad product. + repeated google.ads.googleads.v12.common.GenderInfo genders = 2; +======== + repeated + google.ads.googleads.v14.enums.ReachPlanAgeRangeEnum.ReachPlanAgeRange + age_ranges = 1; + + // Targetable genders for the ad product. + repeated google.ads.googleads.v14.common.GenderInfo genders = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/reach_plan_service.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/reach_plan_service.proto + repeated google.ads.googleads.v12.common.DeviceInfo devices = 3; + + // Targetable networks for the ad product. + repeated google.ads.googleads.v12.enums.ReachPlanNetworkEnum.ReachPlanNetwork networks = 4; +======== + repeated google.ads.googleads.v14.common.DeviceInfo devices = 3; + + // Targetable networks for the ad product. + repeated google.ads.googleads.v14.enums.ReachPlanNetworkEnum.ReachPlanNetwork + networks = 4; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/reach_plan_service.proto + + // Targetable YouTube Select Lineups for the ad product. + repeated YouTubeSelectLineUp youtube_select_lineups = 5; +} + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/reach_plan_service.proto +// Request message for [ReachPlanService.GenerateReachForecast][google.ads.googleads.v12.services.ReachPlanService.GenerateReachForecast]. +======== +// Request message for +// [ReachPlanService.GenerateReachForecast][google.ads.googleads.v14.services.ReachPlanService.GenerateReachForecast]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/reach_plan_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/reach_plan_service.proto + repeated PlannedProduct planned_products = 7 [(google.api.field_behavior) = REQUIRED]; +======== + repeated PlannedProduct planned_products = 7 + [(google.api.field_behavior) = REQUIRED]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/reach_plan_service.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/reach_plan_service.proto + // Required if targeting.audience_targeting is set. +======== +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/reach_plan_service.proto + 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/reach_plan_service.proto + google.ads.googleads.v12.enums.FrequencyCapTimeUnitEnum.FrequencyCapTimeUnit time_unit = 2 [(google.api.field_behavior) = REQUIRED]; +======== + google.ads.googleads.v14.enums.FrequencyCapTimeUnitEnum.FrequencyCapTimeUnit + time_unit = 2 [(google.api.field_behavior) = REQUIRED]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/reach_plan_service.proto +} + +// The targeting for which traffic metrics will be reported. +message Targeting { + // The ID of the selected location. Plannable location IDs can be +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/reach_plan_service.proto + // obtained from [ReachPlanService.ListPlannableLocations][google.ads.googleads.v12.services.ReachPlanService.ListPlannableLocations]. +======== + // obtained from + // [ReachPlanService.ListPlannableLocations][google.ads.googleads.v14.services.ReachPlanService.ListPlannableLocations]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/reach_plan_service.proto + // + // 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 +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/reach_plan_service.proto + // obtained from [ReachPlanService.ListPlannableLocations][google.ads.googleads.v12.services.ReachPlanService.ListPlannableLocations]. +======== + // obtained from + // [ReachPlanService.ListPlannableLocations][google.ads.googleads.v14.services.ReachPlanService.ListPlannableLocations]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/reach_plan_service.proto + // + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/reach_plan_service.proto + google.ads.googleads.v12.enums.ReachPlanAgeRangeEnum.ReachPlanAgeRange age_range = 2; + + // Targeted genders. + // An unset value is equivalent to targeting MALE and FEMALE. + repeated google.ads.googleads.v12.common.GenderInfo genders = 3; +======== + google.ads.googleads.v14.enums.ReachPlanAgeRangeEnum.ReachPlanAgeRange + age_range = 2; + + // Targeted genders. + // An unset value is equivalent to targeting MALE and FEMALE. + repeated google.ads.googleads.v14.common.GenderInfo genders = 3; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/reach_plan_service.proto + + // Targeted devices. + // If not specified, targets all applicable devices. Applicable devices vary + // by product and region and can be obtained from +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/reach_plan_service.proto + // [ReachPlanService.ListPlannableProducts][google.ads.googleads.v12.services.ReachPlanService.ListPlannableProducts]. + repeated google.ads.googleads.v12.common.DeviceInfo devices = 4; +======== + // [ReachPlanService.ListPlannableProducts][google.ads.googleads.v14.services.ReachPlanService.ListPlannableProducts]. + repeated google.ads.googleads.v14.common.DeviceInfo devices = 4; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/reach_plan_service.proto + + // 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 +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/reach_plan_service.proto + // [ReachPlanService.ListPlannableProducts][google.ads.googleads.v12.services.ReachPlanService.ListPlannableProducts]. + google.ads.googleads.v12.enums.ReachPlanNetworkEnum.ReachPlanNetwork network = 5; +======== + // [ReachPlanService.ListPlannableProducts][google.ads.googleads.v14.services.ReachPlanService.ListPlannableProducts]. + google.ads.googleads.v14.enums.ReachPlanNetworkEnum.ReachPlanNetwork network = + 5; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/reach_plan_service.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/reach_plan_service.proto + google.ads.googleads.v12.common.DateRange date_range = 3; +======== + google.ads.googleads.v14.common.DateRange date_range = 3; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/reach_plan_service.proto +} + +// 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 +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/reach_plan_service.proto + // [ReachPlanService.ListPlannableProducts][google.ads.googleads.v12.services.ReachPlanService.ListPlannableProducts]. + optional string plannable_product_code = 3; +======== + // [ReachPlanService.ListPlannableProducts][google.ads.googleads.v14.services.ReachPlanService.ListPlannableProducts]. + optional string plannable_product_code = 3 + [(google.api.field_behavior) = REQUIRED]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/reach_plan_service.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/reach_plan_service.proto + optional int64 budget_micros = 4; + + // Targeting settings for the selected product. + // To list the available targeting for each product use + // [ReachPlanService.ListPlannableProducts][google.ads.googleads.v12.services.ReachPlanService.ListPlannableProducts]. +======== + 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.v14.services.ReachPlanService.ListPlannableProducts]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/reach_plan_service.proto + 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; +} + +// 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; +} + +// Audience metrics for the planned products. +// These metrics consider the following targeting dimensions: +// +// - Location +// - PlannableAgeRange +// - Gender +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/reach_plan_service.proto + repeated google.ads.googleads.v12.common.UserInterestInfo user_interest = 1; +======== + repeated google.ads.googleads.v14.common.UserInterestInfo user_interest = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/reach_plan_service.proto +} + +// Advanced targeting settings for products. +message AdvancedProductTargeting { + // 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; +} diff --git a/third_party/googleapis/google/ads/googleads/v14/services/recommendation_service.proto b/third_party/googleapis/google/ads/googleads/v14/services/recommendation_service.proto new file mode 100644 index 000000000..7759c21fc --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/services/recommendation_service.proto @@ -0,0 +1,529 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/recommendation_service.proto +package google.ads.googleads.v12.services; + +import "google/ads/googleads/v12/common/extensions.proto"; +import "google/ads/googleads/v12/enums/keyword_match_type.proto"; +import "google/ads/googleads/v12/resources/ad.proto"; +======== +package google.ads.googleads.v14.services; + +import "google/ads/googleads/v14/common/extensions.proto"; +import "google/ads/googleads/v14/enums/keyword_match_type.proto"; +import "google/ads/googleads/v14/resources/ad.proto"; +import "google/ads/googleads/v14/resources/asset.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/recommendation_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/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/recommendation_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/services;services"; +option java_multiple_files = true; +option java_outer_classname = "RecommendationServiceProto"; +option java_package = "com.google.ads.googleads.v12.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V12::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/services;services"; +option java_multiple_files = true; +option java_outer_classname = "RecommendationServiceProto"; +option java_package = "com.google.ads.googleads.v14.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V14::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/recommendation_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/recommendation_service.proto + post: "/v12/customers/{customer_id=*}/recommendations:apply" +======== + post: "/v14/customers/{customer_id=*}/recommendations:apply" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/recommendation_service.proto + 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/recommendation_service.proto + post: "/v12/customers/{customer_id=*}/recommendations:dismiss" +======== + post: "/v14/customers/{customer_id=*}/recommendations:dismiss" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/recommendation_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/recommendation_service.proto +// Request message for [RecommendationService.ApplyRecommendation][google.ads.googleads.v12.services.RecommendationService.ApplyRecommendation]. +======== +// Request message for +// [RecommendationService.ApplyRecommendation][google.ads.googleads.v14.services.RecommendationService.ApplyRecommendation]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/recommendation_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/recommendation_service.proto + google.ads.googleads.v12.resources.Ad ad = 1; +======== + google.ads.googleads.v14.resources.Ad ad = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/recommendation_service.proto + } + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/recommendation_service.proto + google.ads.googleads.v12.enums.KeywordMatchTypeEnum.KeywordMatchType match_type = 2; +======== + google.ads.googleads.v14.enums.KeywordMatchTypeEnum.KeywordMatchType + match_type = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/recommendation_service.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/recommendation_service.proto + repeated google.ads.googleads.v12.common.CalloutFeedItem callout_extensions = 1; +======== + repeated google.ads.googleads.v14.common.CalloutFeedItem + callout_extensions = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/recommendation_service.proto + } + + // Parameters to use when applying call extension recommendation. + message CallExtensionParameters { + // Call extensions to be added. This is a required field. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/recommendation_service.proto + repeated google.ads.googleads.v12.common.CallFeedItem call_extensions = 1; +======== + repeated google.ads.googleads.v14.common.CallFeedItem call_extensions = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/recommendation_service.proto + } + + // Parameters to use when applying sitelink recommendation. + message SitelinkExtensionParameters { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/recommendation_service.proto + // Sitelink extensions to be added. This is a required field. + repeated google.ads.googleads.v12.common.SitelinkFeedItem sitelink_extensions = 1; +======== + // Sitelinks to be added. This is a required field. + repeated google.ads.googleads.v14.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.v14.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]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/recommendation_service.proto + } + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/recommendation_service.proto + google.ads.googleads.v12.resources.Ad updated_ad = 1; +======== + google.ads.googleads.v14.resources.Ad updated_ad = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/recommendation_service.proto + } + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/recommendation_service.proto + google.ads.googleads.v12.resources.Ad updated_ad = 1; +======== + google.ads.googleads.v14.resources.Ad updated_ad = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/recommendation_service.proto + } + + // Parameters to use when applying a responsive search ad recommendation. + message ResponsiveSearchAdParameters { + // Required. New ad to add to recommended ad group. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/recommendation_service.proto + google.ads.googleads.v12.resources.Ad ad = 1 [(google.api.field_behavior) = REQUIRED]; +======== + google.ads.googleads.v14.resources.Ad ad = 1 + [(google.api.field_behavior) = REQUIRED]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/recommendation_service.proto + } + + // 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 { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/recommendation_service.proto + // Required. A number greater than 1.0 indicating the factor by which to increase the + // target CPA. This is a required field. +======== + // Required. A number greater than 1.0 indicating the factor by which to + // increase the target CPA. This is a required field. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/recommendation_service.proto + 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; + } + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/recommendation_service.proto + ResponsiveSearchAdImproveAdStrengthParameters responsive_search_ad_improve_ad_strength = 14; +======== + ResponsiveSearchAdImproveAdStrengthParameters + responsive_search_ad_improve_ad_strength = 14; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/recommendation_service.proto + + // 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; +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/recommendation_service.proto + } +} + +// Response message for [RecommendationService.ApplyRecommendation][google.ads.googleads.v12.services.RecommendationService.ApplyRecommendation]. +======== + + // 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; + } +} + +// Response message for +// [RecommendationService.ApplyRecommendation][google.ads.googleads.v14.services.RecommendationService.ApplyRecommendation]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/recommendation_service.proto +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" + }]; +} + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/recommendation_service.proto +// Request message for [RecommendationService.DismissRecommendation][google.ads.googleads.v12.services.RecommendationService.DismissRecommendation]. +======== +// Request message for +// [RecommendationService.DismissRecommendation][google.ads.googleads.v14.services.RecommendationService.DismissRecommendation]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/recommendation_service.proto +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; +} + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/recommendation_service.proto +// Response message for [RecommendationService.DismissRecommendation][google.ads.googleads.v12.services.RecommendationService.DismissRecommendation]. +======== +// Response message for +// [RecommendationService.DismissRecommendation][google.ads.googleads.v14.services.RecommendationService.DismissRecommendation]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/recommendation_service.proto +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; +} diff --git a/third_party/googleapis/google/ads/googleads/v14/services/remarketing_action_service.proto b/third_party/googleapis/google/ads/googleads/v14/services/remarketing_action_service.proto new file mode 100644 index 000000000..b9f7729d0 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/services/remarketing_action_service.proto @@ -0,0 +1,158 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/remarketing_action_service.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/remarketing_action_service.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/remarketing_action_service.proto +package google.ads.googleads.v13.services; + +import "google/ads/googleads/v13/resources/remarketing_action.proto"; +======== +package google.ads.googleads.v14.services; + +import "google/ads/googleads/v14/resources/remarketing_action.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/remarketing_action_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/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/remarketing_action_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/services;services"; +option java_multiple_files = true; +option java_outer_classname = "RemarketingActionServiceProto"; +option java_package = "com.google.ads.googleads.v13.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V13::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/services;services"; +option java_multiple_files = true; +option java_outer_classname = "RemarketingActionServiceProto"; +option java_package = "com.google.ads.googleads.v14.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V14::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/remarketing_action_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/remarketing_action_service.proto + post: "/v13/customers/{customer_id=*}/remarketingActions:mutate" +======== + post: "/v14/customers/{customer_id=*}/remarketingActions:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/remarketing_action_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/remarketing_action_service.proto +// [RemarketingActionService.MutateRemarketingActions][google.ads.googleads.v13.services.RemarketingActionService.MutateRemarketingActions]. +======== +// [RemarketingActionService.MutateRemarketingActions][google.ads.googleads.v14.services.RemarketingActionService.MutateRemarketingActions]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/remarketing_action_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/remarketing_action_service.proto + google.ads.googleads.v13.resources.RemarketingAction create = 1; + + // Update operation: The remarketing action is expected to have a valid + // resource name. + google.ads.googleads.v13.resources.RemarketingAction update = 2; +======== + google.ads.googleads.v14.resources.RemarketingAction create = 1; + + // Update operation: The remarketing action is expected to have a valid + // resource name. + google.ads.googleads.v14.resources.RemarketingAction update = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/remarketing_action_service.proto + } +} + +// 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/v14/services/shared_criterion_service.proto b/third_party/googleapis/google/ads/googleads/v14/services/shared_criterion_service.proto new file mode 100644 index 000000000..c90db5cf0 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/services/shared_criterion_service.proto @@ -0,0 +1,185 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/shared_criterion_service.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/shared_criterion_service.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/shared_criterion_service.proto +package google.ads.googleads.v13.services; + +import "google/ads/googleads/v13/enums/response_content_type.proto"; +import "google/ads/googleads/v13/resources/shared_criterion.proto"; +======== +package google.ads.googleads.v14.services; + +import "google/ads/googleads/v14/enums/response_content_type.proto"; +import "google/ads/googleads/v14/resources/shared_criterion.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/shared_criterion_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/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/shared_criterion_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/services;services"; +option java_multiple_files = true; +option java_outer_classname = "SharedCriterionServiceProto"; +option java_package = "com.google.ads.googleads.v13.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V13::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/services;services"; +option java_multiple_files = true; +option java_outer_classname = "SharedCriterionServiceProto"; +option java_package = "com.google.ads.googleads.v14.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V14::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/shared_criterion_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/shared_criterion_service.proto + post: "/v13/customers/{customer_id=*}/sharedCriteria:mutate" +======== + post: "/v14/customers/{customer_id=*}/sharedCriteria:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/shared_criterion_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/shared_criterion_service.proto +// [SharedCriterionService.MutateSharedCriteria][google.ads.googleads.v13.services.SharedCriterionService.MutateSharedCriteria]. +======== +// [SharedCriterionService.MutateSharedCriteria][google.ads.googleads.v14.services.SharedCriterionService.MutateSharedCriteria]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/shared_criterion_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/shared_criterion_service.proto + google.ads.googleads.v13.enums.ResponseContentTypeEnum.ResponseContentType +======== + google.ads.googleads.v14.enums.ResponseContentTypeEnum.ResponseContentType +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/shared_criterion_service.proto + 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/shared_criterion_service.proto + google.ads.googleads.v13.resources.SharedCriterion create = 1; +======== + google.ads.googleads.v14.resources.SharedCriterion create = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/shared_criterion_service.proto + + // 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". +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/shared_criterion_service.proto + google.ads.googleads.v13.resources.SharedCriterion shared_criterion = 2; +======== + google.ads.googleads.v14.resources.SharedCriterion shared_criterion = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/shared_criterion_service.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v14/services/shared_set_service.proto b/third_party/googleapis/google/ads/googleads/v14/services/shared_set_service.proto new file mode 100644 index 000000000..2ba877164 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/services/shared_set_service.proto @@ -0,0 +1,199 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/shared_set_service.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/shared_set_service.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/shared_set_service.proto +package google.ads.googleads.v13.services; + +import "google/ads/googleads/v13/enums/response_content_type.proto"; +import "google/ads/googleads/v13/resources/shared_set.proto"; +======== +package google.ads.googleads.v14.services; + +import "google/ads/googleads/v14/enums/response_content_type.proto"; +import "google/ads/googleads/v14/resources/shared_set.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/shared_set_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/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/shared_set_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/services;services"; +option java_multiple_files = true; +option java_outer_classname = "SharedSetServiceProto"; +option java_package = "com.google.ads.googleads.v13.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V13::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/services;services"; +option java_multiple_files = true; +option java_outer_classname = "SharedSetServiceProto"; +option java_package = "com.google.ads.googleads.v14.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V14::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/shared_set_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/shared_set_service.proto + post: "/v13/customers/{customer_id=*}/sharedSets:mutate" +======== + post: "/v14/customers/{customer_id=*}/sharedSets:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/shared_set_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/shared_set_service.proto +// [SharedSetService.MutateSharedSets][google.ads.googleads.v13.services.SharedSetService.MutateSharedSets]. +======== +// [SharedSetService.MutateSharedSets][google.ads.googleads.v14.services.SharedSetService.MutateSharedSets]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/shared_set_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/shared_set_service.proto + google.ads.googleads.v13.enums.ResponseContentTypeEnum.ResponseContentType +======== + google.ads.googleads.v14.enums.ResponseContentTypeEnum.ResponseContentType +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/shared_set_service.proto + 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/shared_set_service.proto + google.ads.googleads.v13.resources.SharedSet create = 1; + + // Update operation: The shared set is expected to have a valid resource + // name. + google.ads.googleads.v13.resources.SharedSet update = 2; +======== + google.ads.googleads.v14.resources.SharedSet create = 1; + + // Update operation: The shared set is expected to have a valid resource + // name. + google.ads.googleads.v14.resources.SharedSet update = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/shared_set_service.proto + + // 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". +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/shared_set_service.proto + google.ads.googleads.v13.resources.SharedSet shared_set = 2; +======== + google.ads.googleads.v14.resources.SharedSet shared_set = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/shared_set_service.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v14/services/smart_campaign_setting_service.proto b/third_party/googleapis/google/ads/googleads/v14/services/smart_campaign_setting_service.proto new file mode 100644 index 000000000..455a138c9 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/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.v14.services; + +import "google/ads/googleads/v14/enums/response_content_type.proto"; +import "google/ads/googleads/v14/enums/smart_campaign_not_eligible_reason.proto"; +import "google/ads/googleads/v14/enums/smart_campaign_status.proto"; +import "google/ads/googleads/v14/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.V14.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/services;services"; +option java_multiple_files = true; +option java_outer_classname = "SmartCampaignSettingServiceProto"; +option java_package = "com.google.ads.googleads.v14.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V14::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: "/v14/{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: "/v14/customers/{customer_id=*}/smartCampaignSettings:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [SmartCampaignSettingService.GetSmartCampaignStatus][google.ads.googleads.v14.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.v14.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.v14.services.SmartCampaignSettingService.GetSmartCampaignStatus]. +message GetSmartCampaignStatusResponse { + // The status of this Smart campaign. + google.ads.googleads.v14.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.v14.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.v14.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.v14.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.v14.resources.SmartCampaignSetting + smart_campaign_setting = 2; +} diff --git a/third_party/googleapis/google/ads/googleads/v14/services/smart_campaign_suggest_service.proto b/third_party/googleapis/google/ads/googleads/v14/services/smart_campaign_suggest_service.proto new file mode 100644 index 000000000..1547c81b2 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/services/smart_campaign_suggest_service.proto @@ -0,0 +1,332 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/smart_campaign_suggest_service.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/smart_campaign_suggest_service.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/smart_campaign_suggest_service.proto +package google.ads.googleads.v13.services; + +import "google/ads/googleads/v13/common/ad_type_infos.proto"; +import "google/ads/googleads/v13/common/criteria.proto"; +import "google/ads/googleads/v13/resources/keyword_theme_constant.proto"; +======== +package google.ads.googleads.v14.services; + +import "google/ads/googleads/v14/common/ad_type_infos.proto"; +import "google/ads/googleads/v14/common/criteria.proto"; +import "google/ads/googleads/v14/resources/keyword_theme_constant.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/smart_campaign_suggest_service.proto +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/smart_campaign_suggest_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/services;services"; +option java_multiple_files = true; +option java_outer_classname = "SmartCampaignSuggestServiceProto"; +option java_package = "com.google.ads.googleads.v13.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V13::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/services;services"; +option java_multiple_files = true; +option java_outer_classname = "SmartCampaignSuggestServiceProto"; +option java_package = "com.google.ads.googleads.v14.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V14::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/smart_campaign_suggest_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/smart_campaign_suggest_service.proto + post: "/v13/customers/{customer_id=*}:suggestSmartCampaignBudgetOptions" +======== + post: "/v14/customers/{customer_id=*}:suggestSmartCampaignBudgetOptions" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/smart_campaign_suggest_service.proto + 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/smart_campaign_suggest_service.proto + post: "/v13/customers/{customer_id=*}:suggestSmartCampaignAd" +======== + post: "/v14/customers/{customer_id=*}:suggestSmartCampaignAd" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/smart_campaign_suggest_service.proto + body: "*" + }; + } + + // Suggests keyword themes to advertise on. + rpc SuggestKeywordThemes(SuggestKeywordThemesRequest) + returns (SuggestKeywordThemesResponse) { + option (google.api.http) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/smart_campaign_suggest_service.proto + post: "/v13/customers/{customer_id=*}:suggestKeywordThemes" +======== + post: "/v14/customers/{customer_id=*}:suggestKeywordThemes" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/smart_campaign_suggest_service.proto + body: "*" + }; + } +} + +// Request message for +// [SmartCampaignSuggestService.SuggestSmartCampaignBudgetOptions][google.ads.googleads.v14.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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/smart_campaign_suggest_service.proto + repeated google.ads.googleads.v13.common.LocationInfo locations = 1 +======== + repeated google.ads.googleads.v14.common.LocationInfo locations = 1 +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/smart_campaign_suggest_service.proto + [(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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/smart_campaign_suggest_service.proto + repeated google.ads.googleads.v13.common.AdScheduleInfo ad_schedules = 6 +======== + repeated google.ads.googleads.v14.common.AdScheduleInfo ad_schedules = 6 +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/smart_campaign_suggest_service.proto + [(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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/smart_campaign_suggest_service.proto + repeated google.ads.googleads.v13.common.KeywordThemeInfo keyword_themes = 7 +======== + repeated google.ads.googleads.v14.common.KeywordThemeInfo keyword_themes = 7 +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/smart_campaign_suggest_service.proto + [(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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/smart_campaign_suggest_service.proto + google.ads.googleads.v13.common.ProximityInfo proximity = 5 +======== + google.ads.googleads.v14.common.ProximityInfo proximity = 5 +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/smart_campaign_suggest_service.proto + [(google.api.field_behavior) = OPTIONAL]; + } +} + +// Response message for +// [SmartCampaignSuggestService.SuggestSmartCampaignBudgetOptions][google.ads.googleads.v14.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 +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/smart_campaign_suggest_service.proto +// [SmartCampaignSuggestService.SuggestSmartCampaignAd][google.ads.googleads.v13.services.SmartCampaignSuggestService.SuggestSmartCampaignAd]. +======== +// [SmartCampaignSuggestService.SuggestSmartCampaignAd][google.ads.googleads.v14.services.SmartCampaignSuggestService.SuggestSmartCampaignAd]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/smart_campaign_suggest_service.proto +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 +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/smart_campaign_suggest_service.proto +// [SmartCampaignSuggestService.SuggestSmartCampaignAd][google.ads.googleads.v13.services.SmartCampaignSuggestService.SuggestSmartCampaignAd]. +message SuggestSmartCampaignAdResponse { + // Optional. Ad info includes 3 creative headlines and 2 creative + // descriptions. + google.ads.googleads.v13.common.SmartCampaignAdInfo ad_info = 1 +======== +// [SmartCampaignSuggestService.SuggestSmartCampaignAd][google.ads.googleads.v14.services.SmartCampaignSuggestService.SuggestSmartCampaignAd]. +message SuggestSmartCampaignAdResponse { + // Optional. Ad info includes 3 creative headlines and 2 creative + // descriptions. + google.ads.googleads.v14.common.SmartCampaignAdInfo ad_info = 1 +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/smart_campaign_suggest_service.proto + [(google.api.field_behavior) = OPTIONAL]; +} + +// Request message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/smart_campaign_suggest_service.proto +// [SmartCampaignSuggestService.SuggestKeywordThemes][google.ads.googleads.v13.services.SmartCampaignSuggestService.SuggestKeywordThemes]. +======== +// [SmartCampaignSuggestService.SuggestKeywordThemes][google.ads.googleads.v14.services.SmartCampaignSuggestService.SuggestKeywordThemes]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/smart_campaign_suggest_service.proto +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 +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/smart_campaign_suggest_service.proto +// [SmartCampaignSuggestService.SuggestKeywordThemes][google.ads.googleads.v13.services.SmartCampaignSuggestService.SuggestKeywordThemes]. +======== +// [SmartCampaignSuggestService.SuggestKeywordThemes][google.ads.googleads.v14.services.SmartCampaignSuggestService.SuggestKeywordThemes]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/smart_campaign_suggest_service.proto +message SuggestKeywordThemesResponse { + // A Smart campaign keyword theme suggestion. + message KeywordTheme { + // A keyword theme. + oneof keyword_theme { + // A Smart campaign keyword theme constant. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/smart_campaign_suggest_service.proto + google.ads.googleads.v13.resources.KeywordThemeConstant +======== + google.ads.googleads.v14.resources.KeywordThemeConstant +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/smart_campaign_suggest_service.proto + 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/v14/services/third_party_app_analytics_link_service.proto b/third_party/googleapis/google/ads/googleads/v14/services/third_party_app_analytics_link_service.proto new file mode 100644 index 000000000..e4988a97e --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/services/third_party_app_analytics_link_service.proto @@ -0,0 +1,99 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/third_party_app_analytics_link_service.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/third_party_app_analytics_link_service.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/third_party_app_analytics_link_service.proto +package google.ads.googleads.v13.services; +======== +package google.ads.googleads.v14.services; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/third_party_app_analytics_link_service.proto + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/resource.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/third_party_app_analytics_link_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/services;services"; +option java_multiple_files = true; +option java_outer_classname = "ThirdPartyAppAnalyticsLinkServiceProto"; +option java_package = "com.google.ads.googleads.v13.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V13::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/services;services"; +option java_multiple_files = true; +option java_outer_classname = "ThirdPartyAppAnalyticsLinkServiceProto"; +option java_package = "com.google.ads.googleads.v14.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V14::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/third_party_app_analytics_link_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/third_party_app_analytics_link_service.proto + post: "/v13/{resource_name=customers/*/thirdPartyAppAnalyticsLinks/*}:regenerateShareableLinkId" +======== + post: "/v14/{resource_name=customers/*/thirdPartyAppAnalyticsLinks/*}:regenerateShareableLinkId" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/third_party_app_analytics_link_service.proto + body: "*" + }; + } +} + +// Request message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/third_party_app_analytics_link_service.proto +// [ThirdPartyAppAnalyticsLinkService.RegenerateShareableLinkId][google.ads.googleads.v13.services.ThirdPartyAppAnalyticsLinkService.RegenerateShareableLinkId]. +======== +// [ThirdPartyAppAnalyticsLinkService.RegenerateShareableLinkId][google.ads.googleads.v14.services.ThirdPartyAppAnalyticsLinkService.RegenerateShareableLinkId]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/third_party_app_analytics_link_service.proto +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 +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/third_party_app_analytics_link_service.proto +// [ThirdPartyAppAnalyticsLinkService.RegenerateShareableLinkId][google.ads.googleads.v13.services.ThirdPartyAppAnalyticsLinkService.RegenerateShareableLinkId]. +======== +// [ThirdPartyAppAnalyticsLinkService.RegenerateShareableLinkId][google.ads.googleads.v14.services.ThirdPartyAppAnalyticsLinkService.RegenerateShareableLinkId]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/third_party_app_analytics_link_service.proto +message RegenerateShareableLinkIdResponse {} diff --git a/third_party/googleapis/google/ads/googleads/v14/services/travel_asset_suggestion_service.proto b/third_party/googleapis/google/ads/googleads/v14/services/travel_asset_suggestion_service.proto new file mode 100644 index 000000000..005fb1533 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/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.v14.services; + +import "google/ads/googleads/v14/enums/asset_field_type.proto"; +import "google/ads/googleads/v14/enums/call_to_action_type.proto"; +import "google/ads/googleads/v14/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.V14.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/services;services"; +option java_multiple_files = true; +option java_outer_classname = "TravelAssetSuggestionServiceProto"; +option java_package = "com.google.ads.googleads.v14.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V14::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: "/v14/customers/{customer_id=*}:suggestTravelAssets" + body: "*" + }; + option (google.api.method_signature) = "customer_id,language_option"; + } +} + +// Request message for +// [TravelAssetSuggestionService.SuggestTravelAssets][google.ads.googleads.v14.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.v14.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.v14.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.v14.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.v14.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.v14.enums.AssetFieldTypeEnum.AssetFieldType + asset_field_type = 2; +} diff --git a/third_party/googleapis/google/ads/googleads/v14/services/user_data_service.proto b/third_party/googleapis/google/ads/googleads/v14/services/user_data_service.proto new file mode 100644 index 000000000..c8cda5f77 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/services/user_data_service.proto @@ -0,0 +1,152 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/user_data_service.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/user_data_service.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/user_data_service.proto +package google.ads.googleads.v13.services; + +import "google/ads/googleads/v13/common/offline_user_data.proto"; +======== +package google.ads.googleads.v14.services; + +import "google/ads/googleads/v14/common/offline_user_data.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/user_data_service.proto +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/user_data_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/services;services"; +option java_multiple_files = true; +option java_outer_classname = "UserDataServiceProto"; +option java_package = "com.google.ads.googleads.v13.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V13::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/services;services"; +option java_multiple_files = true; +option java_outer_classname = "UserDataServiceProto"; +option java_package = "com.google.ads.googleads.v14.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V14::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/user_data_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/user_data_service.proto + post: "/v13/customers/{customer_id=*}:uploadUserData" +======== + post: "/v14/customers/{customer_id=*}:uploadUserData" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/user_data_service.proto + body: "*" + }; + } +} + +// Request message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/user_data_service.proto +// [UserDataService.UploadUserData][google.ads.googleads.v13.services.UserDataService.UploadUserData] +======== +// [UserDataService.UploadUserData][google.ads.googleads.v14.services.UserDataService.UploadUserData] +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/user_data_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/user_data_service.proto + google.ads.googleads.v13.common.CustomerMatchUserListMetadata +======== + google.ads.googleads.v14.common.CustomerMatchUserListMetadata +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/user_data_service.proto + 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/user_data_service.proto + google.ads.googleads.v13.common.UserData create = 1; + + // The list of user data to be removed from the user list. + google.ads.googleads.v13.common.UserData remove = 2; +======== + google.ads.googleads.v14.common.UserData create = 1; + + // The list of user data to be removed from the user list. + google.ads.googleads.v14.common.UserData remove = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/user_data_service.proto + } +} + +// Response message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/user_data_service.proto +// [UserDataService.UploadUserData][google.ads.googleads.v13.services.UserDataService.UploadUserData] +======== +// [UserDataService.UploadUserData][google.ads.googleads.v14.services.UserDataService.UploadUserData] +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/user_data_service.proto +// 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/v14/services/user_list_service.proto b/third_party/googleapis/google/ads/googleads/v14/services/user_list_service.proto new file mode 100644 index 000000000..ab1992f49 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v14/services/user_list_service.proto @@ -0,0 +1,176 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/user_list_service.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/user_list_service.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/user_list_service.proto +package google.ads.googleads.v13.services; + +import "google/ads/googleads/v13/resources/user_list.proto"; +======== +package google.ads.googleads.v14.services; + +import "google/ads/googleads/v14/resources/user_list.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/user_list_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/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/user_list_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/services;services"; +option java_multiple_files = true; +option java_outer_classname = "UserListServiceProto"; +option java_package = "com.google.ads.googleads.v13.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V13::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V14.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/services;services"; +option java_multiple_files = true; +option java_outer_classname = "UserListServiceProto"; +option java_package = "com.google.ads.googleads.v14.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V14::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/user_list_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/user_list_service.proto + post: "/v13/customers/{customer_id=*}/userLists:mutate" +======== + post: "/v14/customers/{customer_id=*}/userLists:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/user_list_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/user_list_service.proto +// [UserListService.MutateUserLists][google.ads.googleads.v13.services.UserListService.MutateUserLists]. +======== +// [UserListService.MutateUserLists][google.ads.googleads.v14.services.UserListService.MutateUserLists]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/user_list_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/user_list_service.proto + google.ads.googleads.v13.resources.UserList create = 1; + + // Update operation: The user list is expected to have a valid resource + // name. + google.ads.googleads.v13.resources.UserList update = 2; +======== + google.ads.googleads.v14.resources.UserList create = 1; + + // Update operation: The user list is expected to have a valid resource + // name. + google.ads.googleads.v14.resources.UserList update = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v14/services/user_list_service.proto + + // 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/ads/googleads/v15/BUILD.bazel b/third_party/googleapis/google/ads/googleads/v15/BUILD.bazel new file mode 100644 index 000000000..76e9d8b45 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/BUILD.bazel @@ -0,0 +1,343 @@ +# 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 = [ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/BUILD.bazel + "//google/ads/googleads/v12/common:common_proto", + "//google/ads/googleads/v12/enums:enums_proto", + "//google/ads/googleads/v12/errors:errors_proto", + "//google/ads/googleads/v12/resources:resources_proto", + "//google/ads/googleads/v12/services:services_proto", +======== + "//google/ads/googleads/v15/common:common_proto", + "//google/ads/googleads/v15/enums:enums_proto", + "//google/ads/googleads/v15/errors:errors_proto", + "//google/ads/googleads/v15/resources:resources_proto", + "//google/ads/googleads/v15/services:services_proto", +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/BUILD.bazel + ], +) + +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_v15.yaml", + deps = [ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/BUILD.bazel + "//google/ads/googleads/v12/common:common_java_proto", + "//google/ads/googleads/v12/enums:enums_java_proto", + "//google/ads/googleads/v12/resources:resources_java_proto", + "//google/ads/googleads/v12/services:services_java_grpc", + "//google/ads/googleads/v12/services:services_java_proto", +======== + "//google/ads/googleads/v15/common:common_java_proto", + "//google/ads/googleads/v15/enums:enums_java_proto", + "//google/ads/googleads/v15/resources:resources_java_proto", + "//google/ads/googleads/v15/services:services_java_grpc", + "//google/ads/googleads/v15/services:services_java_proto", +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/BUILD.bazel + ], +) + +# 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 = [ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/BUILD.bazel + "com.google.ads.googleads.v12.services.CampaignServiceClientTest", +======== + "com.google.ads.googleads.v15.services.CampaignServiceClientTest", +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/BUILD.bazel + ], + runtime_deps = [":googleads_java_gapic_test"], +) + +java_gapic_assembly_gradle_pkg( + name = "googleads-java", + deps = [ + ":googleads_java_gapic", +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/BUILD.bazel + "//google/ads/googleads/v12:googleads_proto", + "//google/ads/googleads/v12/common:common_java_proto", + "//google/ads/googleads/v12/enums:enums_java_proto", + "//google/ads/googleads/v12/errors:errors_java_proto", + "//google/ads/googleads/v12/resources:resources_java_proto", + "//google/ads/googleads/v12/services:services_java_grpc", + "//google/ads/googleads/v12/services:services_java_proto", +======== + "//google/ads/googleads/v15:googleads_proto", + "//google/ads/googleads/v15/common:common_java_proto", + "//google/ads/googleads/v15/enums:enums_java_proto", + "//google/ads/googleads/v15/errors:errors_java_proto", + "//google/ads/googleads/v15/resources:resources_java_proto", + "//google/ads/googleads/v15/services:services_java_grpc", + "//google/ads/googleads/v15/services:services_java_proto", +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/BUILD.bazel + ], +) + +############################################################################## +# 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", +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/BUILD.bazel + service_yaml = "googleads_v12.yaml", +======== + service_yaml = "googleads_v15.yaml", + generate_snippets = False, + migration_mode = "NEW_SURFACE_ONLY", +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/BUILD.bazel + 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", +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/BUILD.bazel + service_yaml = "googleads_v12.yaml", + deps = [ + "//google/ads/googleads/v12/services:services_csharp_grpc", +======== + service_yaml = "googleads_v15.yaml", + deps = [ + "//google/ads/googleads/v15/services:services_csharp_grpc", +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/BUILD.bazel + ], +) + +csharp_gapic_assembly_pkg( + name = "googleads-csharp", + deps = [ + ":googleads_csharp_gapic", +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/BUILD.bazel + "//google/ads/googleads/v12/common:common_csharp_proto", + "//google/ads/googleads/v12/enums:enums_csharp_proto", + "//google/ads/googleads/v12/errors:errors_csharp_proto", + "//google/ads/googleads/v12/resources:resources_csharp_proto", + "//google/ads/googleads/v12/services:services_csharp_grpc", + "//google/ads/googleads/v12/services:services_csharp_proto", +======== + "//google/ads/googleads/v15/common:common_csharp_proto", + "//google/ads/googleads/v15/enums:enums_csharp_proto", + "//google/ads/googleads/v15/errors:errors_csharp_proto", + "//google/ads/googleads/v15/resources:resources_csharp_proto", + "//google/ads/googleads/v15/services:services_csharp_grpc", + "//google/ads/googleads/v15/services:services_csharp_proto", +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/BUILD.bazel + ], +) + +############################################################################## +# 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", +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/BUILD.bazel + service_yaml = "googleads_v12.yaml", +======== + service_yaml = "googleads_v15.yaml", +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/BUILD.bazel +) + +ruby_gapic_assembly_pkg( + name = "googleads-ruby", + deps = [ + ":googleads_ruby_gapic", +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/BUILD.bazel + "//google/ads/googleads/v12/common:common_ruby_proto", + "//google/ads/googleads/v12/enums:enums_ruby_proto", + "//google/ads/googleads/v12/errors:errors_ruby_proto", + "//google/ads/googleads/v12/resources:resources_ruby_proto", + "//google/ads/googleads/v12/services:services_ruby_grpc", + "//google/ads/googleads/v12/services:services_ruby_proto", +======== + "//google/ads/googleads/v15/common:common_ruby_proto", + "//google/ads/googleads/v15/enums:enums_ruby_proto", + "//google/ads/googleads/v15/errors:errors_ruby_proto", + "//google/ads/googleads/v15/resources:resources_ruby_proto", + "//google/ads/googleads/v15/services:services_ruby_grpc", + "//google/ads/googleads/v15/services:services_ruby_proto", +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/BUILD.bazel + ], +) + +############################################################################## +# 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_v15.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", + ], + service_yaml = "googleads_v12.yaml", +) + +py_gapic_assembly_pkg( + name = "googleads-py", + deps = [ + ":googleads_py_gapic", +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/BUILD.bazel + "//google/ads/googleads/v12/common:common_py_proto", + "//google/ads/googleads/v12/enums:enums_py_proto", + "//google/ads/googleads/v12/errors:errors_py_proto", + "//google/ads/googleads/v12/resources:resources_py_proto", + "//google/ads/googleads/v12/services:services_py_grpc", + "//google/ads/googleads/v12/services:services_py_proto", +======== +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/BUILD.bazel + ], +) + +############################################################################## +# 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", +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/BUILD.bazel + package = "google.ads.googleads.v12", + service_yaml = "googleads_v12.yaml", +======== + package = "google.ads.googleads.v15", + service_yaml = "googleads_v15.yaml", +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/BUILD.bazel + deps = [], +) + +nodejs_gapic_assembly_pkg( + name = "googleads-nodejs", + deps = [ + ":googleads_nodejs_gapic", + ":googleads_proto", + ], +) diff --git a/third_party/googleapis/google/ads/googleads/v15/common/BUILD.bazel b/third_party/googleapis/google/ads/googleads/v15/common/BUILD.bazel new file mode 100644 index 000000000..6997ba39a --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/common/BUILD.bazel @@ -0,0 +1,98 @@ +# 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 = [ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/BUILD.bazel + "//google/ads/googleads/v13/enums:enums_proto", +======== + "//google/ads/googleads/v15/enums:enums_proto", +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/BUILD.bazel + "//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/v15/common/ad_asset.proto b/third_party/googleapis/google/ads/googleads/v15/common/ad_asset.proto new file mode 100644 index 000000000..50d4ec788 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/common/ad_asset.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/ad_asset.proto +package google.ads.googleads.v12.common; + +import "google/ads/googleads/v12/common/asset_policy.proto"; +import "google/ads/googleads/v12/enums/asset_performance_label.proto"; +import "google/ads/googleads/v12/enums/served_asset_field_type.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/common;common"; +option java_multiple_files = true; +option java_outer_classname = "AdAssetProto"; +option java_package = "com.google.ads.googleads.v12.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V12::Common"; +======== +package google.ads.googleads.v15.common; + +import "google/ads/googleads/v15/common/asset_policy.proto"; +import "google/ads/googleads/v15/enums/asset_performance_label.proto"; +import "google/ads/googleads/v15/enums/served_asset_field_type.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/common;common"; +option java_multiple_files = true; +option java_outer_classname = "AdAssetProto"; +option java_package = "com.google.ads.googleads.v15.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V15::Common"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/ad_asset.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/ad_asset.proto + google.ads.googleads.v12.enums.ServedAssetFieldTypeEnum.ServedAssetFieldType pinned_field = 2; + + // The performance label of this text asset. + google.ads.googleads.v12.enums.AssetPerformanceLabelEnum.AssetPerformanceLabel asset_performance_label = 5; +======== + google.ads.googleads.v15.enums.ServedAssetFieldTypeEnum.ServedAssetFieldType + pinned_field = 2; + + // The performance label of this text asset. + google.ads.googleads.v15.enums.AssetPerformanceLabelEnum.AssetPerformanceLabel + asset_performance_label = 5; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/ad_asset.proto + + // 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/v15/common/ad_type_infos.proto b/third_party/googleapis/google/ads/googleads/v15/common/ad_type_infos.proto new file mode 100644 index 000000000..792788718 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/common/ad_type_infos.proto @@ -0,0 +1,811 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/ad_type_infos.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/ad_type_infos.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/ad_type_infos.proto +package google.ads.googleads.v13.common; + +import "google/ads/googleads/v13/common/ad_asset.proto"; +import "google/ads/googleads/v13/enums/call_conversion_reporting_state.proto"; +import "google/ads/googleads/v13/enums/display_ad_format_setting.proto"; +import "google/ads/googleads/v13/enums/display_upload_product_type.proto"; +import "google/ads/googleads/v13/enums/legacy_app_install_ad_app_store.proto"; +import "google/ads/googleads/v13/enums/mime_type.proto"; +import "google/ads/googleads/v13/enums/video_thumbnail.proto"; +import "google/api/field_behavior.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/common;common"; +option java_multiple_files = true; +option java_outer_classname = "AdTypeInfosProto"; +option java_package = "com.google.ads.googleads.v13.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V13::Common"; +======== +package google.ads.googleads.v15.common; + +import "google/ads/googleads/v15/common/ad_asset.proto"; +import "google/ads/googleads/v15/enums/call_conversion_reporting_state.proto"; +import "google/ads/googleads/v15/enums/display_ad_format_setting.proto"; +import "google/ads/googleads/v15/enums/display_upload_product_type.proto"; +import "google/ads/googleads/v15/enums/legacy_app_install_ad_app_store.proto"; +import "google/ads/googleads/v15/enums/mime_type.proto"; +import "google/ads/googleads/v15/enums/video_thumbnail.proto"; +import "google/api/field_behavior.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/common;common"; +option java_multiple_files = true; +option java_outer_classname = "AdTypeInfosProto"; +option java_package = "com.google.ads.googleads.v15.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V15::Common"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/ad_type_infos.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/ad_type_infos.proto + google.ads.googleads.v13.enums.MimeTypeEnum.MimeType mime_type = 10; +======== + google.ads.googleads.v15.enums.MimeTypeEnum.MimeType mime_type = 10; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/ad_type_infos.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/ad_type_infos.proto + google.ads.googleads.v13.enums.VideoThumbnailEnum.VideoThumbnail thumbnail = +======== + google.ads.googleads.v15.enums.VideoThumbnailEnum.VideoThumbnail thumbnail = +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/ad_type_infos.proto + 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, for example, the "Call To + // Action" banner. 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/ad_type_infos.proto + google.ads.googleads.v13.enums.DisplayAdFormatSettingEnum +======== + google.ads.googleads.v15.enums.DisplayAdFormatSettingEnum +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/ad_type_infos.proto + .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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/ad_type_infos.proto + google.ads.googleads.v13.enums.LegacyAppInstallAdAppStoreEnum +======== + google.ads.googleads.v15.enums.LegacyAppInstallAdAppStoreEnum +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/ad_type_infos.proto + .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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/ad_type_infos.proto + google.ads.googleads.v13.enums.DisplayAdFormatSettingEnum +======== + google.ads.googleads.v15.enums.DisplayAdFormatSettingEnum +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/ad_type_infos.proto + .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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/ad_type_infos.proto + google.ads.googleads.v13.enums.DisplayUploadProductTypeEnum +======== + google.ads.googleads.v15.enums.DisplayUploadProductTypeEnum +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/ad_type_infos.proto + .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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/ad_type_infos.proto + google.ads.googleads.v13.enums.CallConversionReportingStateEnum +======== + google.ads.googleads.v15.enums.CallConversionReportingStateEnum +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/ad_type_infos.proto + .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]; +} +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/ad_type_infos.proto +======== + +// A discovery video responsive ad. +message DiscoveryVideoResponsiveAdInfo { + // List of text assets used for the short headline, for example, the "Call To + // Action" banner. + 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; +} +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/ad_type_infos.proto diff --git a/third_party/googleapis/google/ads/googleads/v15/common/asset_policy.proto b/third_party/googleapis/google/ads/googleads/v15/common/asset_policy.proto new file mode 100644 index 000000000..931935ba1 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.v15.common; + +import "google/ads/googleads/v15/common/policy.proto"; +import "google/ads/googleads/v15/enums/asset_link_primary_status.proto"; +import "google/ads/googleads/v15/enums/asset_link_primary_status_reason.proto"; +import "google/ads/googleads/v15/enums/asset_offline_evaluation_error_reasons.proto"; +import "google/ads/googleads/v15/enums/policy_approval_status.proto"; +import "google/ads/googleads/v15/enums/policy_review_status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/common;common"; +option java_multiple_files = true; +option java_outer_classname = "AssetPolicyProto"; +option java_package = "com.google.ads.googleads.v15.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V15::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.v15.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.v15.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.v15.enums.AssetLinkPrimaryStatusReasonEnum + .AssetLinkPrimaryStatusReason reason = 1; + + // Provides the PrimaryStatus of this status detail. + optional google.ads.googleads.v15.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.v15.enums.AssetOfflineEvaluationErrorReasonsEnum + .AssetOfflineEvaluationErrorReasons offline_evaluation_error_reasons = 1; +} diff --git a/third_party/googleapis/google/ads/googleads/v15/common/asset_set_types.proto b/third_party/googleapis/google/ads/googleads/v15/common/asset_set_types.proto new file mode 100644 index 000000000..767279213 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.v15.common; + +import "google/ads/googleads/v15/enums/chain_relationship_type.proto"; +import "google/ads/googleads/v15/enums/location_ownership_type.proto"; +import "google/ads/googleads/v15/enums/location_string_filter_type.proto"; +import "google/api/field_behavior.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/common;common"; +option java_multiple_files = true; +option java_outer_classname = "AssetSetTypesProto"; +option java_package = "com.google.ads.googleads.v15.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V15::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.v15.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.v15.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.v15.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/v15/common/asset_types.proto b/third_party/googleapis/google/ads/googleads/v15/common/asset_types.proto new file mode 100644 index 000000000..45f85730c --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/common/asset_types.proto @@ -0,0 +1,1164 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/asset_types.proto +package google.ads.googleads.v12.common; + +import "google/ads/googleads/v12/common/criteria.proto"; +import "google/ads/googleads/v12/common/feed_common.proto"; +import "google/ads/googleads/v12/enums/call_conversion_reporting_state.proto"; +import "google/ads/googleads/v12/enums/call_to_action_type.proto"; +import "google/ads/googleads/v12/enums/lead_form_call_to_action_type.proto"; +import "google/ads/googleads/v12/enums/lead_form_desired_intent.proto"; +import "google/ads/googleads/v12/enums/lead_form_field_user_input_type.proto"; +import "google/ads/googleads/v12/enums/lead_form_post_submit_call_to_action_type.proto"; +import "google/ads/googleads/v12/enums/location_ownership_type.proto"; +import "google/ads/googleads/v12/enums/mime_type.proto"; +import "google/ads/googleads/v12/enums/mobile_app_vendor.proto"; +import "google/ads/googleads/v12/enums/price_extension_price_qualifier.proto"; +import "google/ads/googleads/v12/enums/price_extension_price_unit.proto"; +import "google/ads/googleads/v12/enums/price_extension_type.proto"; +import "google/ads/googleads/v12/enums/promotion_extension_discount_modifier.proto"; +import "google/ads/googleads/v12/enums/promotion_extension_occasion.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/common;common"; +option java_multiple_files = true; +option java_outer_classname = "AssetTypesProto"; +option java_package = "com.google.ads.googleads.v12.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V12::Common"; +======== +package google.ads.googleads.v15.common; + +import "google/ads/googleads/v15/common/criteria.proto"; +import "google/ads/googleads/v15/common/feed_common.proto"; +import "google/ads/googleads/v15/enums/call_conversion_reporting_state.proto"; +import "google/ads/googleads/v15/enums/call_to_action_type.proto"; +import "google/ads/googleads/v15/enums/lead_form_call_to_action_type.proto"; +import "google/ads/googleads/v15/enums/lead_form_desired_intent.proto"; +import "google/ads/googleads/v15/enums/lead_form_field_user_input_type.proto"; +import "google/ads/googleads/v15/enums/lead_form_post_submit_call_to_action_type.proto"; +import "google/ads/googleads/v15/enums/location_ownership_type.proto"; +import "google/ads/googleads/v15/enums/mime_type.proto"; +import "google/ads/googleads/v15/enums/mobile_app_vendor.proto"; +import "google/ads/googleads/v15/enums/price_extension_price_qualifier.proto"; +import "google/ads/googleads/v15/enums/price_extension_price_unit.proto"; +import "google/ads/googleads/v15/enums/price_extension_type.proto"; +import "google/ads/googleads/v15/enums/promotion_extension_discount_modifier.proto"; +import "google/ads/googleads/v15/enums/promotion_extension_occasion.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/common;common"; +option java_multiple_files = true; +option java_outer_classname = "AssetTypesProto"; +option java_package = "com.google.ads.googleads.v15.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V15::Common"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/asset_types.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/asset_types.proto + google.ads.googleads.v12.enums.MimeTypeEnum.MimeType mime_type = 3; +======== + google.ads.googleads.v15.enums.MimeTypeEnum.MimeType mime_type = 3; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/asset_types.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/asset_types.proto + google.ads.googleads.v12.enums.LeadFormCallToActionTypeEnum.LeadFormCallToActionType call_to_action_type = 17 [(google.api.field_behavior) = REQUIRED]; +======== + google.ads.googleads.v15.enums.LeadFormCallToActionTypeEnum + .LeadFormCallToActionType call_to_action_type = 17 + [(google.api.field_behavior) = REQUIRED]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/asset_types.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/asset_types.proto + google.ads.googleads.v12.enums.LeadFormPostSubmitCallToActionTypeEnum.LeadFormPostSubmitCallToActionType post_submit_call_to_action_type = 19; +======== + google.ads.googleads.v15.enums.LeadFormPostSubmitCallToActionTypeEnum + .LeadFormPostSubmitCallToActionType post_submit_call_to_action_type = 19; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/asset_types.proto + + // Asset resource name of the background image. The minimum size is 600x314 + // and the aspect ratio must be 1.91:1 (+-1%). + optional string background_image_asset = 20; + + // Chosen intent for the lead form, for example, more volume or more + // qualified. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/asset_types.proto + google.ads.googleads.v12.enums.LeadFormDesiredIntentEnum.LeadFormDesiredIntent desired_intent = 21; +======== + google.ads.googleads.v15.enums.LeadFormDesiredIntentEnum.LeadFormDesiredIntent + desired_intent = 21; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/asset_types.proto + + // 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?". +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/asset_types.proto + google.ads.googleads.v12.enums.LeadFormFieldUserInputTypeEnum.LeadFormFieldUserInputType input_type = 1; +======== + google.ads.googleads.v15.enums.LeadFormFieldUserInputTypeEnum + .LeadFormFieldUserInputType input_type = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/asset_types.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/asset_types.proto + google.ads.googleads.v12.enums.PromotionExtensionDiscountModifierEnum.PromotionExtensionDiscountModifier discount_modifier = 2; +======== + google.ads.googleads.v15.enums.PromotionExtensionDiscountModifierEnum + .PromotionExtensionDiscountModifier discount_modifier = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/asset_types.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/asset_types.proto + google.ads.googleads.v12.enums.PromotionExtensionOccasionEnum.PromotionExtensionOccasion occasion = 9; +======== + google.ads.googleads.v15.enums.PromotionExtensionOccasionEnum + .PromotionExtensionOccasion occasion = 9; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/asset_types.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/asset_types.proto + google.ads.googleads.v12.enums.MobileAppVendorEnum.MobileAppVendor app_store = 2 [(google.api.field_behavior) = REQUIRED]; +======== + google.ads.googleads.v15.enums.MobileAppVendorEnum.MobileAppVendor app_store = + 2 [(google.api.field_behavior) = REQUIRED]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/asset_types.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/asset_types.proto + google.ads.googleads.v12.enums.CallConversionReportingStateEnum.CallConversionReportingState call_conversion_reporting_state = 3; +======== + google.ads.googleads.v15.enums.CallConversionReportingStateEnum + .CallConversionReportingState call_conversion_reporting_state = 3; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/asset_types.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/asset_types.proto + google.ads.googleads.v12.enums.PriceExtensionTypeEnum.PriceExtensionType type = 1 [(google.api.field_behavior) = REQUIRED]; + + // The price qualifier of the price asset. + google.ads.googleads.v12.enums.PriceExtensionPriceQualifierEnum.PriceExtensionPriceQualifier price_qualifier = 2; +======== + google.ads.googleads.v15.enums.PriceExtensionTypeEnum.PriceExtensionType + type = 1 [(google.api.field_behavior) = REQUIRED]; + + // The price qualifier of the price asset. + google.ads.googleads.v15.enums.PriceExtensionPriceQualifierEnum + .PriceExtensionPriceQualifier price_qualifier = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/asset_types.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/asset_types.proto + google.ads.googleads.v12.enums.PriceExtensionPriceUnitEnum.PriceExtensionPriceUnit unit = 4; +======== + google.ads.googleads.v15.enums.PriceExtensionPriceUnitEnum + .PriceExtensionPriceUnit unit = 4; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/asset_types.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/asset_types.proto + google.ads.googleads.v12.enums.CallToActionTypeEnum.CallToActionType call_to_action = 1; +======== + google.ads.googleads.v15.enums.CallToActionTypeEnum.CallToActionType + call_to_action = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/asset_types.proto +} + +// 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]; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/asset_types.proto + // Required. Deal name, for example, 50% off at Mountain View Grocers. Required. +======== + // Required. Deal name, for example, 50% off at Mountain View Grocers. + // Required. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/asset_types.proto + 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/asset_types.proto + google.ads.googleads.v12.enums.LocationOwnershipTypeEnum.LocationOwnershipType location_ownership_type = 3; +======== + google.ads.googleads.v15.enums.LocationOwnershipTypeEnum.LocationOwnershipType + location_ownership_type = 3; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/asset_types.proto +} + +// 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; +} +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/asset_types.proto +======== + +// 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; +} +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/asset_types.proto diff --git a/third_party/googleapis/google/ads/googleads/v15/common/asset_usage.proto b/third_party/googleapis/google/ads/googleads/v15/common/asset_usage.proto new file mode 100644 index 000000000..40b5c5816 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/common/asset_usage.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/asset_usage.proto +package google.ads.googleads.v12.common; + +import "google/ads/googleads/v12/enums/served_asset_field_type.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/common;common"; +option java_multiple_files = true; +option java_outer_classname = "AssetUsageProto"; +option java_package = "com.google.ads.googleads.v12.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V12::Common"; +======== +package google.ads.googleads.v15.common; + +import "google/ads/googleads/v15/enums/served_asset_field_type.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/common;common"; +option java_multiple_files = true; +option java_outer_classname = "AssetUsageProto"; +option java_package = "com.google.ads.googleads.v15.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V15::Common"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/asset_usage.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/asset_usage.proto + google.ads.googleads.v12.enums.ServedAssetFieldTypeEnum.ServedAssetFieldType served_asset_field_type = 2; +======== + google.ads.googleads.v15.enums.ServedAssetFieldTypeEnum.ServedAssetFieldType + served_asset_field_type = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/asset_usage.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v15/common/audiences.proto b/third_party/googleapis/google/ads/googleads/v15/common/audiences.proto new file mode 100644 index 000000000..ea7b0353f --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/common/audiences.proto @@ -0,0 +1,208 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/audiences.proto +package google.ads.googleads.v12.common; + +import "google/ads/googleads/v12/enums/gender_type.proto"; +import "google/ads/googleads/v12/enums/income_range_type.proto"; +import "google/ads/googleads/v12/enums/parental_status_type.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/common;common"; +option java_multiple_files = true; +option java_outer_classname = "AudiencesProto"; +option java_package = "com.google.ads.googleads.v12.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V12::Common"; +======== +package google.ads.googleads.v15.common; + +import "google/ads/googleads/v15/enums/gender_type.proto"; +import "google/ads/googleads/v15/enums/income_range_type.proto"; +import "google/ads/googleads/v15/enums/parental_status_type.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/common;common"; +option java_multiple_files = true; +option java_outer_classname = "AudiencesProto"; +option java_package = "com.google.ads.googleads.v15.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V15::Common"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/audiences.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/audiences.proto + repeated google.ads.googleads.v12.enums.GenderTypeEnum.GenderType genders = 1; +======== + repeated google.ads.googleads.v15.enums.GenderTypeEnum.GenderType genders = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/audiences.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/audiences.proto + repeated google.ads.googleads.v12.enums.IncomeRangeTypeEnum.IncomeRangeType income_ranges = 1; +======== + repeated google.ads.googleads.v15.enums.IncomeRangeTypeEnum.IncomeRangeType + income_ranges = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/audiences.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/audiences.proto + repeated google.ads.googleads.v12.enums.ParentalStatusTypeEnum.ParentalStatusType parental_statuses = 1; +======== + repeated + google.ads.googleads.v15.enums.ParentalStatusTypeEnum.ParentalStatusType + parental_statuses = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/audiences.proto + + // 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; +} + +// Detailed demographic segment. +message DetailedDemographicSegment { + // The detailed demographic resource. + optional string detailed_demographic = 1; +} + +// Custom audience segment. +message CustomAudienceSegment { + // The custom audience resource. + optional string custom_audience = 1; +} diff --git a/third_party/googleapis/google/ads/googleads/v15/common/bidding.proto b/third_party/googleapis/google/ads/googleads/v15/common/bidding.proto new file mode 100644 index 000000000..604b60c5d --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/common/bidding.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/bidding.proto +package google.ads.googleads.v12.common; + +import "google/ads/googleads/v12/enums/target_impression_share_location.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/common;common"; +option java_multiple_files = true; +option java_outer_classname = "BiddingProto"; +option java_package = "com.google.ads.googleads.v12.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V12::Common"; +======== +package google.ads.googleads.v15.common; + +import "google/ads/googleads/v15/enums/target_frequency_time_unit.proto"; +import "google/ads/googleads/v15/enums/target_impression_share_location.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/common;common"; +option java_multiple_files = true; +option java_outer_classname = "BiddingProto"; +option java_package = "com.google.ads.googleads.v15.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V15::Common"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/bidding.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/bidding.proto +message EnhancedCpc { +======== +message EnhancedCpc {} +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/bidding.proto + +// Manual bidding strategy that allows advertiser to set the bid per +// advertiser-specified action. +message ManualCpa {} + +// 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.v15.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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/bidding.proto + google.ads.googleads.v12.enums.TargetImpressionShareLocationEnum.TargetImpressionShareLocation location = 1; +======== + google.ads.googleads.v15.enums.TargetImpressionShareLocationEnum + .TargetImpressionShareLocation location = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/bidding.proto + + // 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/v15/common/click_location.proto b/third_party/googleapis/google/ads/googleads/v15/common/click_location.proto new file mode 100644 index 000000000..3f44b1c0d --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/common/click_location.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/click_location.proto +package google.ads.googleads.v13.common; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/common;common"; +option java_multiple_files = true; +option java_outer_classname = "ClickLocationProto"; +option java_package = "com.google.ads.googleads.v13.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V13::Common"; +======== +package google.ads.googleads.v15.common; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/common;common"; +option java_multiple_files = true; +option java_outer_classname = "ClickLocationProto"; +option java_package = "com.google.ads.googleads.v15.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V15::Common"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/click_location.proto + +// 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/v15/common/consent.proto b/third_party/googleapis/google/ads/googleads/v15/common/consent.proto new file mode 100644 index 000000000..4a149c3ff --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.v15.common; + +import "google/ads/googleads/v15/enums/consent_status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/common;common"; +option java_multiple_files = true; +option java_outer_classname = "ConsentProto"; +option java_package = "com.google.ads.googleads.v15.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V15::Common"; + +// Proto file describing common consent proto messages. + +// Consent +message Consent { + // This represents consent for ad user data. + google.ads.googleads.v15.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.v15.enums.ConsentStatusEnum.ConsentStatus + ad_personalization = 2; +} diff --git a/third_party/googleapis/google/ads/googleads/v15/common/criteria.proto b/third_party/googleapis/google/ads/googleads/v15/common/criteria.proto new file mode 100644 index 000000000..14ad33ad8 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/common/criteria.proto @@ -0,0 +1,959 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/criteria.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/criteria.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/criteria.proto +package google.ads.googleads.v13.common; + +import "google/ads/googleads/v13/enums/age_range_type.proto"; +import "google/ads/googleads/v13/enums/app_payment_model_type.proto"; +import "google/ads/googleads/v13/enums/content_label_type.proto"; +import "google/ads/googleads/v13/enums/day_of_week.proto"; +import "google/ads/googleads/v13/enums/device.proto"; +import "google/ads/googleads/v13/enums/gender_type.proto"; +import "google/ads/googleads/v13/enums/hotel_date_selection_type.proto"; +import "google/ads/googleads/v13/enums/income_range_type.proto"; +import "google/ads/googleads/v13/enums/interaction_type.proto"; +import "google/ads/googleads/v13/enums/keyword_match_type.proto"; +import "google/ads/googleads/v13/enums/listing_group_type.proto"; +import "google/ads/googleads/v13/enums/location_group_radius_units.proto"; +import "google/ads/googleads/v13/enums/minute_of_hour.proto"; +import "google/ads/googleads/v13/enums/parental_status_type.proto"; +import "google/ads/googleads/v13/enums/product_bidding_category_level.proto"; +import "google/ads/googleads/v13/enums/product_channel.proto"; +import "google/ads/googleads/v13/enums/product_channel_exclusivity.proto"; +import "google/ads/googleads/v13/enums/product_condition.proto"; +import "google/ads/googleads/v13/enums/product_custom_attribute_index.proto"; +import "google/ads/googleads/v13/enums/product_type_level.proto"; +import "google/ads/googleads/v13/enums/proximity_radius_units.proto"; +import "google/ads/googleads/v13/enums/webpage_condition_operand.proto"; +import "google/ads/googleads/v13/enums/webpage_condition_operator.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/common;common"; +option java_multiple_files = true; +option java_outer_classname = "CriteriaProto"; +option java_package = "com.google.ads.googleads.v13.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V13::Common"; +======== +package google.ads.googleads.v15.common; + +import "google/ads/googleads/v15/enums/age_range_type.proto"; +import "google/ads/googleads/v15/enums/app_payment_model_type.proto"; +import "google/ads/googleads/v15/enums/content_label_type.proto"; +import "google/ads/googleads/v15/enums/day_of_week.proto"; +import "google/ads/googleads/v15/enums/device.proto"; +import "google/ads/googleads/v15/enums/gender_type.proto"; +import "google/ads/googleads/v15/enums/hotel_date_selection_type.proto"; +import "google/ads/googleads/v15/enums/income_range_type.proto"; +import "google/ads/googleads/v15/enums/interaction_type.proto"; +import "google/ads/googleads/v15/enums/keyword_match_type.proto"; +import "google/ads/googleads/v15/enums/listing_group_type.proto"; +import "google/ads/googleads/v15/enums/location_group_radius_units.proto"; +import "google/ads/googleads/v15/enums/minute_of_hour.proto"; +import "google/ads/googleads/v15/enums/parental_status_type.proto"; +import "google/ads/googleads/v15/enums/product_category_level.proto"; +import "google/ads/googleads/v15/enums/product_channel.proto"; +import "google/ads/googleads/v15/enums/product_channel_exclusivity.proto"; +import "google/ads/googleads/v15/enums/product_condition.proto"; +import "google/ads/googleads/v15/enums/product_custom_attribute_index.proto"; +import "google/ads/googleads/v15/enums/product_type_level.proto"; +import "google/ads/googleads/v15/enums/proximity_radius_units.proto"; +import "google/ads/googleads/v15/enums/webpage_condition_operand.proto"; +import "google/ads/googleads/v15/enums/webpage_condition_operator.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/common;common"; +option java_multiple_files = true; +option java_outer_classname = "CriteriaProto"; +option java_package = "com.google.ads.googleads.v15.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V15::Common"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/criteria.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/criteria.proto + google.ads.googleads.v13.enums.KeywordMatchTypeEnum.KeywordMatchType +======== + google.ads.googleads.v15.enums.KeywordMatchTypeEnum.KeywordMatchType +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/criteria.proto + 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/criteria.proto + google.ads.googleads.v13.enums.DeviceEnum.Device type = 1; +======== + google.ads.googleads.v15.enums.DeviceEnum.Device type = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/criteria.proto +} + +// A listing group criterion. +message ListingGroupInfo { + // Type of the listing group. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/criteria.proto + google.ads.googleads.v13.enums.ListingGroupTypeEnum.ListingGroupType type = 1; +======== + google.ads.googleads.v15.enums.ListingGroupTypeEnum.ListingGroupType type = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/criteria.proto + + // 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; + + // Country the activity is in. + ActivityCountryInfo activity_country = 23; + + // 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; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/criteria.proto + // Level of the product bidding category. + google.ads.googleads.v13.enums.ProductBiddingCategoryLevelEnum + .ProductBiddingCategoryLevel level = 3; +======== + // Level of the product category. + google.ads.googleads.v15.enums.ProductCategoryLevelEnum.ProductCategoryLevel + level = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/criteria.proto +} + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/criteria.proto + google.ads.googleads.v13.enums.ProductChannelEnum.ProductChannel channel = 1; +======== + google.ads.googleads.v15.enums.ProductChannelEnum.ProductChannel channel = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/criteria.proto +} + +// Availability of a product offer. +message ProductChannelExclusivityInfo { + // Value of the availability. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/criteria.proto + google.ads.googleads.v13.enums.ProductChannelExclusivityEnum +======== + google.ads.googleads.v15.enums.ProductChannelExclusivityEnum +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/criteria.proto + .ProductChannelExclusivity channel_exclusivity = 1; +} + +// Condition of a product offer. +message ProductConditionInfo { + // Value of the condition. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/criteria.proto + google.ads.googleads.v13.enums.ProductConditionEnum.ProductCondition +======== + google.ads.googleads.v15.enums.ProductConditionEnum.ProductCondition +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/criteria.proto + 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/criteria.proto + google.ads.googleads.v13.enums.ProductCustomAttributeIndexEnum +======== + google.ads.googleads.v15.enums.ProductCustomAttributeIndexEnum +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/criteria.proto + .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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/criteria.proto + google.ads.googleads.v13.enums.ProductTypeLevelEnum.ProductTypeLevel level = +======== + google.ads.googleads.v15.enums.ProductTypeLevelEnum.ProductTypeLevel level = +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/criteria.proto + 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 +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/criteria.proto + google.ads.googleads.v13.enums.HotelDateSelectionTypeEnum +======== + google.ads.googleads.v15.enums.HotelDateSelectionTypeEnum +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/criteria.proto + .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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/criteria.proto + google.ads.googleads.v13.enums.DayOfWeekEnum.DayOfWeek day_of_week = 1; +======== + google.ads.googleads.v15.enums.DayOfWeekEnum.DayOfWeek day_of_week = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/criteria.proto +} + +// 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; +} + +// Country the activity is in. +message ActivityCountryInfo { + // String value of the activity country. The Geo Target Constant resource + // name. + optional string value = 1; +} + +// Criterion for Interaction Type. +message InteractionTypeInfo { + // The interaction type. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/criteria.proto + google.ads.googleads.v13.enums.InteractionTypeEnum.InteractionType type = 1; +======== + google.ads.googleads.v15.enums.InteractionTypeEnum.InteractionType type = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/criteria.proto +} + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/criteria.proto + google.ads.googleads.v13.enums.MinuteOfHourEnum.MinuteOfHour start_minute = 1; +======== + google.ads.googleads.v15.enums.MinuteOfHourEnum.MinuteOfHour start_minute = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/criteria.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/criteria.proto + google.ads.googleads.v13.enums.MinuteOfHourEnum.MinuteOfHour end_minute = 2; +======== + google.ads.googleads.v15.enums.MinuteOfHourEnum.MinuteOfHour end_minute = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/criteria.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/criteria.proto + google.ads.googleads.v13.enums.DayOfWeekEnum.DayOfWeek day_of_week = 5; +======== + google.ads.googleads.v15.enums.DayOfWeekEnum.DayOfWeek day_of_week = 5; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/criteria.proto +} + +// An age range criterion. +message AgeRangeInfo { + // Type of the age range. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/criteria.proto + google.ads.googleads.v13.enums.AgeRangeTypeEnum.AgeRangeType type = 1; +======== + google.ads.googleads.v15.enums.AgeRangeTypeEnum.AgeRangeType type = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/criteria.proto +} + +// A gender criterion. +message GenderInfo { + // Type of the gender. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/criteria.proto + google.ads.googleads.v13.enums.GenderTypeEnum.GenderType type = 1; +======== + google.ads.googleads.v15.enums.GenderTypeEnum.GenderType type = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/criteria.proto +} + +// An income range criterion. +message IncomeRangeInfo { + // Type of the income range. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/criteria.proto + google.ads.googleads.v13.enums.IncomeRangeTypeEnum.IncomeRangeType type = 1; +======== + google.ads.googleads.v15.enums.IncomeRangeTypeEnum.IncomeRangeType type = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/criteria.proto +} + +// A parental status criterion. +message ParentalStatusInfo { + // Type of the parental status. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/criteria.proto + google.ads.googleads.v13.enums.ParentalStatusTypeEnum.ParentalStatusType +======== + google.ads.googleads.v15.enums.ParentalStatusTypeEnum.ParentalStatusType +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/criteria.proto + 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/criteria.proto + google.ads.googleads.v13.enums.ProximityRadiusUnitsEnum.ProximityRadiusUnits +======== + google.ads.googleads.v15.enums.ProximityRadiusUnitsEnum.ProximityRadiusUnits +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/criteria.proto + 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/criteria.proto + google.ads.googleads.v13.enums.ContentLabelTypeEnum.ContentLabelType type = 1; +======== + google.ads.googleads.v15.enums.ContentLabelTypeEnum.ContentLabelType type = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/criteria.proto +} + +// Represents a Carrier Criterion. +message CarrierInfo { + // The Carrier constant resource name. + optional string carrier_constant = 2; +} + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/criteria.proto + google.ads.googleads.v13.enums.WebpageConditionOperandEnum + .WebpageConditionOperand operand = 1; + + // Operator of webpage targeting condition. + google.ads.googleads.v13.enums.WebpageConditionOperatorEnum +======== + google.ads.googleads.v15.enums.WebpageConditionOperandEnum + .WebpageConditionOperand operand = 1; + + // Operator of webpage targeting condition. + google.ads.googleads.v15.enums.WebpageConditionOperatorEnum +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/criteria.proto + .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; +} + +// An app payment model criterion. +message AppPaymentModelInfo { + // Type of the app payment model. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/criteria.proto + google.ads.googleads.v13.enums.AppPaymentModelTypeEnum.AppPaymentModelType +======== + google.ads.googleads.v15.enums.AppPaymentModelTypeEnum.AppPaymentModelType +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/criteria.proto + type = 1; +} + +// A mobile device criterion. +message MobileDeviceInfo { + // The mobile device constant resource name. + optional string mobile_device_constant = 2; +} + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/criteria.proto + google.ads.googleads.v13.enums.LocationGroupRadiusUnitsEnum +======== + google.ads.googleads.v15.enums.LocationGroupRadiusUnitsEnum +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/criteria.proto + .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; +} + +// 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; + + // 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; +} +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/criteria.proto +======== + +// 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. +// See go/brand-control-v2. +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. +// See go/brand-control-v2, go/brand-exclusion-api. +// Next tag: 2 +message BrandListInfo { + // Shared set resource name of the brand list. + optional string shared_set = 1; +} +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/criteria.proto diff --git a/third_party/googleapis/google/ads/googleads/v15/common/criterion_category_availability.proto b/third_party/googleapis/google/ads/googleads/v15/common/criterion_category_availability.proto new file mode 100644 index 000000000..e5207fd25 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/common/criterion_category_availability.proto @@ -0,0 +1,117 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/criterion_category_availability.proto +package google.ads.googleads.v12.common; + +import "google/ads/googleads/v12/enums/advertising_channel_sub_type.proto"; +import "google/ads/googleads/v12/enums/advertising_channel_type.proto"; +import "google/ads/googleads/v12/enums/criterion_category_channel_availability_mode.proto"; +import "google/ads/googleads/v12/enums/criterion_category_locale_availability_mode.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/common;common"; +option java_multiple_files = true; +option java_outer_classname = "CriterionCategoryAvailabilityProto"; +option java_package = "com.google.ads.googleads.v12.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V12::Common"; +======== +package google.ads.googleads.v15.common; + +import "google/ads/googleads/v15/enums/advertising_channel_sub_type.proto"; +import "google/ads/googleads/v15/enums/advertising_channel_type.proto"; +import "google/ads/googleads/v15/enums/criterion_category_channel_availability_mode.proto"; +import "google/ads/googleads/v15/enums/criterion_category_locale_availability_mode.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/common;common"; +option java_multiple_files = true; +option java_outer_classname = "CriterionCategoryAvailabilityProto"; +option java_package = "com.google.ads.googleads.v15.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V15::Common"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/criterion_category_availability.proto + +// 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). +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/criterion_category_availability.proto + google.ads.googleads.v12.enums.CriterionCategoryChannelAvailabilityModeEnum.CriterionCategoryChannelAvailabilityMode availability_mode = 1; + + // Channel type the category is available to. + google.ads.googleads.v12.enums.AdvertisingChannelTypeEnum.AdvertisingChannelType advertising_channel_type = 2; + + // Channel subtypes under the channel type the category is available to. + repeated google.ads.googleads.v12.enums.AdvertisingChannelSubTypeEnum.AdvertisingChannelSubType advertising_channel_sub_type = 3; +======== + google.ads.googleads.v15.enums.CriterionCategoryChannelAvailabilityModeEnum + .CriterionCategoryChannelAvailabilityMode availability_mode = 1; + + // Channel type the category is available to. + google.ads.googleads.v15.enums.AdvertisingChannelTypeEnum + .AdvertisingChannelType advertising_channel_type = 2; + + // Channel subtypes under the channel type the category is available to. + repeated google.ads.googleads.v15.enums.AdvertisingChannelSubTypeEnum + .AdvertisingChannelSubType advertising_channel_sub_type = 3; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/criterion_category_availability.proto + + // 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). +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/criterion_category_availability.proto + google.ads.googleads.v12.enums.CriterionCategoryLocaleAvailabilityModeEnum.CriterionCategoryLocaleAvailabilityMode availability_mode = 1; +======== + google.ads.googleads.v15.enums.CriterionCategoryLocaleAvailabilityModeEnum + .CriterionCategoryLocaleAvailabilityMode availability_mode = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/criterion_category_availability.proto + + // 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/v15/common/custom_parameter.proto b/third_party/googleapis/google/ads/googleads/v15/common/custom_parameter.proto new file mode 100644 index 000000000..aa4e585ce --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/common/custom_parameter.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/custom_parameter.proto +package google.ads.googleads.v13.common; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/common;common"; +option java_multiple_files = true; +option java_outer_classname = "CustomParameterProto"; +option java_package = "com.google.ads.googleads.v13.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V13::Common"; +======== +package google.ads.googleads.v15.common; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/common;common"; +option java_multiple_files = true; +option java_outer_classname = "CustomParameterProto"; +option java_package = "com.google.ads.googleads.v15.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V15::Common"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/custom_parameter.proto + +// 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/v15/common/customizer_value.proto b/third_party/googleapis/google/ads/googleads/v15/common/customizer_value.proto new file mode 100644 index 000000000..4f9730ca3 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/common/customizer_value.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/customizer_value.proto +package google.ads.googleads.v12.common; + +import "google/ads/googleads/v12/enums/customizer_attribute_type.proto"; +import "google/api/field_behavior.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/common;common"; +option java_multiple_files = true; +option java_outer_classname = "CustomizerValueProto"; +option java_package = "com.google.ads.googleads.v12.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V12::Common"; +======== +package google.ads.googleads.v15.common; + +import "google/ads/googleads/v15/enums/customizer_attribute_type.proto"; +import "google/api/field_behavior.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/common;common"; +option java_multiple_files = true; +option java_outer_classname = "CustomizerValueProto"; +option java_package = "com.google.ads.googleads.v15.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V15::Common"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/customizer_value.proto + +// Proto file describing common customizer value proto messages. + +// A customizer value that is referenced in customizer linkage entities +// like CustomerCustomizer, CampaignCustomizer, etc. +message CustomizerValue { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/customizer_value.proto + // 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.v12.enums.CustomizerAttributeTypeEnum.CustomizerAttributeType type = 1 [(google.api.field_behavior) = REQUIRED]; +======== + // 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.v15.enums.CustomizerAttributeTypeEnum + .CustomizerAttributeType type = 1 + [(google.api.field_behavior) = REQUIRED]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/customizer_value.proto + + // 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/v15/common/dates.proto b/third_party/googleapis/google/ads/googleads/v15/common/dates.proto new file mode 100644 index 000000000..f1e52b8bf --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/common/dates.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/dates.proto +package google.ads.googleads.v13.common; + +import "google/ads/googleads/v13/enums/month_of_year.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/common;common"; +option java_multiple_files = true; +option java_outer_classname = "DatesProto"; +option java_package = "com.google.ads.googleads.v13.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V13::Common"; +======== +package google.ads.googleads.v15.common; + +import "google/ads/googleads/v15/enums/month_of_year.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/common;common"; +option java_multiple_files = true; +option java_outer_classname = "DatesProto"; +option java_package = "com.google.ads.googleads.v15.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V15::Common"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/dates.proto + +// 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). +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/dates.proto + google.ads.googleads.v13.enums.MonthOfYearEnum.MonthOfYear month = 2; +======== + google.ads.googleads.v15.enums.MonthOfYearEnum.MonthOfYear month = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/dates.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v15/common/extensions.proto b/third_party/googleapis/google/ads/googleads/v15/common/extensions.proto new file mode 100644 index 000000000..e85abada0 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/common/extensions.proto @@ -0,0 +1,423 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/extensions.proto +package google.ads.googleads.v12.common; + +import "google/ads/googleads/v12/common/custom_parameter.proto"; +import "google/ads/googleads/v12/common/feed_common.proto"; +import "google/ads/googleads/v12/enums/app_store.proto"; +import "google/ads/googleads/v12/enums/call_conversion_reporting_state.proto"; +import "google/ads/googleads/v12/enums/price_extension_price_qualifier.proto"; +import "google/ads/googleads/v12/enums/price_extension_price_unit.proto"; +import "google/ads/googleads/v12/enums/price_extension_type.proto"; +import "google/ads/googleads/v12/enums/promotion_extension_discount_modifier.proto"; +import "google/ads/googleads/v12/enums/promotion_extension_occasion.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/common;common"; +option java_multiple_files = true; +option java_outer_classname = "ExtensionsProto"; +option java_package = "com.google.ads.googleads.v12.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V12::Common"; +======== +package google.ads.googleads.v15.common; + +import "google/ads/googleads/v15/common/custom_parameter.proto"; +import "google/ads/googleads/v15/common/feed_common.proto"; +import "google/ads/googleads/v15/enums/app_store.proto"; +import "google/ads/googleads/v15/enums/call_conversion_reporting_state.proto"; +import "google/ads/googleads/v15/enums/price_extension_price_qualifier.proto"; +import "google/ads/googleads/v15/enums/price_extension_price_unit.proto"; +import "google/ads/googleads/v15/enums/price_extension_type.proto"; +import "google/ads/googleads/v15/enums/promotion_extension_discount_modifier.proto"; +import "google/ads/googleads/v15/enums/promotion_extension_occasion.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/common;common"; +option java_multiple_files = true; +option java_outer_classname = "ExtensionsProto"; +option java_package = "com.google.ads.googleads.v15.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V15::Common"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/extensions.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/extensions.proto + google.ads.googleads.v12.enums.AppStoreEnum.AppStore app_store = 3; +======== + google.ads.googleads.v15.enums.AppStoreEnum.AppStore app_store = 3; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/extensions.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/extensions.proto + google.ads.googleads.v12.enums.CallConversionReportingStateEnum.CallConversionReportingState call_conversion_reporting_state = 6; +======== + google.ads.googleads.v15.enums.CallConversionReportingStateEnum + .CallConversionReportingState call_conversion_reporting_state = 6; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/extensions.proto +} + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/extensions.proto + google.ads.googleads.v12.enums.PriceExtensionTypeEnum.PriceExtensionType type = 1; + + // Price qualifier for all offers of this price extension. + google.ads.googleads.v12.enums.PriceExtensionPriceQualifierEnum.PriceExtensionPriceQualifier price_qualifier = 2; +======== + google.ads.googleads.v15.enums.PriceExtensionTypeEnum.PriceExtensionType + type = 1; + + // Price qualifier for all offers of this price extension. + google.ads.googleads.v15.enums.PriceExtensionPriceQualifierEnum + .PriceExtensionPriceQualifier price_qualifier = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/extensions.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/extensions.proto + google.ads.googleads.v12.enums.PriceExtensionPriceUnitEnum.PriceExtensionPriceUnit unit = 4; +======== + google.ads.googleads.v15.enums.PriceExtensionPriceUnitEnum + .PriceExtensionPriceUnit unit = 4; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/extensions.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/extensions.proto + google.ads.googleads.v12.enums.PromotionExtensionDiscountModifierEnum.PromotionExtensionDiscountModifier discount_modifier = 2; +======== + google.ads.googleads.v15.enums.PromotionExtensionDiscountModifierEnum + .PromotionExtensionDiscountModifier discount_modifier = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/extensions.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/extensions.proto + google.ads.googleads.v12.enums.PromotionExtensionOccasionEnum.PromotionExtensionOccasion occasion = 9; +======== + google.ads.googleads.v15.enums.PromotionExtensionOccasionEnum + .PromotionExtensionOccasion occasion = 9; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/extensions.proto + + // 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/v15/common/feed_common.proto b/third_party/googleapis/google/ads/googleads/v15/common/feed_common.proto new file mode 100644 index 000000000..b04fc6394 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/common/feed_common.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/feed_common.proto +package google.ads.googleads.v13.common; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/common;common"; +option java_multiple_files = true; +option java_outer_classname = "FeedCommonProto"; +option java_package = "com.google.ads.googleads.v13.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V13::Common"; +======== +package google.ads.googleads.v15.common; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/common;common"; +option java_multiple_files = true; +option java_outer_classname = "FeedCommonProto"; +option java_package = "com.google.ads.googleads.v15.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V15::Common"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/feed_common.proto + +// 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/v15/common/feed_item_set_filter_type_infos.proto b/third_party/googleapis/google/ads/googleads/v15/common/feed_item_set_filter_type_infos.proto new file mode 100644 index 000000000..8f8fe30c5 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/common/feed_item_set_filter_type_infos.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/feed_item_set_filter_type_infos.proto +package google.ads.googleads.v12.common; + +import "google/ads/googleads/v12/enums/feed_item_set_string_filter_type.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/common;common"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemSetFilterTypeInfosProto"; +option java_package = "com.google.ads.googleads.v12.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V12::Common"; +======== +package google.ads.googleads.v15.common; + +import "google/ads/googleads/v15/enums/feed_item_set_string_filter_type.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/common;common"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemSetFilterTypeInfosProto"; +option java_package = "com.google.ads.googleads.v15.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V15::Common"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/feed_item_set_filter_type_infos.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/feed_item_set_filter_type_infos.proto + google.ads.googleads.v12.enums.FeedItemSetStringFilterTypeEnum.FeedItemSetStringFilterType filter_type = 2; +======== + google.ads.googleads.v15.enums.FeedItemSetStringFilterTypeEnum + .FeedItemSetStringFilterType filter_type = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/feed_item_set_filter_type_infos.proto +} + +// 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/v15/common/final_app_url.proto b/third_party/googleapis/google/ads/googleads/v15/common/final_app_url.proto new file mode 100644 index 000000000..fd5ed2820 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/common/final_app_url.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/final_app_url.proto +package google.ads.googleads.v12.common; + +import "google/ads/googleads/v12/enums/app_url_operating_system_type.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/common;common"; +option java_multiple_files = true; +option java_outer_classname = "FinalAppUrlProto"; +option java_package = "com.google.ads.googleads.v12.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V12::Common"; +======== +package google.ads.googleads.v15.common; + +import "google/ads/googleads/v15/enums/app_url_operating_system_type.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/common;common"; +option java_multiple_files = true; +option java_outer_classname = "FinalAppUrlProto"; +option java_package = "com.google.ads.googleads.v15.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V15::Common"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/final_app_url.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/final_app_url.proto + google.ads.googleads.v12.enums.AppUrlOperatingSystemTypeEnum.AppUrlOperatingSystemType os_type = 1; +======== + google.ads.googleads.v15.enums.AppUrlOperatingSystemTypeEnum + .AppUrlOperatingSystemType os_type = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/final_app_url.proto + + // 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/v15/common/frequency_cap.proto b/third_party/googleapis/google/ads/googleads/v15/common/frequency_cap.proto new file mode 100644 index 000000000..8c6977da4 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/common/frequency_cap.proto @@ -0,0 +1,90 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/frequency_cap.proto +package google.ads.googleads.v12.common; + +import "google/ads/googleads/v12/enums/frequency_cap_event_type.proto"; +import "google/ads/googleads/v12/enums/frequency_cap_level.proto"; +import "google/ads/googleads/v12/enums/frequency_cap_time_unit.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/common;common"; +option java_multiple_files = true; +option java_outer_classname = "FrequencyCapProto"; +option java_package = "com.google.ads.googleads.v12.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V12::Common"; +======== +package google.ads.googleads.v15.common; + +import "google/ads/googleads/v15/enums/frequency_cap_event_type.proto"; +import "google/ads/googleads/v15/enums/frequency_cap_level.proto"; +import "google/ads/googleads/v15/enums/frequency_cap_time_unit.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/common;common"; +option java_multiple_files = true; +option java_outer_classname = "FrequencyCapProto"; +option java_package = "com.google.ads.googleads.v15.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V15::Common"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/frequency_cap.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/frequency_cap.proto + google.ads.googleads.v12.enums.FrequencyCapLevelEnum.FrequencyCapLevel level = 1; + + // The type of event that the cap applies to (for example, impression). + google.ads.googleads.v12.enums.FrequencyCapEventTypeEnum.FrequencyCapEventType event_type = 3; + + // Unit of time the cap is defined at (for example, day, week). + google.ads.googleads.v12.enums.FrequencyCapTimeUnitEnum.FrequencyCapTimeUnit time_unit = 2; +======== + google.ads.googleads.v15.enums.FrequencyCapLevelEnum.FrequencyCapLevel level = + 1; + + // The type of event that the cap applies to (for example, impression). + google.ads.googleads.v15.enums.FrequencyCapEventTypeEnum.FrequencyCapEventType + event_type = 3; + + // Unit of time the cap is defined at (for example, day, week). + google.ads.googleads.v15.enums.FrequencyCapTimeUnitEnum.FrequencyCapTimeUnit + time_unit = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/frequency_cap.proto + + // Number of time units the cap lasts. + optional int32 time_length = 5; +} diff --git a/third_party/googleapis/google/ads/googleads/v15/common/keyword_plan_common.proto b/third_party/googleapis/google/ads/googleads/v15/common/keyword_plan_common.proto new file mode 100644 index 000000000..8c9c18f94 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/common/keyword_plan_common.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/keyword_plan_common.proto +package google.ads.googleads.v12.common; + +import "google/ads/googleads/v12/common/dates.proto"; +import "google/ads/googleads/v12/enums/device.proto"; +import "google/ads/googleads/v12/enums/keyword_plan_aggregate_metric_type.proto"; +import "google/ads/googleads/v12/enums/keyword_plan_competition_level.proto"; +import "google/ads/googleads/v12/enums/keyword_plan_concept_group_type.proto"; +import "google/ads/googleads/v12/enums/month_of_year.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/common;common"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanCommonProto"; +option java_package = "com.google.ads.googleads.v12.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V12::Common"; +======== +package google.ads.googleads.v15.common; + +import "google/ads/googleads/v15/common/dates.proto"; +import "google/ads/googleads/v15/enums/device.proto"; +import "google/ads/googleads/v15/enums/keyword_plan_aggregate_metric_type.proto"; +import "google/ads/googleads/v15/enums/keyword_plan_competition_level.proto"; +import "google/ads/googleads/v15/enums/keyword_plan_concept_group_type.proto"; +import "google/ads/googleads/v15/enums/month_of_year.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/common;common"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanCommonProto"; +option java_package = "com.google.ads.googleads.v15.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V15::Common"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/keyword_plan_common.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/keyword_plan_common.proto + google.ads.googleads.v12.enums.KeywordPlanCompetitionLevelEnum.KeywordPlanCompetitionLevel competition = 2; +======== + google.ads.googleads.v15.enums.KeywordPlanCompetitionLevelEnum + .KeywordPlanCompetitionLevel competition = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/keyword_plan_common.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/keyword_plan_common.proto + google.ads.googleads.v12.enums.MonthOfYearEnum.MonthOfYear month = 2; +======== + google.ads.googleads.v15.enums.MonthOfYearEnum.MonthOfYear month = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/keyword_plan_common.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/keyword_plan_common.proto + repeated google.ads.googleads.v12.enums.KeywordPlanAggregateMetricTypeEnum.KeywordPlanAggregateMetricType aggregate_metric_types = 1; +======== + repeated google.ads.googleads.v15.enums.KeywordPlanAggregateMetricTypeEnum + .KeywordPlanAggregateMetricType aggregate_metric_types = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/keyword_plan_common.proto +} + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/keyword_plan_common.proto + google.ads.googleads.v12.enums.DeviceEnum.Device device = 1; +======== + google.ads.googleads.v15.enums.DeviceEnum.Device device = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/keyword_plan_common.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/keyword_plan_common.proto + google.ads.googleads.v12.enums.KeywordPlanConceptGroupTypeEnum.KeywordPlanConceptGroupType type = 2; +======== + google.ads.googleads.v15.enums.KeywordPlanConceptGroupTypeEnum + .KeywordPlanConceptGroupType type = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/keyword_plan_common.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v15/common/lifecycle_goals.proto b/third_party/googleapis/google/ads/googleads/v15/common/lifecycle_goals.proto new file mode 100644 index 000000000..5aaac8ea1 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.v15.common; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/common;common"; +option java_multiple_files = true; +option java_outer_classname = "LifecycleGoalsProto"; +option java_package = "com.google.ads.googleads.v15.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V15::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/v15/common/local_services.proto b/third_party/googleapis/google/ads/googleads/v15/common/local_services.proto new file mode 100644 index 000000000..ad27c58c0 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.v15.common; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/common;common"; +option java_multiple_files = true; +option java_outer_classname = "LocalServicesProto"; +option java_package = "com.google.ads.googleads.v15.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V15::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/v15/common/matching_function.proto b/third_party/googleapis/google/ads/googleads/v15/common/matching_function.proto new file mode 100644 index 000000000..efcbef756 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/common/matching_function.proto @@ -0,0 +1,152 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/matching_function.proto +package google.ads.googleads.v12.common; + +import "google/ads/googleads/v12/enums/matching_function_context_type.proto"; +import "google/ads/googleads/v12/enums/matching_function_operator.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/common;common"; +option java_multiple_files = true; +option java_outer_classname = "MatchingFunctionProto"; +option java_package = "com.google.ads.googleads.v12.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V12::Common"; +======== +package google.ads.googleads.v15.common; + +import "google/ads/googleads/v15/enums/matching_function_context_type.proto"; +import "google/ads/googleads/v15/enums/matching_function_operator.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/common;common"; +option java_multiple_files = true; +option java_outer_classname = "MatchingFunctionProto"; +option java_package = "com.google.ads.googleads.v15.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V15::Common"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/matching_function.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/matching_function.proto + google.ads.googleads.v12.enums.MatchingFunctionOperatorEnum.MatchingFunctionOperator operator = 4; +======== + google.ads.googleads.v15.enums.MatchingFunctionOperatorEnum + .MatchingFunctionOperator + operator = 4; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/matching_function.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/matching_function.proto + google.ads.googleads.v12.enums.MatchingFunctionContextTypeEnum.MatchingFunctionContextType context_type = 1; +======== + google.ads.googleads.v15.enums.MatchingFunctionContextTypeEnum + .MatchingFunctionContextType context_type = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/matching_function.proto + } + + // 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/v15/common/metric_goal.proto b/third_party/googleapis/google/ads/googleads/v15/common/metric_goal.proto new file mode 100644 index 000000000..53a9e43b0 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/common/metric_goal.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/metric_goal.proto +package google.ads.googleads.v12.common; + +import "google/ads/googleads/v12/enums/experiment_metric.proto"; +import "google/ads/googleads/v12/enums/experiment_metric_direction.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/common;common"; +option java_multiple_files = true; +option java_outer_classname = "MetricGoalProto"; +option java_package = "com.google.ads.googleads.v12.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V12::Common"; +======== +package google.ads.googleads.v15.common; + +import "google/ads/googleads/v15/enums/experiment_metric.proto"; +import "google/ads/googleads/v15/enums/experiment_metric_direction.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/common;common"; +option java_multiple_files = true; +option java_outer_classname = "MetricGoalProto"; +option java_package = "com.google.ads.googleads.v15.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V15::Common"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/metric_goal.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/metric_goal.proto + google.ads.googleads.v12.enums.ExperimentMetricEnum.ExperimentMetric metric = 1; + + // The metric direction of the goal. For example, increase, decrease, no + // change. + google.ads.googleads.v12.enums.ExperimentMetricDirectionEnum.ExperimentMetricDirection direction = 2; +======== + google.ads.googleads.v15.enums.ExperimentMetricEnum.ExperimentMetric metric = + 1; + + // The metric direction of the goal. For example, increase, decrease, no + // change. + google.ads.googleads.v15.enums.ExperimentMetricDirectionEnum + .ExperimentMetricDirection direction = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/metric_goal.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v15/common/metrics.proto b/third_party/googleapis/google/ads/googleads/v15/common/metrics.proto new file mode 100644 index 000000000..2be9e8742 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/common/metrics.proto @@ -0,0 +1,1092 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/metrics.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/metrics.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/metrics.proto +package google.ads.googleads.v13.common; + +import "google/ads/googleads/v13/enums/interaction_event_type.proto"; +import "google/ads/googleads/v13/enums/quality_score_bucket.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/common;common"; +option java_multiple_files = true; +option java_outer_classname = "MetricsProto"; +option java_package = "com.google.ads.googleads.v13.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V13::Common"; +======== +package google.ads.googleads.v15.common; + +import "google/ads/googleads/v15/enums/interaction_event_type.proto"; +import "google/ads/googleads/v15/enums/quality_score_bucket.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/common;common"; +option java_multiple_files = true; +option java_outer_classname = "MetricsProto"; +option java_package = "com.google.ads.googleads.v15.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V15::Common"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/metrics.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/metrics.proto + google.ads.googleads.v13.enums.QualityScoreBucketEnum.QualityScoreBucket + historical_creative_quality_score = 80; + + // The quality of historical landing page experience. + google.ads.googleads.v13.enums.QualityScoreBucketEnum.QualityScoreBucket +======== + google.ads.googleads.v15.enums.QualityScoreBucketEnum.QualityScoreBucket + historical_creative_quality_score = 80; + + // The quality of historical landing page experience. + google.ads.googleads.v15.enums.QualityScoreBucketEnum.QualityScoreBucket +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/metrics.proto + historical_landing_page_quality_score = 81; + + // The historical quality score. + optional int64 historical_quality_score = 216; + + // The historical search predicted click through rate (CTR). +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/metrics.proto + google.ads.googleads.v13.enums.QualityScoreBucketEnum.QualityScoreBucket +======== + google.ads.googleads.v15.enums.QualityScoreBucketEnum.QualityScoreBucket +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/metrics.proto + 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/metrics.proto + repeated google.ads.googleads.v13.enums.InteractionEventTypeEnum +======== + repeated google.ads.googleads.v15.enums.InteractionEventTypeEnum +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/metrics.proto + .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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/metrics.proto + int64 sk_ad_network_conversions = 246; +======== + int64 sk_ad_network_installs = 246; + + // The total number of iOS Store Kit Ad Network conversions. + int64 sk_ad_network_total_conversions = 292; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/metrics.proto + + // 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; +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/metrics.proto +======== + + // 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; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/metrics.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v15/common/offline_user_data.proto b/third_party/googleapis/google/ads/googleads/v15/common/offline_user_data.proto new file mode 100644 index 000000000..3775ecfc5 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/common/offline_user_data.proto @@ -0,0 +1,368 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/offline_user_data.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/offline_user_data.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/offline_user_data.proto +package google.ads.googleads.v13.common; + +import "google/ads/googleads/v13/enums/user_identifier_source.proto"; +import "google/api/field_behavior.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/common;common"; +option java_multiple_files = true; +option java_outer_classname = "OfflineUserDataProto"; +option java_package = "com.google.ads.googleads.v13.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V13::Common"; +======== +package google.ads.googleads.v15.common; + +import "google/ads/googleads/v15/common/consent.proto"; +import "google/ads/googleads/v15/enums/user_identifier_source.proto"; +import "google/api/field_behavior.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/common;common"; +option java_multiple_files = true; +option java_outer_classname = "OfflineUserDataProto"; +option java_package = "com.google.ads.googleads.v15.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V15::Common"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/offline_user_data.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/offline_user_data.proto + google.ads.googleads.v13.enums.UserIdentifierSourceEnum.UserIdentifierSource +======== + google.ads.googleads.v15.enums.UserIdentifierSourceEnum.UserIdentifierSource +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/offline_user_data.proto + 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/v15/common/policy.proto b/third_party/googleapis/google/ads/googleads/v15/common/policy.proto new file mode 100644 index 000000000..fc8565363 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/common/policy.proto @@ -0,0 +1,259 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/policy.proto +package google.ads.googleads.v12.common; + +import "google/ads/googleads/v12/enums/policy_topic_entry_type.proto"; +import "google/ads/googleads/v12/enums/policy_topic_evidence_destination_mismatch_url_type.proto"; +import "google/ads/googleads/v12/enums/policy_topic_evidence_destination_not_working_device.proto"; +import "google/ads/googleads/v12/enums/policy_topic_evidence_destination_not_working_dns_error_type.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/common;common"; +option java_multiple_files = true; +option java_outer_classname = "PolicyProto"; +option java_package = "com.google.ads.googleads.v12.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V12::Common"; +======== +package google.ads.googleads.v15.common; + +import "google/ads/googleads/v15/enums/policy_topic_entry_type.proto"; +import "google/ads/googleads/v15/enums/policy_topic_evidence_destination_mismatch_url_type.proto"; +import "google/ads/googleads/v15/enums/policy_topic_evidence_destination_not_working_device.proto"; +import "google/ads/googleads/v15/enums/policy_topic_evidence_destination_not_working_dns_error_type.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/common;common"; +option java_multiple_files = true; +option java_outer_classname = "PolicyProto"; +option java_package = "com.google.ads.googleads.v15.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V15::Common"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/policy.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/policy.proto + google.ads.googleads.v12.enums.PolicyTopicEntryTypeEnum.PolicyTopicEntryType type = 2; +======== + google.ads.googleads.v15.enums.PolicyTopicEntryTypeEnum.PolicyTopicEntryType + type = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/policy.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/policy.proto + repeated google.ads.googleads.v12.enums.PolicyTopicEvidenceDestinationMismatchUrlTypeEnum.PolicyTopicEvidenceDestinationMismatchUrlType url_types = 1; +======== + repeated google.ads.googleads.v15.enums + .PolicyTopicEvidenceDestinationMismatchUrlTypeEnum + .PolicyTopicEvidenceDestinationMismatchUrlType url_types = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/policy.proto + } + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/policy.proto + google.ads.googleads.v12.enums.PolicyTopicEvidenceDestinationNotWorkingDeviceEnum.PolicyTopicEvidenceDestinationNotWorkingDevice device = 4; +======== + google.ads.googleads.v15.enums + .PolicyTopicEvidenceDestinationNotWorkingDeviceEnum + .PolicyTopicEvidenceDestinationNotWorkingDevice device = 4; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/policy.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/policy.proto + google.ads.googleads.v12.enums.PolicyTopicEvidenceDestinationNotWorkingDnsErrorTypeEnum.PolicyTopicEvidenceDestinationNotWorkingDnsErrorType dns_error_type = 1; +======== + google.ads.googleads.v15.enums + .PolicyTopicEvidenceDestinationNotWorkingDnsErrorTypeEnum + .PolicyTopicEvidenceDestinationNotWorkingDnsErrorType dns_error_type = + 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/policy.proto + + // 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/v15/common/policy_summary.proto b/third_party/googleapis/google/ads/googleads/v15/common/policy_summary.proto new file mode 100644 index 000000000..f73475c7d --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/common/policy_summary.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/policy_summary.proto +package google.ads.googleads.v12.common; + +import "google/ads/googleads/v12/common/policy.proto"; +import "google/ads/googleads/v12/enums/policy_approval_status.proto"; +import "google/ads/googleads/v12/enums/policy_review_status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/common;common"; +option java_multiple_files = true; +option java_outer_classname = "PolicySummaryProto"; +option java_package = "com.google.ads.googleads.v12.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V12::Common"; +======== +package google.ads.googleads.v15.common; + +import "google/ads/googleads/v15/common/policy.proto"; +import "google/ads/googleads/v15/enums/policy_approval_status.proto"; +import "google/ads/googleads/v15/enums/policy_review_status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/common;common"; +option java_multiple_files = true; +option java_outer_classname = "PolicySummaryProto"; +option java_package = "com.google.ads.googleads.v15.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V15::Common"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/policy_summary.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/policy_summary.proto + google.ads.googleads.v12.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.v12.enums.PolicyApprovalStatusEnum.PolicyApprovalStatus approval_status = 3; +======== + google.ads.googleads.v15.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.v15.enums.PolicyApprovalStatusEnum.PolicyApprovalStatus + approval_status = 3; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/policy_summary.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v15/common/real_time_bidding_setting.proto b/third_party/googleapis/google/ads/googleads/v15/common/real_time_bidding_setting.proto new file mode 100644 index 000000000..a60673b23 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/common/real_time_bidding_setting.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/real_time_bidding_setting.proto +package google.ads.googleads.v13.common; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/common;common"; +option java_multiple_files = true; +option java_outer_classname = "RealTimeBiddingSettingProto"; +option java_package = "com.google.ads.googleads.v13.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V13::Common"; +======== +package google.ads.googleads.v15.common; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/common;common"; +option java_multiple_files = true; +option java_outer_classname = "RealTimeBiddingSettingProto"; +option java_package = "com.google.ads.googleads.v15.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V15::Common"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/real_time_bidding_setting.proto + +// 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/v15/common/segments.proto b/third_party/googleapis/google/ads/googleads/v15/common/segments.proto new file mode 100644 index 000000000..d63972b4a --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/common/segments.proto @@ -0,0 +1,483 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.ads.googleads.v15.common; + +import "google/ads/googleads/v15/common/criteria.proto"; +import "google/ads/googleads/v15/enums/ad_destination_type.proto"; +import "google/ads/googleads/v15/enums/ad_network_type.proto"; +import "google/ads/googleads/v15/enums/budget_campaign_association_status.proto"; +import "google/ads/googleads/v15/enums/click_type.proto"; +import "google/ads/googleads/v15/enums/conversion_action_category.proto"; +import "google/ads/googleads/v15/enums/conversion_attribution_event_type.proto"; +import "google/ads/googleads/v15/enums/conversion_lag_bucket.proto"; +import "google/ads/googleads/v15/enums/conversion_or_adjustment_lag_bucket.proto"; +import "google/ads/googleads/v15/enums/conversion_value_rule_primary_dimension.proto"; +import "google/ads/googleads/v15/enums/converting_user_prior_engagement_type_and_ltv_bucket.proto"; +import "google/ads/googleads/v15/enums/day_of_week.proto"; +import "google/ads/googleads/v15/enums/device.proto"; +import "google/ads/googleads/v15/enums/external_conversion_source.proto"; +import "google/ads/googleads/v15/enums/hotel_date_selection_type.proto"; +import "google/ads/googleads/v15/enums/hotel_price_bucket.proto"; +import "google/ads/googleads/v15/enums/hotel_rate_type.proto"; +import "google/ads/googleads/v15/enums/month_of_year.proto"; +import "google/ads/googleads/v15/enums/placeholder_type.proto"; +import "google/ads/googleads/v15/enums/product_channel.proto"; +import "google/ads/googleads/v15/enums/product_channel_exclusivity.proto"; +import "google/ads/googleads/v15/enums/product_condition.proto"; +import "google/ads/googleads/v15/enums/recommendation_type.proto"; +import "google/ads/googleads/v15/enums/search_engine_results_page_type.proto"; +import "google/ads/googleads/v15/enums/search_term_match_type.proto"; +import "google/ads/googleads/v15/enums/sk_ad_network_ad_event_type.proto"; +import "google/ads/googleads/v15/enums/sk_ad_network_attribution_credit.proto"; +import "google/ads/googleads/v15/enums/sk_ad_network_coarse_conversion_value.proto"; +import "google/ads/googleads/v15/enums/sk_ad_network_source_type.proto"; +import "google/ads/googleads/v15/enums/sk_ad_network_user_type.proto"; +import "google/ads/googleads/v15/enums/slot.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/common;common"; +option java_multiple_files = true; +option java_outer_classname = "SegmentsProto"; +option java_package = "com.google.ads.googleads.v15.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V15::Common"; + +// Proto file describing segment only fields. + +// Segment only fields. +message Segments { + // Activity account ID. + optional int64 activity_account_id = 148; + + // Activity rating. + optional int64 activity_rating = 149; + + // Advertiser supplied activity ID. + optional string external_activity_id = 150; + + // Ad Destination type. + google.ads.googleads.v15.enums.AdDestinationTypeEnum.AdDestinationType + ad_destination_type = 136; + + // Ad network type. + google.ads.googleads.v15.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.v15.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.v15.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.v15.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.v15.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.v15.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.v15.enums.DayOfWeekEnum.DayOfWeek day_of_week = 5; + + // Device to which metrics apply. + google.ads.googleads.v15.enums.DeviceEnum.Device device = 1; + + // External conversion source. + google.ads.googleads.v15.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.v15.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.v15.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.v15.enums.HotelRateTypeEnum.HotelRateType + hotel_rate_type = 74; + + // Hotel price bucket. + google.ads.googleads.v15.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.v15.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.v15.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.v15.enums.ProductChannelEnum.ProductChannel + product_channel = 30; + + // Channel exclusivity of the product. + google.ads.googleads.v15.enums.ProductChannelExclusivityEnum + .ProductChannelExclusivity product_channel_exclusivity = 31; + + // Condition of the product. + google.ads.googleads.v15.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.v15.enums.RecommendationTypeEnum.RecommendationType + recommendation_type = 140; + + // Type of the search engine results page. + google.ads.googleads.v15.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.v15.enums.SearchTermMatchTypeEnum.SearchTermMatchType + search_term_match_type = 22; + + // Position of the ad. + google.ads.googleads.v15.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.v15.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.v15.enums.SkAdNetworkUserTypeEnum.SkAdNetworkUserType + sk_ad_network_user_type = 141; + + // iOS Store Kit Ad Network ad event type. + google.ads.googleads.v15.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.v15.enums.SkAdNetworkAttributionCreditEnum + .SkAdNetworkAttributionCredit sk_ad_network_attribution_credit = 144; + + // iOS Store Kit Ad Network coarse conversion value. + google.ads.googleads.v15.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.v15.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.v15.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.v15.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/v15/common/simulation.proto b/third_party/googleapis/google/ads/googleads/v15/common/simulation.proto new file mode 100644 index 000000000..4488da979 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/common/simulation.proto @@ -0,0 +1,319 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/simulation.proto +package google.ads.googleads.v13.common; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/common;common"; +option java_multiple_files = true; +option java_outer_classname = "SimulationProto"; +option java_package = "com.google.ads.googleads.v13.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V13::Common"; +======== +package google.ads.googleads.v15.common; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/common;common"; +option java_multiple_files = true; +option java_outer_classname = "SimulationProto"; +option java_package = "com.google.ads.googleads.v15.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V15::Common"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/simulation.proto + +// 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/v15/common/tag_snippet.proto b/third_party/googleapis/google/ads/googleads/v15/common/tag_snippet.proto new file mode 100644 index 000000000..625394df2 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/common/tag_snippet.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/tag_snippet.proto +package google.ads.googleads.v12.common; + +import "google/ads/googleads/v12/enums/tracking_code_page_format.proto"; +import "google/ads/googleads/v12/enums/tracking_code_type.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/common;common"; +option java_multiple_files = true; +option java_outer_classname = "TagSnippetProto"; +option java_package = "com.google.ads.googleads.v12.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V12::Common"; +======== +package google.ads.googleads.v15.common; + +import "google/ads/googleads/v15/enums/tracking_code_page_format.proto"; +import "google/ads/googleads/v15/enums/tracking_code_type.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/common;common"; +option java_multiple_files = true; +option java_outer_classname = "TagSnippetProto"; +option java_package = "com.google.ads.googleads.v15.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V15::Common"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/tag_snippet.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/tag_snippet.proto + google.ads.googleads.v12.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.v12.enums.TrackingCodePageFormatEnum.TrackingCodePageFormat page_format = 2; +======== + google.ads.googleads.v15.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.v15.enums.TrackingCodePageFormatEnum + .TrackingCodePageFormat page_format = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/tag_snippet.proto + + // 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/v15/common/targeting_setting.proto b/third_party/googleapis/google/ads/googleads/v15/common/targeting_setting.proto new file mode 100644 index 000000000..14e6d4b91 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/common/targeting_setting.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/targeting_setting.proto +package google.ads.googleads.v12.common; + +import "google/ads/googleads/v12/enums/targeting_dimension.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/common;common"; +option java_multiple_files = true; +option java_outer_classname = "TargetingSettingProto"; +option java_package = "com.google.ads.googleads.v12.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V12::Common"; +======== +package google.ads.googleads.v15.common; + +import "google/ads/googleads/v15/enums/targeting_dimension.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/common;common"; +option java_multiple_files = true; +option java_outer_classname = "TargetingSettingProto"; +option java_package = "com.google.ads.googleads.v15.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V15::Common"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/targeting_setting.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/targeting_setting.proto + google.ads.googleads.v12.enums.TargetingDimensionEnum.TargetingDimension targeting_dimension = 1; +======== + google.ads.googleads.v15.enums.TargetingDimensionEnum.TargetingDimension + targeting_dimension = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/targeting_setting.proto + + // 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/v15/common/text_label.proto b/third_party/googleapis/google/ads/googleads/v15/common/text_label.proto new file mode 100644 index 000000000..f33c81c7c --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/common/text_label.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/text_label.proto +package google.ads.googleads.v13.common; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/common;common"; +option java_multiple_files = true; +option java_outer_classname = "TextLabelProto"; +option java_package = "com.google.ads.googleads.v13.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V13::Common"; +======== +package google.ads.googleads.v15.common; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/common;common"; +option java_multiple_files = true; +option java_outer_classname = "TextLabelProto"; +option java_package = "com.google.ads.googleads.v15.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V15::Common"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/text_label.proto + +// 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/v15/common/url_collection.proto b/third_party/googleapis/google/ads/googleads/v15/common/url_collection.proto new file mode 100644 index 000000000..c8508f77d --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/common/url_collection.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/url_collection.proto +package google.ads.googleads.v13.common; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/common;common"; +option java_multiple_files = true; +option java_outer_classname = "UrlCollectionProto"; +option java_package = "com.google.ads.googleads.v13.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V13::Common"; +======== +package google.ads.googleads.v15.common; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/common;common"; +option java_multiple_files = true; +option java_outer_classname = "UrlCollectionProto"; +option java_package = "com.google.ads.googleads.v15.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V15::Common"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/url_collection.proto + +// 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/v15/common/user_lists.proto b/third_party/googleapis/google/ads/googleads/v15/common/user_lists.proto new file mode 100644 index 000000000..4a78e8e34 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/common/user_lists.proto @@ -0,0 +1,408 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/user_lists.proto +package google.ads.googleads.v12.common; + +import "google/ads/googleads/v12/enums/customer_match_upload_key_type.proto"; +import "google/ads/googleads/v12/enums/user_list_combined_rule_operator.proto"; +import "google/ads/googleads/v12/enums/user_list_crm_data_source_type.proto"; +import "google/ads/googleads/v12/enums/user_list_date_rule_item_operator.proto"; +import "google/ads/googleads/v12/enums/user_list_flexible_rule_operator.proto"; +import "google/ads/googleads/v12/enums/user_list_logical_rule_operator.proto"; +import "google/ads/googleads/v12/enums/user_list_number_rule_item_operator.proto"; +import "google/ads/googleads/v12/enums/user_list_prepopulation_status.proto"; +import "google/ads/googleads/v12/enums/user_list_rule_type.proto"; +import "google/ads/googleads/v12/enums/user_list_string_rule_item_operator.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/common;common"; +option java_multiple_files = true; +option java_outer_classname = "UserListsProto"; +option java_package = "com.google.ads.googleads.v12.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V12::Common"; +======== +package google.ads.googleads.v15.common; + +import "google/ads/googleads/v15/enums/customer_match_upload_key_type.proto"; +import "google/ads/googleads/v15/enums/lookalike_expansion_level.proto"; +import "google/ads/googleads/v15/enums/user_list_crm_data_source_type.proto"; +import "google/ads/googleads/v15/enums/user_list_date_rule_item_operator.proto"; +import "google/ads/googleads/v15/enums/user_list_flexible_rule_operator.proto"; +import "google/ads/googleads/v15/enums/user_list_logical_rule_operator.proto"; +import "google/ads/googleads/v15/enums/user_list_number_rule_item_operator.proto"; +import "google/ads/googleads/v15/enums/user_list_prepopulation_status.proto"; +import "google/ads/googleads/v15/enums/user_list_rule_type.proto"; +import "google/ads/googleads/v15/enums/user_list_string_rule_item_operator.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/common;common"; +option java_multiple_files = true; +option java_outer_classname = "UserListsProto"; +option java_package = "com.google.ads.googleads.v15.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V15::Common"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/user_lists.proto + +// 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.v15.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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/user_lists.proto + google.ads.googleads.v12.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.v12.enums.UserListCrmDataSourceTypeEnum.UserListCrmDataSourceType data_source_type = 3; +======== + google.ads.googleads.v15.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.v15.enums.UserListCrmDataSourceTypeEnum + .UserListCrmDataSourceType data_source_type = 3; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/user_lists.proto +} + +// 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. + // +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/user_lists.proto + // Currently AND of ORs (conjunctive normal form) is only supported for + // ExpressionRuleUserList. + google.ads.googleads.v12.enums.UserListRuleTypeEnum.UserListRuleType rule_type = 1; +======== + // OR of ANDs is the only supported type for FlexibleRuleUserList. + google.ads.googleads.v15.enums.UserListRuleTypeEnum.UserListRuleType + rule_type = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/user_lists.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/user_lists.proto + google.ads.googleads.v12.enums.UserListDateRuleItemOperatorEnum.UserListDateRuleItemOperator operator = 1; +======== + google.ads.googleads.v15.enums.UserListDateRuleItemOperatorEnum + .UserListDateRuleItemOperator + operator = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/user_lists.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/user_lists.proto + google.ads.googleads.v12.enums.UserListNumberRuleItemOperatorEnum.UserListNumberRuleItemOperator operator = 1; +======== + google.ads.googleads.v15.enums.UserListNumberRuleItemOperatorEnum + .UserListNumberRuleItemOperator + operator = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/user_lists.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/user_lists.proto + google.ads.googleads.v12.enums.UserListStringRuleItemOperatorEnum.UserListStringRuleItemOperator operator = 1; +======== + google.ads.googleads.v15.enums.UserListStringRuleItemOperatorEnum + .UserListStringRuleItemOperator + operator = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/user_lists.proto + + // 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; +} + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/user_lists.proto +// User lists defined by combining two rules, left operand and right operand. +// There are two operators: AND where left operand and right operand have to be +// true; AND_NOT where left operand is true but right operand is false. +message CombinedRuleUserListInfo { + // Left operand of the combined rule. + // This field is required and must be populated when creating new combined + // rule based user list. + UserListRuleInfo left_operand = 1; + + // Right operand of the combined rule. + // This field is required and must be populated when creating new combined + // rule based user list. + UserListRuleInfo right_operand = 2; + + // Operator to connect the two operands. + // + // Required for creating a combined rule user list. + google.ads.googleads.v12.enums.UserListCombinedRuleOperatorEnum.UserListCombinedRuleOperator rule_operator = 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; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/user_lists.proto +} + +// 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.v15.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; +} + +// 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. +message FlexibleRuleUserListInfo { + // Operator that defines how the inclusive operands are combined. + google.ads.googleads.v12.enums.UserListFlexibleRuleOperatorEnum.UserListFlexibleRuleOperator inclusive_rule_operator = 1; + + // Actions that are located on the inclusive side. + // These are joined together by either AND/OR as specified by the + // inclusive_rule_operator. + repeated FlexibleRuleOperandInfo inclusive_operands = 2; + + // Actions that are located on the exclusive side. + // These are joined together with 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/user_lists.proto + google.ads.googleads.v12.enums.UserListPrepopulationStatusEnum.UserListPrepopulationStatus prepopulation_status = 1; + + // Flexible rule representation of visitors with one or multiple actions. + FlexibleRuleUserListInfo flexible_rule_user_list = 5; + + // Subtypes of rule based user lists. + oneof rule_based_user_list { + // User lists defined by combining two rules. + // There are two operators: AND, where the left and right operands have to + // be true; AND_NOT where left operand is true but right operand is false. + CombinedRuleUserListInfo combined_rule_user_list = 2; + + // Visitors of a page. The page visit is defined by one boolean rule + // expression. + ExpressionRuleUserListInfo expression_rule_user_list = 4; + } +======== + google.ads.googleads.v15.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; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/user_lists.proto +} + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/common/user_lists.proto + google.ads.googleads.v12.enums.UserListLogicalRuleOperatorEnum.UserListLogicalRuleOperator operator = 1; +======== + google.ads.googleads.v15.enums.UserListLogicalRuleOperatorEnum + .UserListLogicalRuleOperator + operator = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/user_lists.proto + + // 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/v15/common/value.proto b/third_party/googleapis/google/ads/googleads/v15/common/value.proto new file mode 100644 index 000000000..71272903b --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/common/value.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/common/value.proto +package google.ads.googleads.v13.common; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/common;common"; +option java_multiple_files = true; +option java_outer_classname = "ValueProto"; +option java_package = "com.google.ads.googleads.v13.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V13::Common"; +======== +package google.ads.googleads.v15.common; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/common;common"; +option java_multiple_files = true; +option java_outer_classname = "ValueProto"; +option java_package = "com.google.ads.googleads.v15.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V15::Common"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/common/value.proto + +// 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/v15/enums/BUILD.bazel b/third_party/googleapis/google/ads/googleads/v15/enums/BUILD.bazel new file mode 100644 index 000000000..01a51ee0b --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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/v15/enums/access_invitation_status.proto b/third_party/googleapis/google/ads/googleads/v15/enums/access_invitation_status.proto new file mode 100644 index 000000000..97ffbec3a --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/access_invitation_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/access_invitation_status.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AccessInvitationStatusProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AccessInvitationStatusProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/access_invitation_status.proto + +// 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/v15/enums/access_reason.proto b/third_party/googleapis/google/ads/googleads/v15/enums/access_reason.proto new file mode 100644 index 000000000..9f2ee3a1c --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/access_reason.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/access_reason.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AccessReasonProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AccessReasonProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/access_reason.proto + +// 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/v15/enums/access_role.proto b/third_party/googleapis/google/ads/googleads/v15/enums/access_role.proto new file mode 100644 index 000000000..ce15f31c3 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/access_role.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/access_role.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AccessRoleProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AccessRoleProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/access_role.proto + +// 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/v15/enums/account_budget_proposal_status.proto b/third_party/googleapis/google/ads/googleads/v15/enums/account_budget_proposal_status.proto new file mode 100644 index 000000000..4a043eb39 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/account_budget_proposal_status.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/account_budget_proposal_status.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AccountBudgetProposalStatusProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AccountBudgetProposalStatusProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/account_budget_proposal_status.proto + +// 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/v15/enums/account_budget_proposal_type.proto b/third_party/googleapis/google/ads/googleads/v15/enums/account_budget_proposal_type.proto new file mode 100644 index 000000000..5fff2739e --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/account_budget_proposal_type.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/account_budget_proposal_type.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AccountBudgetProposalTypeProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AccountBudgetProposalTypeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/account_budget_proposal_type.proto + +// 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/v15/enums/account_budget_status.proto b/third_party/googleapis/google/ads/googleads/v15/enums/account_budget_status.proto new file mode 100644 index 000000000..e376dfb18 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/account_budget_status.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/account_budget_status.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AccountBudgetStatusProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AccountBudgetStatusProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/account_budget_status.proto + +// 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/v15/enums/account_link_status.proto b/third_party/googleapis/google/ads/googleads/v15/enums/account_link_status.proto new file mode 100644 index 000000000..465d02cd3 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/account_link_status.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/account_link_status.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AccountLinkStatusProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AccountLinkStatusProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/account_link_status.proto + +// 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/v15/enums/ad_customizer_placeholder_field.proto b/third_party/googleapis/google/ads/googleads/v15/enums/ad_customizer_placeholder_field.proto new file mode 100644 index 000000000..db91074fd --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/ad_customizer_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/ad_customizer_placeholder_field.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdCustomizerPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdCustomizerPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/ad_customizer_placeholder_field.proto + +// 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/v15/enums/ad_destination_type.proto b/third_party/googleapis/google/ads/googleads/v15/enums/ad_destination_type.proto new file mode 100644 index 000000000..791d3c735 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/ad_destination_type.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/ad_destination_type.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdDestinationTypeProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdDestinationTypeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/ad_destination_type.proto + +// 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/v15/enums/ad_group_ad_rotation_mode.proto b/third_party/googleapis/google/ads/googleads/v15/enums/ad_group_ad_rotation_mode.proto new file mode 100644 index 000000000..ec77f6025 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/ad_group_ad_rotation_mode.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/ad_group_ad_rotation_mode.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupAdRotationModeProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupAdRotationModeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/ad_group_ad_rotation_mode.proto + +// 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/v15/enums/ad_group_ad_status.proto b/third_party/googleapis/google/ads/googleads/v15/enums/ad_group_ad_status.proto new file mode 100644 index 000000000..295332747 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/ad_group_ad_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/ad_group_ad_status.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupAdStatusProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupAdStatusProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/ad_group_ad_status.proto + +// 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/v15/enums/ad_group_criterion_approval_status.proto b/third_party/googleapis/google/ads/googleads/v15/enums/ad_group_criterion_approval_status.proto new file mode 100644 index 000000000..e8a4ce523 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/ad_group_criterion_approval_status.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/ad_group_criterion_approval_status.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupCriterionApprovalStatusProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupCriterionApprovalStatusProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/ad_group_criterion_approval_status.proto + +// 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/v15/enums/ad_group_criterion_status.proto b/third_party/googleapis/google/ads/googleads/v15/enums/ad_group_criterion_status.proto new file mode 100644 index 000000000..4375c8381 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/ad_group_criterion_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/ad_group_criterion_status.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupCriterionStatusProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupCriterionStatusProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/ad_group_criterion_status.proto + +// 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/v15/enums/ad_group_status.proto b/third_party/googleapis/google/ads/googleads/v15/enums/ad_group_status.proto new file mode 100644 index 000000000..2b12dd336 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/ad_group_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/ad_group_status.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupStatusProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupStatusProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/ad_group_status.proto + +// 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/v15/enums/ad_group_type.proto b/third_party/googleapis/google/ads/googleads/v15/enums/ad_group_type.proto new file mode 100644 index 000000000..38dc12a9e --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/ad_group_type.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/ad_group_type.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupTypeProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupTypeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/ad_group_type.proto + +// 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/v15/enums/ad_network_type.proto b/third_party/googleapis/google/ads/googleads/v15/enums/ad_network_type.proto new file mode 100644 index 000000000..2f10e859f --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/ad_network_type.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/ad_network_type.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdNetworkTypeProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdNetworkTypeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/ad_network_type.proto + +// 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/v15/enums/ad_serving_optimization_status.proto b/third_party/googleapis/google/ads/googleads/v15/enums/ad_serving_optimization_status.proto new file mode 100644 index 000000000..6981f880a --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/ad_serving_optimization_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/ad_serving_optimization_status.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdServingOptimizationStatusProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdServingOptimizationStatusProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/ad_serving_optimization_status.proto + +// 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/v15/enums/ad_strength.proto b/third_party/googleapis/google/ads/googleads/v15/enums/ad_strength.proto new file mode 100644 index 000000000..dd9bfd53a --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/ad_strength.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/ad_strength.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdStrengthProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdStrengthProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/ad_strength.proto + +// 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/v15/enums/ad_type.proto b/third_party/googleapis/google/ads/googleads/v15/enums/ad_type.proto new file mode 100644 index 000000000..7aaa19923 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/ad_type.proto @@ -0,0 +1,152 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/ad_type.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdTypeProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdTypeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/ad_type.proto + +// 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; +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/ad_type.proto +======== + + // Discovery video responsive ad. + DISCOVERY_VIDEO_RESPONSIVE_AD = 38; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/ad_type.proto + } +} diff --git a/third_party/googleapis/google/ads/googleads/v15/enums/advertising_channel_sub_type.proto b/third_party/googleapis/google/ads/googleads/v15/enums/advertising_channel_sub_type.proto new file mode 100644 index 000000000..f777365c9 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/advertising_channel_sub_type.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/advertising_channel_sub_type.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdvertisingChannelSubTypeProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdvertisingChannelSubTypeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/advertising_channel_sub_type.proto + +// 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/v15/enums/advertising_channel_type.proto b/third_party/googleapis/google/ads/googleads/v15/enums/advertising_channel_type.proto new file mode 100644 index 000000000..480b119fe --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/advertising_channel_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/advertising_channel_type.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdvertisingChannelTypeProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdvertisingChannelTypeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/advertising_channel_type.proto + +// 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/v15/enums/affiliate_location_feed_relationship_type.proto b/third_party/googleapis/google/ads/googleads/v15/enums/affiliate_location_feed_relationship_type.proto new file mode 100644 index 000000000..0d177a2e5 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/affiliate_location_feed_relationship_type.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/affiliate_location_feed_relationship_type.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AffiliateLocationFeedRelationshipTypeProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AffiliateLocationFeedRelationshipTypeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/affiliate_location_feed_relationship_type.proto + +// 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/v15/enums/affiliate_location_placeholder_field.proto b/third_party/googleapis/google/ads/googleads/v15/enums/affiliate_location_placeholder_field.proto new file mode 100644 index 000000000..ac5d5da8f --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/affiliate_location_placeholder_field.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/affiliate_location_placeholder_field.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AffiliateLocationPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AffiliateLocationPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/affiliate_location_placeholder_field.proto + +// 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/v15/enums/age_range_type.proto b/third_party/googleapis/google/ads/googleads/v15/enums/age_range_type.proto new file mode 100644 index 000000000..b9623f23f --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/age_range_type.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/age_range_type.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AgeRangeTypeProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AgeRangeTypeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/age_range_type.proto + +// 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/v15/enums/android_privacy_interaction_type.proto b/third_party/googleapis/google/ads/googleads/v15/enums/android_privacy_interaction_type.proto new file mode 100644 index 000000000..68b61b8c2 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AndroidPrivacyInteractionTypeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::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/v15/enums/android_privacy_network_type.proto b/third_party/googleapis/google/ads/googleads/v15/enums/android_privacy_network_type.proto new file mode 100644 index 000000000..3295f9bd2 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/android_privacy_network_type.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/sk_ad_network_user_type.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SkAdNetworkUserTypeProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; + +// Proto file describing SkAdNetwork user types. + +// Container for enumeration of SkAdNetwork user types. +message SkAdNetworkUserTypeEnum { + // Enumerates SkAdNetwork user types + enum SkAdNetworkUserType { +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AndroidPrivacyNetworkTypeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; + +// Proto file describing Android privacy network types. + +// The network type enum for Android privacy shared key. +message AndroidPrivacyNetworkTypeEnum { + // Enumerates network types + enum AndroidPrivacyNetworkType { +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/android_privacy_network_type.proto + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/sk_ad_network_user_type.proto + // 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; +======== + // Search Network. + SEARCH = 2; + + // Display Network. + DISPLAY = 3; + + // YouTube Network. + YOUTUBE = 4; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/android_privacy_network_type.proto + } +} diff --git a/third_party/googleapis/google/ads/googleads/v15/enums/app_bidding_goal.proto b/third_party/googleapis/google/ads/googleads/v15/enums/app_bidding_goal.proto new file mode 100644 index 000000000..2d9ca935b --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AppBiddingGoalProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::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/v15/enums/app_campaign_app_store.proto b/third_party/googleapis/google/ads/googleads/v15/enums/app_campaign_app_store.proto new file mode 100644 index 000000000..3b371fa6a --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/app_campaign_app_store.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/app_campaign_app_store.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AppCampaignAppStoreProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AppCampaignAppStoreProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/app_campaign_app_store.proto + +// 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/v15/enums/app_campaign_bidding_strategy_goal_type.proto b/third_party/googleapis/google/ads/googleads/v15/enums/app_campaign_bidding_strategy_goal_type.proto new file mode 100644 index 000000000..ad56a2f6b --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/app_campaign_bidding_strategy_goal_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/app_campaign_bidding_strategy_goal_type.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AppCampaignBiddingStrategyGoalTypeProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AppCampaignBiddingStrategyGoalTypeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/app_campaign_bidding_strategy_goal_type.proto + +// 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/v15/enums/app_payment_model_type.proto b/third_party/googleapis/google/ads/googleads/v15/enums/app_payment_model_type.proto new file mode 100644 index 000000000..0e2d075bd --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/app_payment_model_type.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/app_payment_model_type.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AppPaymentModelTypeProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AppPaymentModelTypeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/app_payment_model_type.proto + +// 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/v15/enums/app_placeholder_field.proto b/third_party/googleapis/google/ads/googleads/v15/enums/app_placeholder_field.proto new file mode 100644 index 000000000..1866c6501 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/app_placeholder_field.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/app_placeholder_field.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AppPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AppPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/app_placeholder_field.proto + +// 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/v15/enums/app_store.proto b/third_party/googleapis/google/ads/googleads/v15/enums/app_store.proto new file mode 100644 index 000000000..f065043fd --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/app_store.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/app_store.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AppStoreProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AppStoreProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/app_store.proto + +// 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/v15/enums/app_url_operating_system_type.proto b/third_party/googleapis/google/ads/googleads/v15/enums/app_url_operating_system_type.proto new file mode 100644 index 000000000..c7339f8c6 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/app_url_operating_system_type.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/app_url_operating_system_type.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AppUrlOperatingSystemTypeProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AppUrlOperatingSystemTypeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/app_url_operating_system_type.proto + +// 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/v15/enums/asset_automation_status.proto b/third_party/googleapis/google/ads/googleads/v15/enums/asset_automation_status.proto new file mode 100644 index 000000000..83a3fa3be --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AssetAutomationStatusProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::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/v15/enums/asset_automation_type.proto b/third_party/googleapis/google/ads/googleads/v15/enums/asset_automation_type.proto new file mode 100644 index 000000000..3c215b867 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AssetAutomationTypeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::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/v15/enums/asset_field_type.proto b/third_party/googleapis/google/ads/googleads/v15/enums/asset_field_type.proto new file mode 100644 index 000000000..c62775dd1 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/asset_field_type.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AssetFieldTypeProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AssetFieldTypeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/asset_field_type.proto + +// 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/v15/enums/asset_group_primary_status.proto b/third_party/googleapis/google/ads/googleads/v15/enums/asset_group_primary_status.proto new file mode 100644 index 000000000..e398904a0 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AssetGroupPrimaryStatusProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::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/v15/enums/asset_group_primary_status_reason.proto b/third_party/googleapis/google/ads/googleads/v15/enums/asset_group_primary_status_reason.proto new file mode 100644 index 000000000..4f348e542 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AssetGroupPrimaryStatusReasonProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::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/v15/enums/asset_group_signal_approval_status.proto b/third_party/googleapis/google/ads/googleads/v15/enums/asset_group_signal_approval_status.proto new file mode 100644 index 000000000..fdafadf38 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AssetGroupSignalApprovalStatusProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::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/v15/enums/asset_group_status.proto b/third_party/googleapis/google/ads/googleads/v15/enums/asset_group_status.proto new file mode 100644 index 000000000..888e56760 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/asset_group_status.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/asset_group_status.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AssetGroupStatusProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AssetGroupStatusProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/asset_group_status.proto + +// 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/v15/enums/asset_link_primary_status.proto b/third_party/googleapis/google/ads/googleads/v15/enums/asset_link_primary_status.proto new file mode 100644 index 000000000..c2d4a6f8b --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AssetLinkPrimaryStatusProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::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/v15/enums/asset_link_primary_status_reason.proto b/third_party/googleapis/google/ads/googleads/v15/enums/asset_link_primary_status_reason.proto new file mode 100644 index 000000000..2dbe692b1 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AssetLinkPrimaryStatusReasonProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::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/v15/enums/asset_link_status.proto b/third_party/googleapis/google/ads/googleads/v15/enums/asset_link_status.proto new file mode 100644 index 000000000..8b7807c86 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/asset_link_status.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/asset_link_status.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AssetLinkStatusProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AssetLinkStatusProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/asset_link_status.proto + +// 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/v15/enums/asset_offline_evaluation_error_reasons.proto b/third_party/googleapis/google/ads/googleads/v15/enums/asset_offline_evaluation_error_reasons.proto new file mode 100644 index 000000000..198d1ca5e --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AssetOfflineEvaluationErrorReasonsProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::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/v15/enums/asset_performance_label.proto b/third_party/googleapis/google/ads/googleads/v15/enums/asset_performance_label.proto new file mode 100644 index 000000000..1596bef85 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/asset_performance_label.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/asset_performance_label.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AssetPerformanceLabelProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AssetPerformanceLabelProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/asset_performance_label.proto + +// 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/v15/enums/asset_set_asset_status.proto b/third_party/googleapis/google/ads/googleads/v15/enums/asset_set_asset_status.proto new file mode 100644 index 000000000..3a7042849 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/asset_set_asset_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/asset_set_asset_status.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AssetSetAssetStatusProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AssetSetAssetStatusProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/asset_set_asset_status.proto + +// 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/v15/enums/asset_set_link_status.proto b/third_party/googleapis/google/ads/googleads/v15/enums/asset_set_link_status.proto new file mode 100644 index 000000000..9c84b7342 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/asset_set_link_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/asset_set_link_status.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AssetSetLinkStatusProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AssetSetLinkStatusProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/asset_set_link_status.proto + +// 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/v15/enums/asset_set_status.proto b/third_party/googleapis/google/ads/googleads/v15/enums/asset_set_status.proto new file mode 100644 index 000000000..89ef780fc --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/asset_set_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/asset_set_status.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AssetSetStatusProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AssetSetStatusProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/asset_set_status.proto + +// 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/v15/enums/asset_set_type.proto b/third_party/googleapis/google/ads/googleads/v15/enums/asset_set_type.proto new file mode 100644 index 000000000..103d15721 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/asset_set_type.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/asset_set_type.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AssetSetTypeProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AssetSetTypeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/asset_set_type.proto + +// 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; +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/asset_set_type.proto +======== + + // Hotel Property asset set which is used to link a hotel property feed to + // Performance Max for travel goals campaigns. + HOTEL_PROPERTY = 16; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/asset_set_type.proto + } +} diff --git a/third_party/googleapis/google/ads/googleads/v15/enums/asset_source.proto b/third_party/googleapis/google/ads/googleads/v15/enums/asset_source.proto new file mode 100644 index 000000000..5e966ccbe --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AssetSourceProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::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/v15/enums/asset_type.proto b/third_party/googleapis/google/ads/googleads/v15/enums/asset_type.proto new file mode 100644 index 000000000..106a0e825 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/asset_type.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/asset_type.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AssetTypeProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AssetTypeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/asset_type.proto + +// 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/v15/enums/async_action_status.proto b/third_party/googleapis/google/ads/googleads/v15/enums/async_action_status.proto new file mode 100644 index 000000000..604c12da4 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/async_action_status.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/async_action_status.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AsyncActionStatusProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AsyncActionStatusProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/async_action_status.proto + +// 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/v15/enums/attribution_model.proto b/third_party/googleapis/google/ads/googleads/v15/enums/attribution_model.proto new file mode 100644 index 000000000..82ad5cef5 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/attribution_model.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/attribution_model.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AttributionModelProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AttributionModelProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/attribution_model.proto + +// 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/v15/enums/audience_insights_dimension.proto b/third_party/googleapis/google/ads/googleads/v15/enums/audience_insights_dimension.proto new file mode 100644 index 000000000..de32a264f --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AudienceInsightsDimensionProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::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/v15/enums/audience_scope.proto b/third_party/googleapis/google/ads/googleads/v15/enums/audience_scope.proto new file mode 100644 index 000000000..45b37ba1a --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AudienceScopeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::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/v15/enums/audience_status.proto b/third_party/googleapis/google/ads/googleads/v15/enums/audience_status.proto new file mode 100644 index 000000000..3050831dc --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/audience_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/audience_status.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AudienceStatusProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AudienceStatusProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/audience_status.proto + +// 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/v15/enums/batch_job_status.proto b/third_party/googleapis/google/ads/googleads/v15/enums/batch_job_status.proto new file mode 100644 index 000000000..30c4635d6 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/batch_job_status.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/batch_job_status.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "BatchJobStatusProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "BatchJobStatusProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/batch_job_status.proto + +// 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/v15/enums/bid_modifier_source.proto b/third_party/googleapis/google/ads/googleads/v15/enums/bid_modifier_source.proto new file mode 100644 index 000000000..3f75aeaea --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/bid_modifier_source.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/bid_modifier_source.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "BidModifierSourceProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "BidModifierSourceProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/bid_modifier_source.proto + +// 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/v15/enums/bidding_source.proto b/third_party/googleapis/google/ads/googleads/v15/enums/bidding_source.proto new file mode 100644 index 000000000..8aebdd47e --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/bidding_source.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/bidding_source.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "BiddingSourceProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "BiddingSourceProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/bidding_source.proto + +// 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/v15/enums/bidding_strategy_status.proto b/third_party/googleapis/google/ads/googleads/v15/enums/bidding_strategy_status.proto new file mode 100644 index 000000000..0051b801b --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/bidding_strategy_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/bidding_strategy_status.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "BiddingStrategyStatusProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "BiddingStrategyStatusProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/bidding_strategy_status.proto + +// 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/v15/enums/bidding_strategy_system_status.proto b/third_party/googleapis/google/ads/googleads/v15/enums/bidding_strategy_system_status.proto new file mode 100644 index 000000000..261fd0159 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "BiddingStrategySystemStatusProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::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/v15/enums/bidding_strategy_type.proto b/third_party/googleapis/google/ads/googleads/v15/enums/bidding_strategy_type.proto new file mode 100644 index 000000000..c27c01e5c --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/bidding_strategy_type.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/bidding_strategy_type.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "BiddingStrategyTypeProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "BiddingStrategyTypeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/bidding_strategy_type.proto + +// 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/v15/enums/billing_setup_status.proto b/third_party/googleapis/google/ads/googleads/v15/enums/billing_setup_status.proto new file mode 100644 index 000000000..8c983bf1a --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/billing_setup_status.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/billing_setup_status.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "BillingSetupStatusProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "BillingSetupStatusProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/billing_setup_status.proto + +// 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/v15/enums/brand_safety_suitability.proto b/third_party/googleapis/google/ads/googleads/v15/enums/brand_safety_suitability.proto new file mode 100644 index 000000000..f46f1054d --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/brand_safety_suitability.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/brand_safety_suitability.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "BrandSafetySuitabilityProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "BrandSafetySuitabilityProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/brand_safety_suitability.proto + +// 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/v15/enums/brand_state.proto b/third_party/googleapis/google/ads/googleads/v15/enums/brand_state.proto new file mode 100644 index 000000000..f72e786af --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "BrandStateProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::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/v15/enums/budget_campaign_association_status.proto b/third_party/googleapis/google/ads/googleads/v15/enums/budget_campaign_association_status.proto new file mode 100644 index 000000000..ea8beb4ba --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/budget_campaign_association_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/budget_campaign_association_status.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "BudgetCampaignAssociationStatusProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "BudgetCampaignAssociationStatusProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/budget_campaign_association_status.proto + +// 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/v15/enums/budget_delivery_method.proto b/third_party/googleapis/google/ads/googleads/v15/enums/budget_delivery_method.proto new file mode 100644 index 000000000..afcd683ec --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/budget_delivery_method.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/budget_delivery_method.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "BudgetDeliveryMethodProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "BudgetDeliveryMethodProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/budget_delivery_method.proto + +// 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/v15/enums/budget_period.proto b/third_party/googleapis/google/ads/googleads/v15/enums/budget_period.proto new file mode 100644 index 000000000..b493a8bf0 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/budget_period.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/budget_period.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "BudgetPeriodProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "BudgetPeriodProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/budget_period.proto + +// 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/v15/enums/budget_status.proto b/third_party/googleapis/google/ads/googleads/v15/enums/budget_status.proto new file mode 100644 index 000000000..bcf71187d --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/budget_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/budget_status.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "BudgetStatusProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "BudgetStatusProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/budget_status.proto + +// 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/v15/enums/budget_type.proto b/third_party/googleapis/google/ads/googleads/v15/enums/budget_type.proto new file mode 100644 index 000000000..1536499aa --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/budget_type.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/budget_type.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "BudgetTypeProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "BudgetTypeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/budget_type.proto + +// 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/v15/enums/call_conversion_reporting_state.proto b/third_party/googleapis/google/ads/googleads/v15/enums/call_conversion_reporting_state.proto new file mode 100644 index 000000000..dd61408b6 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/call_conversion_reporting_state.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/call_conversion_reporting_state.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CallConversionReportingStateProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CallConversionReportingStateProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/call_conversion_reporting_state.proto + +// 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/v15/enums/call_placeholder_field.proto b/third_party/googleapis/google/ads/googleads/v15/enums/call_placeholder_field.proto new file mode 100644 index 000000000..07d47b29d --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/call_placeholder_field.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/call_placeholder_field.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CallPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CallPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/call_placeholder_field.proto + +// 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/v15/enums/call_to_action_type.proto b/third_party/googleapis/google/ads/googleads/v15/enums/call_to_action_type.proto new file mode 100644 index 000000000..c7f1b0d60 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/call_to_action_type.proto @@ -0,0 +1,108 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/call_to_action_type.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/call_to_action_type.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/call_to_action_type.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CallToActionTypeProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CallToActionTypeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/call_to_action_type.proto + +// 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/v15/enums/call_tracking_display_location.proto b/third_party/googleapis/google/ads/googleads/v15/enums/call_tracking_display_location.proto new file mode 100644 index 000000000..9f4dc41a1 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/call_tracking_display_location.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/call_tracking_display_location.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CallTrackingDisplayLocationProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CallTrackingDisplayLocationProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/call_tracking_display_location.proto + +// 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/v15/enums/call_type.proto b/third_party/googleapis/google/ads/googleads/v15/enums/call_type.proto new file mode 100644 index 000000000..60d40b26e --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/call_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/call_type.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CallTypeProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CallTypeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/call_type.proto + +// 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/v15/enums/callout_placeholder_field.proto b/third_party/googleapis/google/ads/googleads/v15/enums/callout_placeholder_field.proto new file mode 100644 index 000000000..2a9fc521b --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/callout_placeholder_field.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/callout_placeholder_field.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CalloutPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CalloutPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/callout_placeholder_field.proto + +// 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/v15/enums/campaign_criterion_status.proto b/third_party/googleapis/google/ads/googleads/v15/enums/campaign_criterion_status.proto new file mode 100644 index 000000000..0702653a2 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/campaign_criterion_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/campaign_criterion_status.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CampaignCriterionStatusProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CampaignCriterionStatusProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/campaign_criterion_status.proto + +// 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/v15/enums/campaign_draft_status.proto b/third_party/googleapis/google/ads/googleads/v15/enums/campaign_draft_status.proto new file mode 100644 index 000000000..ac9667145 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/campaign_draft_status.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/campaign_draft_status.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CampaignDraftStatusProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CampaignDraftStatusProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/campaign_draft_status.proto + +// 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/v15/enums/campaign_experiment_type.proto b/third_party/googleapis/google/ads/googleads/v15/enums/campaign_experiment_type.proto new file mode 100644 index 000000000..18ed1d873 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/campaign_experiment_type.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/campaign_experiment_type.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CampaignExperimentTypeProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CampaignExperimentTypeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/campaign_experiment_type.proto + +// 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/v15/enums/campaign_group_status.proto b/third_party/googleapis/google/ads/googleads/v15/enums/campaign_group_status.proto new file mode 100644 index 000000000..e5f527e16 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/campaign_group_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/campaign_group_status.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CampaignGroupStatusProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CampaignGroupStatusProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/campaign_group_status.proto + +// 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/v15/enums/campaign_primary_status.proto b/third_party/googleapis/google/ads/googleads/v15/enums/campaign_primary_status.proto new file mode 100644 index 000000000..4e8ebed3e --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CampaignPrimaryStatusProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::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/v15/enums/campaign_primary_status_reason.proto b/third_party/googleapis/google/ads/googleads/v15/enums/campaign_primary_status_reason.proto new file mode 100644 index 000000000..e61628068 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CampaignPrimaryStatusReasonProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::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/v15/enums/campaign_serving_status.proto b/third_party/googleapis/google/ads/googleads/v15/enums/campaign_serving_status.proto new file mode 100644 index 000000000..f20dafe66 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/campaign_serving_status.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/campaign_serving_status.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CampaignServingStatusProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CampaignServingStatusProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/campaign_serving_status.proto + +// 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/v15/enums/campaign_shared_set_status.proto b/third_party/googleapis/google/ads/googleads/v15/enums/campaign_shared_set_status.proto new file mode 100644 index 000000000..f5c1b8eec --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/campaign_shared_set_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/campaign_shared_set_status.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CampaignSharedSetStatusProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CampaignSharedSetStatusProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/campaign_shared_set_status.proto + +// 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/v15/enums/campaign_status.proto b/third_party/googleapis/google/ads/googleads/v15/enums/campaign_status.proto new file mode 100644 index 000000000..ad43c8b9c --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/campaign_status.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/campaign_status.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CampaignStatusProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CampaignStatusProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/campaign_status.proto + +// 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/v15/enums/chain_relationship_type.proto b/third_party/googleapis/google/ads/googleads/v15/enums/chain_relationship_type.proto new file mode 100644 index 000000000..a56ae4eb2 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ChainRelationshipTypeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::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/v15/enums/change_client_type.proto b/third_party/googleapis/google/ads/googleads/v15/enums/change_client_type.proto new file mode 100644 index 000000000..12384303e --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/change_client_type.proto @@ -0,0 +1,100 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/change_client_type.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ChangeClientTypeProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ChangeClientTypeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/change_client_type.proto + +// 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/v15/enums/change_event_resource_type.proto b/third_party/googleapis/google/ads/googleads/v15/enums/change_event_resource_type.proto new file mode 100644 index 000000000..6226207bf --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/change_event_resource_type.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/change_event_resource_type.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ChangeEventResourceTypeProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ChangeEventResourceTypeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/change_event_resource_type.proto + +// 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/v15/enums/change_status_operation.proto b/third_party/googleapis/google/ads/googleads/v15/enums/change_status_operation.proto new file mode 100644 index 000000000..a031b2433 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/change_status_operation.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/change_status_operation.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ChangeStatusOperationProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ChangeStatusOperationProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/change_status_operation.proto + +// 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/v15/enums/change_status_resource_type.proto b/third_party/googleapis/google/ads/googleads/v15/enums/change_status_resource_type.proto new file mode 100644 index 000000000..40db58c14 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/change_status_resource_type.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/change_status_resource_type.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ChangeStatusResourceTypeProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ChangeStatusResourceTypeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/change_status_resource_type.proto + +// 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/v15/enums/click_type.proto b/third_party/googleapis/google/ads/googleads/v15/enums/click_type.proto new file mode 100644 index 000000000..60dca434a --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/click_type.proto @@ -0,0 +1,215 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/click_type.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ClickTypeProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ClickTypeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/click_type.proto + +// 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/v15/enums/combined_audience_status.proto b/third_party/googleapis/google/ads/googleads/v15/enums/combined_audience_status.proto new file mode 100644 index 000000000..8411c09f3 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/combined_audience_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/combined_audience_status.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CombinedAudienceStatusProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CombinedAudienceStatusProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/combined_audience_status.proto + +// 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/v15/enums/consent_status.proto b/third_party/googleapis/google/ads/googleads/v15/enums/consent_status.proto new file mode 100644 index 000000000..ea5cf0a1c --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConsentStatusProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::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/v15/enums/content_label_type.proto b/third_party/googleapis/google/ads/googleads/v15/enums/content_label_type.proto new file mode 100644 index 000000000..97cef5115 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/content_label_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/content_label_type.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ContentLabelTypeProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ContentLabelTypeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/content_label_type.proto + +// 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/v15/enums/conversion_action_category.proto b/third_party/googleapis/google/ads/googleads/v15/enums/conversion_action_category.proto new file mode 100644 index 000000000..f4195c753 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/conversion_action_category.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/conversion_action_category.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionActionCategoryProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionActionCategoryProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/conversion_action_category.proto + +// 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/v15/enums/conversion_action_counting_type.proto b/third_party/googleapis/google/ads/googleads/v15/enums/conversion_action_counting_type.proto new file mode 100644 index 000000000..08e55d23f --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/conversion_action_counting_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/conversion_action_counting_type.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionActionCountingTypeProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionActionCountingTypeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/conversion_action_counting_type.proto + +// 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/v15/enums/conversion_action_status.proto b/third_party/googleapis/google/ads/googleads/v15/enums/conversion_action_status.proto new file mode 100644 index 000000000..b5555d7a2 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/conversion_action_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/conversion_action_status.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionActionStatusProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionActionStatusProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/conversion_action_status.proto + +// 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/v15/enums/conversion_action_type.proto b/third_party/googleapis/google/ads/googleads/v15/enums/conversion_action_type.proto new file mode 100644 index 000000000..35684a1ac --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/conversion_action_type.proto @@ -0,0 +1,206 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/conversion_action_type.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/conversion_action_type.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/conversion_action_type.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionActionTypeProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionActionTypeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/conversion_action_type.proto + +// 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/v15/enums/conversion_adjustment_type.proto b/third_party/googleapis/google/ads/googleads/v15/enums/conversion_adjustment_type.proto new file mode 100644 index 000000000..46e4ac4b4 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/conversion_adjustment_type.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/conversion_adjustment_type.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionAdjustmentTypeProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionAdjustmentTypeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/conversion_adjustment_type.proto + +// 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/v15/enums/conversion_attribution_event_type.proto b/third_party/googleapis/google/ads/googleads/v15/enums/conversion_attribution_event_type.proto new file mode 100644 index 000000000..19bf88975 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/conversion_attribution_event_type.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/conversion_attribution_event_type.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionAttributionEventTypeProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionAttributionEventTypeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/conversion_attribution_event_type.proto + +// 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/v15/enums/conversion_custom_variable_status.proto b/third_party/googleapis/google/ads/googleads/v15/enums/conversion_custom_variable_status.proto new file mode 100644 index 000000000..1d9086456 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/conversion_custom_variable_status.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/conversion_custom_variable_status.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionCustomVariableStatusProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionCustomVariableStatusProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/conversion_custom_variable_status.proto + +// 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/v15/enums/conversion_environment_enum.proto b/third_party/googleapis/google/ads/googleads/v15/enums/conversion_environment_enum.proto new file mode 100644 index 000000000..84b2eed7e --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/conversion_environment_enum.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/conversion_environment_enum.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionEnvironmentEnumProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionEnvironmentEnumProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/conversion_environment_enum.proto + +// 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/v15/enums/conversion_lag_bucket.proto b/third_party/googleapis/google/ads/googleads/v15/enums/conversion_lag_bucket.proto new file mode 100644 index 000000000..08e9aabcb --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/conversion_lag_bucket.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/conversion_lag_bucket.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionLagBucketProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionLagBucketProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/conversion_lag_bucket.proto + +// 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/v15/enums/conversion_or_adjustment_lag_bucket.proto b/third_party/googleapis/google/ads/googleads/v15/enums/conversion_or_adjustment_lag_bucket.proto new file mode 100644 index 000000000..14b562730 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/conversion_or_adjustment_lag_bucket.proto @@ -0,0 +1,215 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/conversion_or_adjustment_lag_bucket.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionOrAdjustmentLagBucketProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionOrAdjustmentLagBucketProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/conversion_or_adjustment_lag_bucket.proto + +// 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/v15/enums/conversion_origin.proto b/third_party/googleapis/google/ads/googleads/v15/enums/conversion_origin.proto new file mode 100644 index 000000000..363325d3c --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/conversion_origin.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/conversion_origin.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionOriginProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionOriginProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/conversion_origin.proto + +// 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/v15/enums/conversion_tracking_status_enum.proto b/third_party/googleapis/google/ads/googleads/v15/enums/conversion_tracking_status_enum.proto new file mode 100644 index 000000000..c731e353a --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/conversion_tracking_status_enum.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/conversion_tracking_status_enum.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionTrackingStatusEnumProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionTrackingStatusEnumProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/conversion_tracking_status_enum.proto + +// 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/v15/enums/conversion_value_rule_primary_dimension.proto b/third_party/googleapis/google/ads/googleads/v15/enums/conversion_value_rule_primary_dimension.proto new file mode 100644 index 000000000..c7142800d --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/conversion_value_rule_primary_dimension.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/conversion_value_rule_primary_dimension.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionValueRulePrimaryDimensionProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionValueRulePrimaryDimensionProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/conversion_value_rule_primary_dimension.proto + +// 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/v15/enums/conversion_value_rule_set_status.proto b/third_party/googleapis/google/ads/googleads/v15/enums/conversion_value_rule_set_status.proto new file mode 100644 index 000000000..9b66aeb10 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/conversion_value_rule_set_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/conversion_value_rule_set_status.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionValueRuleSetStatusProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionValueRuleSetStatusProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/conversion_value_rule_set_status.proto + +// 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/v15/enums/conversion_value_rule_status.proto b/third_party/googleapis/google/ads/googleads/v15/enums/conversion_value_rule_status.proto new file mode 100644 index 000000000..301c28d36 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/conversion_value_rule_status.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/conversion_value_rule_status.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionValueRuleStatusProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionValueRuleStatusProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/conversion_value_rule_status.proto + +// 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/v15/enums/converting_user_prior_engagement_type_and_ltv_bucket.proto b/third_party/googleapis/google/ads/googleads/v15/enums/converting_user_prior_engagement_type_and_ltv_bucket.proto new file mode 100644 index 000000000..75946d2b5 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConvertingUserPriorEngagementTypeAndLtvBucketProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::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/v15/enums/criterion_category_channel_availability_mode.proto b/third_party/googleapis/google/ads/googleads/v15/enums/criterion_category_channel_availability_mode.proto new file mode 100644 index 000000000..d01b97af0 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/criterion_category_channel_availability_mode.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/criterion_category_channel_availability_mode.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CriterionCategoryChannelAvailabilityModeProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CriterionCategoryChannelAvailabilityModeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/criterion_category_channel_availability_mode.proto + +// 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/v15/enums/criterion_category_locale_availability_mode.proto b/third_party/googleapis/google/ads/googleads/v15/enums/criterion_category_locale_availability_mode.proto new file mode 100644 index 000000000..5067945c7 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/criterion_category_locale_availability_mode.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/criterion_category_locale_availability_mode.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CriterionCategoryLocaleAvailabilityModeProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CriterionCategoryLocaleAvailabilityModeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/criterion_category_locale_availability_mode.proto + +// 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/v15/enums/criterion_system_serving_status.proto b/third_party/googleapis/google/ads/googleads/v15/enums/criterion_system_serving_status.proto new file mode 100644 index 000000000..d9e5eb3e5 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/criterion_system_serving_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/criterion_system_serving_status.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CriterionSystemServingStatusProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CriterionSystemServingStatusProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/criterion_system_serving_status.proto + +// 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/v15/enums/criterion_type.proto b/third_party/googleapis/google/ads/googleads/v15/enums/criterion_type.proto new file mode 100644 index 000000000..1591b089c --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/criterion_type.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/criterion_type.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CriterionTypeProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CriterionTypeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/criterion_type.proto + +// 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; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/criterion_type.proto + // Local Services Ads Service ID. + LOCAL_SERVICE_ID = 37; +======== + // 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; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/criterion_type.proto + } +} diff --git a/third_party/googleapis/google/ads/googleads/v15/enums/custom_audience_member_type.proto b/third_party/googleapis/google/ads/googleads/v15/enums/custom_audience_member_type.proto new file mode 100644 index 000000000..5cf018054 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/custom_audience_member_type.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/custom_audience_member_type.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CustomAudienceMemberTypeProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CustomAudienceMemberTypeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/custom_audience_member_type.proto + +// 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/v15/enums/custom_audience_status.proto b/third_party/googleapis/google/ads/googleads/v15/enums/custom_audience_status.proto new file mode 100644 index 000000000..8e7a70eea --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/custom_audience_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/custom_audience_status.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CustomAudienceStatusProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CustomAudienceStatusProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/custom_audience_status.proto + +// 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/v15/enums/custom_audience_type.proto b/third_party/googleapis/google/ads/googleads/v15/enums/custom_audience_type.proto new file mode 100644 index 000000000..a2386f8d6 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/custom_audience_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/custom_audience_type.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CustomAudienceTypeProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CustomAudienceTypeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/custom_audience_type.proto + +// 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/v15/enums/custom_conversion_goal_status.proto b/third_party/googleapis/google/ads/googleads/v15/enums/custom_conversion_goal_status.proto new file mode 100644 index 000000000..c60e359eb --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/custom_conversion_goal_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/custom_conversion_goal_status.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CustomConversionGoalStatusProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CustomConversionGoalStatusProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/custom_conversion_goal_status.proto + +// 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/v15/enums/custom_interest_member_type.proto b/third_party/googleapis/google/ads/googleads/v15/enums/custom_interest_member_type.proto new file mode 100644 index 000000000..3bd2d96e9 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/custom_interest_member_type.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/custom_interest_member_type.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CustomInterestMemberTypeProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CustomInterestMemberTypeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/custom_interest_member_type.proto + +// 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/v15/enums/custom_interest_status.proto b/third_party/googleapis/google/ads/googleads/v15/enums/custom_interest_status.proto new file mode 100644 index 000000000..fcc819a13 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/custom_interest_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/custom_interest_status.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CustomInterestStatusProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CustomInterestStatusProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/custom_interest_status.proto + +// 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/v15/enums/custom_interest_type.proto b/third_party/googleapis/google/ads/googleads/v15/enums/custom_interest_type.proto new file mode 100644 index 000000000..447570cd0 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/custom_interest_type.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/custom_interest_type.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CustomInterestTypeProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CustomInterestTypeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/custom_interest_type.proto + +// 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/v15/enums/custom_placeholder_field.proto b/third_party/googleapis/google/ads/googleads/v15/enums/custom_placeholder_field.proto new file mode 100644 index 000000000..fe54eccf2 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/custom_placeholder_field.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/custom_placeholder_field.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CustomPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CustomPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/custom_placeholder_field.proto + +// 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/v15/enums/customer_acquisition_optimization_mode.proto b/third_party/googleapis/google/ads/googleads/v15/enums/customer_acquisition_optimization_mode.proto new file mode 100644 index 000000000..19d4aaefd --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CustomerAcquisitionOptimizationModeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::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/v15/enums/customer_match_upload_key_type.proto b/third_party/googleapis/google/ads/googleads/v15/enums/customer_match_upload_key_type.proto new file mode 100644 index 000000000..cbaaba2a2 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/customer_match_upload_key_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/customer_match_upload_key_type.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CustomerMatchUploadKeyTypeProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CustomerMatchUploadKeyTypeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/customer_match_upload_key_type.proto + +// 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/v15/enums/customer_pay_per_conversion_eligibility_failure_reason.proto b/third_party/googleapis/google/ads/googleads/v15/enums/customer_pay_per_conversion_eligibility_failure_reason.proto new file mode 100644 index 000000000..caf4451a1 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/customer_pay_per_conversion_eligibility_failure_reason.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/customer_pay_per_conversion_eligibility_failure_reason.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CustomerPayPerConversionEligibilityFailureReasonProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CustomerPayPerConversionEligibilityFailureReasonProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/customer_pay_per_conversion_eligibility_failure_reason.proto + +// 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/v15/enums/customer_status.proto b/third_party/googleapis/google/ads/googleads/v15/enums/customer_status.proto new file mode 100644 index 000000000..687608efa --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/customer_status.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/customer_status.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CustomerStatusProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CustomerStatusProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/customer_status.proto + +// 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/v15/enums/customizer_attribute_status.proto b/third_party/googleapis/google/ads/googleads/v15/enums/customizer_attribute_status.proto new file mode 100644 index 000000000..80e38b8bc --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/customizer_attribute_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/customizer_attribute_status.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CustomizerAttributeStatusProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CustomizerAttributeStatusProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/customizer_attribute_status.proto + +// 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/v15/enums/customizer_attribute_type.proto b/third_party/googleapis/google/ads/googleads/v15/enums/customizer_attribute_type.proto new file mode 100644 index 000000000..7466d67de --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/customizer_attribute_type.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/customizer_attribute_type.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CustomizerAttributeTypeProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CustomizerAttributeTypeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/customizer_attribute_type.proto + +// 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/v15/enums/customizer_value_status.proto b/third_party/googleapis/google/ads/googleads/v15/enums/customizer_value_status.proto new file mode 100644 index 000000000..eced6d074 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/customizer_value_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/customizer_value_status.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CustomizerValueStatusProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CustomizerValueStatusProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/customizer_value_status.proto + +// 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/v15/enums/data_driven_model_status.proto b/third_party/googleapis/google/ads/googleads/v15/enums/data_driven_model_status.proto new file mode 100644 index 000000000..944acd5ef --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/data_driven_model_status.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/data_driven_model_status.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "DataDrivenModelStatusProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "DataDrivenModelStatusProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/data_driven_model_status.proto + +// 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/v15/enums/day_of_week.proto b/third_party/googleapis/google/ads/googleads/v15/enums/day_of_week.proto new file mode 100644 index 000000000..012fb0673 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/day_of_week.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/day_of_week.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "DayOfWeekProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "DayOfWeekProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/day_of_week.proto + +// 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/v15/enums/device.proto b/third_party/googleapis/google/ads/googleads/v15/enums/device.proto new file mode 100644 index 000000000..221c220d9 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/device.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/device.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "DeviceProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "DeviceProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/device.proto + +// 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/v15/enums/display_ad_format_setting.proto b/third_party/googleapis/google/ads/googleads/v15/enums/display_ad_format_setting.proto new file mode 100644 index 000000000..beb121767 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/display_ad_format_setting.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/display_ad_format_setting.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "DisplayAdFormatSettingProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "DisplayAdFormatSettingProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/display_ad_format_setting.proto + +// 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/v15/enums/display_upload_product_type.proto b/third_party/googleapis/google/ads/googleads/v15/enums/display_upload_product_type.proto new file mode 100644 index 000000000..2eba75ae1 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/display_upload_product_type.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/display_upload_product_type.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "DisplayUploadProductTypeProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "DisplayUploadProductTypeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/display_upload_product_type.proto + +// 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/v15/enums/distance_bucket.proto b/third_party/googleapis/google/ads/googleads/v15/enums/distance_bucket.proto new file mode 100644 index 000000000..6481bc914 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/distance_bucket.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/distance_bucket.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "DistanceBucketProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "DistanceBucketProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/distance_bucket.proto + +// 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/v15/enums/dsa_page_feed_criterion_field.proto b/third_party/googleapis/google/ads/googleads/v15/enums/dsa_page_feed_criterion_field.proto new file mode 100644 index 000000000..0b6f6af19 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/dsa_page_feed_criterion_field.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/dsa_page_feed_criterion_field.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "DsaPageFeedCriterionFieldProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "DsaPageFeedCriterionFieldProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/dsa_page_feed_criterion_field.proto + +// 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/v15/enums/education_placeholder_field.proto b/third_party/googleapis/google/ads/googleads/v15/enums/education_placeholder_field.proto new file mode 100644 index 000000000..8bd65fb2d --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/education_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/education_placeholder_field.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "EducationPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "EducationPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/education_placeholder_field.proto + +// 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/v15/enums/experiment_metric.proto b/third_party/googleapis/google/ads/googleads/v15/enums/experiment_metric.proto new file mode 100644 index 000000000..4458f5d97 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/experiment_metric.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/experiment_metric.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ExperimentMetricProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ExperimentMetricProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/experiment_metric.proto + +// 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/v15/enums/experiment_metric_direction.proto b/third_party/googleapis/google/ads/googleads/v15/enums/experiment_metric_direction.proto new file mode 100644 index 000000000..e69f726f5 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/experiment_metric_direction.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/experiment_metric_direction.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ExperimentMetricDirectionProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ExperimentMetricDirectionProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/experiment_metric_direction.proto + +// 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/v15/enums/experiment_status.proto b/third_party/googleapis/google/ads/googleads/v15/enums/experiment_status.proto new file mode 100644 index 000000000..ceef81860 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/experiment_status.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/experiment_status.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ExperimentStatusProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ExperimentStatusProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/experiment_status.proto + +// 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/v15/enums/experiment_type.proto b/third_party/googleapis/google/ads/googleads/v15/enums/experiment_type.proto new file mode 100644 index 000000000..5f0852c59 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/experiment_type.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/experiment_type.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ExperimentTypeProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ExperimentTypeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/experiment_type.proto + +// 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/v15/enums/extension_setting_device.proto b/third_party/googleapis/google/ads/googleads/v15/enums/extension_setting_device.proto new file mode 100644 index 000000000..5b2e6cbd7 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/extension_setting_device.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/extension_setting_device.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ExtensionSettingDeviceProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ExtensionSettingDeviceProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/extension_setting_device.proto + +// 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/v15/enums/extension_type.proto b/third_party/googleapis/google/ads/googleads/v15/enums/extension_type.proto new file mode 100644 index 000000000..1c8403d00 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/extension_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/extension_type.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ExtensionTypeProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ExtensionTypeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/extension_type.proto + +// 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/v15/enums/external_conversion_source.proto b/third_party/googleapis/google/ads/googleads/v15/enums/external_conversion_source.proto new file mode 100644 index 000000000..a078982dc --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/external_conversion_source.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/external_conversion_source.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ExternalConversionSourceProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ExternalConversionSourceProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/external_conversion_source.proto + +// 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/v15/enums/feed_attribute_type.proto b/third_party/googleapis/google/ads/googleads/v15/enums/feed_attribute_type.proto new file mode 100644 index 000000000..80339043a --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/feed_attribute_type.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/feed_attribute_type.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedAttributeTypeProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedAttributeTypeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/feed_attribute_type.proto + +// 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/v15/enums/feed_item_quality_approval_status.proto b/third_party/googleapis/google/ads/googleads/v15/enums/feed_item_quality_approval_status.proto new file mode 100644 index 000000000..95faaabae --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/feed_item_quality_approval_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/feed_item_quality_approval_status.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemQualityApprovalStatusProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemQualityApprovalStatusProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/feed_item_quality_approval_status.proto + +// 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/v15/enums/feed_item_quality_disapproval_reason.proto b/third_party/googleapis/google/ads/googleads/v15/enums/feed_item_quality_disapproval_reason.proto new file mode 100644 index 000000000..97f414185 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/feed_item_quality_disapproval_reason.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/feed_item_quality_disapproval_reason.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemQualityDisapprovalReasonProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemQualityDisapprovalReasonProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/feed_item_quality_disapproval_reason.proto + +// 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/v15/enums/feed_item_set_status.proto b/third_party/googleapis/google/ads/googleads/v15/enums/feed_item_set_status.proto new file mode 100644 index 000000000..2964c94f4 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/feed_item_set_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/feed_item_set_status.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemSetStatusProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemSetStatusProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/feed_item_set_status.proto + +// 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/v15/enums/feed_item_set_string_filter_type.proto b/third_party/googleapis/google/ads/googleads/v15/enums/feed_item_set_string_filter_type.proto new file mode 100644 index 000000000..6394cedce --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/feed_item_set_string_filter_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/feed_item_set_string_filter_type.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemSetStringFilterTypeProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemSetStringFilterTypeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/feed_item_set_string_filter_type.proto + +// 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/v15/enums/feed_item_status.proto b/third_party/googleapis/google/ads/googleads/v15/enums/feed_item_status.proto new file mode 100644 index 000000000..4de2034fa --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/feed_item_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/feed_item_status.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemStatusProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemStatusProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/feed_item_status.proto + +// 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/v15/enums/feed_item_target_device.proto b/third_party/googleapis/google/ads/googleads/v15/enums/feed_item_target_device.proto new file mode 100644 index 000000000..8a2918c62 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/feed_item_target_device.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/feed_item_target_device.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemTargetDeviceProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemTargetDeviceProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/feed_item_target_device.proto + +// 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/v15/enums/feed_item_target_status.proto b/third_party/googleapis/google/ads/googleads/v15/enums/feed_item_target_status.proto new file mode 100644 index 000000000..17df52443 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/feed_item_target_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/feed_item_target_status.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemTargetStatusProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemTargetStatusProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/feed_item_target_status.proto + +// 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/v15/enums/feed_item_target_type.proto b/third_party/googleapis/google/ads/googleads/v15/enums/feed_item_target_type.proto new file mode 100644 index 000000000..da02f7e50 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/feed_item_target_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/feed_item_target_type.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemTargetTypeProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemTargetTypeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/feed_item_target_type.proto + +// 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/v15/enums/feed_item_validation_status.proto b/third_party/googleapis/google/ads/googleads/v15/enums/feed_item_validation_status.proto new file mode 100644 index 000000000..074472826 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/feed_item_validation_status.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/feed_item_validation_status.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemValidationStatusProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemValidationStatusProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/feed_item_validation_status.proto + +// 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/v15/enums/feed_link_status.proto b/third_party/googleapis/google/ads/googleads/v15/enums/feed_link_status.proto new file mode 100644 index 000000000..3d494843b --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/feed_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/feed_link_status.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedLinkStatusProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedLinkStatusProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/feed_link_status.proto + +// 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/v15/enums/feed_mapping_criterion_type.proto b/third_party/googleapis/google/ads/googleads/v15/enums/feed_mapping_criterion_type.proto new file mode 100644 index 000000000..358af095f --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/feed_mapping_criterion_type.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/feed_mapping_criterion_type.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedMappingCriterionTypeProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedMappingCriterionTypeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/feed_mapping_criterion_type.proto + +// 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/v15/enums/feed_mapping_status.proto b/third_party/googleapis/google/ads/googleads/v15/enums/feed_mapping_status.proto new file mode 100644 index 000000000..05ef5ba9b --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/feed_mapping_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/feed_mapping_status.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedMappingStatusProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedMappingStatusProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/feed_mapping_status.proto + +// 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/v15/enums/feed_origin.proto b/third_party/googleapis/google/ads/googleads/v15/enums/feed_origin.proto new file mode 100644 index 000000000..d3d958cd5 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/feed_origin.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/feed_origin.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedOriginProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedOriginProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/feed_origin.proto + +// 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/v15/enums/feed_status.proto b/third_party/googleapis/google/ads/googleads/v15/enums/feed_status.proto new file mode 100644 index 000000000..1af55dfaa --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/feed_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/feed_status.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedStatusProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedStatusProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/feed_status.proto + +// 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/v15/enums/flight_placeholder_field.proto b/third_party/googleapis/google/ads/googleads/v15/enums/flight_placeholder_field.proto new file mode 100644 index 000000000..cc5006119 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/flight_placeholder_field.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/flight_placeholder_field.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FlightsPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FlightsPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/flight_placeholder_field.proto + +// 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/v15/enums/frequency_cap_event_type.proto b/third_party/googleapis/google/ads/googleads/v15/enums/frequency_cap_event_type.proto new file mode 100644 index 000000000..9d772ab7e --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/frequency_cap_event_type.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/frequency_cap_event_type.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FrequencyCapEventTypeProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FrequencyCapEventTypeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/frequency_cap_event_type.proto + +// 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/v15/enums/frequency_cap_level.proto b/third_party/googleapis/google/ads/googleads/v15/enums/frequency_cap_level.proto new file mode 100644 index 000000000..907ae92bc --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/frequency_cap_level.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/frequency_cap_level.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FrequencyCapLevelProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FrequencyCapLevelProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/frequency_cap_level.proto + +// 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/v15/enums/frequency_cap_time_unit.proto b/third_party/googleapis/google/ads/googleads/v15/enums/frequency_cap_time_unit.proto new file mode 100644 index 000000000..ba7e12e90 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/frequency_cap_time_unit.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/frequency_cap_time_unit.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FrequencyCapTimeUnitProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FrequencyCapTimeUnitProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/frequency_cap_time_unit.proto + +// 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/v15/enums/gender_type.proto b/third_party/googleapis/google/ads/googleads/v15/enums/gender_type.proto new file mode 100644 index 000000000..3f67bf9b8 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/gender_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/gender_type.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "GenderTypeProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "GenderTypeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/gender_type.proto + +// 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/v15/enums/geo_target_constant_status.proto b/third_party/googleapis/google/ads/googleads/v15/enums/geo_target_constant_status.proto new file mode 100644 index 000000000..c8619e03a --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/geo_target_constant_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/geo_target_constant_status.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "GeoTargetConstantStatusProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "GeoTargetConstantStatusProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/geo_target_constant_status.proto + +// 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/v15/enums/geo_targeting_restriction.proto b/third_party/googleapis/google/ads/googleads/v15/enums/geo_targeting_restriction.proto new file mode 100644 index 000000000..ac02fe856 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/geo_targeting_restriction.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/geo_targeting_restriction.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "GeoTargetingRestrictionProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "GeoTargetingRestrictionProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/geo_targeting_restriction.proto + +// 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/v15/enums/geo_targeting_type.proto b/third_party/googleapis/google/ads/googleads/v15/enums/geo_targeting_type.proto new file mode 100644 index 000000000..c607cc61b --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/geo_targeting_type.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/geo_targeting_type.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "GeoTargetingTypeProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "GeoTargetingTypeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/geo_targeting_type.proto + +// 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/v15/enums/goal_config_level.proto b/third_party/googleapis/google/ads/googleads/v15/enums/goal_config_level.proto new file mode 100644 index 000000000..4ad1c22fc --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/goal_config_level.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/goal_config_level.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "GoalConfigLevelProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "GoalConfigLevelProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/goal_config_level.proto + +// 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/v15/enums/google_ads_field_category.proto b/third_party/googleapis/google/ads/googleads/v15/enums/google_ads_field_category.proto new file mode 100644 index 000000000..df6d370d6 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/google_ads_field_category.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/google_ads_field_category.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "GoogleAdsFieldCategoryProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "GoogleAdsFieldCategoryProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/google_ads_field_category.proto + +// 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/v15/enums/google_ads_field_data_type.proto b/third_party/googleapis/google/ads/googleads/v15/enums/google_ads_field_data_type.proto new file mode 100644 index 000000000..353b5275b --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/google_ads_field_data_type.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/google_ads_field_data_type.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "GoogleAdsFieldDataTypeProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "GoogleAdsFieldDataTypeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/google_ads_field_data_type.proto + +// 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/v15/enums/google_voice_call_status.proto b/third_party/googleapis/google/ads/googleads/v15/enums/google_voice_call_status.proto new file mode 100644 index 000000000..fafcbbebb --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/google_voice_call_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/google_voice_call_status.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "GoogleVoiceCallStatusProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "GoogleVoiceCallStatusProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/google_voice_call_status.proto + +// 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/v15/enums/hotel_asset_suggestion_status.proto b/third_party/googleapis/google/ads/googleads/v15/enums/hotel_asset_suggestion_status.proto new file mode 100644 index 000000000..029e00af5 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "HotelAssetSuggestionStatusProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::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/v15/enums/hotel_date_selection_type.proto b/third_party/googleapis/google/ads/googleads/v15/enums/hotel_date_selection_type.proto new file mode 100644 index 000000000..62dc427fa --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/hotel_date_selection_type.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/hotel_date_selection_type.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "HotelDateSelectionTypeProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "HotelDateSelectionTypeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/hotel_date_selection_type.proto + +// 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/v15/enums/hotel_placeholder_field.proto b/third_party/googleapis/google/ads/googleads/v15/enums/hotel_placeholder_field.proto new file mode 100644 index 000000000..0b0512a26 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/hotel_placeholder_field.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/hotel_placeholder_field.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "HotelsPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "HotelsPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/hotel_placeholder_field.proto + +// 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/v15/enums/hotel_price_bucket.proto b/third_party/googleapis/google/ads/googleads/v15/enums/hotel_price_bucket.proto new file mode 100644 index 000000000..77fdb336a --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/hotel_price_bucket.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/hotel_price_bucket.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "HotelPriceBucketProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "HotelPriceBucketProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/hotel_price_bucket.proto + +// 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/v15/enums/hotel_rate_type.proto b/third_party/googleapis/google/ads/googleads/v15/enums/hotel_rate_type.proto new file mode 100644 index 000000000..1e6d7d49b --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/hotel_rate_type.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/hotel_rate_type.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "HotelRateTypeProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "HotelRateTypeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/hotel_rate_type.proto + +// 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/v15/enums/hotel_reconciliation_status.proto b/third_party/googleapis/google/ads/googleads/v15/enums/hotel_reconciliation_status.proto new file mode 100644 index 000000000..76ac0f3bf --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/hotel_reconciliation_status.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/hotel_reconciliation_status.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "HotelReconciliationStatusProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "HotelReconciliationStatusProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/hotel_reconciliation_status.proto + +// 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/v15/enums/image_placeholder_field.proto b/third_party/googleapis/google/ads/googleads/v15/enums/image_placeholder_field.proto new file mode 100644 index 000000000..5514b8468 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/image_placeholder_field.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/image_placeholder_field.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ImagePlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ImagePlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/image_placeholder_field.proto + +// 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/v15/enums/income_range_type.proto b/third_party/googleapis/google/ads/googleads/v15/enums/income_range_type.proto new file mode 100644 index 000000000..87cf19216 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/income_range_type.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/income_range_type.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "IncomeRangeTypeProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "IncomeRangeTypeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/income_range_type.proto + +// 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/v15/enums/interaction_event_type.proto b/third_party/googleapis/google/ads/googleads/v15/enums/interaction_event_type.proto new file mode 100644 index 000000000..5c973b2e8 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/interaction_event_type.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/interaction_event_type.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "InteractionEventTypeProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "InteractionEventTypeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/interaction_event_type.proto + +// 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/v15/enums/interaction_type.proto b/third_party/googleapis/google/ads/googleads/v15/enums/interaction_type.proto new file mode 100644 index 000000000..b33ca026e --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/interaction_type.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/interaction_type.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "InteractionTypeProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "InteractionTypeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/interaction_type.proto + +// 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/v15/enums/invoice_type.proto b/third_party/googleapis/google/ads/googleads/v15/enums/invoice_type.proto new file mode 100644 index 000000000..1b8acca2f --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/invoice_type.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/invoice_type.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "InvoiceTypeProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "InvoiceTypeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/invoice_type.proto + +// 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/v15/enums/job_placeholder_field.proto b/third_party/googleapis/google/ads/googleads/v15/enums/job_placeholder_field.proto new file mode 100644 index 000000000..d903ef44c --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/job_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/job_placeholder_field.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "JobsPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "JobsPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/job_placeholder_field.proto + +// 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/v15/enums/keyword_match_type.proto b/third_party/googleapis/google/ads/googleads/v15/enums/keyword_match_type.proto new file mode 100644 index 000000000..07b1db9c5 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/keyword_match_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/keyword_match_type.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "KeywordMatchTypeProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "KeywordMatchTypeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/keyword_match_type.proto + +// 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/v15/enums/keyword_plan_aggregate_metric_type.proto b/third_party/googleapis/google/ads/googleads/v15/enums/keyword_plan_aggregate_metric_type.proto new file mode 100644 index 000000000..6674b9207 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/keyword_plan_aggregate_metric_type.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/keyword_plan_aggregate_metric_type.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanAggregateMetricTypeProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanAggregateMetricTypeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/keyword_plan_aggregate_metric_type.proto + +// 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/v15/enums/keyword_plan_competition_level.proto b/third_party/googleapis/google/ads/googleads/v15/enums/keyword_plan_competition_level.proto new file mode 100644 index 000000000..fb0d55720 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/keyword_plan_competition_level.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/keyword_plan_competition_level.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanCompetitionLevelProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanCompetitionLevelProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/keyword_plan_competition_level.proto + +// 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/v15/enums/keyword_plan_concept_group_type.proto b/third_party/googleapis/google/ads/googleads/v15/enums/keyword_plan_concept_group_type.proto new file mode 100644 index 000000000..e60a693ca --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/keyword_plan_concept_group_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/keyword_plan_concept_group_type.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanConceptGroupTypeProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanConceptGroupTypeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/keyword_plan_concept_group_type.proto + +// 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/v15/enums/keyword_plan_forecast_interval.proto b/third_party/googleapis/google/ads/googleads/v15/enums/keyword_plan_forecast_interval.proto new file mode 100644 index 000000000..31eeda8dd --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/keyword_plan_forecast_interval.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/keyword_plan_forecast_interval.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanForecastIntervalProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanForecastIntervalProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/keyword_plan_forecast_interval.proto + +// 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/v15/enums/keyword_plan_keyword_annotation.proto b/third_party/googleapis/google/ads/googleads/v15/enums/keyword_plan_keyword_annotation.proto new file mode 100644 index 000000000..8d4975151 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/keyword_plan_keyword_annotation.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/keyword_plan_keyword_annotation.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanKeywordAnnotationProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanKeywordAnnotationProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/keyword_plan_keyword_annotation.proto + +// 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/v15/enums/keyword_plan_network.proto b/third_party/googleapis/google/ads/googleads/v15/enums/keyword_plan_network.proto new file mode 100644 index 000000000..9f32c555c --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/keyword_plan_network.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/keyword_plan_network.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanNetworkProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanNetworkProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/keyword_plan_network.proto + +// 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/v15/enums/label_status.proto b/third_party/googleapis/google/ads/googleads/v15/enums/label_status.proto new file mode 100644 index 000000000..a76f1e2c1 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/label_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/label_status.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LabelStatusProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LabelStatusProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/label_status.proto + +// 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/v15/enums/lead_form_call_to_action_type.proto b/third_party/googleapis/google/ads/googleads/v15/enums/lead_form_call_to_action_type.proto new file mode 100644 index 000000000..f21a89ad3 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/lead_form_call_to_action_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/lead_form_call_to_action_type.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LeadFormCallToActionTypeProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LeadFormCallToActionTypeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/lead_form_call_to_action_type.proto + +// 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/v15/enums/lead_form_desired_intent.proto b/third_party/googleapis/google/ads/googleads/v15/enums/lead_form_desired_intent.proto new file mode 100644 index 000000000..495f81e5d --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/lead_form_desired_intent.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/lead_form_desired_intent.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LeadFormDesiredIntentProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LeadFormDesiredIntentProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/lead_form_desired_intent.proto + +// 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/v15/enums/lead_form_field_user_input_type.proto b/third_party/googleapis/google/ads/googleads/v15/enums/lead_form_field_user_input_type.proto new file mode 100644 index 000000000..1531f99e0 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LeadFormFieldUserInputTypeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::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/v15/enums/lead_form_post_submit_call_to_action_type.proto b/third_party/googleapis/google/ads/googleads/v15/enums/lead_form_post_submit_call_to_action_type.proto new file mode 100644 index 000000000..edbe38501 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/lead_form_post_submit_call_to_action_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/lead_form_post_submit_call_to_action_type.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LeadFormPostSubmitCallToActionTypeProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LeadFormPostSubmitCallToActionTypeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/lead_form_post_submit_call_to_action_type.proto + +// 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/v15/enums/legacy_app_install_ad_app_store.proto b/third_party/googleapis/google/ads/googleads/v15/enums/legacy_app_install_ad_app_store.proto new file mode 100644 index 000000000..819fc1fd9 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/legacy_app_install_ad_app_store.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/legacy_app_install_ad_app_store.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LegacyAppInstallAdAppStoreProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LegacyAppInstallAdAppStoreProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/legacy_app_install_ad_app_store.proto + +// 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/v15/enums/linked_account_type.proto b/third_party/googleapis/google/ads/googleads/v15/enums/linked_account_type.proto new file mode 100644 index 000000000..dbd69bec6 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/linked_account_type.proto @@ -0,0 +1,76 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/linked_account_type.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/linked_account_type.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/linked_account_type.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LinkedAccountTypeProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LinkedAccountTypeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/linked_account_type.proto + +// 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; + + // A link to Data partner. + DATA_PARTNER = 3; + + // A link to Google Ads. + GOOGLE_ADS = 4; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/linked_account_type.proto + // A link to Hotel Center. + HOTEL_CENTER = 5; + +======== +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/linked_account_type.proto + // A link to Google Ads account of the partner advertiser. + // Increase performance and share data by partnering with businesses that + // advertise the same items. + ADVERTISING_PARTNER = 6; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v15/enums/linked_product_type.proto b/third_party/googleapis/google/ads/googleads/v15/enums/linked_product_type.proto new file mode 100644 index 000000000..060f67d8e --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/linked_product_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.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LinkedProductTypeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::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; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v15/enums/listing_group_filter_custom_attribute_index.proto b/third_party/googleapis/google/ads/googleads/v15/enums/listing_group_filter_custom_attribute_index.proto new file mode 100644 index 000000000..d34fbed2b --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/listing_group_filter_custom_attribute_index.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/listing_group_filter_custom_attribute_index.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ListingGroupFilterCustomAttributeIndexProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ListingGroupFilterCustomAttributeIndexProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/listing_group_filter_custom_attribute_index.proto + +// 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/v15/enums/listing_group_filter_listing_source.proto b/third_party/googleapis/google/ads/googleads/v15/enums/listing_group_filter_listing_source.proto new file mode 100644 index 000000000..3b1bda0c1 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ListingGroupFilterListingSourceProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::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/v15/enums/listing_group_filter_product_category_level.proto b/third_party/googleapis/google/ads/googleads/v15/enums/listing_group_filter_product_category_level.proto new file mode 100644 index 000000000..c9708832c --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ListingGroupFilterProductCategoryLevelProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::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/v15/enums/listing_group_filter_product_channel.proto b/third_party/googleapis/google/ads/googleads/v15/enums/listing_group_filter_product_channel.proto new file mode 100644 index 000000000..d226f8f1b --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/listing_group_filter_product_channel.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/listing_group_filter_product_channel.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ListingGroupFilterProductChannelProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ListingGroupFilterProductChannelProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/listing_group_filter_product_channel.proto + +// 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/v15/enums/listing_group_filter_product_condition.proto b/third_party/googleapis/google/ads/googleads/v15/enums/listing_group_filter_product_condition.proto new file mode 100644 index 000000000..d5b4e4fe7 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/listing_group_filter_product_condition.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/listing_group_filter_product_condition.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ListingGroupFilterProductConditionProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ListingGroupFilterProductConditionProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/listing_group_filter_product_condition.proto + +// 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/v15/enums/listing_group_filter_product_type_level.proto b/third_party/googleapis/google/ads/googleads/v15/enums/listing_group_filter_product_type_level.proto new file mode 100644 index 000000000..9166792da --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/listing_group_filter_product_type_level.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/listing_group_filter_product_type_level.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ListingGroupFilterProductTypeLevelProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ListingGroupFilterProductTypeLevelProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/listing_group_filter_product_type_level.proto + +// 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/v15/enums/listing_group_filter_type_enum.proto b/third_party/googleapis/google/ads/googleads/v15/enums/listing_group_filter_type_enum.proto new file mode 100644 index 000000000..9d5f678cf --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/listing_group_filter_type_enum.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/listing_group_filter_type_enum.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ListingGroupFilterTypeEnumProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ListingGroupFilterTypeEnumProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/listing_group_filter_type_enum.proto + +// 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/v15/enums/listing_group_type.proto b/third_party/googleapis/google/ads/googleads/v15/enums/listing_group_type.proto new file mode 100644 index 000000000..ac0087f72 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/listing_group_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/listing_group_type.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ListingGroupTypeProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ListingGroupTypeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/listing_group_type.proto + +// 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/v15/enums/listing_type.proto b/third_party/googleapis/google/ads/googleads/v15/enums/listing_type.proto new file mode 100644 index 000000000..b8e5a4496 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ListingTypeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::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/v15/enums/local_placeholder_field.proto b/third_party/googleapis/google/ads/googleads/v15/enums/local_placeholder_field.proto new file mode 100644 index 000000000..062b13db4 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/local_placeholder_field.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/local_placeholder_field.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LocalPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LocalPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/local_placeholder_field.proto + +// 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/v15/enums/local_services_conversation_type.proto b/third_party/googleapis/google/ads/googleads/v15/enums/local_services_conversation_type.proto new file mode 100644 index 000000000..9943a2184 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LocalServicesConversationTypeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::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/v15/enums/local_services_insurance_rejection_reason.proto b/third_party/googleapis/google/ads/googleads/v15/enums/local_services_insurance_rejection_reason.proto new file mode 100644 index 000000000..8eab02413 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LocalServicesInsuranceRejectionReasonProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::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/v15/enums/local_services_lead_status.proto b/third_party/googleapis/google/ads/googleads/v15/enums/local_services_lead_status.proto new file mode 100644 index 000000000..9676070f8 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LocalServicesLeadStatusProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::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/v15/enums/local_services_lead_type.proto b/third_party/googleapis/google/ads/googleads/v15/enums/local_services_lead_type.proto new file mode 100644 index 000000000..43e84f264 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LocalServicesLeadTypeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::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/v15/enums/local_services_license_rejection_reason.proto b/third_party/googleapis/google/ads/googleads/v15/enums/local_services_license_rejection_reason.proto new file mode 100644 index 000000000..483fa5957 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LocalServicesLicenseRejectionReasonProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::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/v15/enums/local_services_participant_type.proto b/third_party/googleapis/google/ads/googleads/v15/enums/local_services_participant_type.proto new file mode 100644 index 000000000..e2b2e482f --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LocalServicesParticipantTypeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::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/v15/enums/local_services_verification_artifact_status.proto b/third_party/googleapis/google/ads/googleads/v15/enums/local_services_verification_artifact_status.proto new file mode 100644 index 000000000..e469afd2e --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LocalServicesVerificationArtifactStatusProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::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/v15/enums/local_services_verification_artifact_type.proto b/third_party/googleapis/google/ads/googleads/v15/enums/local_services_verification_artifact_type.proto new file mode 100644 index 000000000..e727b8d1f --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/local_services_verification_artifact_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.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LocalServicesVerificationArtifactTypeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::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; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v15/enums/local_services_verification_status.proto b/third_party/googleapis/google/ads/googleads/v15/enums/local_services_verification_status.proto new file mode 100644 index 000000000..7067204db --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LocalServicesVerificationStatusProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::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/v15/enums/location_extension_targeting_criterion_field.proto b/third_party/googleapis/google/ads/googleads/v15/enums/location_extension_targeting_criterion_field.proto new file mode 100644 index 000000000..3ce9e8f47 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/location_extension_targeting_criterion_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/location_extension_targeting_criterion_field.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LocationExtensionTargetingCriterionFieldProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LocationExtensionTargetingCriterionFieldProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/location_extension_targeting_criterion_field.proto + +// 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/v15/enums/location_group_radius_units.proto b/third_party/googleapis/google/ads/googleads/v15/enums/location_group_radius_units.proto new file mode 100644 index 000000000..708abf47f --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/location_group_radius_units.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/location_group_radius_units.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LocationGroupRadiusUnitsProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LocationGroupRadiusUnitsProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/location_group_radius_units.proto + +// 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/v15/enums/location_ownership_type.proto b/third_party/googleapis/google/ads/googleads/v15/enums/location_ownership_type.proto new file mode 100644 index 000000000..decdfd447 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LocationOwnershipTypeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::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/v15/enums/location_placeholder_field.proto b/third_party/googleapis/google/ads/googleads/v15/enums/location_placeholder_field.proto new file mode 100644 index 000000000..fc22c5f17 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/location_placeholder_field.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/location_placeholder_field.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LocationPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LocationPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/location_placeholder_field.proto + +// 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/v15/enums/location_source_type.proto b/third_party/googleapis/google/ads/googleads/v15/enums/location_source_type.proto new file mode 100644 index 000000000..067b4a429 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/location_source_type.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/location_source_type.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LocationSourceTypeProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LocationSourceTypeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/location_source_type.proto + +// 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/v15/enums/location_string_filter_type.proto b/third_party/googleapis/google/ads/googleads/v15/enums/location_string_filter_type.proto new file mode 100644 index 000000000..351570e65 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LocationStringFilterTypeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::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/v15/enums/lookalike_expansion_level.proto b/third_party/googleapis/google/ads/googleads/v15/enums/lookalike_expansion_level.proto new file mode 100644 index 000000000..2c2df17e4 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LookalikeExpansionLevelProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::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/v15/enums/manager_link_status.proto b/third_party/googleapis/google/ads/googleads/v15/enums/manager_link_status.proto new file mode 100644 index 000000000..0ce856fe7 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/manager_link_status.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/manager_link_status.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ManagerLinkStatusProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ManagerLinkStatusProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/manager_link_status.proto + +// 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/v15/enums/matching_function_context_type.proto b/third_party/googleapis/google/ads/googleads/v15/enums/matching_function_context_type.proto new file mode 100644 index 000000000..d8abeb3a9 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/matching_function_context_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/matching_function_context_type.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "MatchingFunctionContextTypeProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "MatchingFunctionContextTypeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/matching_function_context_type.proto + +// 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/v15/enums/matching_function_operator.proto b/third_party/googleapis/google/ads/googleads/v15/enums/matching_function_operator.proto new file mode 100644 index 000000000..09ba4636e --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/matching_function_operator.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/matching_function_operator.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "MatchingFunctionOperatorProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "MatchingFunctionOperatorProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/matching_function_operator.proto + +// 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/v15/enums/media_type.proto b/third_party/googleapis/google/ads/googleads/v15/enums/media_type.proto new file mode 100644 index 000000000..eb94e5111 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/media_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/media_type.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "MediaTypeProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "MediaTypeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/media_type.proto + +// 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/v15/enums/message_placeholder_field.proto b/third_party/googleapis/google/ads/googleads/v15/enums/message_placeholder_field.proto new file mode 100644 index 000000000..3543d5cd2 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/message_placeholder_field.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/message_placeholder_field.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "MessagePlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "MessagePlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/message_placeholder_field.proto + +// 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/v15/enums/mime_type.proto b/third_party/googleapis/google/ads/googleads/v15/enums/mime_type.proto new file mode 100644 index 000000000..4e4412561 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/mime_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/mime_type.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "MimeTypeProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "MimeTypeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/mime_type.proto + +// 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/v15/enums/minute_of_hour.proto b/third_party/googleapis/google/ads/googleads/v15/enums/minute_of_hour.proto new file mode 100644 index 000000000..0a9eb4951 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/minute_of_hour.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/minute_of_hour.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "MinuteOfHourProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "MinuteOfHourProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/minute_of_hour.proto + +// 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/v15/enums/mobile_app_vendor.proto b/third_party/googleapis/google/ads/googleads/v15/enums/mobile_app_vendor.proto new file mode 100644 index 000000000..49af34da6 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/mobile_app_vendor.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/mobile_app_vendor.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "MobileAppVendorProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "MobileAppVendorProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/mobile_app_vendor.proto + +// 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/v15/enums/mobile_device_type.proto b/third_party/googleapis/google/ads/googleads/v15/enums/mobile_device_type.proto new file mode 100644 index 000000000..4dc308fd1 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/mobile_device_type.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/mobile_device_type.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "MobileDeviceTypeProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "MobileDeviceTypeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/mobile_device_type.proto + +// 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/v15/enums/month_of_year.proto b/third_party/googleapis/google/ads/googleads/v15/enums/month_of_year.proto new file mode 100644 index 000000000..2e2219307 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/month_of_year.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/month_of_year.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "MonthOfYearProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "MonthOfYearProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/month_of_year.proto + +// 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/v15/enums/negative_geo_target_type.proto b/third_party/googleapis/google/ads/googleads/v15/enums/negative_geo_target_type.proto new file mode 100644 index 000000000..299a154f6 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/negative_geo_target_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/negative_geo_target_type.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "NegativeGeoTargetTypeProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "NegativeGeoTargetTypeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/negative_geo_target_type.proto + +// 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/v15/enums/offline_conversion_diagnostic_status_enum.proto b/third_party/googleapis/google/ads/googleads/v15/enums/offline_conversion_diagnostic_status_enum.proto new file mode 100644 index 000000000..8df7ee1c0 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "OfflineConversionDiagnosticStatusEnumProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::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/v15/enums/offline_event_upload_client_enum.proto b/third_party/googleapis/google/ads/googleads/v15/enums/offline_event_upload_client_enum.proto new file mode 100644 index 000000000..bc4c832dd --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "OfflineEventUploadClientEnumProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::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/v15/enums/offline_user_data_job_failure_reason.proto b/third_party/googleapis/google/ads/googleads/v15/enums/offline_user_data_job_failure_reason.proto new file mode 100644 index 000000000..663b24958 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/offline_user_data_job_failure_reason.proto @@ -0,0 +1,79 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/offline_user_data_job_failure_reason.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/offline_user_data_job_failure_reason.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/offline_user_data_job_failure_reason.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "OfflineUserDataJobFailureReasonProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "OfflineUserDataJobFailureReasonProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/offline_user_data_job_failure_reason.proto + +// 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/v15/enums/offline_user_data_job_match_rate_range.proto b/third_party/googleapis/google/ads/googleads/v15/enums/offline_user_data_job_match_rate_range.proto new file mode 100644 index 000000000..15ff8122a --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/offline_user_data_job_match_rate_range.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/offline_user_data_job_match_rate_range.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "OfflineUserDataJobMatchRateRangeProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "OfflineUserDataJobMatchRateRangeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/offline_user_data_job_match_rate_range.proto + +// 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/v15/enums/offline_user_data_job_status.proto b/third_party/googleapis/google/ads/googleads/v15/enums/offline_user_data_job_status.proto new file mode 100644 index 000000000..057b8e5d0 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/offline_user_data_job_status.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/offline_user_data_job_status.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "OfflineUserDataJobStatusProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "OfflineUserDataJobStatusProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/offline_user_data_job_status.proto + +// 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/v15/enums/offline_user_data_job_type.proto b/third_party/googleapis/google/ads/googleads/v15/enums/offline_user_data_job_type.proto new file mode 100644 index 000000000..dae11ab2e --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/offline_user_data_job_type.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/offline_user_data_job_type.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "OfflineUserDataJobTypeProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "OfflineUserDataJobTypeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/offline_user_data_job_type.proto + +// 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/v15/enums/operating_system_version_operator_type.proto b/third_party/googleapis/google/ads/googleads/v15/enums/operating_system_version_operator_type.proto new file mode 100644 index 000000000..296532e40 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/operating_system_version_operator_type.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/operating_system_version_operator_type.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "OperatingSystemVersionOperatorTypeProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "OperatingSystemVersionOperatorTypeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/operating_system_version_operator_type.proto + +// 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/v15/enums/optimization_goal_type.proto b/third_party/googleapis/google/ads/googleads/v15/enums/optimization_goal_type.proto new file mode 100644 index 000000000..f8f78cc30 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/optimization_goal_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/optimization_goal_type.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "OptimizationGoalTypeProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "OptimizationGoalTypeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/optimization_goal_type.proto + +// 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/v15/enums/parental_status_type.proto b/third_party/googleapis/google/ads/googleads/v15/enums/parental_status_type.proto new file mode 100644 index 000000000..d2a41c6da --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/parental_status_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/parental_status_type.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ParentalStatusTypeProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ParentalStatusTypeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/parental_status_type.proto + +// 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/v15/enums/payment_mode.proto b/third_party/googleapis/google/ads/googleads/v15/enums/payment_mode.proto new file mode 100644 index 000000000..7eae36fbc --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/payment_mode.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/payment_mode.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PaymentModeProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PaymentModeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/payment_mode.proto + +// 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/v15/enums/performance_max_upgrade_status.proto b/third_party/googleapis/google/ads/googleads/v15/enums/performance_max_upgrade_status.proto new file mode 100644 index 000000000..5d2919d10 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PerformanceMaxUpgradeStatusProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::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/v15/enums/placeholder_type.proto b/third_party/googleapis/google/ads/googleads/v15/enums/placeholder_type.proto new file mode 100644 index 000000000..f0dfc515b --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/placeholder_type.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/placeholder_type.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PlaceholderTypeProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PlaceholderTypeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/placeholder_type.proto + +// 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/v15/enums/placement_type.proto b/third_party/googleapis/google/ads/googleads/v15/enums/placement_type.proto new file mode 100644 index 000000000..200d5436d --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/placement_type.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/placement_type.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PlacementTypeProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PlacementTypeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/placement_type.proto + +// 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/v15/enums/policy_approval_status.proto b/third_party/googleapis/google/ads/googleads/v15/enums/policy_approval_status.proto new file mode 100644 index 000000000..fa4ea1b39 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/policy_approval_status.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/policy_approval_status.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PolicyApprovalStatusProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PolicyApprovalStatusProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/policy_approval_status.proto + +// 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/v15/enums/policy_review_status.proto b/third_party/googleapis/google/ads/googleads/v15/enums/policy_review_status.proto new file mode 100644 index 000000000..086b82ad4 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/policy_review_status.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/policy_review_status.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PolicyReviewStatusProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PolicyReviewStatusProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/policy_review_status.proto + +// 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/v15/enums/policy_topic_entry_type.proto b/third_party/googleapis/google/ads/googleads/v15/enums/policy_topic_entry_type.proto new file mode 100644 index 000000000..e3e13ffce --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/policy_topic_entry_type.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/policy_topic_entry_type.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PolicyTopicEntryTypeProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PolicyTopicEntryTypeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/policy_topic_entry_type.proto + +// 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/v15/enums/policy_topic_evidence_destination_mismatch_url_type.proto b/third_party/googleapis/google/ads/googleads/v15/enums/policy_topic_evidence_destination_mismatch_url_type.proto new file mode 100644 index 000000000..80bc14f63 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/policy_topic_evidence_destination_mismatch_url_type.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/policy_topic_evidence_destination_mismatch_url_type.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PolicyTopicEvidenceDestinationMismatchUrlTypeProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PolicyTopicEvidenceDestinationMismatchUrlTypeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/policy_topic_evidence_destination_mismatch_url_type.proto + +// 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/v15/enums/policy_topic_evidence_destination_not_working_device.proto b/third_party/googleapis/google/ads/googleads/v15/enums/policy_topic_evidence_destination_not_working_device.proto new file mode 100644 index 000000000..a46dcaa36 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/policy_topic_evidence_destination_not_working_device.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/policy_topic_evidence_destination_not_working_device.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PolicyTopicEvidenceDestinationNotWorkingDeviceProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PolicyTopicEvidenceDestinationNotWorkingDeviceProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/policy_topic_evidence_destination_not_working_device.proto + +// 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/v15/enums/policy_topic_evidence_destination_not_working_dns_error_type.proto b/third_party/googleapis/google/ads/googleads/v15/enums/policy_topic_evidence_destination_not_working_dns_error_type.proto new file mode 100644 index 000000000..74344abfd --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/policy_topic_evidence_destination_not_working_dns_error_type.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/policy_topic_evidence_destination_not_working_dns_error_type.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PolicyTopicEvidenceDestinationNotWorkingDnsErrorTypeProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PolicyTopicEvidenceDestinationNotWorkingDnsErrorTypeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/policy_topic_evidence_destination_not_working_dns_error_type.proto + +// 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/v15/enums/positive_geo_target_type.proto b/third_party/googleapis/google/ads/googleads/v15/enums/positive_geo_target_type.proto new file mode 100644 index 000000000..2f59398f4 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/positive_geo_target_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/positive_geo_target_type.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PositiveGeoTargetTypeProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PositiveGeoTargetTypeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/positive_geo_target_type.proto + +// 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/v15/enums/price_extension_price_qualifier.proto b/third_party/googleapis/google/ads/googleads/v15/enums/price_extension_price_qualifier.proto new file mode 100644 index 000000000..a07e09345 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/price_extension_price_qualifier.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/price_extension_price_qualifier.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PriceExtensionPriceQualifierProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PriceExtensionPriceQualifierProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/price_extension_price_qualifier.proto + +// 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/v15/enums/price_extension_price_unit.proto b/third_party/googleapis/google/ads/googleads/v15/enums/price_extension_price_unit.proto new file mode 100644 index 000000000..1fc3b4ce8 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/price_extension_price_unit.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/price_extension_price_unit.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PriceExtensionPriceUnitProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PriceExtensionPriceUnitProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/price_extension_price_unit.proto + +// 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/v15/enums/price_extension_type.proto b/third_party/googleapis/google/ads/googleads/v15/enums/price_extension_type.proto new file mode 100644 index 000000000..851db7699 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/price_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/price_extension_type.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PriceExtensionTypeProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PriceExtensionTypeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/price_extension_type.proto + +// 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/v15/enums/price_placeholder_field.proto b/third_party/googleapis/google/ads/googleads/v15/enums/price_placeholder_field.proto new file mode 100644 index 000000000..669560953 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/price_placeholder_field.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/price_placeholder_field.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PricePlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PricePlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/price_placeholder_field.proto + +// 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/v15/enums/product_category_level.proto b/third_party/googleapis/google/ads/googleads/v15/enums/product_category_level.proto new file mode 100644 index 000000000..8fa9d86ea --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ProductCategoryLevelProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::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/v15/enums/product_category_state.proto b/third_party/googleapis/google/ads/googleads/v15/enums/product_category_state.proto new file mode 100644 index 000000000..bbd03d835 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ProductCategoryStateProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::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/v15/enums/product_channel.proto b/third_party/googleapis/google/ads/googleads/v15/enums/product_channel.proto new file mode 100644 index 000000000..2c550c493 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/product_channel.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/product_channel.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ProductChannelProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ProductChannelProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/product_channel.proto + +// 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/v15/enums/product_channel_exclusivity.proto b/third_party/googleapis/google/ads/googleads/v15/enums/product_channel_exclusivity.proto new file mode 100644 index 000000000..b53905549 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/product_channel_exclusivity.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/product_channel_exclusivity.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ProductChannelExclusivityProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ProductChannelExclusivityProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/product_channel_exclusivity.proto + +// 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/v15/enums/product_condition.proto b/third_party/googleapis/google/ads/googleads/v15/enums/product_condition.proto new file mode 100644 index 000000000..dd85f89ae --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/product_condition.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/product_condition.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ProductConditionProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ProductConditionProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/product_condition.proto + +// 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/v15/enums/product_custom_attribute_index.proto b/third_party/googleapis/google/ads/googleads/v15/enums/product_custom_attribute_index.proto new file mode 100644 index 000000000..f4b9b171d --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/product_custom_attribute_index.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/product_custom_attribute_index.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ProductCustomAttributeIndexProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ProductCustomAttributeIndexProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/product_custom_attribute_index.proto + +// 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/v15/enums/product_link_invitation_status.proto b/third_party/googleapis/google/ads/googleads/v15/enums/product_link_invitation_status.proto new file mode 100644 index 000000000..b442f2b9e --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ProductLinkInvitationStatusProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::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/v15/enums/product_type_level.proto b/third_party/googleapis/google/ads/googleads/v15/enums/product_type_level.proto new file mode 100644 index 000000000..5338d872d --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/product_type_level.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/product_type_level.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ProductTypeLevelProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ProductTypeLevelProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/product_type_level.proto + +// 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/v15/enums/promotion_extension_discount_modifier.proto b/third_party/googleapis/google/ads/googleads/v15/enums/promotion_extension_discount_modifier.proto new file mode 100644 index 000000000..2f555a655 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/promotion_extension_discount_modifier.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/promotion_extension_discount_modifier.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PromotionExtensionDiscountModifierProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PromotionExtensionDiscountModifierProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/promotion_extension_discount_modifier.proto + +// 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/v15/enums/promotion_extension_occasion.proto b/third_party/googleapis/google/ads/googleads/v15/enums/promotion_extension_occasion.proto new file mode 100644 index 000000000..78767161b --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/promotion_extension_occasion.proto @@ -0,0 +1,166 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/promotion_extension_occasion.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PromotionExtensionOccasionProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PromotionExtensionOccasionProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/promotion_extension_occasion.proto + +// 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/v15/enums/promotion_placeholder_field.proto b/third_party/googleapis/google/ads/googleads/v15/enums/promotion_placeholder_field.proto new file mode 100644 index 000000000..907253ff2 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/promotion_placeholder_field.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/promotion_placeholder_field.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PromotionPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PromotionPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/promotion_placeholder_field.proto + +// 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/v15/enums/proximity_radius_units.proto b/third_party/googleapis/google/ads/googleads/v15/enums/proximity_radius_units.proto new file mode 100644 index 000000000..3730f61f2 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/proximity_radius_units.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/proximity_radius_units.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ProximityRadiusUnitsProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ProximityRadiusUnitsProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/proximity_radius_units.proto + +// 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/v15/enums/quality_score_bucket.proto b/third_party/googleapis/google/ads/googleads/v15/enums/quality_score_bucket.proto new file mode 100644 index 000000000..911446e53 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/quality_score_bucket.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/quality_score_bucket.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "QualityScoreBucketProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "QualityScoreBucketProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/quality_score_bucket.proto + +// 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/v15/enums/reach_plan_age_range.proto b/third_party/googleapis/google/ads/googleads/v15/enums/reach_plan_age_range.proto new file mode 100644 index 000000000..a81014b16 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/reach_plan_age_range.proto @@ -0,0 +1,131 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/reach_plan_age_range.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ReachPlanAgeRangeProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ReachPlanAgeRangeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/reach_plan_age_range.proto + +// 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/v15/enums/reach_plan_network.proto b/third_party/googleapis/google/ads/googleads/v15/enums/reach_plan_network.proto new file mode 100644 index 000000000..fb8918a93 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/reach_plan_network.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/reach_plan_network.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ReachPlanNetworkProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ReachPlanNetworkProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/reach_plan_network.proto + +// 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/v15/enums/reach_plan_surface.proto b/third_party/googleapis/google/ads/googleads/v15/enums/reach_plan_surface.proto new file mode 100644 index 000000000..fcdd2d3cb --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ReachPlanSurfaceProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::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/v15/enums/real_estate_placeholder_field.proto b/third_party/googleapis/google/ads/googleads/v15/enums/real_estate_placeholder_field.proto new file mode 100644 index 000000000..ce834cc8e --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/real_estate_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/real_estate_placeholder_field.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "RealEstatePlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "RealEstatePlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/real_estate_placeholder_field.proto + +// 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/v15/enums/recommendation_subscription_status.proto b/third_party/googleapis/google/ads/googleads/v15/enums/recommendation_subscription_status.proto new file mode 100644 index 000000000..9ee7de93c --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "RecommendationSubscriptionStatusProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::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/v15/enums/recommendation_type.proto b/third_party/googleapis/google/ads/googleads/v15/enums/recommendation_type.proto new file mode 100644 index 000000000..c7e3f3f95 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/recommendation_type.proto @@ -0,0 +1,222 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "RecommendationTypeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::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; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v15/enums/resource_change_operation.proto b/third_party/googleapis/google/ads/googleads/v15/enums/resource_change_operation.proto new file mode 100644 index 000000000..4d94c23d4 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/resource_change_operation.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/resource_change_operation.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ResourceChangeOperationProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ResourceChangeOperationProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/resource_change_operation.proto + +// 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/v15/enums/resource_limit_type.proto b/third_party/googleapis/google/ads/googleads/v15/enums/resource_limit_type.proto new file mode 100644 index 000000000..37d99f220 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/resource_limit_type.proto @@ -0,0 +1,512 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/resource_limit_type.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ResourceLimitTypeProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ResourceLimitTypeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/resource_limit_type.proto + +// 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; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/resource_limit_type.proto +======== + // 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; + +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/resource_limit_type.proto + // 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; +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/resource_limit_type.proto +======== + + // 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; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/resource_limit_type.proto + } +} diff --git a/third_party/googleapis/google/ads/googleads/v15/enums/response_content_type.proto b/third_party/googleapis/google/ads/googleads/v15/enums/response_content_type.proto new file mode 100644 index 000000000..e70fcbbbc --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/response_content_type.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/response_content_type.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ResponseContentTypeProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ResponseContentTypeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/response_content_type.proto + +// 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/v15/enums/search_engine_results_page_type.proto b/third_party/googleapis/google/ads/googleads/v15/enums/search_engine_results_page_type.proto new file mode 100644 index 000000000..c885850ae --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/search_engine_results_page_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/search_engine_results_page_type.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SearchEngineResultsPageTypeProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SearchEngineResultsPageTypeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/search_engine_results_page_type.proto + +// 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/v15/enums/search_term_match_type.proto b/third_party/googleapis/google/ads/googleads/v15/enums/search_term_match_type.proto new file mode 100644 index 000000000..337e4330b --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/search_term_match_type.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/search_term_match_type.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SearchTermMatchTypeProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SearchTermMatchTypeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/search_term_match_type.proto + +// 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/v15/enums/search_term_targeting_status.proto b/third_party/googleapis/google/ads/googleads/v15/enums/search_term_targeting_status.proto new file mode 100644 index 000000000..480a73df5 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/search_term_targeting_status.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/search_term_targeting_status.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SearchTermTargetingStatusProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SearchTermTargetingStatusProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/search_term_targeting_status.proto + +// 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/v15/enums/seasonality_event_scope.proto b/third_party/googleapis/google/ads/googleads/v15/enums/seasonality_event_scope.proto new file mode 100644 index 000000000..f8cbc7415 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/seasonality_event_scope.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/seasonality_event_scope.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SeasonalityEventScopeProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SeasonalityEventScopeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/seasonality_event_scope.proto + +// 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/v15/enums/seasonality_event_status.proto b/third_party/googleapis/google/ads/googleads/v15/enums/seasonality_event_status.proto new file mode 100644 index 000000000..9b656f7e0 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/seasonality_event_status.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/seasonality_event_status.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SeasonalityEventStatusProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SeasonalityEventStatusProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/seasonality_event_status.proto + +// 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/v15/enums/served_asset_field_type.proto b/third_party/googleapis/google/ads/googleads/v15/enums/served_asset_field_type.proto new file mode 100644 index 000000000..dd426b678 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ServedAssetFieldTypeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::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/v15/enums/shared_set_status.proto b/third_party/googleapis/google/ads/googleads/v15/enums/shared_set_status.proto new file mode 100644 index 000000000..20dc5ae7d --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/shared_set_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/shared_set_status.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SharedSetStatusProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SharedSetStatusProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/shared_set_status.proto + +// 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/v15/enums/shared_set_type.proto b/third_party/googleapis/google/ads/googleads/v15/enums/shared_set_type.proto new file mode 100644 index 000000000..244259d87 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/shared_set_type.proto @@ -0,0 +1,69 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/shared_set_type.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/shared_set_type.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/shared_set_type.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SharedSetTypeProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SharedSetTypeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/shared_set_type.proto + +// 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/v15/enums/shopping_add_products_to_campaign_recommendation_enum.proto b/third_party/googleapis/google/ads/googleads/v15/enums/shopping_add_products_to_campaign_recommendation_enum.proto new file mode 100644 index 000000000..ed1f3cc73 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ShoppingAddProductsToCampaignRecommendationEnumProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::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/v15/enums/simulation_modification_method.proto b/third_party/googleapis/google/ads/googleads/v15/enums/simulation_modification_method.proto new file mode 100644 index 000000000..1b440a2cc --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/simulation_modification_method.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/simulation_modification_method.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SimulationModificationMethodProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SimulationModificationMethodProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/simulation_modification_method.proto + +// 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/v15/enums/simulation_type.proto b/third_party/googleapis/google/ads/googleads/v15/enums/simulation_type.proto new file mode 100644 index 000000000..1019b93f5 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/simulation_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/simulation_type.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SimulationTypeProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SimulationTypeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/simulation_type.proto + +// 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/v15/enums/sitelink_placeholder_field.proto b/third_party/googleapis/google/ads/googleads/v15/enums/sitelink_placeholder_field.proto new file mode 100644 index 000000000..bef8fa9a7 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/sitelink_placeholder_field.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/sitelink_placeholder_field.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SitelinkPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SitelinkPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/sitelink_placeholder_field.proto + +// 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/v15/enums/sk_ad_network_ad_event_type.proto b/third_party/googleapis/google/ads/googleads/v15/enums/sk_ad_network_ad_event_type.proto new file mode 100644 index 000000000..dd70c7176 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/sk_ad_network_ad_event_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/sk_ad_network_ad_event_type.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SkAdNetworkAdEventTypeProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SkAdNetworkAdEventTypeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/sk_ad_network_ad_event_type.proto + +// 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/v15/enums/sk_ad_network_attribution_credit.proto b/third_party/googleapis/google/ads/googleads/v15/enums/sk_ad_network_attribution_credit.proto new file mode 100644 index 000000000..cfbce4a3f --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/sk_ad_network_attribution_credit.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/sk_ad_network_attribution_credit.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SkAdNetworkAttributionCreditProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SkAdNetworkAttributionCreditProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/sk_ad_network_attribution_credit.proto + +// 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/v15/enums/sk_ad_network_coarse_conversion_value.proto b/third_party/googleapis/google/ads/googleads/v15/enums/sk_ad_network_coarse_conversion_value.proto new file mode 100644 index 000000000..075e05340 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SkAdNetworkCoarseConversionValueProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::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/v15/enums/sk_ad_network_source_type.proto b/third_party/googleapis/google/ads/googleads/v15/enums/sk_ad_network_source_type.proto new file mode 100644 index 000000000..60edb866e --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SkAdNetworkSourceTypeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::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/v15/enums/sk_ad_network_user_type.proto b/third_party/googleapis/google/ads/googleads/v15/enums/sk_ad_network_user_type.proto new file mode 100644 index 000000000..22c949764 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/sk_ad_network_user_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/sk_ad_network_user_type.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SkAdNetworkUserTypeProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SkAdNetworkUserTypeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/sk_ad_network_user_type.proto + +// 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/v15/enums/slot.proto b/third_party/googleapis/google/ads/googleads/v15/enums/slot.proto new file mode 100644 index 000000000..a09e43ecf --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/slot.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/slot.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SlotProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SlotProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/slot.proto + +// 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/v15/enums/smart_campaign_not_eligible_reason.proto b/third_party/googleapis/google/ads/googleads/v15/enums/smart_campaign_not_eligible_reason.proto new file mode 100644 index 000000000..df0d38894 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SmartCampaignNotEligibleReasonProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::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/v15/enums/smart_campaign_status.proto b/third_party/googleapis/google/ads/googleads/v15/enums/smart_campaign_status.proto new file mode 100644 index 000000000..0cd1a5903 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SmartCampaignStatusProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::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/v15/enums/spending_limit_type.proto b/third_party/googleapis/google/ads/googleads/v15/enums/spending_limit_type.proto new file mode 100644 index 000000000..1390497d0 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/spending_limit_type.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/spending_limit_type.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SpendingLimitTypeProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SpendingLimitTypeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/spending_limit_type.proto + +// 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/v15/enums/structured_snippet_placeholder_field.proto b/third_party/googleapis/google/ads/googleads/v15/enums/structured_snippet_placeholder_field.proto new file mode 100644 index 000000000..f9f8e318c --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/structured_snippet_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/structured_snippet_placeholder_field.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "StructuredSnippetPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "StructuredSnippetPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/structured_snippet_placeholder_field.proto + +// 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/v15/enums/summary_row_setting.proto b/third_party/googleapis/google/ads/googleads/v15/enums/summary_row_setting.proto new file mode 100644 index 000000000..ba7e7c70e --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/summary_row_setting.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/summary_row_setting.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SummaryRowSettingProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SummaryRowSettingProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/summary_row_setting.proto + +// 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/v15/enums/system_managed_entity_source.proto b/third_party/googleapis/google/ads/googleads/v15/enums/system_managed_entity_source.proto new file mode 100644 index 000000000..86fe2f404 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/system_managed_entity_source.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/system_managed_entity_source.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SystemManagedEntitySourceProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SystemManagedEntitySourceProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/system_managed_entity_source.proto + +// 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/v15/enums/target_cpa_opt_in_recommendation_goal.proto b/third_party/googleapis/google/ads/googleads/v15/enums/target_cpa_opt_in_recommendation_goal.proto new file mode 100644 index 000000000..33ceff47d --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/target_cpa_opt_in_recommendation_goal.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/target_cpa_opt_in_recommendation_goal.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "TargetCpaOptInRecommendationGoalProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "TargetCpaOptInRecommendationGoalProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/target_cpa_opt_in_recommendation_goal.proto + +// 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/v15/enums/target_frequency_time_unit.proto b/third_party/googleapis/google/ads/googleads/v15/enums/target_frequency_time_unit.proto new file mode 100644 index 000000000..16373641a --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "TargetFrequencyTimeUnitProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::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/v15/enums/target_impression_share_location.proto b/third_party/googleapis/google/ads/googleads/v15/enums/target_impression_share_location.proto new file mode 100644 index 000000000..ee32b5fba --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/target_impression_share_location.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/target_impression_share_location.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "TargetImpressionShareLocationProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "TargetImpressionShareLocationProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/target_impression_share_location.proto + +// 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/v15/enums/targeting_dimension.proto b/third_party/googleapis/google/ads/googleads/v15/enums/targeting_dimension.proto new file mode 100644 index 000000000..84d6fc938 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/targeting_dimension.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/targeting_dimension.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "TargetingDimensionProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "TargetingDimensionProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/targeting_dimension.proto + +// 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/v15/enums/time_type.proto b/third_party/googleapis/google/ads/googleads/v15/enums/time_type.proto new file mode 100644 index 000000000..6deb246b9 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/time_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/time_type.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "TimeTypeProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "TimeTypeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/time_type.proto + +// 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/v15/enums/tracking_code_page_format.proto b/third_party/googleapis/google/ads/googleads/v15/enums/tracking_code_page_format.proto new file mode 100644 index 000000000..382160804 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/tracking_code_page_format.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/tracking_code_page_format.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "TrackingCodePageFormatProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "TrackingCodePageFormatProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/tracking_code_page_format.proto + +// 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/v15/enums/tracking_code_type.proto b/third_party/googleapis/google/ads/googleads/v15/enums/tracking_code_type.proto new file mode 100644 index 000000000..67a67afc5 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/tracking_code_type.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/tracking_code_type.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "TrackingCodeTypeProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "TrackingCodeTypeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/tracking_code_type.proto + +// 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/v15/enums/travel_placeholder_field.proto b/third_party/googleapis/google/ads/googleads/v15/enums/travel_placeholder_field.proto new file mode 100644 index 000000000..9f2889d01 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/travel_placeholder_field.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/travel_placeholder_field.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "TravelPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "TravelPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/travel_placeholder_field.proto + +// 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/v15/enums/user_identifier_source.proto b/third_party/googleapis/google/ads/googleads/v15/enums/user_identifier_source.proto new file mode 100644 index 000000000..8f6263f6b --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/user_identifier_source.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/user_identifier_source.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserIdentifierSourceProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserIdentifierSourceProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/user_identifier_source.proto + +// 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/v15/enums/user_interest_taxonomy_type.proto b/third_party/googleapis/google/ads/googleads/v15/enums/user_interest_taxonomy_type.proto new file mode 100644 index 000000000..94d3c22c8 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/user_interest_taxonomy_type.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/user_interest_taxonomy_type.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserInterestTaxonomyTypeProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserInterestTaxonomyTypeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/user_interest_taxonomy_type.proto + +// 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/v15/enums/user_list_access_status.proto b/third_party/googleapis/google/ads/googleads/v15/enums/user_list_access_status.proto new file mode 100644 index 000000000..3d9b057e3 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/user_list_access_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/user_list_access_status.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserListAccessStatusProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserListAccessStatusProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/user_list_access_status.proto + +// 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/v15/enums/user_list_closing_reason.proto b/third_party/googleapis/google/ads/googleads/v15/enums/user_list_closing_reason.proto new file mode 100644 index 000000000..762e73cc9 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/user_list_closing_reason.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/user_list_closing_reason.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserListClosingReasonProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserListClosingReasonProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/user_list_closing_reason.proto + +// 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/v15/enums/user_list_crm_data_source_type.proto b/third_party/googleapis/google/ads/googleads/v15/enums/user_list_crm_data_source_type.proto new file mode 100644 index 000000000..c5bfdd947 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/user_list_crm_data_source_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/user_list_crm_data_source_type.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserListCrmDataSourceTypeProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserListCrmDataSourceTypeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/user_list_crm_data_source_type.proto + +// 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/v15/enums/user_list_date_rule_item_operator.proto b/third_party/googleapis/google/ads/googleads/v15/enums/user_list_date_rule_item_operator.proto new file mode 100644 index 000000000..ad56d3889 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/user_list_date_rule_item_operator.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/user_list_date_rule_item_operator.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserListDateRuleItemOperatorProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserListDateRuleItemOperatorProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/user_list_date_rule_item_operator.proto + +// 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/v15/enums/user_list_flexible_rule_operator.proto b/third_party/googleapis/google/ads/googleads/v15/enums/user_list_flexible_rule_operator.proto new file mode 100644 index 000000000..44bd70718 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/user_list_flexible_rule_operator.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/enums/user_list_flexible_rule_operator.proto +package google.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserListFlexibleRuleOperatorProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserListFlexibleRuleOperatorProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/user_list_flexible_rule_operator.proto + +// 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/v15/enums/user_list_logical_rule_operator.proto b/third_party/googleapis/google/ads/googleads/v15/enums/user_list_logical_rule_operator.proto new file mode 100644 index 000000000..d13833023 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/user_list_logical_rule_operator.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/user_list_logical_rule_operator.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserListLogicalRuleOperatorProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserListLogicalRuleOperatorProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/user_list_logical_rule_operator.proto + +// 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/v15/enums/user_list_membership_status.proto b/third_party/googleapis/google/ads/googleads/v15/enums/user_list_membership_status.proto new file mode 100644 index 000000000..2036c9eda --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/user_list_membership_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/user_list_membership_status.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserListMembershipStatusProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserListMembershipStatusProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/user_list_membership_status.proto + +// 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/v15/enums/user_list_number_rule_item_operator.proto b/third_party/googleapis/google/ads/googleads/v15/enums/user_list_number_rule_item_operator.proto new file mode 100644 index 000000000..a7d81c715 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/user_list_number_rule_item_operator.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/user_list_number_rule_item_operator.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserListNumberRuleItemOperatorProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserListNumberRuleItemOperatorProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/user_list_number_rule_item_operator.proto + +// 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/v15/enums/user_list_prepopulation_status.proto b/third_party/googleapis/google/ads/googleads/v15/enums/user_list_prepopulation_status.proto new file mode 100644 index 000000000..e107e861e --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/user_list_prepopulation_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/user_list_prepopulation_status.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserListPrepopulationStatusProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserListPrepopulationStatusProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/user_list_prepopulation_status.proto + +// 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/v15/enums/user_list_rule_type.proto b/third_party/googleapis/google/ads/googleads/v15/enums/user_list_rule_type.proto new file mode 100644 index 000000000..92afc1abf --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/user_list_rule_type.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/user_list_rule_type.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserListRuleTypeProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserListRuleTypeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/user_list_rule_type.proto + +// 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/v15/enums/user_list_size_range.proto b/third_party/googleapis/google/ads/googleads/v15/enums/user_list_size_range.proto new file mode 100644 index 000000000..8800e63f2 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/user_list_size_range.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/user_list_size_range.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserListSizeRangeProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserListSizeRangeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/user_list_size_range.proto + +// 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/v15/enums/user_list_string_rule_item_operator.proto b/third_party/googleapis/google/ads/googleads/v15/enums/user_list_string_rule_item_operator.proto new file mode 100644 index 000000000..d4365e73d --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/user_list_string_rule_item_operator.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/user_list_string_rule_item_operator.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserListStringRuleItemOperatorProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserListStringRuleItemOperatorProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/user_list_string_rule_item_operator.proto + +// 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/v15/enums/user_list_type.proto b/third_party/googleapis/google/ads/googleads/v15/enums/user_list_type.proto new file mode 100644 index 000000000..6115182d9 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/user_list_type.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/user_list_type.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserListTypeProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserListTypeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/user_list_type.proto + +// 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/v15/enums/value_rule_device_type.proto b/third_party/googleapis/google/ads/googleads/v15/enums/value_rule_device_type.proto new file mode 100644 index 000000000..e246208db --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/value_rule_device_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/value_rule_device_type.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ValueRuleDeviceTypeProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ValueRuleDeviceTypeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/value_rule_device_type.proto + +// 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/v15/enums/value_rule_geo_location_match_type.proto b/third_party/googleapis/google/ads/googleads/v15/enums/value_rule_geo_location_match_type.proto new file mode 100644 index 000000000..77cd16b56 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/value_rule_geo_location_match_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/value_rule_geo_location_match_type.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ValueRuleGeoLocationMatchTypeProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ValueRuleGeoLocationMatchTypeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/value_rule_geo_location_match_type.proto + +// 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/v15/enums/value_rule_operation.proto b/third_party/googleapis/google/ads/googleads/v15/enums/value_rule_operation.proto new file mode 100644 index 000000000..57c1c9804 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/value_rule_operation.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/value_rule_operation.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ValueRuleOperationProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ValueRuleOperationProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/value_rule_operation.proto + +// 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/v15/enums/value_rule_set_attachment_type.proto b/third_party/googleapis/google/ads/googleads/v15/enums/value_rule_set_attachment_type.proto new file mode 100644 index 000000000..6801f5a86 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/value_rule_set_attachment_type.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/value_rule_set_attachment_type.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ValueRuleSetAttachmentTypeProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ValueRuleSetAttachmentTypeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/value_rule_set_attachment_type.proto + +// 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/v15/enums/value_rule_set_dimension.proto b/third_party/googleapis/google/ads/googleads/v15/enums/value_rule_set_dimension.proto new file mode 100644 index 000000000..00b4a88fb --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/value_rule_set_dimension.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/value_rule_set_dimension.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ValueRuleSetDimensionProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ValueRuleSetDimensionProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/value_rule_set_dimension.proto + +// 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/v15/enums/vanity_pharma_display_url_mode.proto b/third_party/googleapis/google/ads/googleads/v15/enums/vanity_pharma_display_url_mode.proto new file mode 100644 index 000000000..190c2ebc2 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/vanity_pharma_display_url_mode.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/vanity_pharma_display_url_mode.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "VanityPharmaDisplayUrlModeProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "VanityPharmaDisplayUrlModeProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/vanity_pharma_display_url_mode.proto + +// 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/v15/enums/vanity_pharma_text.proto b/third_party/googleapis/google/ads/googleads/v15/enums/vanity_pharma_text.proto new file mode 100644 index 000000000..733ea404f --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/vanity_pharma_text.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/vanity_pharma_text.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "VanityPharmaTextProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "VanityPharmaTextProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/vanity_pharma_text.proto + +// 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/v15/enums/video_thumbnail.proto b/third_party/googleapis/google/ads/googleads/v15/enums/video_thumbnail.proto new file mode 100644 index 000000000..19e06e9ad --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/video_thumbnail.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/video_thumbnail.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "VideoThumbnailProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "VideoThumbnailProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/video_thumbnail.proto + +// 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/v15/enums/webpage_condition_operand.proto b/third_party/googleapis/google/ads/googleads/v15/enums/webpage_condition_operand.proto new file mode 100644 index 000000000..7481d9341 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/webpage_condition_operand.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/webpage_condition_operand.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "WebpageConditionOperandProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "WebpageConditionOperandProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/webpage_condition_operand.proto + +// 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/v15/enums/webpage_condition_operator.proto b/third_party/googleapis/google/ads/googleads/v15/enums/webpage_condition_operator.proto new file mode 100644 index 000000000..5b92a5e10 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/enums/webpage_condition_operator.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/webpage_condition_operator.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "WebpageConditionOperatorProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.googleads.v15.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "WebpageConditionOperatorProto"; +option java_package = "com.google.ads.googleads.v15.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V15::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/enums/webpage_condition_operator.proto + +// 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/v15/errors/BUILD.bazel b/third_party/googleapis/google/ads/googleads/v15/errors/BUILD.bazel new file mode 100644 index 000000000..9f6eaaa10 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/BUILD.bazel @@ -0,0 +1,99 @@ +# 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 = [ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/BUILD.bazel + "//google/ads/googleads/v13/common:common_proto", + "//google/ads/googleads/v13/enums:enums_proto", +======== + "//google/ads/googleads/v15/common:common_proto", + "//google/ads/googleads/v15/enums:enums_proto", +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/BUILD.bazel + "//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/v15/errors/access_invitation_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/access_invitation_error.proto new file mode 100644 index 000000000..462141b90 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/access_invitation_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/access_invitation_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AccessInvitationErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AccessInvitationErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/access_invitation_error.proto + +// 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/v15/errors/account_budget_proposal_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/account_budget_proposal_error.proto new file mode 100644 index 000000000..89d0cf66c --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/account_budget_proposal_error.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/account_budget_proposal_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AccountBudgetProposalErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AccountBudgetProposalErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/account_budget_proposal_error.proto + +// 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; +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/account_budget_proposal_error.proto +======== + + // Budget mutates are not allowed because the given billing setup is + // canceled. + CANCELED_BILLING_SETUP = 27; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/account_budget_proposal_error.proto + } +} diff --git a/third_party/googleapis/google/ads/googleads/v15/errors/account_link_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/account_link_error.proto new file mode 100644 index 000000000..fd8652c30 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/account_link_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/account_link_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AccountLinkErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AccountLinkErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/account_link_error.proto + +// 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/v15/errors/ad_customizer_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/ad_customizer_error.proto new file mode 100644 index 000000000..7f89afadf --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/ad_customizer_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/ad_customizer_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AdCustomizerErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AdCustomizerErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/ad_customizer_error.proto + +// 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/v15/errors/ad_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/ad_error.proto new file mode 100644 index 000000000..9219a683b --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/ad_error.proto @@ -0,0 +1,539 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/ad_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AdErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AdErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/ad_error.proto + +// 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/v15/errors/ad_group_ad_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/ad_group_ad_error.proto new file mode 100644 index 000000000..edce5635a --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/ad_group_ad_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/ad_group_ad_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupAdErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupAdErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/ad_group_ad_error.proto + +// 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/v15/errors/ad_group_bid_modifier_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/ad_group_bid_modifier_error.proto new file mode 100644 index 000000000..1224d07dc --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/ad_group_bid_modifier_error.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/ad_group_bid_modifier_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupBidModifierErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupBidModifierErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/ad_group_bid_modifier_error.proto + +// 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/v15/errors/ad_group_criterion_customizer_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/ad_group_criterion_customizer_error.proto new file mode 100644 index 000000000..48c135e6b --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/ad_group_criterion_customizer_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/ad_group_criterion_customizer_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupCriterionCustomizerErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupCriterionCustomizerErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/ad_group_criterion_customizer_error.proto + +// 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/v15/errors/ad_group_criterion_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/ad_group_criterion_error.proto new file mode 100644 index 000000000..ed6a4f5ed --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/ad_group_criterion_error.proto @@ -0,0 +1,146 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/ad_group_criterion_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupCriterionErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupCriterionErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/ad_group_criterion_error.proto + +// 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/v15/errors/ad_group_customizer_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/ad_group_customizer_error.proto new file mode 100644 index 000000000..7b6b5e836 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/ad_group_customizer_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/ad_group_customizer_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupCustomizerErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupCustomizerErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/ad_group_customizer_error.proto + +// 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/v15/errors/ad_group_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/ad_group_error.proto new file mode 100644 index 000000000..86efc6de9 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/ad_group_error.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/ad_group_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/ad_group_error.proto + +// 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; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v15/errors/ad_group_feed_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/ad_group_feed_error.proto new file mode 100644 index 000000000..fdcbf887b --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/ad_group_feed_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/ad_group_feed_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupFeedErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupFeedErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/ad_group_feed_error.proto + +// 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/v15/errors/ad_parameter_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/ad_parameter_error.proto new file mode 100644 index 000000000..23f4ecca3 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/ad_parameter_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/ad_parameter_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AdParameterErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AdParameterErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/ad_parameter_error.proto + +// 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/v15/errors/ad_sharing_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/ad_sharing_error.proto new file mode 100644 index 000000000..19bc5e90a --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/ad_sharing_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/ad_sharing_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AdSharingErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AdSharingErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/ad_sharing_error.proto + +// 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/v15/errors/adx_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/adx_error.proto new file mode 100644 index 000000000..1440a965e --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/adx_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/adx_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AdxErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AdxErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/adx_error.proto + +// 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/v15/errors/asset_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/asset_error.proto new file mode 100644 index 000000000..52af08bc2 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/asset_error.proto @@ -0,0 +1,174 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/asset_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AssetErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AssetErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/asset_error.proto + +// 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; +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/asset_error.proto +======== + + // 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; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/asset_error.proto + } +} diff --git a/third_party/googleapis/google/ads/googleads/v15/errors/asset_group_asset_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/asset_group_asset_error.proto new file mode 100644 index 000000000..d48425c7e --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/asset_group_asset_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/asset_group_asset_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AssetGroupAssetErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AssetGroupAssetErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/asset_group_asset_error.proto + +// 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/v15/errors/asset_group_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/asset_group_error.proto new file mode 100644 index 000000000..9619c22d7 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/asset_group_error.proto @@ -0,0 +1,105 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/asset_group_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/asset_group_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/asset_group_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AssetGroupErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AssetGroupErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/asset_group_error.proto + +// 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/v15/errors/asset_group_listing_group_filter_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/asset_group_listing_group_filter_error.proto new file mode 100644 index 000000000..4b5189767 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/asset_group_listing_group_filter_error.proto @@ -0,0 +1,102 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/asset_group_listing_group_filter_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/asset_group_listing_group_filter_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/asset_group_listing_group_filter_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AssetGroupListingGroupFilterErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AssetGroupListingGroupFilterErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/asset_group_listing_group_filter_error.proto + +// 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; + + // 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/v15/errors/asset_group_signal_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/asset_group_signal_error.proto new file mode 100644 index 000000000..8fc49a1ce --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AssetGroupSignalErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::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/v15/errors/asset_link_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/asset_link_error.proto new file mode 100644 index 000000000..7a0d6d09d --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/asset_link_error.proto @@ -0,0 +1,150 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/asset_link_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/asset_link_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/asset_link_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AssetLinkErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AssetLinkErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/asset_link_error.proto + +// 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; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/asset_link_error.proto + // Automatically created links cannot be changed into adveritser links or + // the reverse. + CANNOT_MODIFY_ASSET_LINK_SOURCE = 21; +======== + // 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; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/asset_link_error.proto + } +} diff --git a/third_party/googleapis/google/ads/googleads/v15/errors/asset_set_asset_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/asset_set_asset_error.proto new file mode 100644 index 000000000..1c0ecd793 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/asset_set_asset_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/asset_set_asset_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AssetSetAssetErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AssetSetAssetErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/asset_set_asset_error.proto + +// 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/v15/errors/asset_set_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/asset_set_error.proto new file mode 100644 index 000000000..cb7634a76 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AssetSetErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::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/v15/errors/asset_set_link_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/asset_set_link_error.proto new file mode 100644 index 000000000..1be0b8156 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/asset_set_link_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/asset_set_link_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AssetSetLinkErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AssetSetLinkErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/asset_set_link_error.proto + +// 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/v15/errors/audience_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/audience_error.proto new file mode 100644 index 000000000..c05752086 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AudienceErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::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/v15/errors/audience_insights_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/audience_insights_error.proto new file mode 100644 index 000000000..e62a3e144 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AudienceInsightsErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::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/v15/errors/authentication_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/authentication_error.proto new file mode 100644 index 000000000..968263d02 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/authentication_error.proto @@ -0,0 +1,127 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/authentication_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/authentication_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/authentication_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AuthenticationErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AuthenticationErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/authentication_error.proto + +// 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; + + // User in the cookie is not a valid Ads user. + 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/v15/errors/authorization_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/authorization_error.proto new file mode 100644 index 000000000..1c9faec4d --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/authorization_error.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/authorization_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AuthorizationErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AuthorizationErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/authorization_error.proto + +// 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; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v15/errors/batch_job_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/batch_job_error.proto new file mode 100644 index 000000000..99af65449 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/batch_job_error.proto @@ -0,0 +1,80 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/batch_job_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/batch_job_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/batch_job_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "BatchJobErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "BatchJobErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/batch_job_error.proto + +// 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/v15/errors/bidding_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/bidding_error.proto new file mode 100644 index 000000000..a8a9cecd3 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/bidding_error.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/bidding_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "BiddingErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "BiddingErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/bidding_error.proto + +// 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/v15/errors/bidding_strategy_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/bidding_strategy_error.proto new file mode 100644 index 000000000..cff512767 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/bidding_strategy_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/bidding_strategy_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "BiddingStrategyErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "BiddingStrategyErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/bidding_strategy_error.proto + +// 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/v15/errors/billing_setup_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/billing_setup_error.proto new file mode 100644 index 000000000..6ec2882b5 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/billing_setup_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/billing_setup_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "BillingSetupErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "BillingSetupErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/billing_setup_error.proto + +// 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/v15/errors/campaign_budget_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/campaign_budget_error.proto new file mode 100644 index 000000000..36e5b349a --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/campaign_budget_error.proto @@ -0,0 +1,122 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/campaign_budget_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/campaign_budget_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/campaign_budget_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CampaignBudgetErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CampaignBudgetErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/campaign_budget_error.proto + +// 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; +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/campaign_budget_error.proto +======== + + // Budget amount must be unset when BudgetPeriod is CUSTOM. + BUDGET_AMOUNT_MUST_BE_UNSET_FOR_CUSTOM_BUDGET_PERIOD = 21; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/campaign_budget_error.proto + } +} diff --git a/third_party/googleapis/google/ads/googleads/v15/errors/campaign_conversion_goal_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/campaign_conversion_goal_error.proto new file mode 100644 index 000000000..c046984bf --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CampaignConversionGoalErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::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/v15/errors/campaign_criterion_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/campaign_criterion_error.proto new file mode 100644 index 000000000..f506cdbd5 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/campaign_criterion_error.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/campaign_criterion_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CampaignCriterionErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CampaignCriterionErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/campaign_criterion_error.proto + +// 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; +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/campaign_criterion_error.proto +======== + + // 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; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/campaign_criterion_error.proto + } +} diff --git a/third_party/googleapis/google/ads/googleads/v15/errors/campaign_customizer_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/campaign_customizer_error.proto new file mode 100644 index 000000000..b3fcb2c8c --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/campaign_customizer_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/campaign_customizer_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CampaignCustomizerErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CampaignCustomizerErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/campaign_customizer_error.proto + +// 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/v15/errors/campaign_draft_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/campaign_draft_error.proto new file mode 100644 index 000000000..3e44408cb --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/campaign_draft_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/campaign_draft_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CampaignDraftErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CampaignDraftErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/campaign_draft_error.proto + +// 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/v15/errors/campaign_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/campaign_error.proto new file mode 100644 index 000000000..5d4ecceea --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/campaign_error.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/campaign_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CampaignErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CampaignErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/campaign_error.proto + +// 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; +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/campaign_error.proto +======== + + // 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; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/campaign_error.proto + } +} diff --git a/third_party/googleapis/google/ads/googleads/v15/errors/campaign_experiment_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/campaign_experiment_error.proto new file mode 100644 index 000000000..3369910b3 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/campaign_experiment_error.proto @@ -0,0 +1,90 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/campaign_experiment_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CampaignExperimentErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CampaignExperimentErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/campaign_experiment_error.proto + +// 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/v15/errors/campaign_feed_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/campaign_feed_error.proto new file mode 100644 index 000000000..8ce9d0348 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/campaign_feed_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/campaign_feed_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CampaignFeedErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CampaignFeedErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/campaign_feed_error.proto + +// 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/v15/errors/campaign_lifecycle_goal_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/campaign_lifecycle_goal_error.proto new file mode 100644 index 000000000..1fdaf9ba3 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CampaignLifecycleGoalErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::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/v15/errors/campaign_shared_set_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/campaign_shared_set_error.proto new file mode 100644 index 000000000..1fd93e8a5 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/campaign_shared_set_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/campaign_shared_set_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CampaignSharedSetErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CampaignSharedSetErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/campaign_shared_set_error.proto + +// 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/v15/errors/change_event_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/change_event_error.proto new file mode 100644 index 000000000..6fb732a7a --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/change_event_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/change_event_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ChangeEventErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ChangeEventErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/change_event_error.proto + +// 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/v15/errors/change_status_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/change_status_error.proto new file mode 100644 index 000000000..40589917f --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/change_status_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/change_status_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ChangeStatusErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ChangeStatusErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/change_status_error.proto + +// 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/v15/errors/collection_size_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/collection_size_error.proto new file mode 100644 index 000000000..002eedcb7 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/collection_size_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/collection_size_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CollectionSizeErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CollectionSizeErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/collection_size_error.proto + +// 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/v15/errors/context_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/context_error.proto new file mode 100644 index 000000000..68ad91873 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/context_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/context_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ContextErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ContextErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/context_error.proto + +// 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/v15/errors/conversion_action_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/conversion_action_error.proto new file mode 100644 index 000000000..613b3a04a --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/conversion_action_error.proto @@ -0,0 +1,99 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/conversion_action_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/conversion_action_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/conversion_action_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ConversionActionErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ConversionActionErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/conversion_action_error.proto + +// 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/v15/errors/conversion_adjustment_upload_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/conversion_adjustment_upload_error.proto new file mode 100644 index 000000000..8e96dd581 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ConversionAdjustmentUploadErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::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` 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/v15/errors/conversion_custom_variable_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/conversion_custom_variable_error.proto new file mode 100644 index 000000000..bed0ff424 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/conversion_custom_variable_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/conversion_custom_variable_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ConversionCustomVariableErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ConversionCustomVariableErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/conversion_custom_variable_error.proto + +// 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/v15/errors/conversion_goal_campaign_config_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/conversion_goal_campaign_config_error.proto new file mode 100644 index 000000000..8731a8f74 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ConversionGoalCampaignConfigErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::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/v15/errors/conversion_upload_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/conversion_upload_error.proto new file mode 100644 index 000000000..ca72c726e --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ConversionUploadErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::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/v15/errors/conversion_value_rule_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/conversion_value_rule_error.proto new file mode 100644 index 000000000..9139672a3 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/conversion_value_rule_error.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/conversion_value_rule_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ConversionValueRuleErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ConversionValueRuleErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/conversion_value_rule_error.proto + +// 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/v15/errors/conversion_value_rule_set_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/conversion_value_rule_set_error.proto new file mode 100644 index 000000000..180f61295 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/conversion_value_rule_set_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/conversion_value_rule_set_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ConversionValueRuleSetErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ConversionValueRuleSetErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/conversion_value_rule_set_error.proto + +// 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/v15/errors/country_code_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/country_code_error.proto new file mode 100644 index 000000000..f16da7ae8 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/country_code_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/country_code_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CountryCodeErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CountryCodeErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/country_code_error.proto + +// 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/v15/errors/criterion_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/criterion_error.proto new file mode 100644 index 000000000..ea09da3a9 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/criterion_error.proto @@ -0,0 +1,548 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/criterion_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/criterion_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/criterion_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CriterionErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CriterionErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/criterion_error.proto + +// 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; +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/criterion_error.proto +======== + + // 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; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/criterion_error.proto + } +} diff --git a/third_party/googleapis/google/ads/googleads/v15/errors/currency_code_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/currency_code_error.proto new file mode 100644 index 000000000..63a4dbbae --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/currency_code_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/currency_code_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CurrencyCodeErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CurrencyCodeErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/currency_code_error.proto + +// 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/v15/errors/currency_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/currency_error.proto new file mode 100644 index 000000000..09538d56a --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CurrencyErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::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/v15/errors/custom_audience_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/custom_audience_error.proto new file mode 100644 index 000000000..984bda68d --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/custom_audience_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/custom_audience_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CustomAudienceErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CustomAudienceErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/custom_audience_error.proto + +// 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/v15/errors/custom_conversion_goal_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/custom_conversion_goal_error.proto new file mode 100644 index 000000000..9fc2bdc9e --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/custom_conversion_goal_error.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/custom_conversion_goal_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CustomConversionGoalErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CustomConversionGoalErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/custom_conversion_goal_error.proto + +// 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/v15/errors/custom_interest_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/custom_interest_error.proto new file mode 100644 index 000000000..ae6a5605f --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/custom_interest_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/custom_interest_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CustomInterestErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CustomInterestErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/custom_interest_error.proto + +// 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/v15/errors/customer_client_link_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/customer_client_link_error.proto new file mode 100644 index 000000000..4c516ec47 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/customer_client_link_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/customer_client_link_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CustomerClientLinkErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CustomerClientLinkErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/customer_client_link_error.proto + +// 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/v15/errors/customer_customizer_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/customer_customizer_error.proto new file mode 100644 index 000000000..2112c9db7 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/customer_customizer_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/customer_customizer_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CustomerCustomizerErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CustomerCustomizerErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/customer_customizer_error.proto + +// 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/v15/errors/customer_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/customer_error.proto new file mode 100644 index 000000000..bc553405d --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/customer_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/customer_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CustomerErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CustomerErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/customer_error.proto + +// 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/v15/errors/customer_feed_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/customer_feed_error.proto new file mode 100644 index 000000000..8f02b8324 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/customer_feed_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/customer_feed_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CustomerFeedErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CustomerFeedErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/customer_feed_error.proto + +// 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/v15/errors/customer_lifecycle_goal_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/customer_lifecycle_goal_error.proto new file mode 100644 index 000000000..d56012363 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CustomerLifecycleGoalErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::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/v15/errors/customer_manager_link_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/customer_manager_link_error.proto new file mode 100644 index 000000000..4264575cb --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/customer_manager_link_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/customer_manager_link_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CustomerManagerLinkErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CustomerManagerLinkErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/customer_manager_link_error.proto + +// 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/v15/errors/customer_sk_ad_network_conversion_value_schema_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/customer_sk_ad_network_conversion_value_schema_error.proto new file mode 100644 index 000000000..dc1c88ccb --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CustomerSkAdNetworkConversionValueSchemaErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::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/v15/errors/customer_user_access_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/customer_user_access_error.proto new file mode 100644 index 000000000..561de56bb --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/customer_user_access_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/customer_user_access_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CustomerUserAccessErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CustomerUserAccessErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/customer_user_access_error.proto + +// 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/v15/errors/customizer_attribute_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/customizer_attribute_error.proto new file mode 100644 index 000000000..6824bffcc --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/customizer_attribute_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/customizer_attribute_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CustomizerAttributeErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CustomizerAttributeErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/customizer_attribute_error.proto + +// 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/v15/errors/database_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/database_error.proto new file mode 100644 index 000000000..16ce754f5 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/database_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/database_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "DatabaseErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "DatabaseErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/database_error.proto + +// 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/v15/errors/date_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/date_error.proto new file mode 100644 index 000000000..463156072 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/date_error.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/date_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "DateErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "DateErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/date_error.proto + +// 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/v15/errors/date_range_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/date_range_error.proto new file mode 100644 index 000000000..10e3c18cd --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/date_range_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/date_range_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "DateRangeErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "DateRangeErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/date_range_error.proto + +// 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/v15/errors/distinct_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/distinct_error.proto new file mode 100644 index 000000000..fb91cb6fe --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/distinct_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/distinct_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "DistinctErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "DistinctErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/distinct_error.proto + +// 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/v15/errors/enum_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/enum_error.proto new file mode 100644 index 000000000..c7e02fc62 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/enum_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/enum_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "EnumErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "EnumErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/enum_error.proto + +// 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/v15/errors/errors.proto b/third_party/googleapis/google/ads/googleads/v15/errors/errors.proto new file mode 100644 index 000000000..2ef966cc5 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/errors.proto @@ -0,0 +1,1021 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/errors.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/errors.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/errors.proto +package google.ads.googleads.v13.errors; + +import "google/ads/googleads/v13/common/policy.proto"; +import "google/ads/googleads/v13/common/value.proto"; +import "google/ads/googleads/v13/enums/resource_limit_type.proto"; +import "google/ads/googleads/v13/errors/access_invitation_error.proto"; +import "google/ads/googleads/v13/errors/account_budget_proposal_error.proto"; +import "google/ads/googleads/v13/errors/account_link_error.proto"; +import "google/ads/googleads/v13/errors/ad_customizer_error.proto"; +import "google/ads/googleads/v13/errors/ad_error.proto"; +import "google/ads/googleads/v13/errors/ad_group_ad_error.proto"; +import "google/ads/googleads/v13/errors/ad_group_bid_modifier_error.proto"; +import "google/ads/googleads/v13/errors/ad_group_criterion_customizer_error.proto"; +import "google/ads/googleads/v13/errors/ad_group_criterion_error.proto"; +import "google/ads/googleads/v13/errors/ad_group_customizer_error.proto"; +import "google/ads/googleads/v13/errors/ad_group_error.proto"; +import "google/ads/googleads/v13/errors/ad_group_feed_error.proto"; +import "google/ads/googleads/v13/errors/ad_parameter_error.proto"; +import "google/ads/googleads/v13/errors/ad_sharing_error.proto"; +import "google/ads/googleads/v13/errors/adx_error.proto"; +import "google/ads/googleads/v13/errors/asset_error.proto"; +import "google/ads/googleads/v13/errors/asset_group_asset_error.proto"; +import "google/ads/googleads/v13/errors/asset_group_error.proto"; +import "google/ads/googleads/v13/errors/asset_group_listing_group_filter_error.proto"; +import "google/ads/googleads/v13/errors/asset_link_error.proto"; +import "google/ads/googleads/v13/errors/asset_set_asset_error.proto"; +import "google/ads/googleads/v13/errors/asset_set_error.proto"; +import "google/ads/googleads/v13/errors/asset_set_link_error.proto"; +import "google/ads/googleads/v13/errors/audience_error.proto"; +import "google/ads/googleads/v13/errors/audience_insights_error.proto"; +import "google/ads/googleads/v13/errors/authentication_error.proto"; +import "google/ads/googleads/v13/errors/authorization_error.proto"; +import "google/ads/googleads/v13/errors/batch_job_error.proto"; +import "google/ads/googleads/v13/errors/bidding_error.proto"; +import "google/ads/googleads/v13/errors/bidding_strategy_error.proto"; +import "google/ads/googleads/v13/errors/billing_setup_error.proto"; +import "google/ads/googleads/v13/errors/campaign_budget_error.proto"; +import "google/ads/googleads/v13/errors/campaign_conversion_goal_error.proto"; +import "google/ads/googleads/v13/errors/campaign_criterion_error.proto"; +import "google/ads/googleads/v13/errors/campaign_customizer_error.proto"; +import "google/ads/googleads/v13/errors/campaign_draft_error.proto"; +import "google/ads/googleads/v13/errors/campaign_error.proto"; +import "google/ads/googleads/v13/errors/campaign_experiment_error.proto"; +import "google/ads/googleads/v13/errors/campaign_feed_error.proto"; +import "google/ads/googleads/v13/errors/campaign_shared_set_error.proto"; +import "google/ads/googleads/v13/errors/change_event_error.proto"; +import "google/ads/googleads/v13/errors/change_status_error.proto"; +import "google/ads/googleads/v13/errors/collection_size_error.proto"; +import "google/ads/googleads/v13/errors/context_error.proto"; +import "google/ads/googleads/v13/errors/conversion_action_error.proto"; +import "google/ads/googleads/v13/errors/conversion_adjustment_upload_error.proto"; +import "google/ads/googleads/v13/errors/conversion_custom_variable_error.proto"; +import "google/ads/googleads/v13/errors/conversion_goal_campaign_config_error.proto"; +import "google/ads/googleads/v13/errors/conversion_upload_error.proto"; +import "google/ads/googleads/v13/errors/conversion_value_rule_error.proto"; +import "google/ads/googleads/v13/errors/conversion_value_rule_set_error.proto"; +import "google/ads/googleads/v13/errors/country_code_error.proto"; +import "google/ads/googleads/v13/errors/criterion_error.proto"; +import "google/ads/googleads/v13/errors/currency_code_error.proto"; +import "google/ads/googleads/v13/errors/currency_error.proto"; +import "google/ads/googleads/v13/errors/custom_audience_error.proto"; +import "google/ads/googleads/v13/errors/custom_conversion_goal_error.proto"; +import "google/ads/googleads/v13/errors/custom_interest_error.proto"; +import "google/ads/googleads/v13/errors/customer_client_link_error.proto"; +import "google/ads/googleads/v13/errors/customer_customizer_error.proto"; +import "google/ads/googleads/v13/errors/customer_error.proto"; +import "google/ads/googleads/v13/errors/customer_feed_error.proto"; +import "google/ads/googleads/v13/errors/customer_manager_link_error.proto"; +import "google/ads/googleads/v13/errors/customer_user_access_error.proto"; +import "google/ads/googleads/v13/errors/customizer_attribute_error.proto"; +import "google/ads/googleads/v13/errors/database_error.proto"; +import "google/ads/googleads/v13/errors/date_error.proto"; +import "google/ads/googleads/v13/errors/date_range_error.proto"; +import "google/ads/googleads/v13/errors/distinct_error.proto"; +import "google/ads/googleads/v13/errors/enum_error.proto"; +import "google/ads/googleads/v13/errors/experiment_arm_error.proto"; +import "google/ads/googleads/v13/errors/experiment_error.proto"; +import "google/ads/googleads/v13/errors/extension_feed_item_error.proto"; +import "google/ads/googleads/v13/errors/extension_setting_error.proto"; +import "google/ads/googleads/v13/errors/feed_attribute_reference_error.proto"; +import "google/ads/googleads/v13/errors/feed_error.proto"; +import "google/ads/googleads/v13/errors/feed_item_error.proto"; +import "google/ads/googleads/v13/errors/feed_item_set_error.proto"; +import "google/ads/googleads/v13/errors/feed_item_set_link_error.proto"; +import "google/ads/googleads/v13/errors/feed_item_target_error.proto"; +import "google/ads/googleads/v13/errors/feed_item_validation_error.proto"; +import "google/ads/googleads/v13/errors/feed_mapping_error.proto"; +import "google/ads/googleads/v13/errors/field_error.proto"; +import "google/ads/googleads/v13/errors/field_mask_error.proto"; +import "google/ads/googleads/v13/errors/function_error.proto"; +import "google/ads/googleads/v13/errors/function_parsing_error.proto"; +import "google/ads/googleads/v13/errors/geo_target_constant_suggestion_error.proto"; +import "google/ads/googleads/v13/errors/header_error.proto"; +import "google/ads/googleads/v13/errors/id_error.proto"; +import "google/ads/googleads/v13/errors/image_error.proto"; +import "google/ads/googleads/v13/errors/internal_error.proto"; +import "google/ads/googleads/v13/errors/invoice_error.proto"; +import "google/ads/googleads/v13/errors/keyword_plan_ad_group_error.proto"; +import "google/ads/googleads/v13/errors/keyword_plan_ad_group_keyword_error.proto"; +import "google/ads/googleads/v13/errors/keyword_plan_campaign_error.proto"; +import "google/ads/googleads/v13/errors/keyword_plan_campaign_keyword_error.proto"; +import "google/ads/googleads/v13/errors/keyword_plan_error.proto"; +import "google/ads/googleads/v13/errors/keyword_plan_idea_error.proto"; +import "google/ads/googleads/v13/errors/label_error.proto"; +import "google/ads/googleads/v13/errors/language_code_error.proto"; +import "google/ads/googleads/v13/errors/list_operation_error.proto"; +import "google/ads/googleads/v13/errors/manager_link_error.proto"; +import "google/ads/googleads/v13/errors/media_bundle_error.proto"; +import "google/ads/googleads/v13/errors/media_file_error.proto"; +import "google/ads/googleads/v13/errors/media_upload_error.proto"; +import "google/ads/googleads/v13/errors/merchant_center_error.proto"; +import "google/ads/googleads/v13/errors/multiplier_error.proto"; +import "google/ads/googleads/v13/errors/mutate_error.proto"; +import "google/ads/googleads/v13/errors/new_resource_creation_error.proto"; +import "google/ads/googleads/v13/errors/not_allowlisted_error.proto"; +import "google/ads/googleads/v13/errors/not_empty_error.proto"; +import "google/ads/googleads/v13/errors/null_error.proto"; +import "google/ads/googleads/v13/errors/offline_user_data_job_error.proto"; +import "google/ads/googleads/v13/errors/operation_access_denied_error.proto"; +import "google/ads/googleads/v13/errors/operator_error.proto"; +import "google/ads/googleads/v13/errors/partial_failure_error.proto"; +import "google/ads/googleads/v13/errors/payments_account_error.proto"; +import "google/ads/googleads/v13/errors/policy_finding_error.proto"; +import "google/ads/googleads/v13/errors/policy_validation_parameter_error.proto"; +import "google/ads/googleads/v13/errors/policy_violation_error.proto"; +import "google/ads/googleads/v13/errors/query_error.proto"; +import "google/ads/googleads/v13/errors/quota_error.proto"; +import "google/ads/googleads/v13/errors/range_error.proto"; +import "google/ads/googleads/v13/errors/reach_plan_error.proto"; +import "google/ads/googleads/v13/errors/recommendation_error.proto"; +import "google/ads/googleads/v13/errors/region_code_error.proto"; +import "google/ads/googleads/v13/errors/request_error.proto"; +import "google/ads/googleads/v13/errors/resource_access_denied_error.proto"; +import "google/ads/googleads/v13/errors/resource_count_limit_exceeded_error.proto"; +import "google/ads/googleads/v13/errors/setting_error.proto"; +import "google/ads/googleads/v13/errors/shared_criterion_error.proto"; +import "google/ads/googleads/v13/errors/shared_set_error.proto"; +import "google/ads/googleads/v13/errors/size_limit_error.proto"; +import "google/ads/googleads/v13/errors/smart_campaign_error.proto"; +import "google/ads/googleads/v13/errors/string_format_error.proto"; +import "google/ads/googleads/v13/errors/string_length_error.proto"; +import "google/ads/googleads/v13/errors/third_party_app_analytics_link_error.proto"; +import "google/ads/googleads/v13/errors/time_zone_error.proto"; +import "google/ads/googleads/v13/errors/url_field_error.proto"; +import "google/ads/googleads/v13/errors/user_data_error.proto"; +import "google/ads/googleads/v13/errors/user_list_error.proto"; +import "google/ads/googleads/v13/errors/youtube_video_registration_error.proto"; +import "google/protobuf/duration.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ErrorsProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v15.errors; + +import "google/ads/googleads/v15/common/policy.proto"; +import "google/ads/googleads/v15/common/value.proto"; +import "google/ads/googleads/v15/enums/resource_limit_type.proto"; +import "google/ads/googleads/v15/errors/access_invitation_error.proto"; +import "google/ads/googleads/v15/errors/account_budget_proposal_error.proto"; +import "google/ads/googleads/v15/errors/account_link_error.proto"; +import "google/ads/googleads/v15/errors/ad_customizer_error.proto"; +import "google/ads/googleads/v15/errors/ad_error.proto"; +import "google/ads/googleads/v15/errors/ad_group_ad_error.proto"; +import "google/ads/googleads/v15/errors/ad_group_bid_modifier_error.proto"; +import "google/ads/googleads/v15/errors/ad_group_criterion_customizer_error.proto"; +import "google/ads/googleads/v15/errors/ad_group_criterion_error.proto"; +import "google/ads/googleads/v15/errors/ad_group_customizer_error.proto"; +import "google/ads/googleads/v15/errors/ad_group_error.proto"; +import "google/ads/googleads/v15/errors/ad_group_feed_error.proto"; +import "google/ads/googleads/v15/errors/ad_parameter_error.proto"; +import "google/ads/googleads/v15/errors/ad_sharing_error.proto"; +import "google/ads/googleads/v15/errors/adx_error.proto"; +import "google/ads/googleads/v15/errors/asset_error.proto"; +import "google/ads/googleads/v15/errors/asset_group_asset_error.proto"; +import "google/ads/googleads/v15/errors/asset_group_error.proto"; +import "google/ads/googleads/v15/errors/asset_group_listing_group_filter_error.proto"; +import "google/ads/googleads/v15/errors/asset_group_signal_error.proto"; +import "google/ads/googleads/v15/errors/asset_link_error.proto"; +import "google/ads/googleads/v15/errors/asset_set_asset_error.proto"; +import "google/ads/googleads/v15/errors/asset_set_error.proto"; +import "google/ads/googleads/v15/errors/asset_set_link_error.proto"; +import "google/ads/googleads/v15/errors/audience_error.proto"; +import "google/ads/googleads/v15/errors/audience_insights_error.proto"; +import "google/ads/googleads/v15/errors/authentication_error.proto"; +import "google/ads/googleads/v15/errors/authorization_error.proto"; +import "google/ads/googleads/v15/errors/batch_job_error.proto"; +import "google/ads/googleads/v15/errors/bidding_error.proto"; +import "google/ads/googleads/v15/errors/bidding_strategy_error.proto"; +import "google/ads/googleads/v15/errors/billing_setup_error.proto"; +import "google/ads/googleads/v15/errors/campaign_budget_error.proto"; +import "google/ads/googleads/v15/errors/campaign_conversion_goal_error.proto"; +import "google/ads/googleads/v15/errors/campaign_criterion_error.proto"; +import "google/ads/googleads/v15/errors/campaign_customizer_error.proto"; +import "google/ads/googleads/v15/errors/campaign_draft_error.proto"; +import "google/ads/googleads/v15/errors/campaign_error.proto"; +import "google/ads/googleads/v15/errors/campaign_experiment_error.proto"; +import "google/ads/googleads/v15/errors/campaign_feed_error.proto"; +import "google/ads/googleads/v15/errors/campaign_lifecycle_goal_error.proto"; +import "google/ads/googleads/v15/errors/campaign_shared_set_error.proto"; +import "google/ads/googleads/v15/errors/change_event_error.proto"; +import "google/ads/googleads/v15/errors/change_status_error.proto"; +import "google/ads/googleads/v15/errors/collection_size_error.proto"; +import "google/ads/googleads/v15/errors/context_error.proto"; +import "google/ads/googleads/v15/errors/conversion_action_error.proto"; +import "google/ads/googleads/v15/errors/conversion_adjustment_upload_error.proto"; +import "google/ads/googleads/v15/errors/conversion_custom_variable_error.proto"; +import "google/ads/googleads/v15/errors/conversion_goal_campaign_config_error.proto"; +import "google/ads/googleads/v15/errors/conversion_upload_error.proto"; +import "google/ads/googleads/v15/errors/conversion_value_rule_error.proto"; +import "google/ads/googleads/v15/errors/conversion_value_rule_set_error.proto"; +import "google/ads/googleads/v15/errors/country_code_error.proto"; +import "google/ads/googleads/v15/errors/criterion_error.proto"; +import "google/ads/googleads/v15/errors/currency_code_error.proto"; +import "google/ads/googleads/v15/errors/currency_error.proto"; +import "google/ads/googleads/v15/errors/custom_audience_error.proto"; +import "google/ads/googleads/v15/errors/custom_conversion_goal_error.proto"; +import "google/ads/googleads/v15/errors/custom_interest_error.proto"; +import "google/ads/googleads/v15/errors/customer_client_link_error.proto"; +import "google/ads/googleads/v15/errors/customer_customizer_error.proto"; +import "google/ads/googleads/v15/errors/customer_error.proto"; +import "google/ads/googleads/v15/errors/customer_feed_error.proto"; +import "google/ads/googleads/v15/errors/customer_lifecycle_goal_error.proto"; +import "google/ads/googleads/v15/errors/customer_manager_link_error.proto"; +import "google/ads/googleads/v15/errors/customer_sk_ad_network_conversion_value_schema_error.proto"; +import "google/ads/googleads/v15/errors/customer_user_access_error.proto"; +import "google/ads/googleads/v15/errors/customizer_attribute_error.proto"; +import "google/ads/googleads/v15/errors/database_error.proto"; +import "google/ads/googleads/v15/errors/date_error.proto"; +import "google/ads/googleads/v15/errors/date_range_error.proto"; +import "google/ads/googleads/v15/errors/distinct_error.proto"; +import "google/ads/googleads/v15/errors/enum_error.proto"; +import "google/ads/googleads/v15/errors/experiment_arm_error.proto"; +import "google/ads/googleads/v15/errors/experiment_error.proto"; +import "google/ads/googleads/v15/errors/extension_feed_item_error.proto"; +import "google/ads/googleads/v15/errors/extension_setting_error.proto"; +import "google/ads/googleads/v15/errors/feed_attribute_reference_error.proto"; +import "google/ads/googleads/v15/errors/feed_error.proto"; +import "google/ads/googleads/v15/errors/feed_item_error.proto"; +import "google/ads/googleads/v15/errors/feed_item_set_error.proto"; +import "google/ads/googleads/v15/errors/feed_item_set_link_error.proto"; +import "google/ads/googleads/v15/errors/feed_item_target_error.proto"; +import "google/ads/googleads/v15/errors/feed_item_validation_error.proto"; +import "google/ads/googleads/v15/errors/feed_mapping_error.proto"; +import "google/ads/googleads/v15/errors/field_error.proto"; +import "google/ads/googleads/v15/errors/field_mask_error.proto"; +import "google/ads/googleads/v15/errors/function_error.proto"; +import "google/ads/googleads/v15/errors/function_parsing_error.proto"; +import "google/ads/googleads/v15/errors/geo_target_constant_suggestion_error.proto"; +import "google/ads/googleads/v15/errors/header_error.proto"; +import "google/ads/googleads/v15/errors/id_error.proto"; +import "google/ads/googleads/v15/errors/image_error.proto"; +import "google/ads/googleads/v15/errors/internal_error.proto"; +import "google/ads/googleads/v15/errors/invoice_error.proto"; +import "google/ads/googleads/v15/errors/keyword_plan_ad_group_error.proto"; +import "google/ads/googleads/v15/errors/keyword_plan_ad_group_keyword_error.proto"; +import "google/ads/googleads/v15/errors/keyword_plan_campaign_error.proto"; +import "google/ads/googleads/v15/errors/keyword_plan_campaign_keyword_error.proto"; +import "google/ads/googleads/v15/errors/keyword_plan_error.proto"; +import "google/ads/googleads/v15/errors/keyword_plan_idea_error.proto"; +import "google/ads/googleads/v15/errors/label_error.proto"; +import "google/ads/googleads/v15/errors/language_code_error.proto"; +import "google/ads/googleads/v15/errors/list_operation_error.proto"; +import "google/ads/googleads/v15/errors/manager_link_error.proto"; +import "google/ads/googleads/v15/errors/media_bundle_error.proto"; +import "google/ads/googleads/v15/errors/media_file_error.proto"; +import "google/ads/googleads/v15/errors/media_upload_error.proto"; +import "google/ads/googleads/v15/errors/merchant_center_error.proto"; +import "google/ads/googleads/v15/errors/multiplier_error.proto"; +import "google/ads/googleads/v15/errors/mutate_error.proto"; +import "google/ads/googleads/v15/errors/new_resource_creation_error.proto"; +import "google/ads/googleads/v15/errors/not_allowlisted_error.proto"; +import "google/ads/googleads/v15/errors/not_empty_error.proto"; +import "google/ads/googleads/v15/errors/null_error.proto"; +import "google/ads/googleads/v15/errors/offline_user_data_job_error.proto"; +import "google/ads/googleads/v15/errors/operation_access_denied_error.proto"; +import "google/ads/googleads/v15/errors/operator_error.proto"; +import "google/ads/googleads/v15/errors/partial_failure_error.proto"; +import "google/ads/googleads/v15/errors/payments_account_error.proto"; +import "google/ads/googleads/v15/errors/policy_finding_error.proto"; +import "google/ads/googleads/v15/errors/policy_validation_parameter_error.proto"; +import "google/ads/googleads/v15/errors/policy_violation_error.proto"; +import "google/ads/googleads/v15/errors/product_link_error.proto"; +import "google/ads/googleads/v15/errors/product_link_invitation_error.proto"; +import "google/ads/googleads/v15/errors/query_error.proto"; +import "google/ads/googleads/v15/errors/quota_error.proto"; +import "google/ads/googleads/v15/errors/range_error.proto"; +import "google/ads/googleads/v15/errors/reach_plan_error.proto"; +import "google/ads/googleads/v15/errors/recommendation_error.proto"; +import "google/ads/googleads/v15/errors/recommendation_subscription_error.proto"; +import "google/ads/googleads/v15/errors/region_code_error.proto"; +import "google/ads/googleads/v15/errors/request_error.proto"; +import "google/ads/googleads/v15/errors/resource_access_denied_error.proto"; +import "google/ads/googleads/v15/errors/resource_count_limit_exceeded_error.proto"; +import "google/ads/googleads/v15/errors/search_term_insight_error.proto"; +import "google/ads/googleads/v15/errors/setting_error.proto"; +import "google/ads/googleads/v15/errors/shared_criterion_error.proto"; +import "google/ads/googleads/v15/errors/shared_set_error.proto"; +import "google/ads/googleads/v15/errors/size_limit_error.proto"; +import "google/ads/googleads/v15/errors/smart_campaign_error.proto"; +import "google/ads/googleads/v15/errors/string_format_error.proto"; +import "google/ads/googleads/v15/errors/string_length_error.proto"; +import "google/ads/googleads/v15/errors/third_party_app_analytics_link_error.proto"; +import "google/ads/googleads/v15/errors/time_zone_error.proto"; +import "google/ads/googleads/v15/errors/url_field_error.proto"; +import "google/ads/googleads/v15/errors/user_data_error.proto"; +import "google/ads/googleads/v15/errors/user_list_error.proto"; +import "google/ads/googleads/v15/errors/youtube_video_registration_error.proto"; +import "google/protobuf/duration.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ErrorsProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/errors.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/errors.proto + google.ads.googleads.v13.common.Value trigger = 3; +======== + google.ads.googleads.v15.common.Value trigger = 3; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/errors.proto + + // 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; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/errors.proto +======== + // The reasons for the Search term insight error + SearchTermInsightErrorEnum.SearchTermInsightError + search_term_insight_error = 174; + +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/errors.proto + // 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; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/errors.proto + // The reasons for the currency errors. + CurrencyErrorEnum.CurrencyError currency_error = 171; +======== + // 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; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/errors.proto + } +} + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/errors.proto + google.ads.googleads.v13.common.PolicyViolationKey key = 4; +======== + google.ads.googleads.v15.common.PolicyViolationKey key = 4; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/errors.proto + + // 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). +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/errors.proto + repeated google.ads.googleads.v13.common.PolicyTopicEntry +======== + repeated google.ads.googleads.v15.common.PolicyTopicEntry +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/errors.proto + 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/errors.proto + google.ads.googleads.v13.enums.ResourceLimitTypeEnum.ResourceLimitType +======== + google.ads.googleads.v15.enums.ResourceLimitTypeEnum.ResourceLimitType +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/errors.proto + limit_type = 3; + + // The count of existing entities. + int32 existing_count = 4; +} diff --git a/third_party/googleapis/google/ads/googleads/v15/errors/experiment_arm_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/experiment_arm_error.proto new file mode 100644 index 000000000..d69ce3969 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/experiment_arm_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/experiment_arm_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ExperimentArmErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ExperimentArmErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/experiment_arm_error.proto + +// 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/v15/errors/experiment_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/experiment_error.proto new file mode 100644 index 000000000..28ff6f83e --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/experiment_error.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/experiment_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ExperimentErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ExperimentErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/experiment_error.proto + +// 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; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v15/errors/extension_feed_item_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/extension_feed_item_error.proto new file mode 100644 index 000000000..da7be1ea9 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/extension_feed_item_error.proto @@ -0,0 +1,204 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/extension_feed_item_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ExtensionFeedItemErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ExtensionFeedItemErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/extension_feed_item_error.proto + +// 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/v15/errors/extension_setting_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/extension_setting_error.proto new file mode 100644 index 000000000..02d6c0a16 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/extension_setting_error.proto @@ -0,0 +1,270 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/extension_setting_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ExtensionSettingErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ExtensionSettingErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/extension_setting_error.proto + +// 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/v15/errors/feed_attribute_reference_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/feed_attribute_reference_error.proto new file mode 100644 index 000000000..d361ccf08 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/feed_attribute_reference_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/feed_attribute_reference_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "FeedAttributeReferenceErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "FeedAttributeReferenceErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/feed_attribute_reference_error.proto + +// 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/v15/errors/feed_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/feed_error.proto new file mode 100644 index 000000000..675ff2efc --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/feed_error.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/feed_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "FeedErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "FeedErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/feed_error.proto + +// 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/v15/errors/feed_item_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/feed_item_error.proto new file mode 100644 index 000000000..c781a4306 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/feed_item_error.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/feed_item_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/feed_item_error.proto + +// 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/v15/errors/feed_item_set_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/feed_item_set_error.proto new file mode 100644 index 000000000..d46f3c175 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/feed_item_set_error.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/feed_item_set_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemSetErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemSetErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/feed_item_set_error.proto + +// 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/v15/errors/feed_item_set_link_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/feed_item_set_link_error.proto new file mode 100644 index 000000000..ac0c10829 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/feed_item_set_link_error.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/feed_item_set_link_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemSetLinkErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemSetLinkErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/feed_item_set_link_error.proto + +// 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/v15/errors/feed_item_target_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/feed_item_target_error.proto new file mode 100644 index 000000000..5f045a9be --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/feed_item_target_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/feed_item_target_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemTargetErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemTargetErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/feed_item_target_error.proto + +// 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/v15/errors/feed_item_validation_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/feed_item_validation_error.proto new file mode 100644 index 000000000..a6ba92e92 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/feed_item_validation_error.proto @@ -0,0 +1,386 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/feed_item_validation_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemValidationErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemValidationErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/feed_item_validation_error.proto + +// 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/v15/errors/feed_mapping_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/feed_mapping_error.proto new file mode 100644 index 000000000..1d2f35051 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/feed_mapping_error.proto @@ -0,0 +1,116 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/feed_mapping_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/feed_mapping_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/feed_mapping_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "FeedMappingErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "FeedMappingErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/feed_mapping_error.proto + +// 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/v15/errors/field_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/field_error.proto new file mode 100644 index 000000000..c70b2bf2f --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/field_error.proto @@ -0,0 +1,81 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/field_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/field_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/field_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "FieldErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "FieldErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/field_error.proto + +// 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/v15/errors/field_mask_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/field_mask_error.proto new file mode 100644 index 000000000..bdae121db --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/field_mask_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/field_mask_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "FieldMaskErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "FieldMaskErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/field_mask_error.proto + +// 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/v15/errors/function_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/function_error.proto new file mode 100644 index 000000000..a105176eb --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/function_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/function_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "FunctionErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "FunctionErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/function_error.proto + +// 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/v15/errors/function_parsing_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/function_parsing_error.proto new file mode 100644 index 000000000..a20010c42 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/function_parsing_error.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/function_parsing_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "FunctionParsingErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "FunctionParsingErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/function_parsing_error.proto + +// 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/v15/errors/geo_target_constant_suggestion_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/geo_target_constant_suggestion_error.proto new file mode 100644 index 000000000..2845eb1fb --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/geo_target_constant_suggestion_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/geo_target_constant_suggestion_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "GeoTargetConstantSuggestionErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "GeoTargetConstantSuggestionErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/geo_target_constant_suggestion_error.proto + +// 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/v15/errors/header_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/header_error.proto new file mode 100644 index 000000000..b9b7e2dd8 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/header_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/header_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "HeaderErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "HeaderErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/header_error.proto + +// 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/v15/errors/id_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/id_error.proto new file mode 100644 index 000000000..70997cc15 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/id_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/id_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "IdErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "IdErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/id_error.proto + +// 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/v15/errors/image_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/image_error.proto new file mode 100644 index 000000000..e9ec52b9e --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/image_error.proto @@ -0,0 +1,173 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/image_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ImageErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ImageErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/image_error.proto + +// 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/v15/errors/internal_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/internal_error.proto new file mode 100644 index 000000000..40ccd1baa --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/internal_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/internal_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "InternalErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "InternalErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/internal_error.proto + +// 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/v15/errors/invoice_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/invoice_error.proto new file mode 100644 index 000000000..9c90a9688 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/invoice_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/invoice_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "InvoiceErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "InvoiceErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/invoice_error.proto + +// 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/v15/errors/keyword_plan_ad_group_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/keyword_plan_ad_group_error.proto new file mode 100644 index 000000000..c8ed343df --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/keyword_plan_ad_group_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/keyword_plan_ad_group_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanAdGroupErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanAdGroupErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/keyword_plan_ad_group_error.proto + +// 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/v15/errors/keyword_plan_ad_group_keyword_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/keyword_plan_ad_group_keyword_error.proto new file mode 100644 index 000000000..4ac273e8c --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/keyword_plan_ad_group_keyword_error.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/keyword_plan_ad_group_keyword_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanAdGroupKeywordErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanAdGroupKeywordErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/keyword_plan_ad_group_keyword_error.proto + +// 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/v15/errors/keyword_plan_campaign_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/keyword_plan_campaign_error.proto new file mode 100644 index 000000000..743a3dd8e --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/keyword_plan_campaign_error.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/keyword_plan_campaign_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanCampaignErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanCampaignErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/keyword_plan_campaign_error.proto + +// 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/v15/errors/keyword_plan_campaign_keyword_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/keyword_plan_campaign_keyword_error.proto new file mode 100644 index 000000000..dfee60fa0 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/keyword_plan_campaign_keyword_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/keyword_plan_campaign_keyword_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanCampaignKeywordErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanCampaignKeywordErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/keyword_plan_campaign_keyword_error.proto + +// 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/v15/errors/keyword_plan_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/keyword_plan_error.proto new file mode 100644 index 000000000..05e14f839 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/keyword_plan_error.proto @@ -0,0 +1,100 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/keyword_plan_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/keyword_plan_error.proto + +// 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/v15/errors/keyword_plan_idea_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/keyword_plan_idea_error.proto new file mode 100644 index 000000000..d1edf061a --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/keyword_plan_idea_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/keyword_plan_idea_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanIdeaErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanIdeaErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/keyword_plan_idea_error.proto + +// 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/v15/errors/label_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/label_error.proto new file mode 100644 index 000000000..45bdf3805 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/label_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/label_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "LabelErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "LabelErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/label_error.proto + +// 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/v15/errors/language_code_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/language_code_error.proto new file mode 100644 index 000000000..517049e56 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/language_code_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/language_code_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "LanguageCodeErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "LanguageCodeErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/language_code_error.proto + +// 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/v15/errors/list_operation_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/list_operation_error.proto new file mode 100644 index 000000000..2e92e2174 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/list_operation_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/list_operation_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ListOperationErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ListOperationErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/list_operation_error.proto + +// 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/v15/errors/manager_link_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/manager_link_error.proto new file mode 100644 index 000000000..12d1c9d7a --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/manager_link_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/manager_link_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ManagerLinkErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ManagerLinkErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/manager_link_error.proto + +// 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/v15/errors/media_bundle_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/media_bundle_error.proto new file mode 100644 index 000000000..5cc48e112 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/media_bundle_error.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/media_bundle_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "MediaBundleErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "MediaBundleErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/media_bundle_error.proto + +// 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/v15/errors/media_file_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/media_file_error.proto new file mode 100644 index 000000000..48362da28 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/media_file_error.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/media_file_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "MediaFileErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "MediaFileErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/media_file_error.proto + +// 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/v15/errors/media_upload_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/media_upload_error.proto new file mode 100644 index 000000000..d72e1125e --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/media_upload_error.proto @@ -0,0 +1,161 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/media_upload_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "MediaUploadErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "MediaUploadErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/media_upload_error.proto + +// 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/v15/errors/merchant_center_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/merchant_center_error.proto new file mode 100644 index 000000000..555594db4 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/merchant_center_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/merchant_center_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "MerchantCenterErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "MerchantCenterErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/merchant_center_error.proto + +// 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/v15/errors/multiplier_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/multiplier_error.proto new file mode 100644 index 000000000..95e4fd555 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/multiplier_error.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/multiplier_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "MultiplierErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "MultiplierErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/multiplier_error.proto + +// 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/v15/errors/mutate_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/mutate_error.proto new file mode 100644 index 000000000..196c7f840 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/mutate_error.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/mutate_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "MutateErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "MutateErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/mutate_error.proto + +// 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/v15/errors/new_resource_creation_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/new_resource_creation_error.proto new file mode 100644 index 000000000..84498e51e --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/new_resource_creation_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/new_resource_creation_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "NewResourceCreationErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "NewResourceCreationErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/new_resource_creation_error.proto + +// 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/v15/errors/not_allowlisted_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/not_allowlisted_error.proto new file mode 100644 index 000000000..f9e02f7bd --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/not_allowlisted_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/not_allowlisted_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "NotAllowlistedErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "NotAllowlistedErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/not_allowlisted_error.proto + +// 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/v15/errors/not_empty_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/not_empty_error.proto new file mode 100644 index 000000000..9a31f3216 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/not_empty_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/not_empty_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "NotEmptyErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "NotEmptyErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/not_empty_error.proto + +// 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/v15/errors/null_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/null_error.proto new file mode 100644 index 000000000..460c20c49 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/null_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/null_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "NullErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "NullErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/null_error.proto + +// 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/v15/errors/offline_user_data_job_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/offline_user_data_job_error.proto new file mode 100644 index 000000000..5a8c21f24 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/offline_user_data_job_error.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/offline_user_data_job_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "OfflineUserDataJobErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "OfflineUserDataJobErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/offline_user_data_job_error.proto + +// 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/v15/errors/operation_access_denied_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/operation_access_denied_error.proto new file mode 100644 index 000000000..60b7d16c5 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/operation_access_denied_error.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/operation_access_denied_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "OperationAccessDeniedErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "OperationAccessDeniedErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/operation_access_denied_error.proto + +// 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/v15/errors/operator_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/operator_error.proto new file mode 100644 index 000000000..61621a21b --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/operator_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/operator_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "OperatorErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "OperatorErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/operator_error.proto + +// 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/v15/errors/partial_failure_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/partial_failure_error.proto new file mode 100644 index 000000000..5871c71cf --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/partial_failure_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/partial_failure_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "PartialFailureErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "PartialFailureErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/partial_failure_error.proto + +// 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/v15/errors/payments_account_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/payments_account_error.proto new file mode 100644 index 000000000..4e9f1fe17 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/payments_account_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/payments_account_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "PaymentsAccountErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "PaymentsAccountErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/payments_account_error.proto + +// 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/v15/errors/policy_finding_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/policy_finding_error.proto new file mode 100644 index 000000000..aa5eaa25f --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/policy_finding_error.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/policy_finding_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "PolicyFindingErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "PolicyFindingErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/policy_finding_error.proto + +// 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/v15/errors/policy_validation_parameter_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/policy_validation_parameter_error.proto new file mode 100644 index 000000000..2b30fa82a --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/policy_validation_parameter_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/policy_validation_parameter_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "PolicyValidationParameterErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "PolicyValidationParameterErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/policy_validation_parameter_error.proto + +// 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/v15/errors/policy_violation_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/policy_violation_error.proto new file mode 100644 index 000000000..179e8f474 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/policy_violation_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/policy_violation_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "PolicyViolationErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "PolicyViolationErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/policy_violation_error.proto + +// 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/v15/errors/product_link_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/product_link_error.proto new file mode 100644 index 000000000..4b6fc307c --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/product_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.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ProductLinkErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::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; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v15/errors/product_link_invitation_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/product_link_invitation_error.proto new file mode 100644 index 000000000..92f043e8f --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ProductLinkInvitationErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::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/v15/errors/query_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/query_error.proto new file mode 100644 index 000000000..ca05ac21b --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/query_error.proto @@ -0,0 +1,236 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/query_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "QueryErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "QueryErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/query_error.proto + +// 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/v15/errors/quota_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/quota_error.proto new file mode 100644 index 000000000..5ada00300 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/quota_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/quota_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "QuotaErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "QuotaErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/quota_error.proto + +// 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/v15/errors/range_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/range_error.proto new file mode 100644 index 000000000..12ea3fcbd --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/range_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/range_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "RangeErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "RangeErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/range_error.proto + +// 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/v15/errors/reach_plan_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/reach_plan_error.proto new file mode 100644 index 000000000..56e9ed9ca --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/reach_plan_error.proto @@ -0,0 +1,67 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/reach_plan_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/reach_plan_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/reach_plan_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ReachPlanErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ReachPlanErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/reach_plan_error.proto + +// 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/v15/errors/recommendation_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/recommendation_error.proto new file mode 100644 index 000000000..3e4e7fb4e --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/recommendation_error.proto @@ -0,0 +1,109 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/recommendation_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/recommendation_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/recommendation_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "RecommendationErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "RecommendationErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/recommendation_error.proto + +// 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; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v15/errors/recommendation_subscription_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/recommendation_subscription_error.proto new file mode 100644 index 000000000..79e625eca --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "RecommendationSubscriptionErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::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/v15/errors/region_code_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/region_code_error.proto new file mode 100644 index 000000000..75ee188ed --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/region_code_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/region_code_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "RegionCodeErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "RegionCodeErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/region_code_error.proto + +// 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/v15/errors/request_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/request_error.proto new file mode 100644 index 000000000..0ffaabfa8 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/request_error.proto @@ -0,0 +1,138 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/request_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/request_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/request_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "RequestErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "RequestErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/request_error.proto + +// 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; + + // 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/v15/errors/resource_access_denied_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/resource_access_denied_error.proto new file mode 100644 index 000000000..361f5aba7 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/resource_access_denied_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/resource_access_denied_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ResourceAccessDeniedErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ResourceAccessDeniedErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/resource_access_denied_error.proto + +// 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/v15/errors/resource_count_limit_exceeded_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/resource_count_limit_exceeded_error.proto new file mode 100644 index 000000000..f7817b69e --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/resource_count_limit_exceeded_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/resource_count_limit_exceeded_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ResourceCountLimitExceededErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ResourceCountLimitExceededErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/resource_count_limit_exceeded_error.proto + +// 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/v15/errors/search_term_insight_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/search_term_insight_error.proto new file mode 100644 index 000000000..79c4cd3bf --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "SearchTermInsightErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::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/v15/errors/setting_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/setting_error.proto new file mode 100644 index 000000000..0de1bb378 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/setting_error.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/setting_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "SettingErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "SettingErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/setting_error.proto + +// 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/v15/errors/shared_criterion_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/shared_criterion_error.proto new file mode 100644 index 000000000..e5c3028ae --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/shared_criterion_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/shared_criterion_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "SharedCriterionErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "SharedCriterionErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/shared_criterion_error.proto + +// 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/v15/errors/shared_set_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/shared_set_error.proto new file mode 100644 index 000000000..c757c63c6 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/shared_set_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/shared_set_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "SharedSetErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "SharedSetErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/shared_set_error.proto + +// 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/v15/errors/size_limit_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/size_limit_error.proto new file mode 100644 index 000000000..76a13b6bd --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/size_limit_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/size_limit_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "SizeLimitErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "SizeLimitErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/size_limit_error.proto + +// 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/v15/errors/smart_campaign_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/smart_campaign_error.proto new file mode 100644 index 000000000..ad3bef9c5 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "SmartCampaignErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::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/v15/errors/string_format_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/string_format_error.proto new file mode 100644 index 000000000..2baa0f05b --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/string_format_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/string_format_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "StringFormatErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "StringFormatErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/string_format_error.proto + +// 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/v15/errors/string_length_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/string_length_error.proto new file mode 100644 index 000000000..6fcbbcd4d --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/string_length_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/string_length_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "StringLengthErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "StringLengthErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/string_length_error.proto + +// 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/v15/errors/third_party_app_analytics_link_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/third_party_app_analytics_link_error.proto new file mode 100644 index 000000000..0330d9a62 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/third_party_app_analytics_link_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/third_party_app_analytics_link_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ThirdPartyAppAnalyticsLinkErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ThirdPartyAppAnalyticsLinkErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/third_party_app_analytics_link_error.proto + +// 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/v15/errors/time_zone_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/time_zone_error.proto new file mode 100644 index 000000000..3556f3283 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/time_zone_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/time_zone_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "TimeZoneErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "TimeZoneErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/time_zone_error.proto + +// 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/v15/errors/url_field_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/url_field_error.proto new file mode 100644 index 000000000..4d51f8eb4 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/url_field_error.proto @@ -0,0 +1,231 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/url_field_error.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/url_field_error.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/errors/url_field_error.proto +package google.ads.googleads.v13.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "UrlFieldErrorProto"; +option java_package = "com.google.ads.googleads.v13.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V13::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "UrlFieldErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/url_field_error.proto + +// 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/v15/errors/user_data_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/user_data_error.proto new file mode 100644 index 000000000..eb2b509df --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/user_data_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/user_data_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "UserDataErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "UserDataErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/user_data_error.proto + +// 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/v15/errors/user_list_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/user_list_error.proto new file mode 100644 index 000000000..8befd8357 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/user_list_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/user_list_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "UserListErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "UserListErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/user_list_error.proto + +// 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/v15/errors/youtube_video_registration_error.proto b/third_party/googleapis/google/ads/googleads/v15/errors/youtube_video_registration_error.proto new file mode 100644 index 000000000..56994b7c9 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/errors/youtube_video_registration_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/errors/youtube_video_registration_error.proto +package google.ads.googleads.v12.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "YoutubeVideoRegistrationErrorProto"; +option java_package = "com.google.ads.googleads.v12.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V12::Errors"; +======== +package google.ads.googleads.v15.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "YoutubeVideoRegistrationErrorProto"; +option java_package = "com.google.ads.googleads.v15.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V15::Errors"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/errors/youtube_video_registration_error.proto + +// 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/v15/googleads_gapic.yaml b/third_party/googleapis/google/ads/googleads/v15/googleads_gapic.yaml new file mode 100644 index 000000000..0c28933f8 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.V15.Services + go: + package_name: google.golang.org/google/ads/googleads/v15/services + java: + package_name: com.google.ads.googleads.v15.services + nodejs: + package_name: v15.services + php: + package_name: Google\Ads\GoogleAds\V15\Services + python: + package_name: google.ads.googleads_v15.gapic.services + ruby: + package_name: Google::Ads::Googleads::V15::Services +interfaces: +- name: google.ads.googleads.v15.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/v15/googleads_grpc_service_config.json b/third_party/googleapis/google/ads/googleads/v15/googleads_grpc_service_config.json new file mode 100755 index 000000000..a174c6934 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/googleads_grpc_service_config.json @@ -0,0 +1,348 @@ +{ + "methodConfig": [ + { + "name": [ + { + "service": "google.ads.googleads.v15.services.AccountBudgetProposalService" + }, + { + "service": "google.ads.googleads.v15.services.AccountLinkService" + }, + { + "service": "google.ads.googleads.v15.services.AdGroupAdLabelService" + }, + { + "service": "google.ads.googleads.v15.services.AdGroupAdService" + }, + { + "service": "google.ads.googleads.v15.services.AdGroupAssetService" + }, + { + "service": "google.ads.googleads.v15.services.AdGroupAssetSetService" + }, + { + "service": "google.ads.googleads.v15.services.AdGroupBidModifierService" + }, + { + "service": "google.ads.googleads.v15.services.AdGroupCriterionCustomizerService" + }, + { + "service": "google.ads.googleads.v15.services.AdGroupCriterionLabelService" + }, + { + "service": "google.ads.googleads.v15.services.AdGroupCriterionService" + }, + { + "service": "google.ads.googleads.v15.services.AdGroupCustomizerService" + }, + { + "service": "google.ads.googleads.v15.services.AdGroupExtensionSettingService" + }, + { + "service": "google.ads.googleads.v15.services.AdGroupFeedService" + }, + { + "service": "google.ads.googleads.v15.services.AdGroupLabelService" + }, + { + "service": "google.ads.googleads.v15.services.AdGroupService" + }, + { + "service": "google.ads.googleads.v15.services.AdParameterService" + }, + { + "service": "google.ads.googleads.v15.services.AdService" + }, + { + "service": "google.ads.googleads.v15.services.AssetGroupAssetService" + }, + { + "service": "google.ads.googleads.v15.services.AssetGroupListingGroupFilterService" + }, + { + "service": "google.ads.googleads.v15.services.AssetGroupService" + }, + { + "service": "google.ads.googleads.v15.services.AssetGroupSignalService" + }, + { + "service": "google.ads.googleads.v15.services.AssetService" + }, + { + "service": "google.ads.googleads.v15.services.AssetSetAssetService" + }, + { + "service": "google.ads.googleads.v15.services.AssetSetService" + }, + { + "service": "google.ads.googleads.v15.services.AudienceInsightsService" + }, + { + "service": "google.ads.googleads.v15.services.AudienceService" + }, + { + "service": "google.ads.googleads.v15.services.BatchJobService" + }, + { + "service": "google.ads.googleads.v15.services.BiddingDataExclusionService" + }, + { + "service": "google.ads.googleads.v15.services.BiddingSeasonalityAdjustmentService" + }, + { + "service": "google.ads.googleads.v15.services.BiddingStrategyService" + }, + { + "service": "google.ads.googleads.v15.services.BillingSetupService" + }, + { + "service": "google.ads.googleads.v15.services.BrandSuggestionService" + }, + { + "service": "google.ads.googleads.v15.services.CampaignAssetService" + }, + { + "service": "google.ads.googleads.v15.services.CampaignAssetSetService" + }, + { + "service": "google.ads.googleads.v15.services.CampaignBidModifierService" + }, + { + "service": "google.ads.googleads.v15.services.CampaignBudgetService" + }, + { + "service": "google.ads.googleads.v15.services.CampaignConversionGoalService" + }, + { + "service": "google.ads.googleads.v15.services.CampaignCriterionService" + }, + { + "service": "google.ads.googleads.v15.services.CampaignCustomizerService" + }, + { + "service": "google.ads.googleads.v15.services.CampaignDraftService" + }, + { + "service": "google.ads.googleads.v15.services.CampaignExtensionSettingService" + }, + { + "service": "google.ads.googleads.v15.services.CampaignFeedService" + }, + { + "service": "google.ads.googleads.v15.services.CampaignGroupService" + }, + { + "service": "google.ads.googleads.v15.services.CampaignLabelService" + }, + { + "service": "google.ads.googleads.v15.services.CampaignLifecycleService" + }, + { + "service": "google.ads.googleads.v15.services.CampaignService" + }, + { + "service": "google.ads.googleads.v15.services.CampaignSharedSetService" + }, + { + "service": "google.ads.googleads.v15.services.ConversionActionService" + }, + { + "service": "google.ads.googleads.v15.services.ConversionAdjustmentUploadService" + }, + { + "service": "google.ads.googleads.v15.services.ConversionCustomVariableService" + }, + { + "service": "google.ads.googleads.v15.services.ConversionGoalCampaignConfigService" + }, + { + "service": "google.ads.googleads.v15.services.ConversionUploadService" + }, + { + "service": "google.ads.googleads.v15.services.ConversionValueRuleService" + }, + { + "service": "google.ads.googleads.v15.services.ConversionValueRuleSetService" + }, + { + "service": "google.ads.googleads.v15.services.CustomAudienceService" + }, + { + "service": "google.ads.googleads.v15.services.CustomConversionGoalService" + }, + { + "service": "google.ads.googleads.v15.services.CustomInterestService" + }, + { + "service": "google.ads.googleads.v15.services.CustomerAssetService" + }, + { + "service": "google.ads.googleads.v15.services.CustomerAssetSetService" + }, + { + "service": "google.ads.googleads.v15.services.CustomerClientLinkService" + }, + { + "service": "google.ads.googleads.v15.services.CustomerConversionGoalService" + }, + { + "service": "google.ads.googleads.v15.services.CustomerCustomizerService" + }, + { + "service": "google.ads.googleads.v15.services.CustomerExtensionSettingService" + }, + { + "service": "google.ads.googleads.v15.services.CustomerFeedService" + }, + { + "service": "google.ads.googleads.v15.services.CustomerLabelService" + }, + { + "service": "google.ads.googleads.v15.services.CustomerLifecycleService" + }, + { + "service": "google.ads.googleads.v15.services.CustomerManagerLinkService" + }, + { + "service": "google.ads.googleads.v15.services.CustomerNegativeCriterionService" + }, + { + "service": "google.ads.googleads.v15.services.CustomerService" + }, + { + "service": "google.ads.googleads.v15.services.CustomerSkAdNetworkConversionValueSchemaService" + }, + { + "service": "google.ads.googleads.v15.services.CustomerUserAccessInvitationService" + }, + { + "service": "google.ads.googleads.v15.services.CustomerUserAccessService" + }, + { + "service": "google.ads.googleads.v15.services.CustomizerAttributeService" + }, + { + "service": "google.ads.googleads.v15.services.ExperimentArmService" + }, + { + "service": "google.ads.googleads.v15.services.ExperimentService" + }, + { + "service": "google.ads.googleads.v15.services.ExtensionFeedItemService" + }, + { + "service": "google.ads.googleads.v15.services.FeedItemService" + }, + { + "service": "google.ads.googleads.v15.services.FeedItemSetLinkService" + }, + { + "service": "google.ads.googleads.v15.services.FeedItemSetService" + }, + { + "service": "google.ads.googleads.v15.services.FeedItemTargetService" + }, + { + "service": "google.ads.googleads.v15.services.FeedMappingService" + }, + { + "service": "google.ads.googleads.v15.services.FeedService" + }, + { + "service": "google.ads.googleads.v15.services.GeoTargetConstantService" + }, + { + "service": "google.ads.googleads.v15.services.GoogleAdsFieldService" + }, + { + "service": "google.ads.googleads.v15.services.GoogleAdsService" + }, + { + "service": "google.ads.googleads.v15.services.InvoiceService" + }, + { + "service": "google.ads.googleads.v15.services.KeywordPlanAdGroupKeywordService" + }, + { + "service": "google.ads.googleads.v15.services.KeywordPlanAdGroupService" + }, + { + "service": "google.ads.googleads.v15.services.KeywordPlanCampaignKeywordService" + }, + { + "service": "google.ads.googleads.v15.services.KeywordPlanCampaignService" + }, + { + "service": "google.ads.googleads.v15.services.KeywordPlanIdeaService" + }, + { + "service": "google.ads.googleads.v15.services.KeywordPlanService" + }, + { + "service": "google.ads.googleads.v15.services.KeywordThemeConstantService" + }, + { + "service": "google.ads.googleads.v15.services.LabelService" + }, + { + "service": "google.ads.googleads.v15.services.OfflineUserDataJobService" + }, + { + "service": "google.ads.googleads.v15.services.PaymentsAccountService" + }, + { + "service": "google.ads.googleads.v15.services.ProductLinkInvitationService" + }, + { + "service": "google.ads.googleads.v15.services.ProductLinkService" + }, + { + "service": "google.ads.googleads.v15.services.ReachPlanService" + }, + { + "service": "google.ads.googleads.v15.services.RecommendationService" + }, + { + "service": "google.ads.googleads.v15.services.RecommendationSubscriptionService" + }, + { + "service": "google.ads.googleads.v15.services.RemarketingActionService" + }, + { + "service": "google.ads.googleads.v15.services.SharedCriterionService" + }, + { + "service": "google.ads.googleads.v15.services.SharedSetService" + }, + { + "service": "google.ads.googleads.v15.services.SmartCampaignSettingService" + }, + { + "service": "google.ads.googleads.v15.services.SmartCampaignSuggestService" + }, + { + "service": "google.ads.googleads.v15.services.ThirdPartyAppAnalyticsLinkService" + }, + { + "service": "google.ads.googleads.v15.services.TravelAssetSuggestionService" + }, + { + "service": "google.ads.googleads.v15.services.UserDataService" + }, + { + "service": "google.ads.googleads.v15.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/v15/googleads_v15.yaml b/third_party/googleapis/google/ads/googleads/v15/googleads_v15.yaml new file mode 100644 index 000000000..fb6e33e1e --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/googleads_v15.yaml @@ -0,0 +1,625 @@ +type: google.api.Service +config_version: 3 +name: googleads.googleapis.com +title: Google Ads API + +apis: +- name: google.ads.googleads.v15.services.AccountBudgetProposalService +- name: google.ads.googleads.v15.services.AccountLinkService +- name: google.ads.googleads.v15.services.AdGroupAdLabelService +- name: google.ads.googleads.v15.services.AdGroupAdService +- name: google.ads.googleads.v15.services.AdGroupAssetService +- name: google.ads.googleads.v15.services.AdGroupAssetSetService +- name: google.ads.googleads.v15.services.AdGroupBidModifierService +- name: google.ads.googleads.v15.services.AdGroupCriterionCustomizerService +- name: google.ads.googleads.v15.services.AdGroupCriterionLabelService +- name: google.ads.googleads.v15.services.AdGroupCriterionService +- name: google.ads.googleads.v15.services.AdGroupCustomizerService +- name: google.ads.googleads.v15.services.AdGroupExtensionSettingService +- name: google.ads.googleads.v15.services.AdGroupFeedService +- name: google.ads.googleads.v15.services.AdGroupLabelService +- name: google.ads.googleads.v15.services.AdGroupService +- name: google.ads.googleads.v15.services.AdParameterService +- name: google.ads.googleads.v15.services.AdService +- name: google.ads.googleads.v15.services.AssetGroupAssetService +- name: google.ads.googleads.v15.services.AssetGroupListingGroupFilterService +- name: google.ads.googleads.v15.services.AssetGroupService +- name: google.ads.googleads.v15.services.AssetGroupSignalService +- name: google.ads.googleads.v15.services.AssetService +- name: google.ads.googleads.v15.services.AssetSetAssetService +- name: google.ads.googleads.v15.services.AssetSetService +- name: google.ads.googleads.v15.services.AudienceInsightsService +- name: google.ads.googleads.v15.services.AudienceService +- name: google.ads.googleads.v15.services.BatchJobService +- name: google.ads.googleads.v15.services.BiddingDataExclusionService +- name: google.ads.googleads.v15.services.BiddingSeasonalityAdjustmentService +- name: google.ads.googleads.v15.services.BiddingStrategyService +- name: google.ads.googleads.v15.services.BillingSetupService +- name: google.ads.googleads.v15.services.BrandSuggestionService +- name: google.ads.googleads.v15.services.CampaignAssetService +- name: google.ads.googleads.v15.services.CampaignAssetSetService +- name: google.ads.googleads.v15.services.CampaignBidModifierService +- name: google.ads.googleads.v15.services.CampaignBudgetService +- name: google.ads.googleads.v15.services.CampaignConversionGoalService +- name: google.ads.googleads.v15.services.CampaignCriterionService +- name: google.ads.googleads.v15.services.CampaignCustomizerService +- name: google.ads.googleads.v15.services.CampaignDraftService +- name: google.ads.googleads.v15.services.CampaignExtensionSettingService +- name: google.ads.googleads.v15.services.CampaignFeedService +- name: google.ads.googleads.v15.services.CampaignGroupService +- name: google.ads.googleads.v15.services.CampaignLabelService +- name: google.ads.googleads.v15.services.CampaignLifecycleService +- name: google.ads.googleads.v15.services.CampaignService +- name: google.ads.googleads.v15.services.CampaignSharedSetService +- name: google.ads.googleads.v15.services.ConversionActionService +- name: google.ads.googleads.v15.services.ConversionAdjustmentUploadService +- name: google.ads.googleads.v15.services.ConversionCustomVariableService +- name: google.ads.googleads.v15.services.ConversionGoalCampaignConfigService +- name: google.ads.googleads.v15.services.ConversionUploadService +- name: google.ads.googleads.v15.services.ConversionValueRuleService +- name: google.ads.googleads.v15.services.ConversionValueRuleSetService +- name: google.ads.googleads.v15.services.CustomAudienceService +- name: google.ads.googleads.v15.services.CustomConversionGoalService +- name: google.ads.googleads.v15.services.CustomInterestService +- name: google.ads.googleads.v15.services.CustomerAssetService +- name: google.ads.googleads.v15.services.CustomerAssetSetService +- name: google.ads.googleads.v15.services.CustomerClientLinkService +- name: google.ads.googleads.v15.services.CustomerConversionGoalService +- name: google.ads.googleads.v15.services.CustomerCustomizerService +- name: google.ads.googleads.v15.services.CustomerExtensionSettingService +- name: google.ads.googleads.v15.services.CustomerFeedService +- name: google.ads.googleads.v15.services.CustomerLabelService +- name: google.ads.googleads.v15.services.CustomerLifecycleService +- name: google.ads.googleads.v15.services.CustomerManagerLinkService +- name: google.ads.googleads.v15.services.CustomerNegativeCriterionService +- name: google.ads.googleads.v15.services.CustomerService +- name: google.ads.googleads.v15.services.CustomerSkAdNetworkConversionValueSchemaService +- name: google.ads.googleads.v15.services.CustomerUserAccessInvitationService +- name: google.ads.googleads.v15.services.CustomerUserAccessService +- name: google.ads.googleads.v15.services.CustomizerAttributeService +- name: google.ads.googleads.v15.services.ExperimentArmService +- name: google.ads.googleads.v15.services.ExperimentService +- name: google.ads.googleads.v15.services.ExtensionFeedItemService +- name: google.ads.googleads.v15.services.FeedItemService +- name: google.ads.googleads.v15.services.FeedItemSetLinkService +- name: google.ads.googleads.v15.services.FeedItemSetService +- name: google.ads.googleads.v15.services.FeedItemTargetService +- name: google.ads.googleads.v15.services.FeedMappingService +- name: google.ads.googleads.v15.services.FeedService +- name: google.ads.googleads.v15.services.GeoTargetConstantService +- name: google.ads.googleads.v15.services.GoogleAdsFieldService +- name: google.ads.googleads.v15.services.GoogleAdsService +- name: google.ads.googleads.v15.services.InvoiceService +- name: google.ads.googleads.v15.services.KeywordPlanAdGroupKeywordService +- name: google.ads.googleads.v15.services.KeywordPlanAdGroupService +- name: google.ads.googleads.v15.services.KeywordPlanCampaignKeywordService +- name: google.ads.googleads.v15.services.KeywordPlanCampaignService +- name: google.ads.googleads.v15.services.KeywordPlanIdeaService +- name: google.ads.googleads.v15.services.KeywordPlanService +- name: google.ads.googleads.v15.services.KeywordThemeConstantService +- name: google.ads.googleads.v15.services.LabelService +- name: google.ads.googleads.v15.services.OfflineUserDataJobService +- name: google.ads.googleads.v15.services.PaymentsAccountService +- name: google.ads.googleads.v15.services.ProductLinkInvitationService +- name: google.ads.googleads.v15.services.ProductLinkService +- name: google.ads.googleads.v15.services.ReachPlanService +- name: google.ads.googleads.v15.services.RecommendationService +- name: google.ads.googleads.v15.services.RecommendationSubscriptionService +- name: google.ads.googleads.v15.services.RemarketingActionService +- name: google.ads.googleads.v15.services.SharedCriterionService +- name: google.ads.googleads.v15.services.SharedSetService +- name: google.ads.googleads.v15.services.SmartCampaignSettingService +- name: google.ads.googleads.v15.services.SmartCampaignSuggestService +- name: google.ads.googleads.v15.services.ThirdPartyAppAnalyticsLinkService +- name: google.ads.googleads.v15.services.TravelAssetSuggestionService +- name: google.ads.googleads.v15.services.UserDataService +- name: google.ads.googleads.v15.services.UserListService + +types: +- name: google.ads.googleads.v15.errors.GoogleAdsFailure +- name: google.ads.googleads.v15.resources.BatchJob.BatchJobMetadata +- name: google.ads.googleads.v15.resources.OfflineUserDataJobMetadata +- name: google.ads.googleads.v15.services.PromoteExperimentMetadata +- name: google.ads.googleads.v15.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: '/v15/{name=customers/*/operations/*}:cancel' + body: '*' + - selector: google.longrunning.Operations.DeleteOperation + delete: '/v15/{name=customers/*/operations/*}' + - selector: google.longrunning.Operations.GetOperation + get: '/v15/{name=customers/*/operations/*}' + - selector: google.longrunning.Operations.ListOperations + get: '/v15/{name=customers/*/operations}' + - selector: google.longrunning.Operations.WaitOperation + post: '/v15/{name=customers/*/operations/*}:wait' + body: '*' + +authentication: + rules: + - selector: google.ads.googleads.v15.services.AccountBudgetProposalService.MutateAccountBudgetProposal + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v15.services.AccountLinkService.CreateAccountLink + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v15.services.AccountLinkService.MutateAccountLink + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v15.services.AdGroupAdLabelService.MutateAdGroupAdLabels + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v15.services.AdGroupAdService.MutateAdGroupAds + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v15.services.AdGroupAssetService.MutateAdGroupAssets + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v15.services.AdGroupAssetSetService.MutateAdGroupAssetSets + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v15.services.AdGroupBidModifierService.MutateAdGroupBidModifiers + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v15.services.AdGroupCriterionCustomizerService.MutateAdGroupCriterionCustomizers + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v15.services.AdGroupCriterionLabelService.MutateAdGroupCriterionLabels + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v15.services.AdGroupCriterionService.MutateAdGroupCriteria + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v15.services.AdGroupCustomizerService.MutateAdGroupCustomizers + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v15.services.AdGroupExtensionSettingService.MutateAdGroupExtensionSettings + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v15.services.AdGroupFeedService.MutateAdGroupFeeds + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v15.services.AdGroupLabelService.MutateAdGroupLabels + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v15.services.AdGroupService.MutateAdGroups + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v15.services.AdParameterService.MutateAdParameters + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v15.services.AdService.GetAd + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v15.services.AdService.MutateAds + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v15.services.AssetGroupAssetService.MutateAssetGroupAssets + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v15.services.AssetGroupListingGroupFilterService.MutateAssetGroupListingGroupFilters + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v15.services.AssetGroupService.MutateAssetGroups + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v15.services.AssetGroupSignalService.MutateAssetGroupSignals + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v15.services.AssetService.MutateAssets + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v15.services.AssetSetAssetService.MutateAssetSetAssets + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v15.services.AssetSetService.MutateAssetSets + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: 'google.ads.googleads.v15.services.AudienceInsightsService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v15.services.AudienceService.MutateAudiences + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: 'google.ads.googleads.v15.services.BatchJobService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v15.services.BiddingDataExclusionService.MutateBiddingDataExclusions + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v15.services.BiddingSeasonalityAdjustmentService.MutateBiddingSeasonalityAdjustments + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v15.services.BiddingStrategyService.MutateBiddingStrategies + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v15.services.BillingSetupService.MutateBillingSetup + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v15.services.BrandSuggestionService.SuggestBrands + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v15.services.CampaignAssetService.MutateCampaignAssets + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v15.services.CampaignAssetSetService.MutateCampaignAssetSets + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v15.services.CampaignBidModifierService.MutateCampaignBidModifiers + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v15.services.CampaignBudgetService.MutateCampaignBudgets + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v15.services.CampaignConversionGoalService.MutateCampaignConversionGoals + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v15.services.CampaignCriterionService.MutateCampaignCriteria + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v15.services.CampaignCustomizerService.MutateCampaignCustomizers + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: 'google.ads.googleads.v15.services.CampaignDraftService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v15.services.CampaignExtensionSettingService.MutateCampaignExtensionSettings + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v15.services.CampaignFeedService.MutateCampaignFeeds + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v15.services.CampaignGroupService.MutateCampaignGroups + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v15.services.CampaignLabelService.MutateCampaignLabels + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v15.services.CampaignLifecycleService.ConfigureCampaignLifecycleGoals + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v15.services.CampaignService.MutateCampaigns + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v15.services.CampaignSharedSetService.MutateCampaignSharedSets + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v15.services.ConversionActionService.MutateConversionActions + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v15.services.ConversionAdjustmentUploadService.UploadConversionAdjustments + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v15.services.ConversionCustomVariableService.MutateConversionCustomVariables + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v15.services.ConversionGoalCampaignConfigService.MutateConversionGoalCampaignConfigs + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v15.services.ConversionUploadService.UploadCallConversions + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v15.services.ConversionUploadService.UploadClickConversions + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v15.services.ConversionValueRuleService.MutateConversionValueRules + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v15.services.ConversionValueRuleSetService.MutateConversionValueRuleSets + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v15.services.CustomAudienceService.MutateCustomAudiences + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v15.services.CustomConversionGoalService.MutateCustomConversionGoals + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v15.services.CustomInterestService.MutateCustomInterests + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v15.services.CustomerAssetService.MutateCustomerAssets + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v15.services.CustomerAssetSetService.MutateCustomerAssetSets + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v15.services.CustomerClientLinkService.MutateCustomerClientLink + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v15.services.CustomerConversionGoalService.MutateCustomerConversionGoals + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v15.services.CustomerCustomizerService.MutateCustomerCustomizers + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v15.services.CustomerExtensionSettingService.MutateCustomerExtensionSettings + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v15.services.CustomerFeedService.MutateCustomerFeeds + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v15.services.CustomerLabelService.MutateCustomerLabels + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v15.services.CustomerLifecycleService.ConfigureCustomerLifecycleGoals + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v15.services.CustomerManagerLinkService.MoveManagerLink + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v15.services.CustomerManagerLinkService.MutateCustomerManagerLink + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v15.services.CustomerNegativeCriterionService.MutateCustomerNegativeCriteria + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: 'google.ads.googleads.v15.services.CustomerService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v15.services.CustomerSkAdNetworkConversionValueSchemaService.MutateCustomerSkAdNetworkConversionValueSchema + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v15.services.CustomerUserAccessInvitationService.MutateCustomerUserAccessInvitation + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v15.services.CustomerUserAccessService.MutateCustomerUserAccess + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v15.services.CustomizerAttributeService.MutateCustomizerAttributes + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v15.services.ExperimentArmService.MutateExperimentArms + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: 'google.ads.googleads.v15.services.ExperimentService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v15.services.ExtensionFeedItemService.MutateExtensionFeedItems + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v15.services.FeedItemService.MutateFeedItems + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v15.services.FeedItemSetLinkService.MutateFeedItemSetLinks + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v15.services.FeedItemSetService.MutateFeedItemSets + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v15.services.FeedItemTargetService.MutateFeedItemTargets + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v15.services.FeedMappingService.MutateFeedMappings + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v15.services.FeedService.MutateFeeds + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v15.services.GeoTargetConstantService.SuggestGeoTargetConstants + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v15.services.GoogleAdsFieldService.GetGoogleAdsField + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v15.services.GoogleAdsFieldService.SearchGoogleAdsFields + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: 'google.ads.googleads.v15.services.GoogleAdsService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v15.services.InvoiceService.ListInvoices + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v15.services.KeywordPlanAdGroupKeywordService.MutateKeywordPlanAdGroupKeywords + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v15.services.KeywordPlanAdGroupService.MutateKeywordPlanAdGroups + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v15.services.KeywordPlanCampaignKeywordService.MutateKeywordPlanCampaignKeywords + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v15.services.KeywordPlanCampaignService.MutateKeywordPlanCampaigns + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: 'google.ads.googleads.v15.services.KeywordPlanIdeaService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v15.services.KeywordPlanService.MutateKeywordPlans + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v15.services.KeywordThemeConstantService.SuggestKeywordThemeConstants + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v15.services.LabelService.MutateLabels + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: 'google.ads.googleads.v15.services.OfflineUserDataJobService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v15.services.PaymentsAccountService.ListPaymentsAccounts + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v15.services.ProductLinkInvitationService.UpdateProductLinkInvitation + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v15.services.ProductLinkService.CreateProductLink + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v15.services.ProductLinkService.RemoveProductLink + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: 'google.ads.googleads.v15.services.ReachPlanService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v15.services.RecommendationService.ApplyRecommendation + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v15.services.RecommendationService.DismissRecommendation + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v15.services.RecommendationSubscriptionService.MutateRecommendationSubscription + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v15.services.RemarketingActionService.MutateRemarketingActions + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v15.services.SharedCriterionService.MutateSharedCriteria + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v15.services.SharedSetService.MutateSharedSets + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v15.services.SmartCampaignSettingService.GetSmartCampaignStatus + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v15.services.SmartCampaignSettingService.MutateSmartCampaignSettings + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: 'google.ads.googleads.v15.services.SmartCampaignSuggestService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v15.services.ThirdPartyAppAnalyticsLinkService.RegenerateShareableLinkId + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v15.services.TravelAssetSuggestionService.SuggestTravelAssets + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v15.services.UserDataService.UploadUserData + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v15.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/v15/resources/BUILD.bazel b/third_party/googleapis/google/ads/googleads/v15/resources/BUILD.bazel new file mode 100644 index 000000000..05d162cc6 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/BUILD.bazel @@ -0,0 +1,103 @@ +# 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 = [ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/BUILD.bazel + "//google/ads/googleads/v13/common:common_proto", + "//google/ads/googleads/v13/enums:enums_proto", + "//google/ads/googleads/v13/errors:errors_proto", +======== + "//google/ads/googleads/v15/common:common_proto", + "//google/ads/googleads/v15/enums:enums_proto", + "//google/ads/googleads/v15/errors:errors_proto", +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/BUILD.bazel + "//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/v15/resources/accessible_bidding_strategy.proto b/third_party/googleapis/google/ads/googleads/v15/resources/accessible_bidding_strategy.proto new file mode 100644 index 000000000..dba39d279 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/accessible_bidding_strategy.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/accessible_bidding_strategy.proto +package google.ads.googleads.v12.resources; + +import "google/ads/googleads/v12/enums/bidding_strategy_type.proto"; +import "google/ads/googleads/v12/enums/target_impression_share_location.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AccessibleBiddingStrategyProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +package google.ads.googleads.v15.resources; + +import "google/ads/googleads/v15/enums/bidding_strategy_type.proto"; +import "google/ads/googleads/v15/enums/target_impression_share_location.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AccessibleBiddingStrategyProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/accessible_bidding_strategy.proto + +// 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 { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/accessible_bidding_strategy.proto + // Output only. The target cost per acquisition (CPA) option. This is the average amount + // that you would like to spend per acquisition. +======== + // Output only. The target cost per acquisition (CPA) option. This is the + // average amount that you would like to spend per acquisition. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/accessible_bidding_strategy.proto + 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/accessible_bidding_strategy.proto + google.ads.googleads.v12.enums.TargetImpressionShareLocationEnum.TargetImpressionShareLocation location = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; +======== + google.ads.googleads.v15.enums.TargetImpressionShareLocationEnum + .TargetImpressionShareLocation location = 1 + [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/accessible_bidding_strategy.proto + + // 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 { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/accessible_bidding_strategy.proto + // Output only. The chosen revenue (based on conversion data) per unit of spend. +======== + // Output only. The chosen revenue (based on conversion data) per unit of + // spend. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/accessible_bidding_strategy.proto + 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/accessible_bidding_strategy.proto + google.ads.googleads.v12.enums.BiddingStrategyTypeEnum.BiddingStrategyType type = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; +======== + google.ads.googleads.v15.enums.BiddingStrategyTypeEnum.BiddingStrategyType + type = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/accessible_bidding_strategy.proto + + // 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]; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/accessible_bidding_strategy.proto + // 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 automatically optimizes towards a + // chosen percentage of impressions. + TargetImpressionShare target_impression_share = 10 + [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/accessible_bidding_strategy.proto + + // 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/v15/resources/account_budget.proto b/third_party/googleapis/google/ads/googleads/v15/resources/account_budget.proto new file mode 100644 index 000000000..a9f053de0 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/account_budget.proto @@ -0,0 +1,353 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/account_budget.proto +package google.ads.googleads.v12.resources; + +import "google/ads/googleads/v12/enums/account_budget_proposal_type.proto"; +import "google/ads/googleads/v12/enums/account_budget_status.proto"; +import "google/ads/googleads/v12/enums/spending_limit_type.proto"; +import "google/ads/googleads/v12/enums/time_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AccountBudgetProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +package google.ads.googleads.v15.resources; + +import "google/ads/googleads/v15/enums/account_budget_proposal_type.proto"; +import "google/ads/googleads/v15/enums/account_budget_status.proto"; +import "google/ads/googleads/v15/enums/spending_limit_type.proto"; +import "google/ads/googleads/v15/enums/time_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AccountBudgetProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/account_budget.proto + +// 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" + } + ]; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/account_budget.proto + // Output only. The type of this proposal, for example, END to end the budget associated + // with this proposal. + google.ads.googleads.v12.enums.AccountBudgetProposalTypeEnum.AccountBudgetProposalType proposal_type = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; +======== + // Output only. The type of this proposal, for example, END to end the + // budget associated with this proposal. + google.ads.googleads.v15.enums.AccountBudgetProposalTypeEnum + .AccountBudgetProposalType proposal_type = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/account_budget.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/account_budget.proto + google.ads.googleads.v12.enums.TimeTypeEnum.TimeType end_time_type = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; +======== + google.ads.googleads.v15.enums.TimeTypeEnum.TimeType end_time_type = 6 + [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/account_budget.proto + } + + // 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]; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/account_budget.proto + // Output only. The spending limit as a well-defined type, for example, INFINITE. + google.ads.googleads.v12.enums.SpendingLimitTypeEnum.SpendingLimitType spending_limit_type = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; +======== + // Output only. The spending limit as a well-defined type, for example, + // INFINITE. + google.ads.googleads.v15.enums.SpendingLimitTypeEnum.SpendingLimitType + spending_limit_type = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/account_budget.proto + } + } + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/account_budget.proto + google.ads.googleads.v12.enums.AccountBudgetStatusEnum.AccountBudgetStatus status = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; +======== + google.ads.googleads.v15.enums.AccountBudgetStatusEnum.AccountBudgetStatus + status = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/account_budget.proto + + // 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]; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/account_budget.proto + // Output only. The proposed end time as a well-defined type, for example, FOREVER. + google.ads.googleads.v12.enums.TimeTypeEnum.TimeType proposed_end_time_type = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; +======== + // Output only. The proposed end time as a well-defined type, for example, + // FOREVER. + google.ads.googleads.v15.enums.TimeTypeEnum.TimeType + proposed_end_time_type = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/account_budget.proto + } + + // 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]; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/account_budget.proto + // Output only. The approved end time as a well-defined type, for example, FOREVER. + google.ads.googleads.v12.enums.TimeTypeEnum.TimeType approved_end_time_type = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; +======== + // Output only. The approved end time as a well-defined type, for example, + // FOREVER. + google.ads.googleads.v15.enums.TimeTypeEnum.TimeType + approved_end_time_type = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/account_budget.proto + } + + // 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]; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/account_budget.proto + // Output only. The proposed spending limit as a well-defined type, for example, + // INFINITE. + google.ads.googleads.v12.enums.SpendingLimitTypeEnum.SpendingLimitType proposed_spending_limit_type = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; +======== + // Output only. The proposed spending limit as a well-defined type, for + // example, INFINITE. + google.ads.googleads.v15.enums.SpendingLimitTypeEnum.SpendingLimitType + proposed_spending_limit_type = 13 + [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/account_budget.proto + } + + // 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]; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/account_budget.proto + // 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.v12.enums.SpendingLimitTypeEnum.SpendingLimitType approved_spending_limit_type = 15 [(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.v15.enums.SpendingLimitTypeEnum.SpendingLimitType + approved_spending_limit_type = 15 + [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/account_budget.proto + } + + // 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]; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/account_budget.proto + // 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.v12.enums.SpendingLimitTypeEnum.SpendingLimitType adjusted_spending_limit_type = 17 [(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.v15.enums.SpendingLimitTypeEnum.SpendingLimitType + adjusted_spending_limit_type = 17 + [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/account_budget.proto + } +} diff --git a/third_party/googleapis/google/ads/googleads/v15/resources/account_budget_proposal.proto b/third_party/googleapis/google/ads/googleads/v15/resources/account_budget_proposal.proto new file mode 100644 index 000000000..3a1cbd8e9 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/account_budget_proposal.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/account_budget_proposal.proto +package google.ads.googleads.v12.resources; + +import "google/ads/googleads/v12/enums/account_budget_proposal_status.proto"; +import "google/ads/googleads/v12/enums/account_budget_proposal_type.proto"; +import "google/ads/googleads/v12/enums/spending_limit_type.proto"; +import "google/ads/googleads/v12/enums/time_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AccountBudgetProposalProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +package google.ads.googleads.v15.resources; + +import "google/ads/googleads/v15/enums/account_budget_proposal_status.proto"; +import "google/ads/googleads/v15/enums/account_budget_proposal_type.proto"; +import "google/ads/googleads/v15/enums/spending_limit_type.proto"; +import "google/ads/googleads/v15/enums/time_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AccountBudgetProposalProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/account_budget_proposal.proto + +// 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" + } + ]; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/account_budget_proposal.proto + // Immutable. The type of this proposal, for example, END to end the budget associated + // with this proposal. + google.ads.googleads.v12.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.v12.enums.AccountBudgetProposalStatusEnum.AccountBudgetProposalStatus status = 15 [(google.api.field_behavior) = OUTPUT_ONLY]; +======== + // Immutable. The type of this proposal, for example, END to end the budget + // associated with this proposal. + google.ads.googleads.v15.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.v15.enums.AccountBudgetProposalStatusEnum + .AccountBudgetProposalStatus status = 15 + [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/account_budget_proposal.proto + + // 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]; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/account_budget_proposal.proto + // Immutable. The proposed start date time as a well-defined type, for example, NOW. + google.ads.googleads.v12.enums.TimeTypeEnum.TimeType proposed_start_time_type = 7 [(google.api.field_behavior) = IMMUTABLE]; +======== + // Immutable. The proposed start date time as a well-defined type, for + // example, NOW. + google.ads.googleads.v15.enums.TimeTypeEnum.TimeType + proposed_start_time_type = 7 [(google.api.field_behavior) = IMMUTABLE]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/account_budget_proposal.proto + } + + // 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]; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/account_budget_proposal.proto + // Immutable. The proposed end date time as a well-defined type, for example, FOREVER. + google.ads.googleads.v12.enums.TimeTypeEnum.TimeType proposed_end_time_type = 9 [(google.api.field_behavior) = IMMUTABLE]; +======== + // Immutable. The proposed end date time as a well-defined type, for + // example, FOREVER. + google.ads.googleads.v15.enums.TimeTypeEnum.TimeType + proposed_end_time_type = 9 [(google.api.field_behavior) = IMMUTABLE]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/account_budget_proposal.proto + } + + // 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]; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/account_budget_proposal.proto + // Output only. The approved end date time as a well-defined type, for example, FOREVER. + google.ads.googleads.v12.enums.TimeTypeEnum.TimeType approved_end_time_type = 22 [(google.api.field_behavior) = OUTPUT_ONLY]; +======== + // Output only. The approved end date time as a well-defined type, for + // example, FOREVER. + google.ads.googleads.v15.enums.TimeTypeEnum.TimeType + approved_end_time_type = 22 [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/account_budget_proposal.proto + } + + // 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]; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/account_budget_proposal.proto + // Immutable. The proposed spending limit as a well-defined type, for example, + // INFINITE. + google.ads.googleads.v12.enums.SpendingLimitTypeEnum.SpendingLimitType proposed_spending_limit_type = 11 [(google.api.field_behavior) = IMMUTABLE]; +======== + // Immutable. The proposed spending limit as a well-defined type, for + // example, INFINITE. + google.ads.googleads.v15.enums.SpendingLimitTypeEnum.SpendingLimitType + proposed_spending_limit_type = 11 + [(google.api.field_behavior) = IMMUTABLE]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/account_budget_proposal.proto + } + + // 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]; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/account_budget_proposal.proto + // Output only. The approved spending limit as a well-defined type, for example, + // INFINITE. + google.ads.googleads.v12.enums.SpendingLimitTypeEnum.SpendingLimitType approved_spending_limit_type = 24 [(google.api.field_behavior) = OUTPUT_ONLY]; +======== + // Output only. The approved spending limit as a well-defined type, for + // example, INFINITE. + google.ads.googleads.v15.enums.SpendingLimitTypeEnum.SpendingLimitType + approved_spending_limit_type = 24 + [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/account_budget_proposal.proto + } +} diff --git a/third_party/googleapis/google/ads/googleads/v15/resources/account_link.proto b/third_party/googleapis/google/ads/googleads/v15/resources/account_link.proto new file mode 100644 index 000000000..7f4610012 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/account_link.proto @@ -0,0 +1,198 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/account_link.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/account_link.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/account_link.proto +package google.ads.googleads.v13.resources; + +import "google/ads/googleads/v13/enums/account_link_status.proto"; +import "google/ads/googleads/v13/enums/linked_account_type.proto"; +import "google/ads/googleads/v13/enums/mobile_app_vendor.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AccountLinkProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +package google.ads.googleads.v15.resources; + +import "google/ads/googleads/v15/enums/account_link_status.proto"; +import "google/ads/googleads/v15/enums/linked_account_type.proto"; +import "google/ads/googleads/v15/enums/mobile_app_vendor.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AccountLinkProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/account_link.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/account_link.proto + google.ads.googleads.v13.enums.AccountLinkStatusEnum.AccountLinkStatus + status = 3; + + // Output only. The type of the linked account. + google.ads.googleads.v13.enums.LinkedAccountTypeEnum.LinkedAccountType type = +======== + google.ads.googleads.v15.enums.AccountLinkStatusEnum.AccountLinkStatus + status = 3; + + // Output only. The type of the linked account. + google.ads.googleads.v15.enums.LinkedAccountTypeEnum.LinkedAccountType type = +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/account_link.proto + 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]; + + // Output only. Data partner link. + DataPartnerLinkIdentifier data_partner = 6 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Google Ads link. + GoogleAdsLinkIdentifier google_ads = 7 + [(google.api.field_behavior) = OUTPUT_ONLY]; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/account_link.proto + // Output only. Hotel link + HotelCenterLinkIdentifier hotel_center = 9 + [(google.api.field_behavior) = OUTPUT_ONLY]; + +======== +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/account_link.proto + // Output only. Advertising Partner link + AdvertisingPartnerLinkIdentifier advertising_partner = 10 + [(google.api.field_behavior) = OUTPUT_ONLY]; + } +} + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/account_link.proto + google.ads.googleads.v13.enums.MobileAppVendorEnum.MobileAppVendor +======== + google.ads.googleads.v15.enums.MobileAppVendorEnum.MobileAppVendor +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/account_link.proto + app_vendor = 3 [(google.api.field_behavior) = IMMUTABLE]; +} + +// The identifier for Data Partner account. +message DataPartnerLinkIdentifier { + // 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 Hotel account. +message HotelCenterLinkIdentifier { + // Output only. The hotel center id of the hotel account. + int64 hotel_center_id = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// The identifier for Google Ads account. +message GoogleAdsLinkIdentifier { + // 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 = 3 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Customer" + } + ]; +} + +// The identifier for the Advertising Partner Google Ads account. +message AdvertisingPartnerLinkIdentifier { + // Immutable. 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) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Customer" + } + ]; +} diff --git a/third_party/googleapis/google/ads/googleads/v15/resources/ad.proto b/third_party/googleapis/google/ads/googleads/v15/resources/ad.proto new file mode 100644 index 000000000..d6cd9ee0c --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/ad.proto @@ -0,0 +1,337 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/ad.proto +package google.ads.googleads.v12.resources; + +import "google/ads/googleads/v12/common/ad_type_infos.proto"; +import "google/ads/googleads/v12/common/custom_parameter.proto"; +import "google/ads/googleads/v12/common/final_app_url.proto"; +import "google/ads/googleads/v12/common/url_collection.proto"; +import "google/ads/googleads/v12/enums/ad_type.proto"; +import "google/ads/googleads/v12/enums/device.proto"; +import "google/ads/googleads/v12/enums/system_managed_entity_source.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +package google.ads.googleads.v15.resources; + +import "google/ads/googleads/v15/common/ad_type_infos.proto"; +import "google/ads/googleads/v15/common/custom_parameter.proto"; +import "google/ads/googleads/v15/common/final_app_url.proto"; +import "google/ads/googleads/v15/common/url_collection.proto"; +import "google/ads/googleads/v15/enums/ad_type.proto"; +import "google/ads/googleads/v15/enums/device.proto"; +import "google/ads/googleads/v15/enums/system_managed_entity_source.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/ad.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/ad.proto + repeated google.ads.googleads.v12.common.FinalAppUrl final_app_urls = 35; +======== + repeated google.ads.googleads.v15.common.FinalAppUrl final_app_urls = 35; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/ad.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/ad.proto + repeated google.ads.googleads.v12.common.CustomParameter url_custom_parameters = 10; +======== + repeated google.ads.googleads.v15.common.CustomParameter + url_custom_parameters = 10; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/ad.proto + + // The URL that appears in the ad description for some ad formats. + optional string display_url = 45; + + // Output only. The type of ad. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/ad.proto + google.ads.googleads.v12.enums.AdTypeEnum.AdType type = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; +======== + google.ads.googleads.v15.enums.AdTypeEnum.AdType type = 5 + [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/ad.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/ad.proto + google.ads.googleads.v12.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.v12.common.UrlCollection url_collections = 26; +======== + google.ads.googleads.v15.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.v15.common.UrlCollection url_collections = 26; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/ad.proto + + // 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]; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/ad.proto + // Output only. If this ad is system managed, then this field will indicate the source. + // This field is read-only. + google.ads.googleads.v12.enums.SystemManagedResourceSourceEnum.SystemManagedResourceSource system_managed_resource_source = 27 [(google.api.field_behavior) = OUTPUT_ONLY]; +======== + // Output only. If this ad is system managed, then this field will indicate + // the source. This field is read-only. + google.ads.googleads.v15.enums.SystemManagedResourceSourceEnum + .SystemManagedResourceSource system_managed_resource_source = 27 + [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/ad.proto + + // Details pertinent to the ad type. Exactly one value must be set. + oneof ad_data { + // Immutable. Details pertaining to a text ad. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/ad.proto + google.ads.googleads.v12.common.TextAdInfo text_ad = 6 [(google.api.field_behavior) = IMMUTABLE]; + + // Details pertaining to an expanded text ad. + google.ads.googleads.v12.common.ExpandedTextAdInfo expanded_text_ad = 7; + + // Details pertaining to a call ad. + google.ads.googleads.v12.common.CallAdInfo call_ad = 49; +======== + google.ads.googleads.v15.common.TextAdInfo text_ad = 6 + [(google.api.field_behavior) = IMMUTABLE]; + + // Details pertaining to an expanded text ad. + google.ads.googleads.v15.common.ExpandedTextAdInfo expanded_text_ad = 7; + + // Details pertaining to a call ad. + google.ads.googleads.v15.common.CallAdInfo call_ad = 49; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/ad.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/ad.proto + google.ads.googleads.v12.common.ExpandedDynamicSearchAdInfo expanded_dynamic_search_ad = 14 [(google.api.field_behavior) = IMMUTABLE]; + + // Details pertaining to a hotel ad. + google.ads.googleads.v12.common.HotelAdInfo hotel_ad = 15; + + // Details pertaining to a Smart Shopping ad. + google.ads.googleads.v12.common.ShoppingSmartAdInfo shopping_smart_ad = 17; + + // Details pertaining to a Shopping product ad. + google.ads.googleads.v12.common.ShoppingProductAdInfo shopping_product_ad = 18; + + // Immutable. Details pertaining to an Image ad. + google.ads.googleads.v12.common.ImageAdInfo image_ad = 22 [(google.api.field_behavior) = IMMUTABLE]; + + // Details pertaining to a Video ad. + google.ads.googleads.v12.common.VideoAdInfo video_ad = 24; + + // Details pertaining to a Video responsive ad. + google.ads.googleads.v12.common.VideoResponsiveAdInfo video_responsive_ad = 39; + + // Details pertaining to a responsive search ad. + google.ads.googleads.v12.common.ResponsiveSearchAdInfo responsive_search_ad = 25; + + // Details pertaining to a legacy responsive display ad. + google.ads.googleads.v12.common.LegacyResponsiveDisplayAdInfo legacy_responsive_display_ad = 28; + + // Details pertaining to an app ad. + google.ads.googleads.v12.common.AppAdInfo app_ad = 29; + + // Immutable. Details pertaining to a legacy app install ad. + google.ads.googleads.v12.common.LegacyAppInstallAdInfo legacy_app_install_ad = 30 [(google.api.field_behavior) = IMMUTABLE]; + + // Details pertaining to a responsive display ad. + google.ads.googleads.v12.common.ResponsiveDisplayAdInfo responsive_display_ad = 31; + + // Details pertaining to a local ad. + google.ads.googleads.v12.common.LocalAdInfo local_ad = 32; + + // Details pertaining to a display upload ad. + google.ads.googleads.v12.common.DisplayUploadAdInfo display_upload_ad = 33; + + // Details pertaining to an app engagement ad. + google.ads.googleads.v12.common.AppEngagementAdInfo app_engagement_ad = 34; + + // Details pertaining to a Shopping Comparison Listing ad. + google.ads.googleads.v12.common.ShoppingComparisonListingAdInfo shopping_comparison_listing_ad = 36; + + // Details pertaining to a Smart campaign ad. + google.ads.googleads.v12.common.SmartCampaignAdInfo smart_campaign_ad = 48; + + // Details pertaining to an app pre-registration ad. + google.ads.googleads.v12.common.AppPreRegistrationAdInfo app_pre_registration_ad = 50; + + // Details pertaining to a discovery multi asset ad. + google.ads.googleads.v12.common.DiscoveryMultiAssetAdInfo discovery_multi_asset_ad = 51; + + // Details pertaining to a discovery carousel ad. + google.ads.googleads.v12.common.DiscoveryCarouselAdInfo discovery_carousel_ad = 52; +======== + google.ads.googleads.v15.common.ExpandedDynamicSearchAdInfo + expanded_dynamic_search_ad = 14 + [(google.api.field_behavior) = IMMUTABLE]; + + // Details pertaining to a hotel ad. + google.ads.googleads.v15.common.HotelAdInfo hotel_ad = 15; + + // Details pertaining to a Smart Shopping ad. + google.ads.googleads.v15.common.ShoppingSmartAdInfo shopping_smart_ad = 17; + + // Details pertaining to a Shopping product ad. + google.ads.googleads.v15.common.ShoppingProductAdInfo shopping_product_ad = + 18; + + // Immutable. Details pertaining to an Image ad. + google.ads.googleads.v15.common.ImageAdInfo image_ad = 22 + [(google.api.field_behavior) = IMMUTABLE]; + + // Details pertaining to a Video ad. + google.ads.googleads.v15.common.VideoAdInfo video_ad = 24; + + // Details pertaining to a Video responsive ad. + google.ads.googleads.v15.common.VideoResponsiveAdInfo video_responsive_ad = + 39; + + // Details pertaining to a responsive search ad. + google.ads.googleads.v15.common.ResponsiveSearchAdInfo + responsive_search_ad = 25; + + // Details pertaining to a legacy responsive display ad. + google.ads.googleads.v15.common.LegacyResponsiveDisplayAdInfo + legacy_responsive_display_ad = 28; + + // Details pertaining to an app ad. + google.ads.googleads.v15.common.AppAdInfo app_ad = 29; + + // Immutable. Details pertaining to a legacy app install ad. + google.ads.googleads.v15.common.LegacyAppInstallAdInfo + legacy_app_install_ad = 30 [(google.api.field_behavior) = IMMUTABLE]; + + // Details pertaining to a responsive display ad. + google.ads.googleads.v15.common.ResponsiveDisplayAdInfo + responsive_display_ad = 31; + + // Details pertaining to a local ad. + google.ads.googleads.v15.common.LocalAdInfo local_ad = 32; + + // Details pertaining to a display upload ad. + google.ads.googleads.v15.common.DisplayUploadAdInfo display_upload_ad = 33; + + // Details pertaining to an app engagement ad. + google.ads.googleads.v15.common.AppEngagementAdInfo app_engagement_ad = 34; + + // Details pertaining to a Shopping Comparison Listing ad. + google.ads.googleads.v15.common.ShoppingComparisonListingAdInfo + shopping_comparison_listing_ad = 36; + + // Details pertaining to a Smart campaign ad. + google.ads.googleads.v15.common.SmartCampaignAdInfo smart_campaign_ad = 48; + + // Details pertaining to an app pre-registration ad. + google.ads.googleads.v15.common.AppPreRegistrationAdInfo + app_pre_registration_ad = 50; + + // Details pertaining to a discovery multi asset ad. + google.ads.googleads.v15.common.DiscoveryMultiAssetAdInfo + discovery_multi_asset_ad = 51; + + // Details pertaining to a discovery carousel ad. + google.ads.googleads.v15.common.DiscoveryCarouselAdInfo + discovery_carousel_ad = 52; + + // Details pertaining to a discovery video responsive ad. + google.ads.googleads.v15.common.DiscoveryVideoResponsiveAdInfo + discovery_video_responsive_ad = 60; + + // Details pertaining to a travel ad. + google.ads.googleads.v15.common.TravelAdInfo travel_ad = 54; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/ad.proto + } +} diff --git a/third_party/googleapis/google/ads/googleads/v15/resources/ad_group.proto b/third_party/googleapis/google/ads/googleads/v15/resources/ad_group.proto new file mode 100644 index 000000000..271d715a2 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/ad_group.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/ad_group.proto +package google.ads.googleads.v12.resources; + +import "google/ads/googleads/v12/common/custom_parameter.proto"; +import "google/ads/googleads/v12/common/explorer_auto_optimizer_setting.proto"; +import "google/ads/googleads/v12/common/targeting_setting.proto"; +import "google/ads/googleads/v12/enums/ad_group_ad_rotation_mode.proto"; +import "google/ads/googleads/v12/enums/ad_group_status.proto"; +import "google/ads/googleads/v12/enums/ad_group_type.proto"; +import "google/ads/googleads/v12/enums/asset_field_type.proto"; +import "google/ads/googleads/v12/enums/asset_set_type.proto"; +import "google/ads/googleads/v12/enums/bidding_source.proto"; +import "google/ads/googleads/v12/enums/targeting_dimension.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +package google.ads.googleads.v15.resources; + +import "google/ads/googleads/v15/common/custom_parameter.proto"; +import "google/ads/googleads/v15/common/targeting_setting.proto"; +import "google/ads/googleads/v15/enums/ad_group_ad_rotation_mode.proto"; +import "google/ads/googleads/v15/enums/ad_group_status.proto"; +import "google/ads/googleads/v15/enums/ad_group_type.proto"; +import "google/ads/googleads/v15/enums/asset_field_type.proto"; +import "google/ads/googleads/v15/enums/asset_set_type.proto"; +import "google/ads/googleads/v15/enums/bidding_source.proto"; +import "google/ads/googleads/v15/enums/targeting_dimension.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/ad_group.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/ad_group.proto + google.ads.googleads.v12.enums.AdGroupStatusEnum.AdGroupStatus status = 5; + + // Immutable. The type of the ad group. + google.ads.googleads.v12.enums.AdGroupTypeEnum.AdGroupType type = 12 [(google.api.field_behavior) = IMMUTABLE]; + + // The ad rotation mode of the ad group. + google.ads.googleads.v12.enums.AdGroupAdRotationModeEnum.AdGroupAdRotationMode ad_rotation_mode = 22; +======== + google.ads.googleads.v15.enums.AdGroupStatusEnum.AdGroupStatus status = 5; + + // Immutable. The type of the ad group. + google.ads.googleads.v15.enums.AdGroupTypeEnum.AdGroupType type = 12 + [(google.api.field_behavior) = IMMUTABLE]; + + // The ad rotation mode of the ad group. + google.ads.googleads.v15.enums.AdGroupAdRotationModeEnum.AdGroupAdRotationMode + ad_rotation_mode = 22; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/ad_group.proto + + // 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`. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/ad_group.proto + repeated google.ads.googleads.v12.common.CustomParameter url_custom_parameters = 6; +======== + repeated google.ads.googleads.v15.common.CustomParameter + url_custom_parameters = 6; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/ad_group.proto + + // 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; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/ad_group.proto + // Settings for the Display Campaign Optimizer, initially termed "Explorer". + google.ads.googleads.v12.common.ExplorerAutoOptimizerSetting explorer_auto_optimizer_setting = 21; +======== + // True if optimized targeting is enabled. Optimized Targeting is the + // replacement for Audience Expansion. + bool optimized_targeting_enabled = 59; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/ad_group.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/ad_group.proto + google.ads.googleads.v12.enums.TargetingDimensionEnum.TargetingDimension display_custom_bid_dimension = 23; +======== + google.ads.googleads.v15.enums.TargetingDimensionEnum.TargetingDimension + display_custom_bid_dimension = 23; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/ad_group.proto + + // URL template for appending params to Final URL. + optional string final_url_suffix = 46; + + // Setting for targeting related features. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/ad_group.proto + google.ads.googleads.v12.common.TargetingSetting targeting_setting = 25; +======== + google.ads.googleads.v15.common.TargetingSetting targeting_setting = 25; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/ad_group.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/ad_group.proto + google.ads.googleads.v12.enums.BiddingSourceEnum.BiddingSource effective_target_cpa_source = 29 [(google.api.field_behavior) = OUTPUT_ONLY]; +======== + google.ads.googleads.v15.enums.BiddingSourceEnum.BiddingSource + effective_target_cpa_source = 29 + [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/ad_group.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/ad_group.proto + google.ads.googleads.v12.enums.BiddingSourceEnum.BiddingSource effective_target_roas_source = 32 [(google.api.field_behavior) = OUTPUT_ONLY]; +======== + google.ads.googleads.v15.enums.BiddingSourceEnum.BiddingSource + effective_target_roas_source = 32 + [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/ad_group.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/ad_group.proto + repeated google.ads.googleads.v12.enums.AssetFieldTypeEnum.AssetFieldType excluded_parent_asset_field_types = 54; +======== + repeated google.ads.googleads.v15.enums.AssetFieldTypeEnum.AssetFieldType + excluded_parent_asset_field_types = 54; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/ad_group.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/ad_group.proto + repeated google.ads.googleads.v12.enums.AssetSetTypeEnum.AssetSetType excluded_parent_asset_set_types = 58; +======== + repeated google.ads.googleads.v15.enums.AssetSetTypeEnum.AssetSetType + excluded_parent_asset_set_types = 58; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/ad_group.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v15/resources/ad_group_ad.proto b/third_party/googleapis/google/ads/googleads/v15/resources/ad_group_ad.proto new file mode 100644 index 000000000..d26377a22 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/ad_group_ad.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/ad_group_ad.proto +package google.ads.googleads.v12.resources; + +import "google/ads/googleads/v12/common/policy.proto"; +import "google/ads/googleads/v12/enums/ad_group_ad_status.proto"; +import "google/ads/googleads/v12/enums/ad_strength.proto"; +import "google/ads/googleads/v12/enums/policy_approval_status.proto"; +import "google/ads/googleads/v12/enums/policy_review_status.proto"; +import "google/ads/googleads/v12/resources/ad.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupAdProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +package google.ads.googleads.v15.resources; + +import "google/ads/googleads/v15/common/policy.proto"; +import "google/ads/googleads/v15/enums/ad_group_ad_status.proto"; +import "google/ads/googleads/v15/enums/ad_strength.proto"; +import "google/ads/googleads/v15/enums/policy_approval_status.proto"; +import "google/ads/googleads/v15/enums/policy_review_status.proto"; +import "google/ads/googleads/v15/resources/ad.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupAdProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/ad_group_ad.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/ad_group_ad.proto + google.ads.googleads.v12.enums.AdGroupAdStatusEnum.AdGroupAdStatus status = 3; +======== + google.ads.googleads.v15.enums.AdGroupAdStatusEnum.AdGroupAdStatus status = 3; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/ad_group_ad.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/ad_group_ad.proto + google.ads.googleads.v12.enums.AdStrengthEnum.AdStrength ad_strength = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; +======== + google.ads.googleads.v15.enums.AdStrengthEnum.AdStrength ad_strength = 7 + [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/ad_group_ad.proto + + // 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" + } + ]; +} + +// Contains policy information for an ad. +message AdGroupAdPolicySummary { + // Output only. The list of policy findings for this ad. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/ad_group_ad.proto + repeated google.ads.googleads.v12.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.v12.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.v12.enums.PolicyApprovalStatusEnum.PolicyApprovalStatus approval_status = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; +======== + repeated google.ads.googleads.v15.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.v15.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.v15.enums.PolicyApprovalStatusEnum.PolicyApprovalStatus + approval_status = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/ad_group_ad.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v15/resources/ad_group_ad_asset_combination_view.proto b/third_party/googleapis/google/ads/googleads/v15/resources/ad_group_ad_asset_combination_view.proto new file mode 100644 index 000000000..04af21437 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/ad_group_ad_asset_combination_view.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/ad_group_ad_asset_combination_view.proto +package google.ads.googleads.v12.resources; + +import "google/ads/googleads/v12/common/asset_usage.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupAdAssetCombinationViewProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +package google.ads.googleads.v15.resources; + +import "google/ads/googleads/v15/common/asset_usage.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupAdAssetCombinationViewProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/ad_group_ad_asset_combination_view.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/ad_group_ad_asset_combination_view.proto + repeated google.ads.googleads.v12.common.AssetUsage served_assets = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; +======== + repeated google.ads.googleads.v15.common.AssetUsage served_assets = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/ad_group_ad_asset_combination_view.proto + + // 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/v15/resources/ad_group_ad_asset_view.proto b/third_party/googleapis/google/ads/googleads/v15/resources/ad_group_ad_asset_view.proto new file mode 100644 index 000000000..83bdc636c --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/ad_group_ad_asset_view.proto @@ -0,0 +1,170 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/ad_group_ad_asset_view.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/ad_group_ad_asset_view.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/ad_group_ad_asset_view.proto +package google.ads.googleads.v13.resources; + +import "google/ads/googleads/v13/common/policy.proto"; +import "google/ads/googleads/v13/enums/asset_field_type.proto"; +import "google/ads/googleads/v13/enums/asset_performance_label.proto"; +import "google/ads/googleads/v13/enums/policy_approval_status.proto"; +import "google/ads/googleads/v13/enums/policy_review_status.proto"; +import "google/ads/googleads/v13/enums/served_asset_field_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupAdAssetViewProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +package google.ads.googleads.v15.resources; + +import "google/ads/googleads/v15/common/policy.proto"; +import "google/ads/googleads/v15/enums/asset_field_type.proto"; +import "google/ads/googleads/v15/enums/asset_performance_label.proto"; +import "google/ads/googleads/v15/enums/asset_source.proto"; +import "google/ads/googleads/v15/enums/policy_approval_status.proto"; +import "google/ads/googleads/v15/enums/policy_review_status.proto"; +import "google/ads/googleads/v15/enums/served_asset_field_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupAdAssetViewProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/ad_group_ad_asset_view.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/ad_group_ad_asset_view.proto + google.ads.googleads.v13.enums.AssetFieldTypeEnum.AssetFieldType field_type = +======== + google.ads.googleads.v15.enums.AssetFieldTypeEnum.AssetFieldType field_type = +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/ad_group_ad_asset_view.proto + 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/ad_group_ad_asset_view.proto + google.ads.googleads.v13.enums.AssetPerformanceLabelEnum.AssetPerformanceLabel + performance_label = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Pinned field. + google.ads.googleads.v13.enums.ServedAssetFieldTypeEnum.ServedAssetFieldType + pinned_field = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; +======== + google.ads.googleads.v15.enums.AssetPerformanceLabelEnum.AssetPerformanceLabel + performance_label = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Pinned field. + google.ads.googleads.v15.enums.ServedAssetFieldTypeEnum.ServedAssetFieldType + pinned_field = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Source of the ad group ad asset. + google.ads.googleads.v15.enums.AssetSourceEnum.AssetSource source = 12 + [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/ad_group_ad_asset_view.proto +} + +// Contains policy information for an ad group ad asset. +message AdGroupAdAssetPolicySummary { + // Output only. The list of policy findings for the ad group ad asset. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/ad_group_ad_asset_view.proto + repeated google.ads.googleads.v13.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.v13.enums.PolicyReviewStatusEnum.PolicyReviewStatus +======== + repeated google.ads.googleads.v15.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.v15.enums.PolicyReviewStatusEnum.PolicyReviewStatus +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/ad_group_ad_asset_view.proto + 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/ad_group_ad_asset_view.proto + google.ads.googleads.v13.enums.PolicyApprovalStatusEnum.PolicyApprovalStatus +======== + google.ads.googleads.v15.enums.PolicyApprovalStatusEnum.PolicyApprovalStatus +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/ad_group_ad_asset_view.proto + approval_status = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v15/resources/ad_group_ad_label.proto b/third_party/googleapis/google/ads/googleads/v15/resources/ad_group_ad_label.proto new file mode 100644 index 000000000..a15b8c7b5 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/ad_group_ad_label.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/ad_group_ad_label.proto +package google.ads.googleads.v12.resources; +======== +package google.ads.googleads.v15.resources; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/ad_group_ad_label.proto + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/ad_group_ad_label.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupAdLabelProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupAdLabelProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/ad_group_ad_label.proto + +// 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/v15/resources/ad_group_asset.proto b/third_party/googleapis/google/ads/googleads/v15/resources/ad_group_asset.proto new file mode 100644 index 000000000..f4dd8ce36 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.v15.resources; + +import "google/ads/googleads/v15/common/asset_policy.proto"; +import "google/ads/googleads/v15/enums/asset_field_type.proto"; +import "google/ads/googleads/v15/enums/asset_link_primary_status.proto"; +import "google/ads/googleads/v15/enums/asset_link_primary_status_reason.proto"; +import "google/ads/googleads/v15/enums/asset_link_status.proto"; +import "google/ads/googleads/v15/enums/asset_source.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupAssetProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::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.v15.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.v15.enums.AssetSourceEnum.AssetSource source = 6 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Status of the ad group asset. + google.ads.googleads.v15.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.v15.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.v15.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.v15.enums.AssetLinkPrimaryStatusReasonEnum + .AssetLinkPrimaryStatusReason primary_status_reasons = 9 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v15/resources/ad_group_asset_set.proto b/third_party/googleapis/google/ads/googleads/v15/resources/ad_group_asset_set.proto new file mode 100644 index 000000000..3ed275334 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.v15.resources; + +import "google/ads/googleads/v15/enums/asset_set_link_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupAssetSetProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::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.v15.enums.AssetSetLinkStatusEnum.AssetSetLinkStatus + status = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v15/resources/ad_group_audience_view.proto b/third_party/googleapis/google/ads/googleads/v15/resources/ad_group_audience_view.proto new file mode 100644 index 000000000..d67522d36 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/ad_group_audience_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/ad_group_audience_view.proto +package google.ads.googleads.v13.resources; +======== +package google.ads.googleads.v15.resources; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/ad_group_audience_view.proto + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/ad_group_audience_view.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupAudienceViewProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupAudienceViewProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/ad_group_audience_view.proto + +// 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/v15/resources/ad_group_bid_modifier.proto b/third_party/googleapis/google/ads/googleads/v15/resources/ad_group_bid_modifier.proto new file mode 100644 index 000000000..6056b4c3f --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/ad_group_bid_modifier.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/ad_group_bid_modifier.proto +package google.ads.googleads.v12.resources; + +import "google/ads/googleads/v12/common/criteria.proto"; +import "google/ads/googleads/v12/enums/bid_modifier_source.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupBidModifierProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +package google.ads.googleads.v15.resources; + +import "google/ads/googleads/v15/common/criteria.proto"; +import "google/ads/googleads/v15/enums/bid_modifier_source.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupBidModifierProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/ad_group_bid_modifier.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/ad_group_bid_modifier.proto + google.ads.googleads.v12.enums.BidModifierSourceEnum.BidModifierSource bid_modifier_source = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; +======== + google.ads.googleads.v15.enums.BidModifierSourceEnum.BidModifierSource + bid_modifier_source = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/ad_group_bid_modifier.proto + + // The criterion of this ad group bid modifier. + // + // Required in create operations starting in V5. + oneof criterion { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/ad_group_bid_modifier.proto + // Immutable. Criterion for hotel date selection (default dates versus user selected). + google.ads.googleads.v12.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.v12.common.HotelAdvanceBookingWindowInfo hotel_advance_booking_window = 6 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Criterion for length of hotel stay in nights. + google.ads.googleads.v12.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.v12.common.HotelCheckInDayInfo hotel_check_in_day = 8 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. A device criterion. + google.ads.googleads.v12.common.DeviceInfo device = 11 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. A preferred content criterion. + google.ads.googleads.v12.common.PreferredContentInfo preferred_content = 12 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Criterion for a hotel check-in date range. + google.ads.googleads.v12.common.HotelCheckInDateRangeInfo hotel_check_in_date_range = 17 [(google.api.field_behavior) = IMMUTABLE]; +======== + // Immutable. Criterion for hotel date selection (default dates versus user + // selected). + google.ads.googleads.v15.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.v15.common.HotelAdvanceBookingWindowInfo + hotel_advance_booking_window = 6 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Criterion for length of hotel stay in nights. + google.ads.googleads.v15.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.v15.common.HotelCheckInDayInfo hotel_check_in_day = 8 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. A device criterion. + google.ads.googleads.v15.common.DeviceInfo device = 11 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Criterion for a hotel check-in date range. + google.ads.googleads.v15.common.HotelCheckInDateRangeInfo + hotel_check_in_date_range = 17 + [(google.api.field_behavior) = IMMUTABLE]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/ad_group_bid_modifier.proto + } +} diff --git a/third_party/googleapis/google/ads/googleads/v15/resources/ad_group_criterion.proto b/third_party/googleapis/google/ads/googleads/v15/resources/ad_group_criterion.proto new file mode 100644 index 000000000..2f4249888 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/ad_group_criterion.proto @@ -0,0 +1,486 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/ad_group_criterion.proto +package google.ads.googleads.v12.resources; + +import "google/ads/googleads/v12/common/criteria.proto"; +import "google/ads/googleads/v12/common/custom_parameter.proto"; +import "google/ads/googleads/v12/enums/ad_group_criterion_approval_status.proto"; +import "google/ads/googleads/v12/enums/ad_group_criterion_status.proto"; +import "google/ads/googleads/v12/enums/bidding_source.proto"; +import "google/ads/googleads/v12/enums/criterion_system_serving_status.proto"; +import "google/ads/googleads/v12/enums/criterion_type.proto"; +import "google/ads/googleads/v12/enums/quality_score_bucket.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupCriterionProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +package google.ads.googleads.v15.resources; + +import "google/ads/googleads/v15/common/criteria.proto"; +import "google/ads/googleads/v15/common/custom_parameter.proto"; +import "google/ads/googleads/v15/enums/ad_group_criterion_approval_status.proto"; +import "google/ads/googleads/v15/enums/ad_group_criterion_status.proto"; +import "google/ads/googleads/v15/enums/bidding_source.proto"; +import "google/ads/googleads/v15/enums/criterion_system_serving_status.proto"; +import "google/ads/googleads/v15/enums/criterion_type.proto"; +import "google/ads/googleads/v15/enums/quality_score_bucket.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupCriterionProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/ad_group_criterion.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/ad_group_criterion.proto + google.ads.googleads.v12.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.v12.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.v12.enums.QualityScoreBucketEnum.QualityScoreBucket search_predicted_ctr = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; +======== + google.ads.googleads.v15.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.v15.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.v15.enums.QualityScoreBucketEnum.QualityScoreBucket + search_predicted_ctr = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/ad_group_criterion.proto + } + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/ad_group_criterion.proto + google.ads.googleads.v12.enums.AdGroupCriterionStatusEnum.AdGroupCriterionStatus status = 3; +======== + google.ads.googleads.v15.enums.AdGroupCriterionStatusEnum + .AdGroupCriterionStatus status = 3; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/ad_group_criterion.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/ad_group_criterion.proto + google.ads.googleads.v12.enums.CriterionTypeEnum.CriterionType type = 25 [(google.api.field_behavior) = OUTPUT_ONLY]; +======== + google.ads.googleads.v15.enums.CriterionTypeEnum.CriterionType type = 25 + [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/ad_group_criterion.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/ad_group_criterion.proto + google.ads.googleads.v12.enums.CriterionSystemServingStatusEnum.CriterionSystemServingStatus system_serving_status = 52 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Approval status of the criterion. + google.ads.googleads.v12.enums.AdGroupCriterionApprovalStatusEnum.AdGroupCriterionApprovalStatus approval_status = 53 [(google.api.field_behavior) = OUTPUT_ONLY]; +======== + google.ads.googleads.v15.enums.CriterionSystemServingStatusEnum + .CriterionSystemServingStatus system_serving_status = 52 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Approval status of the criterion. + google.ads.googleads.v15.enums.AdGroupCriterionApprovalStatusEnum + .AdGroupCriterionApprovalStatus approval_status = 53 + [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/ad_group_criterion.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/ad_group_criterion.proto + google.ads.googleads.v12.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.v12.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.v12.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.v12.enums.BiddingSourceEnum.BiddingSource effective_percent_cpc_bid_source = 35 [(google.api.field_behavior) = OUTPUT_ONLY]; +======== + google.ads.googleads.v15.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.v15.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.v15.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.v15.enums.BiddingSourceEnum.BiddingSource + effective_percent_cpc_bid_source = 35 + [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/ad_group_criterion.proto + + // 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`. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/ad_group_criterion.proto + repeated google.ads.googleads.v12.common.CustomParameter url_custom_parameters = 14; +======== + repeated google.ads.googleads.v15.common.CustomParameter + url_custom_parameters = 14; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/ad_group_criterion.proto + + // The ad group criterion. + // + // Exactly one must be set. + oneof criterion { + // Immutable. Keyword. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/ad_group_criterion.proto + google.ads.googleads.v12.common.KeywordInfo keyword = 27 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Placement. + google.ads.googleads.v12.common.PlacementInfo placement = 28 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Mobile app category. + google.ads.googleads.v12.common.MobileAppCategoryInfo mobile_app_category = 29 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Mobile application. + google.ads.googleads.v12.common.MobileApplicationInfo mobile_application = 30 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Listing group. + google.ads.googleads.v12.common.ListingGroupInfo listing_group = 32 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Age range. + google.ads.googleads.v12.common.AgeRangeInfo age_range = 36 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Gender. + google.ads.googleads.v12.common.GenderInfo gender = 37 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Income range. + google.ads.googleads.v12.common.IncomeRangeInfo income_range = 38 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Parental status. + google.ads.googleads.v12.common.ParentalStatusInfo parental_status = 39 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. User List. + google.ads.googleads.v12.common.UserListInfo user_list = 42 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. YouTube Video. + google.ads.googleads.v12.common.YouTubeVideoInfo youtube_video = 40 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. YouTube Channel. + google.ads.googleads.v12.common.YouTubeChannelInfo youtube_channel = 41 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Topic. + google.ads.googleads.v12.common.TopicInfo topic = 43 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. User Interest. + google.ads.googleads.v12.common.UserInterestInfo user_interest = 45 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Webpage + google.ads.googleads.v12.common.WebpageInfo webpage = 46 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. App Payment Model. + google.ads.googleads.v12.common.AppPaymentModelInfo app_payment_model = 47 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Custom Affinity. + google.ads.googleads.v12.common.CustomAffinityInfo custom_affinity = 48 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Custom Intent. + google.ads.googleads.v12.common.CustomIntentInfo custom_intent = 49 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Custom Audience. + google.ads.googleads.v12.common.CustomAudienceInfo custom_audience = 74 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Combined Audience. + google.ads.googleads.v12.common.CombinedAudienceInfo combined_audience = 75 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Audience. + google.ads.googleads.v12.common.AudienceInfo audience = 79 [(google.api.field_behavior) = IMMUTABLE]; +======== + google.ads.googleads.v15.common.KeywordInfo keyword = 27 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Placement. + google.ads.googleads.v15.common.PlacementInfo placement = 28 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Mobile app category. + google.ads.googleads.v15.common.MobileAppCategoryInfo mobile_app_category = + 29 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Mobile application. + google.ads.googleads.v15.common.MobileApplicationInfo mobile_application = + 30 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Listing group. + google.ads.googleads.v15.common.ListingGroupInfo listing_group = 32 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Age range. + google.ads.googleads.v15.common.AgeRangeInfo age_range = 36 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Gender. + google.ads.googleads.v15.common.GenderInfo gender = 37 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Income range. + google.ads.googleads.v15.common.IncomeRangeInfo income_range = 38 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Parental status. + google.ads.googleads.v15.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.v15.common.UserListInfo user_list = 42 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. YouTube Video. + google.ads.googleads.v15.common.YouTubeVideoInfo youtube_video = 40 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. YouTube Channel. + google.ads.googleads.v15.common.YouTubeChannelInfo youtube_channel = 41 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Topic. + google.ads.googleads.v15.common.TopicInfo topic = 43 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. User Interest. + google.ads.googleads.v15.common.UserInterestInfo user_interest = 45 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Webpage + google.ads.googleads.v15.common.WebpageInfo webpage = 46 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. App Payment Model. + google.ads.googleads.v15.common.AppPaymentModelInfo app_payment_model = 47 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Custom Affinity. + google.ads.googleads.v15.common.CustomAffinityInfo custom_affinity = 48 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Custom Intent. + google.ads.googleads.v15.common.CustomIntentInfo custom_intent = 49 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Custom Audience. + google.ads.googleads.v15.common.CustomAudienceInfo custom_audience = 74 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Combined Audience. + google.ads.googleads.v15.common.CombinedAudienceInfo combined_audience = 75 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Audience. + google.ads.googleads.v15.common.AudienceInfo audience = 79 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Location. + google.ads.googleads.v15.common.LocationInfo location = 82 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Language. + google.ads.googleads.v15.common.LanguageInfo language = 83 + [(google.api.field_behavior) = IMMUTABLE]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/ad_group_criterion.proto + } +} diff --git a/third_party/googleapis/google/ads/googleads/v15/resources/ad_group_criterion_customizer.proto b/third_party/googleapis/google/ads/googleads/v15/resources/ad_group_criterion_customizer.proto new file mode 100644 index 000000000..6a7cc0e0f --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/ad_group_criterion_customizer.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/ad_group_criterion_customizer.proto +package google.ads.googleads.v12.resources; + +import "google/ads/googleads/v12/common/customizer_value.proto"; +import "google/ads/googleads/v12/enums/customizer_value_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupCriterionCustomizerProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +package google.ads.googleads.v15.resources; + +import "google/ads/googleads/v15/common/customizer_value.proto"; +import "google/ads/googleads/v15/enums/customizer_value_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupCriterionCustomizerProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/ad_group_criterion_customizer.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/ad_group_criterion_customizer.proto + google.ads.googleads.v12.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.v12.common.CustomizerValue value = 5 [(google.api.field_behavior) = REQUIRED]; +======== + google.ads.googleads.v15.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.v15.common.CustomizerValue value = 5 + [(google.api.field_behavior) = REQUIRED]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/ad_group_criterion_customizer.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v15/resources/ad_group_criterion_label.proto b/third_party/googleapis/google/ads/googleads/v15/resources/ad_group_criterion_label.proto new file mode 100644 index 000000000..851d38096 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/ad_group_criterion_label.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/ad_group_criterion_label.proto +package google.ads.googleads.v12.resources; +======== +package google.ads.googleads.v15.resources; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/ad_group_criterion_label.proto + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/ad_group_criterion_label.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupCriterionLabelProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupCriterionLabelProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/ad_group_criterion_label.proto + +// 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/v15/resources/ad_group_criterion_simulation.proto b/third_party/googleapis/google/ads/googleads/v15/resources/ad_group_criterion_simulation.proto new file mode 100644 index 000000000..88f39336b --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/ad_group_criterion_simulation.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/ad_group_criterion_simulation.proto +package google.ads.googleads.v12.resources; + +import "google/ads/googleads/v12/common/simulation.proto"; +import "google/ads/googleads/v12/enums/simulation_modification_method.proto"; +import "google/ads/googleads/v12/enums/simulation_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupCriterionSimulationProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +package google.ads.googleads.v15.resources; + +import "google/ads/googleads/v15/common/simulation.proto"; +import "google/ads/googleads/v15/enums/simulation_modification_method.proto"; +import "google/ads/googleads/v15/enums/simulation_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupCriterionSimulationProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/ad_group_criterion_simulation.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/ad_group_criterion_simulation.proto + google.ads.googleads.v12.enums.SimulationTypeEnum.SimulationType type = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. How the simulation modifies the field. + google.ads.googleads.v12.enums.SimulationModificationMethodEnum.SimulationModificationMethod modification_method = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; +======== + google.ads.googleads.v15.enums.SimulationTypeEnum.SimulationType type = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. How the simulation modifies the field. + google.ads.googleads.v15.enums.SimulationModificationMethodEnum + .SimulationModificationMethod modification_method = 5 + [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/ad_group_criterion_simulation.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/ad_group_criterion_simulation.proto + google.ads.googleads.v12.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.v12.common.PercentCpcBidSimulationPointList percent_cpc_bid_point_list = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; +======== + google.ads.googleads.v15.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.v15.common.PercentCpcBidSimulationPointList + percent_cpc_bid_point_list = 13 + [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/ad_group_criterion_simulation.proto + } +} diff --git a/third_party/googleapis/google/ads/googleads/v15/resources/ad_group_customizer.proto b/third_party/googleapis/google/ads/googleads/v15/resources/ad_group_customizer.proto new file mode 100644 index 000000000..50314a651 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/ad_group_customizer.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/ad_group_customizer.proto +package google.ads.googleads.v12.resources; + +import "google/ads/googleads/v12/common/customizer_value.proto"; +import "google/ads/googleads/v12/enums/customizer_value_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupCustomizerProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +package google.ads.googleads.v15.resources; + +import "google/ads/googleads/v15/common/customizer_value.proto"; +import "google/ads/googleads/v15/enums/customizer_value_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupCustomizerProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/ad_group_customizer.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/ad_group_customizer.proto + google.ads.googleads.v12.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.v12.common.CustomizerValue value = 5 [(google.api.field_behavior) = REQUIRED]; +======== + google.ads.googleads.v15.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.v15.common.CustomizerValue value = 5 + [(google.api.field_behavior) = REQUIRED]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/ad_group_customizer.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v15/resources/ad_group_extension_setting.proto b/third_party/googleapis/google/ads/googleads/v15/resources/ad_group_extension_setting.proto new file mode 100644 index 000000000..b02ecd263 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/ad_group_extension_setting.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/ad_group_extension_setting.proto +package google.ads.googleads.v12.resources; + +import "google/ads/googleads/v12/enums/extension_setting_device.proto"; +import "google/ads/googleads/v12/enums/extension_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupExtensionSettingProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +package google.ads.googleads.v15.resources; + +import "google/ads/googleads/v15/enums/extension_setting_device.proto"; +import "google/ads/googleads/v15/enums/extension_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupExtensionSettingProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/ad_group_extension_setting.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/ad_group_extension_setting.proto + google.ads.googleads.v12.enums.ExtensionTypeEnum.ExtensionType extension_type = 2 [(google.api.field_behavior) = IMMUTABLE]; +======== + google.ads.googleads.v15.enums.ExtensionTypeEnum.ExtensionType + extension_type = 2 [(google.api.field_behavior) = IMMUTABLE]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/ad_group_extension_setting.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/ad_group_extension_setting.proto + google.ads.googleads.v12.enums.ExtensionSettingDeviceEnum.ExtensionSettingDevice device = 5; +======== + google.ads.googleads.v15.enums.ExtensionSettingDeviceEnum + .ExtensionSettingDevice device = 5; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/ad_group_extension_setting.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v15/resources/ad_group_feed.proto b/third_party/googleapis/google/ads/googleads/v15/resources/ad_group_feed.proto new file mode 100644 index 000000000..644f8b23f --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/ad_group_feed.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/ad_group_feed.proto +package google.ads.googleads.v12.resources; + +import "google/ads/googleads/v12/common/matching_function.proto"; +import "google/ads/googleads/v12/enums/feed_link_status.proto"; +import "google/ads/googleads/v12/enums/placeholder_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupFeedProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +package google.ads.googleads.v15.resources; + +import "google/ads/googleads/v15/common/matching_function.proto"; +import "google/ads/googleads/v15/enums/feed_link_status.proto"; +import "google/ads/googleads/v15/enums/placeholder_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupFeedProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/ad_group_feed.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/ad_group_feed.proto + repeated google.ads.googleads.v12.enums.PlaceholderTypeEnum.PlaceholderType placeholder_types = 4; +======== + repeated google.ads.googleads.v15.enums.PlaceholderTypeEnum.PlaceholderType + placeholder_types = 4; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/ad_group_feed.proto + + // Matching function associated with the AdGroupFeed. + // The matching function is used to filter the set of feed items selected. + // Required. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/ad_group_feed.proto + google.ads.googleads.v12.common.MatchingFunction matching_function = 5; + + // Output only. Status of the ad group feed. + // This field is read-only. + google.ads.googleads.v12.enums.FeedLinkStatusEnum.FeedLinkStatus status = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; +======== + google.ads.googleads.v15.common.MatchingFunction matching_function = 5; + + // Output only. Status of the ad group feed. + // This field is read-only. + google.ads.googleads.v15.enums.FeedLinkStatusEnum.FeedLinkStatus status = 6 + [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/ad_group_feed.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v15/resources/ad_group_label.proto b/third_party/googleapis/google/ads/googleads/v15/resources/ad_group_label.proto new file mode 100644 index 000000000..015cfa044 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/ad_group_label.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/ad_group_label.proto +package google.ads.googleads.v12.resources; +======== +package google.ads.googleads.v15.resources; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/ad_group_label.proto + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/ad_group_label.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupLabelProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupLabelProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/ad_group_label.proto + +// 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/v15/resources/ad_group_simulation.proto b/third_party/googleapis/google/ads/googleads/v15/resources/ad_group_simulation.proto new file mode 100644 index 000000000..8ec04ff59 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/ad_group_simulation.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/ad_group_simulation.proto +package google.ads.googleads.v12.resources; + +import "google/ads/googleads/v12/common/simulation.proto"; +import "google/ads/googleads/v12/enums/simulation_modification_method.proto"; +import "google/ads/googleads/v12/enums/simulation_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupSimulationProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +package google.ads.googleads.v15.resources; + +import "google/ads/googleads/v15/common/simulation.proto"; +import "google/ads/googleads/v15/enums/simulation_modification_method.proto"; +import "google/ads/googleads/v15/enums/simulation_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupSimulationProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/ad_group_simulation.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/ad_group_simulation.proto + google.ads.googleads.v12.enums.SimulationTypeEnum.SimulationType type = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. How the simulation modifies the field. + google.ads.googleads.v12.enums.SimulationModificationMethodEnum.SimulationModificationMethod modification_method = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; +======== + google.ads.googleads.v15.enums.SimulationTypeEnum.SimulationType type = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. How the simulation modifies the field. + google.ads.googleads.v15.enums.SimulationModificationMethodEnum + .SimulationModificationMethod modification_method = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/ad_group_simulation.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/ad_group_simulation.proto + google.ads.googleads.v12.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.v12.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.v12.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.v12.common.TargetRoasSimulationPointList target_roas_point_list = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; +======== + google.ads.googleads.v15.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.v15.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.v15.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.v15.common.TargetRoasSimulationPointList + target_roas_point_list = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/ad_group_simulation.proto + } +} diff --git a/third_party/googleapis/google/ads/googleads/v15/resources/ad_parameter.proto b/third_party/googleapis/google/ads/googleads/v15/resources/ad_parameter.proto new file mode 100644 index 000000000..2453a1e91 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/ad_parameter.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/ad_parameter.proto +package google.ads.googleads.v13.resources; +======== +package google.ads.googleads.v15.resources; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/ad_parameter.proto + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/ad_parameter.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdParameterProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdParameterProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/ad_parameter.proto + +// 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/v15/resources/ad_schedule_view.proto b/third_party/googleapis/google/ads/googleads/v15/resources/ad_schedule_view.proto new file mode 100644 index 000000000..6faa1ff1e --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/ad_schedule_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/ad_schedule_view.proto +package google.ads.googleads.v13.resources; +======== +package google.ads.googleads.v15.resources; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/ad_schedule_view.proto + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/ad_schedule_view.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdScheduleViewProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdScheduleViewProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/ad_schedule_view.proto + +// 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/v15/resources/age_range_view.proto b/third_party/googleapis/google/ads/googleads/v15/resources/age_range_view.proto new file mode 100644 index 000000000..bd4918e7c --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/age_range_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/age_range_view.proto +package google.ads.googleads.v13.resources; +======== +package google.ads.googleads.v15.resources; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/age_range_view.proto + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/age_range_view.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AgeRangeViewProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AgeRangeViewProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/age_range_view.proto + +// 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/v15/resources/android_privacy_shared_key_google_ad_group.proto b/third_party/googleapis/google/ads/googleads/v15/resources/android_privacy_shared_key_google_ad_group.proto new file mode 100644 index 000000000..c4e551214 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.v15.resources; + +import "google/ads/googleads/v15/enums/android_privacy_interaction_type.proto"; +import "google/ads/googleads/v15/enums/android_privacy_network_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AndroidPrivacySharedKeyGoogleAdGroupProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::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.v15.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.v15.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/v15/resources/android_privacy_shared_key_google_campaign.proto b/third_party/googleapis/google/ads/googleads/v15/resources/android_privacy_shared_key_google_campaign.proto new file mode 100644 index 000000000..70380f462 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.v15.resources; + +import "google/ads/googleads/v15/enums/android_privacy_interaction_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AndroidPrivacySharedKeyGoogleCampaignProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::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.v15.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/v15/resources/android_privacy_shared_key_google_network_type.proto b/third_party/googleapis/google/ads/googleads/v15/resources/android_privacy_shared_key_google_network_type.proto new file mode 100644 index 000000000..3b554a1f0 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.v15.resources; + +import "google/ads/googleads/v15/enums/android_privacy_interaction_type.proto"; +import "google/ads/googleads/v15/enums/android_privacy_network_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AndroidPrivacySharedKeyGoogleNetworkTypeProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::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.v15.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.v15.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/v15/resources/asset.proto b/third_party/googleapis/google/ads/googleads/v15/resources/asset.proto new file mode 100644 index 000000000..57b13af94 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.v15.resources; + +import "google/ads/googleads/v15/common/asset_types.proto"; +import "google/ads/googleads/v15/common/custom_parameter.proto"; +import "google/ads/googleads/v15/common/policy.proto"; +import "google/ads/googleads/v15/enums/asset_field_type.proto"; +import "google/ads/googleads/v15/enums/asset_source.proto"; +import "google/ads/googleads/v15/enums/asset_type.proto"; +import "google/ads/googleads/v15/enums/policy_approval_status.proto"; +import "google/ads/googleads/v15/enums/policy_review_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AssetProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::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.v15.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.v15.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.v15.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.v15.common.YoutubeVideoAsset youtube_video_asset = 5 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. A media bundle asset. + google.ads.googleads.v15.common.MediaBundleAsset media_bundle_asset = 6 + [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. An image asset. + google.ads.googleads.v15.common.ImageAsset image_asset = 7 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. A text asset. + google.ads.googleads.v15.common.TextAsset text_asset = 8 + [(google.api.field_behavior) = IMMUTABLE]; + + // A lead form asset. + google.ads.googleads.v15.common.LeadFormAsset lead_form_asset = 9; + + // A book on google asset. + google.ads.googleads.v15.common.BookOnGoogleAsset book_on_google_asset = 10; + + // A promotion asset. + google.ads.googleads.v15.common.PromotionAsset promotion_asset = 15; + + // A callout asset. + google.ads.googleads.v15.common.CalloutAsset callout_asset = 20; + + // A structured snippet asset. + google.ads.googleads.v15.common.StructuredSnippetAsset + structured_snippet_asset = 21; + + // A sitelink asset. + google.ads.googleads.v15.common.SitelinkAsset sitelink_asset = 22; + + // A page feed asset. + google.ads.googleads.v15.common.PageFeedAsset page_feed_asset = 23; + + // A dynamic education asset. + google.ads.googleads.v15.common.DynamicEducationAsset + dynamic_education_asset = 24; + + // A mobile app asset. + google.ads.googleads.v15.common.MobileAppAsset mobile_app_asset = 25; + + // A hotel callout asset. + google.ads.googleads.v15.common.HotelCalloutAsset hotel_callout_asset = 26; + + // A call asset. + google.ads.googleads.v15.common.CallAsset call_asset = 27; + + // A price asset. + google.ads.googleads.v15.common.PriceAsset price_asset = 28; + + // Immutable. A call to action asset. + google.ads.googleads.v15.common.CallToActionAsset call_to_action_asset = 29 + [(google.api.field_behavior) = IMMUTABLE]; + + // A dynamic real estate asset. + google.ads.googleads.v15.common.DynamicRealEstateAsset + dynamic_real_estate_asset = 30; + + // A dynamic custom asset. + google.ads.googleads.v15.common.DynamicCustomAsset dynamic_custom_asset = + 31; + + // A dynamic hotels and rentals asset. + google.ads.googleads.v15.common.DynamicHotelsAndRentalsAsset + dynamic_hotels_and_rentals_asset = 32; + + // A dynamic flights asset. + google.ads.googleads.v15.common.DynamicFlightsAsset dynamic_flights_asset = + 33; + + // Immutable. A discovery carousel card asset. + google.ads.googleads.v15.common.DiscoveryCarouselCardAsset + discovery_carousel_card_asset = 34 + [(google.api.field_behavior) = IMMUTABLE]; + + // A dynamic travel asset. + google.ads.googleads.v15.common.DynamicTravelAsset dynamic_travel_asset = + 35; + + // A dynamic local asset. + google.ads.googleads.v15.common.DynamicLocalAsset dynamic_local_asset = 36; + + // A dynamic jobs asset. + google.ads.googleads.v15.common.DynamicJobsAsset dynamic_jobs_asset = 37; + + // Output only. A location asset. + google.ads.googleads.v15.common.LocationAsset location_asset = 39 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. A hotel property asset. + google.ads.googleads.v15.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.v15.enums.AssetFieldTypeEnum.AssetFieldType + asset_field_type = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Source of this asset. + optional google.ads.googleads.v15.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.v15.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.v15.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.v15.enums.PolicyApprovalStatusEnum.PolicyApprovalStatus + approval_status = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v15/resources/asset_field_type_view.proto b/third_party/googleapis/google/ads/googleads/v15/resources/asset_field_type_view.proto new file mode 100644 index 000000000..57b2b0ebb --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/asset_field_type_view.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/asset_field_type_view.proto +package google.ads.googleads.v12.resources; + +import "google/ads/googleads/v12/enums/asset_field_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AssetFieldTypeViewProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +package google.ads.googleads.v15.resources; + +import "google/ads/googleads/v15/enums/asset_field_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AssetFieldTypeViewProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/asset_field_type_view.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/asset_field_type_view.proto + google.ads.googleads.v12.enums.AssetFieldTypeEnum.AssetFieldType field_type = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; +======== + google.ads.googleads.v15.enums.AssetFieldTypeEnum.AssetFieldType field_type = + 3 [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/asset_field_type_view.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v15/resources/asset_group.proto b/third_party/googleapis/google/ads/googleads/v15/resources/asset_group.proto new file mode 100644 index 000000000..59ace9400 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/asset_group.proto @@ -0,0 +1,139 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/asset_group.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/asset_group.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/asset_group.proto +package google.ads.googleads.v13.resources; + +import "google/ads/googleads/v13/enums/ad_strength.proto"; +import "google/ads/googleads/v13/enums/asset_group_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AssetGroupProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +package google.ads.googleads.v15.resources; + +import "google/ads/googleads/v15/enums/ad_strength.proto"; +import "google/ads/googleads/v15/enums/asset_group_primary_status.proto"; +import "google/ads/googleads/v15/enums/asset_group_primary_status_reason.proto"; +import "google/ads/googleads/v15/enums/asset_group_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AssetGroupProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/asset_group.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/asset_group.proto + google.ads.googleads.v13.enums.AssetGroupStatusEnum.AssetGroupStatus status = + 6; +======== + google.ads.googleads.v15.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.v15.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.v15.enums.AssetGroupPrimaryStatusReasonEnum + .AssetGroupPrimaryStatusReason primary_status_reasons = 12 + [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/asset_group.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/asset_group.proto + google.ads.googleads.v13.enums.AdStrengthEnum.AdStrength ad_strength = 10 +======== + google.ads.googleads.v15.enums.AdStrengthEnum.AdStrength ad_strength = 10 +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/asset_group.proto + [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v15/resources/asset_group_asset.proto b/third_party/googleapis/google/ads/googleads/v15/resources/asset_group_asset.proto new file mode 100644 index 000000000..bf774cbf0 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.v15.resources; + +import "google/ads/googleads/v15/common/asset_policy.proto"; +import "google/ads/googleads/v15/common/policy_summary.proto"; +import "google/ads/googleads/v15/enums/asset_field_type.proto"; +import "google/ads/googleads/v15/enums/asset_link_primary_status.proto"; +import "google/ads/googleads/v15/enums/asset_link_primary_status_reason.proto"; +import "google/ads/googleads/v15/enums/asset_link_status.proto"; +import "google/ads/googleads/v15/enums/asset_performance_label.proto"; +import "google/ads/googleads/v15/enums/asset_source.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AssetGroupAssetProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::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.v15.enums.AssetFieldTypeEnum.AssetFieldType field_type = + 4; + + // The status of the link between an asset and asset group. + google.ads.googleads.v15.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.v15.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.v15.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.v15.common.AssetLinkPrimaryStatusDetails + primary_status_details = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The performance of this asset group asset. + google.ads.googleads.v15.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.v15.common.PolicySummary policy_summary = 7 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Source of the asset group asset. + google.ads.googleads.v15.enums.AssetSourceEnum.AssetSource source = 11 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v15/resources/asset_group_listing_group_filter.proto b/third_party/googleapis/google/ads/googleads/v15/resources/asset_group_listing_group_filter.proto new file mode 100644 index 000000000..884748393 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.v15.resources; + +import "google/ads/googleads/v15/enums/listing_group_filter_custom_attribute_index.proto"; +import "google/ads/googleads/v15/enums/listing_group_filter_listing_source.proto"; +import "google/ads/googleads/v15/enums/listing_group_filter_product_category_level.proto"; +import "google/ads/googleads/v15/enums/listing_group_filter_product_channel.proto"; +import "google/ads/googleads/v15/enums/listing_group_filter_product_condition.proto"; +import "google/ads/googleads/v15/enums/listing_group_filter_product_type_level.proto"; +import "google/ads/googleads/v15/enums/listing_group_filter_type_enum.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AssetGroupListingGroupFilterProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::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.v15.enums.ListingGroupFilterTypeEnum + .ListingGroupFilterType type = 4 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. The source of listings filtered by this listing group filter. + google.ads.googleads.v15.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.v15.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.v15.enums.ListingGroupFilterProductChannelEnum + .ListingGroupFilterProductChannel channel = 1; + } + + // Condition of a product offer. + message ProductCondition { + // Value of the condition. + google.ads.googleads.v15.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.v15.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.v15.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/v15/resources/asset_group_product_group_view.proto b/third_party/googleapis/google/ads/googleads/v15/resources/asset_group_product_group_view.proto new file mode 100644 index 000000000..68f337d74 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/asset_group_product_group_view.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/asset_group_product_group_view.proto +package google.ads.googleads.v13.resources; +======== +package google.ads.googleads.v15.resources; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/asset_group_product_group_view.proto + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/asset_group_product_group_view.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AssetGroupProductGroupViewProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AssetGroupProductGroupViewProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/asset_group_product_group_view.proto + +// 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/v15/resources/asset_group_signal.proto b/third_party/googleapis/google/ads/googleads/v15/resources/asset_group_signal.proto new file mode 100644 index 000000000..803525cd8 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.v15.resources; + +import "google/ads/googleads/v15/common/criteria.proto"; +import "google/ads/googleads/v15/enums/asset_group_signal_approval_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AssetGroupSignalProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::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.v15.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.v15.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.v15.common.SearchThemeInfo search_theme = 5 + [(google.api.field_behavior) = IMMUTABLE]; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v15/resources/asset_group_top_combination_view.proto b/third_party/googleapis/google/ads/googleads/v15/resources/asset_group_top_combination_view.proto new file mode 100644 index 000000000..2aef455f1 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.v15.resources; + +import "google/ads/googleads/v15/common/asset_usage.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AssetGroupTopCombinationViewProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::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.v15.common.AssetUsage + asset_combination_served_assets = 1 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v15/resources/asset_set.proto b/third_party/googleapis/google/ads/googleads/v15/resources/asset_set.proto new file mode 100644 index 000000000..2dde7cd99 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.v15.resources; + +import "google/ads/googleads/v15/common/asset_set_types.proto"; +import "google/ads/googleads/v15/enums/asset_set_status.proto"; +import "google/ads/googleads/v15/enums/asset_set_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AssetSetProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::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.v15.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.v15.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.v15.common.LocationSet location_set = 7; + + // Business Profile location group asset set data. + google.ads.googleads.v15.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.v15.common.ChainLocationGroup chain_location_group = 9; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v15/resources/asset_set_asset.proto b/third_party/googleapis/google/ads/googleads/v15/resources/asset_set_asset.proto new file mode 100644 index 000000000..01bd3336d --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/asset_set_asset.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/asset_set_asset.proto +package google.ads.googleads.v12.resources; + +import "google/ads/googleads/v12/enums/asset_set_asset_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AssetSetAssetProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +package google.ads.googleads.v15.resources; + +import "google/ads/googleads/v15/enums/asset_set_asset_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AssetSetAssetProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/asset_set_asset.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/asset_set_asset.proto + google.ads.googleads.v12.enums.AssetSetAssetStatusEnum.AssetSetAssetStatus status = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; +======== + google.ads.googleads.v15.enums.AssetSetAssetStatusEnum.AssetSetAssetStatus + status = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/asset_set_asset.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v15/resources/asset_set_type_view.proto b/third_party/googleapis/google/ads/googleads/v15/resources/asset_set_type_view.proto new file mode 100644 index 000000000..e682a69b2 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.v15.resources; + +import "google/ads/googleads/v15/enums/asset_set_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AssetSetTypeViewProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::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.v15.enums.AssetSetTypeEnum.AssetSetType asset_set_type = + 3 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v15/resources/audience.proto b/third_party/googleapis/google/ads/googleads/v15/resources/audience.proto new file mode 100644 index 000000000..8fc9daaf5 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.v15.resources; + +import "google/ads/googleads/v15/common/audiences.proto"; +import "google/ads/googleads/v15/enums/audience_scope.proto"; +import "google/ads/googleads/v15/enums/audience_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AudienceProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::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.v15.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.v15.common.AudienceDimension dimensions = 6; + + // Negative dimension specifying the audience composition. + google.ads.googleads.v15.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.v15.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/v15/resources/batch_job.proto b/third_party/googleapis/google/ads/googleads/v15/resources/batch_job.proto new file mode 100644 index 000000000..4a8aafc0a --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/batch_job.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/batch_job.proto +package google.ads.googleads.v12.resources; + +import "google/ads/googleads/v12/enums/batch_job_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "BatchJobProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +package google.ads.googleads.v15.resources; + +import "google/ads/googleads/v15/enums/batch_job_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "BatchJobProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/batch_job.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/batch_job.proto + google.ads.googleads.v12.enums.BatchJobStatusEnum.BatchJobStatus status = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; +======== + google.ads.googleads.v15.enums.BatchJobStatusEnum.BatchJobStatus status = 5 + [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/batch_job.proto + + // 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/v15/resources/bidding_data_exclusion.proto b/third_party/googleapis/google/ads/googleads/v15/resources/bidding_data_exclusion.proto new file mode 100644 index 000000000..f540af72e --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/bidding_data_exclusion.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/bidding_data_exclusion.proto +package google.ads.googleads.v12.resources; + +import "google/ads/googleads/v12/enums/advertising_channel_type.proto"; +import "google/ads/googleads/v12/enums/device.proto"; +import "google/ads/googleads/v12/enums/seasonality_event_scope.proto"; +import "google/ads/googleads/v12/enums/seasonality_event_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "BiddingDataExclusionProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +package google.ads.googleads.v15.resources; + +import "google/ads/googleads/v15/enums/advertising_channel_type.proto"; +import "google/ads/googleads/v15/enums/device.proto"; +import "google/ads/googleads/v15/enums/seasonality_event_scope.proto"; +import "google/ads/googleads/v15/enums/seasonality_event_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "BiddingDataExclusionProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/bidding_data_exclusion.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/bidding_data_exclusion.proto + google.ads.googleads.v12.enums.SeasonalityEventScopeEnum.SeasonalityEventScope scope = 3; + + // Output only. The status of the data exclusion. + google.ads.googleads.v12.enums.SeasonalityEventStatusEnum.SeasonalityEventStatus status = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; +======== + google.ads.googleads.v15.enums.SeasonalityEventScopeEnum.SeasonalityEventScope + scope = 3; + + // Output only. The status of the data exclusion. + google.ads.googleads.v15.enums.SeasonalityEventStatusEnum + .SeasonalityEventStatus status = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/bidding_data_exclusion.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/bidding_data_exclusion.proto + repeated google.ads.googleads.v12.enums.DeviceEnum.Device devices = 9; +======== + repeated google.ads.googleads.v15.enums.DeviceEnum.Device devices = 9; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/bidding_data_exclusion.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/bidding_data_exclusion.proto + repeated google.ads.googleads.v12.enums.AdvertisingChannelTypeEnum.AdvertisingChannelType advertising_channel_types = 11; +======== + repeated google.ads.googleads.v15.enums.AdvertisingChannelTypeEnum + .AdvertisingChannelType advertising_channel_types = 11; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/bidding_data_exclusion.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v15/resources/bidding_seasonality_adjustment.proto b/third_party/googleapis/google/ads/googleads/v15/resources/bidding_seasonality_adjustment.proto new file mode 100644 index 000000000..7e7629743 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/bidding_seasonality_adjustment.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/bidding_seasonality_adjustment.proto +package google.ads.googleads.v12.resources; + +import "google/ads/googleads/v12/enums/advertising_channel_type.proto"; +import "google/ads/googleads/v12/enums/device.proto"; +import "google/ads/googleads/v12/enums/seasonality_event_scope.proto"; +import "google/ads/googleads/v12/enums/seasonality_event_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "BiddingSeasonalityAdjustmentProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +package google.ads.googleads.v15.resources; + +import "google/ads/googleads/v15/enums/advertising_channel_type.proto"; +import "google/ads/googleads/v15/enums/device.proto"; +import "google/ads/googleads/v15/enums/seasonality_event_scope.proto"; +import "google/ads/googleads/v15/enums/seasonality_event_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "BiddingSeasonalityAdjustmentProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/bidding_seasonality_adjustment.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/bidding_seasonality_adjustment.proto + google.ads.googleads.v12.enums.SeasonalityEventScopeEnum.SeasonalityEventScope scope = 3; + + // Output only. The status of the seasonality adjustment. + google.ads.googleads.v12.enums.SeasonalityEventStatusEnum.SeasonalityEventStatus status = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; +======== + google.ads.googleads.v15.enums.SeasonalityEventScopeEnum.SeasonalityEventScope + scope = 3; + + // Output only. The status of the seasonality adjustment. + google.ads.googleads.v15.enums.SeasonalityEventStatusEnum + .SeasonalityEventStatus status = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/bidding_seasonality_adjustment.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/bidding_seasonality_adjustment.proto + repeated google.ads.googleads.v12.enums.DeviceEnum.Device devices = 9; +======== + repeated google.ads.googleads.v15.enums.DeviceEnum.Device devices = 9; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/bidding_seasonality_adjustment.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/bidding_seasonality_adjustment.proto + repeated google.ads.googleads.v12.enums.AdvertisingChannelTypeEnum.AdvertisingChannelType advertising_channel_types = 12; +======== + repeated google.ads.googleads.v15.enums.AdvertisingChannelTypeEnum + .AdvertisingChannelType advertising_channel_types = 12; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/bidding_seasonality_adjustment.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v15/resources/bidding_strategy.proto b/third_party/googleapis/google/ads/googleads/v15/resources/bidding_strategy.proto new file mode 100644 index 000000000..d3f69f37e --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/bidding_strategy.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/bidding_strategy.proto +package google.ads.googleads.v12.resources; + +import "google/ads/googleads/v12/common/bidding.proto"; +import "google/ads/googleads/v12/enums/bidding_strategy_status.proto"; +import "google/ads/googleads/v12/enums/bidding_strategy_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "BiddingStrategyProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +package google.ads.googleads.v15.resources; + +import "google/ads/googleads/v15/common/bidding.proto"; +import "google/ads/googleads/v15/enums/bidding_strategy_status.proto"; +import "google/ads/googleads/v15/enums/bidding_strategy_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "BiddingStrategyProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/bidding_strategy.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/bidding_strategy.proto + google.ads.googleads.v12.enums.BiddingStrategyStatusEnum.BiddingStrategyStatus status = 15 [(google.api.field_behavior) = OUTPUT_ONLY]; +======== + google.ads.googleads.v15.enums.BiddingStrategyStatusEnum.BiddingStrategyStatus + status = 15 [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/bidding_strategy.proto + + // Output only. The type of the bidding strategy. + // Create a bidding strategy by setting the bidding scheme. + // + // This field is read-only. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/bidding_strategy.proto + google.ads.googleads.v12.enums.BiddingStrategyTypeEnum.BiddingStrategyType type = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; +======== + google.ads.googleads.v15.enums.BiddingStrategyTypeEnum.BiddingStrategyType + type = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/bidding_strategy.proto + + // 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; + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/bidding_strategy.proto + google.ads.googleads.v12.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.v12.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.v12.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.v12.common.TargetCpa target_cpa = 9; + + // A bidding strategy that automatically optimizes towards a chosen + // percentage of impressions. + google.ads.googleads.v12.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.v12.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.v12.common.TargetSpend target_spend = 12; +======== + google.ads.googleads.v15.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.v15.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.v15.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.v15.common.TargetCpa target_cpa = 9; + + // A bidding strategy that automatically optimizes towards a chosen + // percentage of impressions. + google.ads.googleads.v15.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.v15.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.v15.common.TargetSpend target_spend = 12; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/bidding_strategy.proto + } +} diff --git a/third_party/googleapis/google/ads/googleads/v15/resources/bidding_strategy_simulation.proto b/third_party/googleapis/google/ads/googleads/v15/resources/bidding_strategy_simulation.proto new file mode 100644 index 000000000..9d2764db1 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/bidding_strategy_simulation.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/bidding_strategy_simulation.proto +package google.ads.googleads.v12.resources; + +import "google/ads/googleads/v12/common/simulation.proto"; +import "google/ads/googleads/v12/enums/simulation_modification_method.proto"; +import "google/ads/googleads/v12/enums/simulation_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "BiddingStrategySimulationProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +package google.ads.googleads.v15.resources; + +import "google/ads/googleads/v15/common/simulation.proto"; +import "google/ads/googleads/v15/enums/simulation_modification_method.proto"; +import "google/ads/googleads/v15/enums/simulation_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "BiddingStrategySimulationProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/bidding_strategy_simulation.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/bidding_strategy_simulation.proto + google.ads.googleads.v12.enums.SimulationTypeEnum.SimulationType type = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. How the simulation modifies the field. + google.ads.googleads.v12.enums.SimulationModificationMethodEnum.SimulationModificationMethod modification_method = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; +======== + google.ads.googleads.v15.enums.SimulationTypeEnum.SimulationType type = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. How the simulation modifies the field. + google.ads.googleads.v15.enums.SimulationModificationMethodEnum + .SimulationModificationMethod modification_method = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/bidding_strategy_simulation.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/bidding_strategy_simulation.proto + google.ads.googleads.v12.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.v12.common.TargetRoasSimulationPointList target_roas_point_list = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; +======== + google.ads.googleads.v15.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.v15.common.TargetRoasSimulationPointList + target_roas_point_list = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/bidding_strategy_simulation.proto + } +} diff --git a/third_party/googleapis/google/ads/googleads/v15/resources/billing_setup.proto b/third_party/googleapis/google/ads/googleads/v15/resources/billing_setup.proto new file mode 100644 index 000000000..45ae201c1 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/billing_setup.proto @@ -0,0 +1,195 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/billing_setup.proto +package google.ads.googleads.v12.resources; + +import "google/ads/googleads/v12/enums/billing_setup_status.proto"; +import "google/ads/googleads/v12/enums/time_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "BillingSetupProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +package google.ads.googleads.v15.resources; + +import "google/ads/googleads/v15/enums/billing_setup_status.proto"; +import "google/ads/googleads/v15/enums/time_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "BillingSetupProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/billing_setup.proto + +// 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". +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/billing_setup.proto + optional string payments_account_id = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; +======== + optional string payments_account_id = 6 + [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/billing_setup.proto + + // 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". +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/billing_setup.proto + optional string payments_profile_id = 8 [(google.api.field_behavior) = IMMUTABLE]; +======== + optional string payments_profile_id = 8 + [(google.api.field_behavior) = IMMUTABLE]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/billing_setup.proto + + // 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]; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/billing_setup.proto + // 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]; +======== + // 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]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/billing_setup.proto + } + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/billing_setup.proto + google.ads.googleads.v12.enums.BillingSetupStatusEnum.BillingSetupStatus status = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; +======== + google.ads.googleads.v15.enums.BillingSetupStatusEnum.BillingSetupStatus + status = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/billing_setup.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/billing_setup.proto + google.ads.googleads.v12.enums.TimeTypeEnum.TimeType start_time_type = 10 [(google.api.field_behavior) = IMMUTABLE]; +======== + google.ads.googleads.v15.enums.TimeTypeEnum.TimeType start_time_type = 10 + [(google.api.field_behavior) = IMMUTABLE]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/billing_setup.proto + } + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/billing_setup.proto + google.ads.googleads.v12.enums.TimeTypeEnum.TimeType end_time_type = 14 [(google.api.field_behavior) = OUTPUT_ONLY]; +======== + google.ads.googleads.v15.enums.TimeTypeEnum.TimeType end_time_type = 14 + [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/billing_setup.proto + } +} diff --git a/third_party/googleapis/google/ads/googleads/v15/resources/call_view.proto b/third_party/googleapis/google/ads/googleads/v15/resources/call_view.proto new file mode 100644 index 000000000..502c1e99b --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/call_view.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/call_view.proto +package google.ads.googleads.v12.resources; + +import "google/ads/googleads/v12/enums/call_tracking_display_location.proto"; +import "google/ads/googleads/v12/enums/call_type.proto"; +import "google/ads/googleads/v12/enums/google_voice_call_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CallViewProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +package google.ads.googleads.v15.resources; + +import "google/ads/googleads/v15/enums/call_tracking_display_location.proto"; +import "google/ads/googleads/v15/enums/call_type.proto"; +import "google/ads/googleads/v15/enums/google_voice_call_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CallViewProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/call_view.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/call_view.proto + google.ads.googleads.v12.enums.CallTrackingDisplayLocationEnum.CallTrackingDisplayLocation call_tracking_display_location = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The type of the call. + google.ads.googleads.v12.enums.CallTypeEnum.CallType type = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The status of the call. + google.ads.googleads.v12.enums.GoogleVoiceCallStatusEnum.GoogleVoiceCallStatus call_status = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; +======== + google.ads.googleads.v15.enums.CallTrackingDisplayLocationEnum + .CallTrackingDisplayLocation call_tracking_display_location = 7 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The type of the call. + google.ads.googleads.v15.enums.CallTypeEnum.CallType type = 8 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The status of the call. + google.ads.googleads.v15.enums.GoogleVoiceCallStatusEnum.GoogleVoiceCallStatus + call_status = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/call_view.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v15/resources/campaign.proto b/third_party/googleapis/google/ads/googleads/v15/resources/campaign.proto new file mode 100644 index 000000000..6013859e3 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/campaign.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.v15.resources; + +import "google/ads/googleads/v15/common/bidding.proto"; +import "google/ads/googleads/v15/common/custom_parameter.proto"; +import "google/ads/googleads/v15/common/frequency_cap.proto"; +import "google/ads/googleads/v15/common/real_time_bidding_setting.proto"; +import "google/ads/googleads/v15/common/targeting_setting.proto"; +import "google/ads/googleads/v15/enums/ad_serving_optimization_status.proto"; +import "google/ads/googleads/v15/enums/advertising_channel_sub_type.proto"; +import "google/ads/googleads/v15/enums/advertising_channel_type.proto"; +import "google/ads/googleads/v15/enums/app_campaign_app_store.proto"; +import "google/ads/googleads/v15/enums/app_campaign_bidding_strategy_goal_type.proto"; +import "google/ads/googleads/v15/enums/asset_automation_status.proto"; +import "google/ads/googleads/v15/enums/asset_automation_type.proto"; +import "google/ads/googleads/v15/enums/asset_field_type.proto"; +import "google/ads/googleads/v15/enums/asset_set_type.proto"; +import "google/ads/googleads/v15/enums/bidding_strategy_system_status.proto"; +import "google/ads/googleads/v15/enums/bidding_strategy_type.proto"; +import "google/ads/googleads/v15/enums/brand_safety_suitability.proto"; +import "google/ads/googleads/v15/enums/campaign_experiment_type.proto"; +import "google/ads/googleads/v15/enums/campaign_primary_status.proto"; +import "google/ads/googleads/v15/enums/campaign_primary_status_reason.proto"; +import "google/ads/googleads/v15/enums/campaign_serving_status.proto"; +import "google/ads/googleads/v15/enums/campaign_status.proto"; +import "google/ads/googleads/v15/enums/listing_type.proto"; +import "google/ads/googleads/v15/enums/location_source_type.proto"; +import "google/ads/googleads/v15/enums/negative_geo_target_type.proto"; +import "google/ads/googleads/v15/enums/optimization_goal_type.proto"; +import "google/ads/googleads/v15/enums/payment_mode.proto"; +import "google/ads/googleads/v15/enums/performance_max_upgrade_status.proto"; +import "google/ads/googleads/v15/enums/positive_geo_target_type.proto"; +import "google/ads/googleads/v15/enums/vanity_pharma_display_url_mode.proto"; +import "google/ads/googleads/v15/enums/vanity_pharma_text.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::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.v15.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 { + // Immutable. 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 [(google.api.field_behavior) = IMMUTABLE]; + + // 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]; + } + + // 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.v15.enums.PositiveGeoTargetTypeEnum + .PositiveGeoTargetType positive_geo_target_type = 1; + + // The setting used for negative geotargeting in this particular campaign. + google.ads.googleads.v15.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.v15.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.v15.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.v15.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.v15.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.v15.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.v15.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.v15.enums.AssetAutomationTypeEnum + .AssetAutomationType asset_automation_type = 1; + + // The opt-in/out status of asset automation type. + optional google.ads.googleads.v15.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.v15.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.v15.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.v15.enums.CampaignStatusEnum.CampaignStatus status = 5; + + // Output only. The ad serving status of the campaign. + google.ads.googleads.v15.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.v15.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.v15.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.v15.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.v15.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.v15.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.v15.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.v15.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.v15.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.v15.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.v15.common.FrequencyCapEntry frequency_caps = + 40; + + // Output only. 3-Tier Brand Safety setting for the campaign. + google.ads.googleads.v15.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.v15.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.v15.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.v15.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.v15.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.v15.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.v15.common.ManualCpa manual_cpa = 74; + + // Standard Manual CPC bidding strategy. + // Manual click-based bidding where user pays per click. + google.ads.googleads.v15.common.ManualCpc manual_cpc = 24; + + // Standard Manual CPM bidding strategy. + // Manual impression-based bidding where user pays per thousand + // impressions. + google.ads.googleads.v15.common.ManualCpm manual_cpm = 25; + + // A bidding strategy that pays a configurable amount per video view. + google.ads.googleads.v15.common.ManualCpv manual_cpv = 37; + + // Standard Maximize Conversions bidding strategy that automatically + // maximizes number of conversions while spending your budget. + google.ads.googleads.v15.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.v15.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.v15.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.v15.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.v15.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.v15.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.v15.common.PercentCpc percent_cpc = 34; + + // A bidding strategy that automatically optimizes cost per thousand + // impressions. + google.ads.googleads.v15.common.TargetCpm target_cpm = 41; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v15/resources/campaign_asset.proto b/third_party/googleapis/google/ads/googleads/v15/resources/campaign_asset.proto new file mode 100644 index 000000000..b2872af46 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.v15.resources; + +import "google/ads/googleads/v15/common/asset_policy.proto"; +import "google/ads/googleads/v15/enums/asset_field_type.proto"; +import "google/ads/googleads/v15/enums/asset_link_primary_status.proto"; +import "google/ads/googleads/v15/enums/asset_link_primary_status_reason.proto"; +import "google/ads/googleads/v15/enums/asset_link_status.proto"; +import "google/ads/googleads/v15/enums/asset_source.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignAssetProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::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.v15.enums.AssetFieldTypeEnum.AssetFieldType field_type = + 4 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. Source of the campaign asset link. + google.ads.googleads.v15.enums.AssetSourceEnum.AssetSource source = 8 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Status of the campaign asset. + google.ads.googleads.v15.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.v15.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.v15.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.v15.enums.AssetLinkPrimaryStatusReasonEnum + .AssetLinkPrimaryStatusReason primary_status_reasons = 11 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v15/resources/campaign_asset_set.proto b/third_party/googleapis/google/ads/googleads/v15/resources/campaign_asset_set.proto new file mode 100644 index 000000000..8c27d3767 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/campaign_asset_set.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/campaign_asset_set.proto +package google.ads.googleads.v12.resources; + +import "google/ads/googleads/v12/enums/asset_set_link_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignAssetSetProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +package google.ads.googleads.v15.resources; + +import "google/ads/googleads/v15/enums/asset_set_link_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignAssetSetProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/campaign_asset_set.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/campaign_asset_set.proto + google.ads.googleads.v12.enums.AssetSetLinkStatusEnum.AssetSetLinkStatus status = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; +======== + google.ads.googleads.v15.enums.AssetSetLinkStatusEnum.AssetSetLinkStatus + status = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/campaign_asset_set.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v15/resources/campaign_audience_view.proto b/third_party/googleapis/google/ads/googleads/v15/resources/campaign_audience_view.proto new file mode 100644 index 000000000..8645f54d9 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/campaign_audience_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/campaign_audience_view.proto +package google.ads.googleads.v13.resources; +======== +package google.ads.googleads.v15.resources; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/campaign_audience_view.proto + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/campaign_audience_view.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignAudienceViewProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignAudienceViewProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/campaign_audience_view.proto + +// 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/v15/resources/campaign_bid_modifier.proto b/third_party/googleapis/google/ads/googleads/v15/resources/campaign_bid_modifier.proto new file mode 100644 index 000000000..e0f013386 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/campaign_bid_modifier.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/campaign_bid_modifier.proto +package google.ads.googleads.v12.resources; + +import "google/ads/googleads/v12/common/criteria.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignBidModifierProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +package google.ads.googleads.v15.resources; + +import "google/ads/googleads/v15/common/criteria.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignBidModifierProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/campaign_bid_modifier.proto + +// 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 { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/campaign_bid_modifier.proto + // Immutable. Criterion for interaction type. Only supported for search campaigns. + google.ads.googleads.v12.common.InteractionTypeInfo interaction_type = 5 [(google.api.field_behavior) = IMMUTABLE]; +======== + // Immutable. Criterion for interaction type. Only supported for search + // campaigns. + google.ads.googleads.v15.common.InteractionTypeInfo interaction_type = 5 + [(google.api.field_behavior) = IMMUTABLE]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/campaign_bid_modifier.proto + } +} diff --git a/third_party/googleapis/google/ads/googleads/v15/resources/campaign_budget.proto b/third_party/googleapis/google/ads/googleads/v15/resources/campaign_budget.proto new file mode 100644 index 000000000..668bfdfe6 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/campaign_budget.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/campaign_budget.proto +package google.ads.googleads.v12.resources; + +import "google/ads/googleads/v12/enums/budget_delivery_method.proto"; +import "google/ads/googleads/v12/enums/budget_period.proto"; +import "google/ads/googleads/v12/enums/budget_status.proto"; +import "google/ads/googleads/v12/enums/budget_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignBudgetProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +package google.ads.googleads.v15.resources; + +import "google/ads/googleads/v15/enums/budget_delivery_method.proto"; +import "google/ads/googleads/v15/enums/budget_period.proto"; +import "google/ads/googleads/v15/enums/budget_status.proto"; +import "google/ads/googleads/v15/enums/budget_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignBudgetProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/campaign_budget.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/campaign_budget.proto + google.ads.googleads.v12.enums.BudgetStatusEnum.BudgetStatus status = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; +======== + google.ads.googleads.v15.enums.BudgetStatusEnum.BudgetStatus status = 6 + [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/campaign_budget.proto + + // The delivery method that determines the rate at which the campaign budget + // is spent. + // + // Defaults to STANDARD if unspecified in a create operation. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/campaign_budget.proto + google.ads.googleads.v12.enums.BudgetDeliveryMethodEnum.BudgetDeliveryMethod delivery_method = 7; +======== + google.ads.googleads.v15.enums.BudgetDeliveryMethodEnum.BudgetDeliveryMethod + delivery_method = 7; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/campaign_budget.proto + + // 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]; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/campaign_budget.proto + // Immutable. Period over which to spend the budget. Defaults to DAILY if not specified. + google.ads.googleads.v12.enums.BudgetPeriodEnum.BudgetPeriod period = 13 [(google.api.field_behavior) = IMMUTABLE]; +======== + // Immutable. Period over which to spend the budget. Defaults to DAILY if not + // specified. + google.ads.googleads.v15.enums.BudgetPeriodEnum.BudgetPeriod period = 13 + [(google.api.field_behavior) = IMMUTABLE]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/campaign_budget.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/campaign_budget.proto + google.ads.googleads.v12.enums.BudgetTypeEnum.BudgetType type = 18 [(google.api.field_behavior) = IMMUTABLE]; +======== + google.ads.googleads.v15.enums.BudgetTypeEnum.BudgetType type = 18 + [(google.api.field_behavior) = IMMUTABLE]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/campaign_budget.proto + + // 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/v15/resources/campaign_conversion_goal.proto b/third_party/googleapis/google/ads/googleads/v15/resources/campaign_conversion_goal.proto new file mode 100644 index 000000000..aa30db715 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/campaign_conversion_goal.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/campaign_conversion_goal.proto +package google.ads.googleads.v12.resources; + +import "google/ads/googleads/v12/enums/conversion_action_category.proto"; +import "google/ads/googleads/v12/enums/conversion_origin.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignConversionGoalProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +package google.ads.googleads.v15.resources; + +import "google/ads/googleads/v15/enums/conversion_action_category.proto"; +import "google/ads/googleads/v15/enums/conversion_origin.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignConversionGoalProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/campaign_conversion_goal.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/campaign_conversion_goal.proto + google.ads.googleads.v12.enums.ConversionActionCategoryEnum.ConversionActionCategory category = 3; + + // The conversion origin of this campaign conversion goal. + google.ads.googleads.v12.enums.ConversionOriginEnum.ConversionOrigin origin = 4; +======== + google.ads.googleads.v15.enums.ConversionActionCategoryEnum + .ConversionActionCategory category = 3; + + // The conversion origin of this campaign conversion goal. + google.ads.googleads.v15.enums.ConversionOriginEnum.ConversionOrigin origin = + 4; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/campaign_conversion_goal.proto + + // The biddability of the campaign conversion goal. + bool biddable = 5; +} diff --git a/third_party/googleapis/google/ads/googleads/v15/resources/campaign_criterion.proto b/third_party/googleapis/google/ads/googleads/v15/resources/campaign_criterion.proto new file mode 100644 index 000000000..de74ceb37 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.v15.resources; + +import "google/ads/googleads/v15/common/criteria.proto"; +import "google/ads/googleads/v15/enums/campaign_criterion_status.proto"; +import "google/ads/googleads/v15/enums/criterion_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignCriterionProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::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.v15.enums.CriterionTypeEnum.CriterionType type = 6 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The status of the criterion. + google.ads.googleads.v15.enums.CampaignCriterionStatusEnum + .CampaignCriterionStatus status = 35; + + // The campaign criterion. + // + // Exactly one must be set. + oneof criterion { + // Immutable. Keyword. + google.ads.googleads.v15.common.KeywordInfo keyword = 8 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Placement. + google.ads.googleads.v15.common.PlacementInfo placement = 9 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Mobile app category. + google.ads.googleads.v15.common.MobileAppCategoryInfo mobile_app_category = + 10 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Mobile application. + google.ads.googleads.v15.common.MobileApplicationInfo mobile_application = + 11 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Location. + google.ads.googleads.v15.common.LocationInfo location = 12 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Device. + google.ads.googleads.v15.common.DeviceInfo device = 13 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Ad Schedule. + google.ads.googleads.v15.common.AdScheduleInfo ad_schedule = 15 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Age range. + google.ads.googleads.v15.common.AgeRangeInfo age_range = 16 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Gender. + google.ads.googleads.v15.common.GenderInfo gender = 17 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Income range. + google.ads.googleads.v15.common.IncomeRangeInfo income_range = 18 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Parental status. + google.ads.googleads.v15.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.v15.common.UserListInfo user_list = 22 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. YouTube Video. + google.ads.googleads.v15.common.YouTubeVideoInfo youtube_video = 20 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. YouTube Channel. + google.ads.googleads.v15.common.YouTubeChannelInfo youtube_channel = 21 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Proximity. + google.ads.googleads.v15.common.ProximityInfo proximity = 23 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Topic. + google.ads.googleads.v15.common.TopicInfo topic = 24 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Listing scope. + google.ads.googleads.v15.common.ListingScopeInfo listing_scope = 25 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Language. + google.ads.googleads.v15.common.LanguageInfo language = 26 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. IpBlock. + google.ads.googleads.v15.common.IpBlockInfo ip_block = 27 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. ContentLabel. + google.ads.googleads.v15.common.ContentLabelInfo content_label = 28 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Carrier. + google.ads.googleads.v15.common.CarrierInfo carrier = 29 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. User Interest. + google.ads.googleads.v15.common.UserInterestInfo user_interest = 30 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Webpage. + google.ads.googleads.v15.common.WebpageInfo webpage = 31 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Operating system version. + google.ads.googleads.v15.common.OperatingSystemVersionInfo + operating_system_version = 32 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Mobile Device. + google.ads.googleads.v15.common.MobileDeviceInfo mobile_device = 33 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Location Group + google.ads.googleads.v15.common.LocationGroupInfo location_group = 34 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Custom Affinity. + google.ads.googleads.v15.common.CustomAffinityInfo custom_affinity = 36 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Custom Audience + google.ads.googleads.v15.common.CustomAudienceInfo custom_audience = 41 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Combined Audience. + google.ads.googleads.v15.common.CombinedAudienceInfo combined_audience = 42 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Smart Campaign Keyword Theme. + google.ads.googleads.v15.common.KeywordThemeInfo keyword_theme = 45 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. GLS service campaign criterion. + google.ads.googleads.v15.common.LocalServiceIdInfo local_service_id = 46 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Brand list campaign criterion. + google.ads.googleads.v15.common.BrandListInfo brand_list = 47 + [(google.api.field_behavior) = IMMUTABLE]; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v15/resources/campaign_customizer.proto b/third_party/googleapis/google/ads/googleads/v15/resources/campaign_customizer.proto new file mode 100644 index 000000000..d5625cad2 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/campaign_customizer.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/campaign_customizer.proto +package google.ads.googleads.v12.resources; + +import "google/ads/googleads/v12/common/customizer_value.proto"; +import "google/ads/googleads/v12/enums/customizer_value_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignCustomizerProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +package google.ads.googleads.v15.resources; + +import "google/ads/googleads/v15/common/customizer_value.proto"; +import "google/ads/googleads/v15/enums/customizer_value_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignCustomizerProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/campaign_customizer.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/campaign_customizer.proto + google.ads.googleads.v12.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.v12.common.CustomizerValue value = 5 [(google.api.field_behavior) = REQUIRED]; +======== + google.ads.googleads.v15.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.v15.common.CustomizerValue value = 5 + [(google.api.field_behavior) = REQUIRED]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/campaign_customizer.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v15/resources/campaign_draft.proto b/third_party/googleapis/google/ads/googleads/v15/resources/campaign_draft.proto new file mode 100644 index 000000000..80b083911 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/campaign_draft.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/campaign_draft.proto +package google.ads.googleads.v12.resources; + +import "google/ads/googleads/v12/enums/campaign_draft_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignDraftProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +package google.ads.googleads.v15.resources; + +import "google/ads/googleads/v15/enums/campaign_draft_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignDraftProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/campaign_draft.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/campaign_draft.proto + google.ads.googleads.v12.enums.CampaignDraftStatusEnum.CampaignDraftStatus status = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; +======== + google.ads.googleads.v15.enums.CampaignDraftStatusEnum.CampaignDraftStatus + status = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/campaign_draft.proto + + // 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/v15/resources/campaign_extension_setting.proto b/third_party/googleapis/google/ads/googleads/v15/resources/campaign_extension_setting.proto new file mode 100644 index 000000000..7eff3125d --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/campaign_extension_setting.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/campaign_extension_setting.proto +package google.ads.googleads.v12.resources; + +import "google/ads/googleads/v12/enums/extension_setting_device.proto"; +import "google/ads/googleads/v12/enums/extension_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignExtensionSettingProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +package google.ads.googleads.v15.resources; + +import "google/ads/googleads/v15/enums/extension_setting_device.proto"; +import "google/ads/googleads/v15/enums/extension_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignExtensionSettingProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/campaign_extension_setting.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/campaign_extension_setting.proto + google.ads.googleads.v12.enums.ExtensionTypeEnum.ExtensionType extension_type = 2 [(google.api.field_behavior) = IMMUTABLE]; +======== + google.ads.googleads.v15.enums.ExtensionTypeEnum.ExtensionType + extension_type = 2 [(google.api.field_behavior) = IMMUTABLE]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/campaign_extension_setting.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/campaign_extension_setting.proto + google.ads.googleads.v12.enums.ExtensionSettingDeviceEnum.ExtensionSettingDevice device = 5; +======== + google.ads.googleads.v15.enums.ExtensionSettingDeviceEnum + .ExtensionSettingDevice device = 5; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/campaign_extension_setting.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v15/resources/campaign_feed.proto b/third_party/googleapis/google/ads/googleads/v15/resources/campaign_feed.proto new file mode 100644 index 000000000..f66a1cabb --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/campaign_feed.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/campaign_feed.proto +package google.ads.googleads.v12.resources; + +import "google/ads/googleads/v12/common/matching_function.proto"; +import "google/ads/googleads/v12/enums/feed_link_status.proto"; +import "google/ads/googleads/v12/enums/placeholder_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignFeedProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +package google.ads.googleads.v15.resources; + +import "google/ads/googleads/v15/common/matching_function.proto"; +import "google/ads/googleads/v15/enums/feed_link_status.proto"; +import "google/ads/googleads/v15/enums/placeholder_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignFeedProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/campaign_feed.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/campaign_feed.proto + repeated google.ads.googleads.v12.enums.PlaceholderTypeEnum.PlaceholderType placeholder_types = 4; +======== + repeated google.ads.googleads.v15.enums.PlaceholderTypeEnum.PlaceholderType + placeholder_types = 4; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/campaign_feed.proto + + // Matching function associated with the CampaignFeed. + // The matching function is used to filter the set of feed items selected. + // Required. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/campaign_feed.proto + google.ads.googleads.v12.common.MatchingFunction matching_function = 5; + + // Output only. Status of the campaign feed. + // This field is read-only. + google.ads.googleads.v12.enums.FeedLinkStatusEnum.FeedLinkStatus status = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; +======== + google.ads.googleads.v15.common.MatchingFunction matching_function = 5; + + // Output only. Status of the campaign feed. + // This field is read-only. + google.ads.googleads.v15.enums.FeedLinkStatusEnum.FeedLinkStatus status = 6 + [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/campaign_feed.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v15/resources/campaign_group.proto b/third_party/googleapis/google/ads/googleads/v15/resources/campaign_group.proto new file mode 100644 index 000000000..3ff115aa5 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/campaign_group.proto @@ -0,0 +1,90 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/campaign_group.proto +package google.ads.googleads.v12.resources; + +import "google/ads/googleads/v12/enums/campaign_group_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignGroupProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +package google.ads.googleads.v15.resources; + +import "google/ads/googleads/v15/enums/campaign_group_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignGroupProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/campaign_group.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/campaign_group.proto + google.ads.googleads.v12.enums.CampaignGroupStatusEnum.CampaignGroupStatus status = 5; +======== + google.ads.googleads.v15.enums.CampaignGroupStatusEnum.CampaignGroupStatus + status = 5; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/campaign_group.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v15/resources/campaign_label.proto b/third_party/googleapis/google/ads/googleads/v15/resources/campaign_label.proto new file mode 100644 index 000000000..d46045697 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/campaign_label.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/campaign_label.proto +package google.ads.googleads.v12.resources; +======== +package google.ads.googleads.v15.resources; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/campaign_label.proto + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/campaign_label.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignLabelProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignLabelProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/campaign_label.proto + +// 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/v15/resources/campaign_lifecycle_goal.proto b/third_party/googleapis/google/ads/googleads/v15/resources/campaign_lifecycle_goal.proto new file mode 100644 index 000000000..a65161c24 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.v15.resources; + +import "google/ads/googleads/v15/common/lifecycle_goals.proto"; +import "google/ads/googleads/v15/enums/customer_acquisition_optimization_mode.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignLifecycleGoalProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::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.v15.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.v15.common.LifecycleGoalValueSettings value_settings = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v15/resources/campaign_search_term_insight.proto b/third_party/googleapis/google/ads/googleads/v15/resources/campaign_search_term_insight.proto new file mode 100644 index 000000000..f8b65d2d5 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.v15.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignSearchTermInsightProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::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/v15/resources/campaign_shared_set.proto b/third_party/googleapis/google/ads/googleads/v15/resources/campaign_shared_set.proto new file mode 100644 index 000000000..f157be397 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/campaign_shared_set.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/campaign_shared_set.proto +package google.ads.googleads.v12.resources; + +import "google/ads/googleads/v12/enums/campaign_shared_set_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignSharedSetProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +package google.ads.googleads.v15.resources; + +import "google/ads/googleads/v15/enums/campaign_shared_set_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignSharedSetProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/campaign_shared_set.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/campaign_shared_set.proto + google.ads.googleads.v12.enums.CampaignSharedSetStatusEnum.CampaignSharedSetStatus status = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; +======== + google.ads.googleads.v15.enums.CampaignSharedSetStatusEnum + .CampaignSharedSetStatus status = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/campaign_shared_set.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v15/resources/campaign_simulation.proto b/third_party/googleapis/google/ads/googleads/v15/resources/campaign_simulation.proto new file mode 100644 index 000000000..d324fe87b --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/campaign_simulation.proto @@ -0,0 +1,161 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/campaign_simulation.proto +package google.ads.googleads.v12.resources; + +import "google/ads/googleads/v12/common/simulation.proto"; +import "google/ads/googleads/v12/enums/simulation_modification_method.proto"; +import "google/ads/googleads/v12/enums/simulation_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignSimulationProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +package google.ads.googleads.v15.resources; + +import "google/ads/googleads/v15/common/simulation.proto"; +import "google/ads/googleads/v15/enums/simulation_modification_method.proto"; +import "google/ads/googleads/v15/enums/simulation_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignSimulationProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/campaign_simulation.proto + +// 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 +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/campaign_simulation.proto +======== +// * PERFORMANCE_MAX - TARGET_CPA - UNIFORM +// * PERFORMANCE_MAX - TARGET_ROAS - UNIFORM +// * PERFORMANCE_MAX - BUDGET - UNIFORM +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/campaign_simulation.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/campaign_simulation.proto + google.ads.googleads.v12.enums.SimulationTypeEnum.SimulationType type = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. How the simulation modifies the field. + google.ads.googleads.v12.enums.SimulationModificationMethodEnum.SimulationModificationMethod modification_method = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; +======== + google.ads.googleads.v15.enums.SimulationTypeEnum.SimulationType type = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. How the simulation modifies the field. + google.ads.googleads.v15.enums.SimulationModificationMethodEnum + .SimulationModificationMethod modification_method = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/campaign_simulation.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/campaign_simulation.proto + google.ads.googleads.v12.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.v12.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.v12.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.v12.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.v12.common.BudgetSimulationPointList budget_point_list = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; +======== + google.ads.googleads.v15.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.v15.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.v15.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.v15.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.v15.common.BudgetSimulationPointList + budget_point_list = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/campaign_simulation.proto + } +} diff --git a/third_party/googleapis/google/ads/googleads/v15/resources/carrier_constant.proto b/third_party/googleapis/google/ads/googleads/v15/resources/carrier_constant.proto new file mode 100644 index 000000000..820d34206 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/carrier_constant.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/carrier_constant.proto +package google.ads.googleads.v13.resources; +======== +package google.ads.googleads.v15.resources; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/carrier_constant.proto + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/carrier_constant.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CarrierConstantProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CarrierConstantProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/carrier_constant.proto + +// 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/v15/resources/change_event.proto b/third_party/googleapis/google/ads/googleads/v15/resources/change_event.proto new file mode 100644 index 000000000..c71839fdf --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/change_event.proto @@ -0,0 +1,268 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/change_event.proto +package google.ads.googleads.v12.resources; + +import "google/ads/googleads/v12/enums/change_client_type.proto"; +import "google/ads/googleads/v12/enums/change_event_resource_type.proto"; +import "google/ads/googleads/v12/enums/resource_change_operation.proto"; +import "google/ads/googleads/v12/resources/ad.proto"; +import "google/ads/googleads/v12/resources/ad_group.proto"; +import "google/ads/googleads/v12/resources/ad_group_ad.proto"; +import "google/ads/googleads/v12/resources/ad_group_asset.proto"; +import "google/ads/googleads/v12/resources/ad_group_bid_modifier.proto"; +import "google/ads/googleads/v12/resources/ad_group_criterion.proto"; +import "google/ads/googleads/v12/resources/ad_group_feed.proto"; +import "google/ads/googleads/v12/resources/asset.proto"; +import "google/ads/googleads/v12/resources/asset_set.proto"; +import "google/ads/googleads/v12/resources/asset_set_asset.proto"; +import "google/ads/googleads/v12/resources/campaign.proto"; +import "google/ads/googleads/v12/resources/campaign_asset.proto"; +import "google/ads/googleads/v12/resources/campaign_asset_set.proto"; +import "google/ads/googleads/v12/resources/campaign_budget.proto"; +import "google/ads/googleads/v12/resources/campaign_criterion.proto"; +import "google/ads/googleads/v12/resources/campaign_feed.proto"; +import "google/ads/googleads/v12/resources/customer_asset.proto"; +import "google/ads/googleads/v12/resources/feed.proto"; +import "google/ads/googleads/v12/resources/feed_item.proto"; +======== +package google.ads.googleads.v15.resources; + +import "google/ads/googleads/v15/enums/change_client_type.proto"; +import "google/ads/googleads/v15/enums/change_event_resource_type.proto"; +import "google/ads/googleads/v15/enums/resource_change_operation.proto"; +import "google/ads/googleads/v15/resources/ad.proto"; +import "google/ads/googleads/v15/resources/ad_group.proto"; +import "google/ads/googleads/v15/resources/ad_group_ad.proto"; +import "google/ads/googleads/v15/resources/ad_group_asset.proto"; +import "google/ads/googleads/v15/resources/ad_group_bid_modifier.proto"; +import "google/ads/googleads/v15/resources/ad_group_criterion.proto"; +import "google/ads/googleads/v15/resources/ad_group_feed.proto"; +import "google/ads/googleads/v15/resources/asset.proto"; +import "google/ads/googleads/v15/resources/asset_set.proto"; +import "google/ads/googleads/v15/resources/asset_set_asset.proto"; +import "google/ads/googleads/v15/resources/campaign.proto"; +import "google/ads/googleads/v15/resources/campaign_asset.proto"; +import "google/ads/googleads/v15/resources/campaign_asset_set.proto"; +import "google/ads/googleads/v15/resources/campaign_budget.proto"; +import "google/ads/googleads/v15/resources/campaign_criterion.proto"; +import "google/ads/googleads/v15/resources/campaign_feed.proto"; +import "google/ads/googleads/v15/resources/customer_asset.proto"; +import "google/ads/googleads/v15/resources/feed.proto"; +import "google/ads/googleads/v15/resources/feed_item.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/change_event.proto +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/change_event.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ChangeEventProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ChangeEventProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/change_event.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/change_event.proto + google.ads.googleads.v12.enums.ChangeEventResourceTypeEnum.ChangeEventResourceType change_resource_type = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; +======== + google.ads.googleads.v15.enums.ChangeEventResourceTypeEnum + .ChangeEventResourceType change_resource_type = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/change_event.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/change_event.proto + google.ads.googleads.v12.enums.ChangeClientTypeEnum.ChangeClientType client_type = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; +======== + google.ads.googleads.v15.enums.ChangeClientTypeEnum.ChangeClientType + client_type = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/change_event.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/change_event.proto + google.ads.googleads.v12.enums.ResourceChangeOperationEnum.ResourceChangeOperation resource_change_operation = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; +======== + google.ads.googleads.v15.enums.ResourceChangeOperationEnum + .ResourceChangeOperation resource_change_operation = 9 + [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/change_event.proto + + // 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/v15/resources/change_status.proto b/third_party/googleapis/google/ads/googleads/v15/resources/change_status.proto new file mode 100644 index 000000000..d675ed7bb --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/change_status.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/change_status.proto +package google.ads.googleads.v12.resources; + +import "google/ads/googleads/v12/enums/change_status_operation.proto"; +import "google/ads/googleads/v12/enums/change_status_resource_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ChangeStatusProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +package google.ads.googleads.v15.resources; + +import "google/ads/googleads/v15/enums/change_status_operation.proto"; +import "google/ads/googleads/v15/enums/change_status_resource_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ChangeStatusProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/change_status.proto + +// 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]; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/change_status.proto + // 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.v12.enums.ChangeStatusResourceTypeEnum.ChangeStatusResourceType resource_type = 4 [(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.v15.enums.ChangeStatusResourceTypeEnum + .ChangeStatusResourceType resource_type = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/change_status.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/change_status.proto + google.ads.googleads.v12.enums.ChangeStatusOperationEnum.ChangeStatusOperation resource_status = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; +======== + google.ads.googleads.v15.enums.ChangeStatusOperationEnum.ChangeStatusOperation + resource_status = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/change_status.proto + + // 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/v15/resources/click_view.proto b/third_party/googleapis/google/ads/googleads/v15/resources/click_view.proto new file mode 100644 index 000000000..7c17939df --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/click_view.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/click_view.proto +package google.ads.googleads.v12.resources; + +import "google/ads/googleads/v12/common/click_location.proto"; +import "google/ads/googleads/v12/common/criteria.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ClickViewProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +package google.ads.googleads.v15.resources; + +import "google/ads/googleads/v15/common/click_location.proto"; +import "google/ads/googleads/v15/common/criteria.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ClickViewProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/click_view.proto + +// 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]; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/click_view.proto + // Output only. The location criteria matching the area of interest associated with the + // impression. + google.ads.googleads.v12.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.v12.common.ClickLocation location_of_presence = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; +======== + // Output only. The location criteria matching the area of interest associated + // with the impression. + google.ads.googleads.v15.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.v15.common.ClickLocation location_of_presence = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/click_view.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/click_view.proto + google.ads.googleads.v12.common.KeywordInfo keyword_info = 14 [(google.api.field_behavior) = OUTPUT_ONLY]; +======== + google.ads.googleads.v15.common.KeywordInfo keyword_info = 14 + [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/click_view.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v15/resources/combined_audience.proto b/third_party/googleapis/google/ads/googleads/v15/resources/combined_audience.proto new file mode 100644 index 000000000..06a94de39 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/combined_audience.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/combined_audience.proto +package google.ads.googleads.v12.resources; + +import "google/ads/googleads/v12/enums/combined_audience_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CombinedAudienceProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +package google.ads.googleads.v15.resources; + +import "google/ads/googleads/v15/enums/combined_audience_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CombinedAudienceProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/combined_audience.proto + +// 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]; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/combined_audience.proto + // Output only. Status of this combined audience. Indicates whether the combined audience + // is enabled or removed. + google.ads.googleads.v12.enums.CombinedAudienceStatusEnum.CombinedAudienceStatus status = 3 [(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.v15.enums.CombinedAudienceStatusEnum + .CombinedAudienceStatus status = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/combined_audience.proto + + // 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/v15/resources/conversion_action.proto b/third_party/googleapis/google/ads/googleads/v15/resources/conversion_action.proto new file mode 100644 index 000000000..e3d3d5234 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/conversion_action.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/conversion_action.proto +package google.ads.googleads.v12.resources; + +import "google/ads/googleads/v12/common/tag_snippet.proto"; +import "google/ads/googleads/v12/enums/attribution_model.proto"; +import "google/ads/googleads/v12/enums/conversion_action_category.proto"; +import "google/ads/googleads/v12/enums/conversion_action_counting_type.proto"; +import "google/ads/googleads/v12/enums/conversion_action_status.proto"; +import "google/ads/googleads/v12/enums/conversion_action_type.proto"; +import "google/ads/googleads/v12/enums/conversion_origin.proto"; +import "google/ads/googleads/v12/enums/data_driven_model_status.proto"; +import "google/ads/googleads/v12/enums/mobile_app_vendor.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ConversionActionProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +package google.ads.googleads.v15.resources; + +import "google/ads/googleads/v15/common/tag_snippet.proto"; +import "google/ads/googleads/v15/enums/attribution_model.proto"; +import "google/ads/googleads/v15/enums/conversion_action_category.proto"; +import "google/ads/googleads/v15/enums/conversion_action_counting_type.proto"; +import "google/ads/googleads/v15/enums/conversion_action_status.proto"; +import "google/ads/googleads/v15/enums/conversion_action_type.proto"; +import "google/ads/googleads/v15/enums/conversion_origin.proto"; +import "google/ads/googleads/v15/enums/data_driven_model_status.proto"; +import "google/ads/googleads/v15/enums/mobile_app_vendor.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ConversionActionProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/conversion_action.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/conversion_action.proto + google.ads.googleads.v12.enums.AttributionModelEnum.AttributionModel attribution_model = 1; + + // Output only. The status of the data-driven attribution model for the conversion + // action. + google.ads.googleads.v12.enums.DataDrivenModelStatusEnum.DataDrivenModelStatus data_driven_model_status = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; +======== + google.ads.googleads.v15.enums.AttributionModelEnum.AttributionModel + attribution_model = 1; + + // Output only. The status of the data-driven attribution model for the + // conversion action. + google.ads.googleads.v15.enums.DataDrivenModelStatusEnum + .DataDrivenModelStatus data_driven_model_status = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/conversion_action.proto + } + + // 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]; +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/conversion_action.proto +======== + } + + // 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]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/conversion_action.proto + } + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/conversion_action.proto + google.ads.googleads.v12.enums.ConversionActionStatusEnum.ConversionActionStatus status = 4; + + // Immutable. The type of this conversion action. + google.ads.googleads.v12.enums.ConversionActionTypeEnum.ConversionActionType type = 5 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. The conversion origin of this conversion action. + google.ads.googleads.v12.enums.ConversionOriginEnum.ConversionOrigin origin = 30 [(google.api.field_behavior) = OUTPUT_ONLY]; +======== + google.ads.googleads.v15.enums.ConversionActionStatusEnum + .ConversionActionStatus status = 4; + + // Immutable. The type of this conversion action. + google.ads.googleads.v15.enums.ConversionActionTypeEnum.ConversionActionType + type = 5 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. The conversion origin of this conversion action. + google.ads.googleads.v15.enums.ConversionOriginEnum.ConversionOrigin origin = + 30 [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/conversion_action.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/conversion_action.proto + google.ads.googleads.v12.enums.ConversionActionCategoryEnum.ConversionActionCategory category = 6; +======== + google.ads.googleads.v15.enums.ConversionActionCategoryEnum + .ConversionActionCategory category = 6; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/conversion_action.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/conversion_action.proto + google.ads.googleads.v12.enums.ConversionActionCountingTypeEnum.ConversionActionCountingType counting_type = 12; +======== + google.ads.googleads.v15.enums.ConversionActionCountingTypeEnum + .ConversionActionCountingType counting_type = 12; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/conversion_action.proto + + // Settings related to this conversion action's attribution model. + AttributionModelSettings attribution_model_settings = 13; + + // Output only. The snippets used for tracking conversions. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/conversion_action.proto + repeated google.ads.googleads.v12.common.TagSnippet tag_snippets = 14 [(google.api.field_behavior) = OUTPUT_ONLY]; +======== + repeated google.ads.googleads.v15.common.TagSnippet tag_snippets = 14 + [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/conversion_action.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/conversion_action.proto + google.ads.googleads.v12.enums.MobileAppVendorEnum.MobileAppVendor mobile_app_vendor = 17 [(google.api.field_behavior) = OUTPUT_ONLY]; +======== + google.ads.googleads.v15.enums.MobileAppVendorEnum.MobileAppVendor + mobile_app_vendor = 17 [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/conversion_action.proto + + // 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/v15/resources/conversion_custom_variable.proto b/third_party/googleapis/google/ads/googleads/v15/resources/conversion_custom_variable.proto new file mode 100644 index 000000000..00bae70a5 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/conversion_custom_variable.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/conversion_custom_variable.proto +package google.ads.googleads.v12.resources; + +import "google/ads/googleads/v12/enums/conversion_custom_variable_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ConversionCustomVariableProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +package google.ads.googleads.v15.resources; + +import "google/ads/googleads/v15/enums/conversion_custom_variable_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ConversionCustomVariableProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/conversion_custom_variable.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/conversion_custom_variable.proto + google.ads.googleads.v12.enums.ConversionCustomVariableStatusEnum.ConversionCustomVariableStatus status = 5; +======== + google.ads.googleads.v15.enums.ConversionCustomVariableStatusEnum + .ConversionCustomVariableStatus status = 5; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/conversion_custom_variable.proto + + // 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/v15/resources/conversion_goal_campaign_config.proto b/third_party/googleapis/google/ads/googleads/v15/resources/conversion_goal_campaign_config.proto new file mode 100644 index 000000000..6fd887f19 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/conversion_goal_campaign_config.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/conversion_goal_campaign_config.proto +package google.ads.googleads.v12.resources; + +import "google/ads/googleads/v12/enums/goal_config_level.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ConversionGoalCampaignConfigProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +package google.ads.googleads.v15.resources; + +import "google/ads/googleads/v15/enums/goal_config_level.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ConversionGoalCampaignConfigProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/conversion_goal_campaign_config.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/conversion_goal_campaign_config.proto + google.ads.googleads.v12.enums.GoalConfigLevelEnum.GoalConfigLevel goal_config_level = 3; +======== + google.ads.googleads.v15.enums.GoalConfigLevelEnum.GoalConfigLevel + goal_config_level = 3; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/conversion_goal_campaign_config.proto + + // 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/v15/resources/conversion_value_rule.proto b/third_party/googleapis/google/ads/googleads/v15/resources/conversion_value_rule.proto new file mode 100644 index 000000000..a5f1e9e88 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/conversion_value_rule.proto @@ -0,0 +1,183 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/conversion_value_rule.proto +package google.ads.googleads.v12.resources; + +import "google/ads/googleads/v12/enums/conversion_value_rule_status.proto"; +import "google/ads/googleads/v12/enums/value_rule_device_type.proto"; +import "google/ads/googleads/v12/enums/value_rule_geo_location_match_type.proto"; +import "google/ads/googleads/v12/enums/value_rule_operation.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ConversionValueRuleProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +package google.ads.googleads.v15.resources; + +import "google/ads/googleads/v15/enums/conversion_value_rule_status.proto"; +import "google/ads/googleads/v15/enums/value_rule_device_type.proto"; +import "google/ads/googleads/v15/enums/value_rule_geo_location_match_type.proto"; +import "google/ads/googleads/v15/enums/value_rule_operation.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ConversionValueRuleProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/conversion_value_rule.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/conversion_value_rule.proto + google.ads.googleads.v12.enums.ValueRuleOperationEnum.ValueRuleOperation operation = 1; +======== + google.ads.googleads.v15.enums.ValueRuleOperationEnum.ValueRuleOperation + operation = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/conversion_value_rule.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/conversion_value_rule.proto + google.ads.googleads.v12.enums.ValueRuleGeoLocationMatchTypeEnum.ValueRuleGeoLocationMatchType excluded_geo_match_type = 2; +======== + google.ads.googleads.v15.enums.ValueRuleGeoLocationMatchTypeEnum + .ValueRuleGeoLocationMatchType excluded_geo_match_type = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/conversion_value_rule.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/conversion_value_rule.proto + google.ads.googleads.v12.enums.ValueRuleGeoLocationMatchTypeEnum.ValueRuleGeoLocationMatchType geo_match_type = 4; +======== + google.ads.googleads.v15.enums.ValueRuleGeoLocationMatchTypeEnum + .ValueRuleGeoLocationMatchType geo_match_type = 4; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/conversion_value_rule.proto + } + + // Condition on Device dimension. + message ValueRuleDeviceCondition { + // Value for device type condition. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/conversion_value_rule.proto + repeated google.ads.googleads.v12.enums.ValueRuleDeviceTypeEnum.ValueRuleDeviceType device_types = 1; +======== + repeated google.ads.googleads.v15.enums.ValueRuleDeviceTypeEnum + .ValueRuleDeviceType device_types = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/conversion_value_rule.proto + } + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/conversion_value_rule.proto + google.ads.googleads.v12.enums.ConversionValueRuleStatusEnum.ConversionValueRuleStatus status = 8; +======== + google.ads.googleads.v15.enums.ConversionValueRuleStatusEnum + .ConversionValueRuleStatus status = 8; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/conversion_value_rule.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v15/resources/conversion_value_rule_set.proto b/third_party/googleapis/google/ads/googleads/v15/resources/conversion_value_rule_set.proto new file mode 100644 index 000000000..1804b2626 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/conversion_value_rule_set.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/conversion_value_rule_set.proto +package google.ads.googleads.v12.resources; + +import "google/ads/googleads/v12/enums/conversion_action_category.proto"; +import "google/ads/googleads/v12/enums/conversion_value_rule_set_status.proto"; +import "google/ads/googleads/v12/enums/value_rule_set_attachment_type.proto"; +import "google/ads/googleads/v12/enums/value_rule_set_dimension.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ConversionValueRuleSetProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +package google.ads.googleads.v15.resources; + +import "google/ads/googleads/v15/enums/conversion_action_category.proto"; +import "google/ads/googleads/v15/enums/conversion_value_rule_set_status.proto"; +import "google/ads/googleads/v15/enums/value_rule_set_attachment_type.proto"; +import "google/ads/googleads/v15/enums/value_rule_set_dimension.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ConversionValueRuleSetProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/conversion_value_rule_set.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/conversion_value_rule_set.proto + repeated google.ads.googleads.v12.enums.ValueRuleSetDimensionEnum.ValueRuleSetDimension dimensions = 4; +======== + repeated google.ads.googleads.v15.enums.ValueRuleSetDimensionEnum + .ValueRuleSetDimension dimensions = 4; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/conversion_value_rule_set.proto + + // 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" + } + ]; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/conversion_value_rule_set.proto + // Immutable. Defines the scope where the conversion value rule set is attached. + google.ads.googleads.v12.enums.ValueRuleSetAttachmentTypeEnum.ValueRuleSetAttachmentType attachment_type = 6 [(google.api.field_behavior) = IMMUTABLE]; +======== + // Immutable. Defines the scope where the conversion value rule set is + // attached. + google.ads.googleads.v15.enums.ValueRuleSetAttachmentTypeEnum + .ValueRuleSetAttachmentType attachment_type = 6 + [(google.api.field_behavior) = IMMUTABLE]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/conversion_value_rule_set.proto + + // 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 ** +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/conversion_value_rule_set.proto + google.ads.googleads.v12.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.v12.enums.ConversionActionCategoryEnum.ConversionActionCategory conversion_action_categories = 9 [(google.api.field_behavior) = IMMUTABLE]; +======== + google.ads.googleads.v15.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.v15.enums.ConversionActionCategoryEnum + .ConversionActionCategory conversion_action_categories = 9 + [(google.api.field_behavior) = IMMUTABLE]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/conversion_value_rule_set.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v15/resources/currency_constant.proto b/third_party/googleapis/google/ads/googleads/v15/resources/currency_constant.proto new file mode 100644 index 000000000..c7724738e --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/currency_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/currency_constant.proto +package google.ads.googleads.v12.resources; +======== +package google.ads.googleads.v15.resources; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/currency_constant.proto + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/currency_constant.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CurrencyConstantProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CurrencyConstantProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/currency_constant.proto + +// 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]; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/currency_constant.proto + // Output only. Standard symbol for describing this currency, for example, '$' for US + // Dollars. +======== + // Output only. Standard symbol for describing this currency, for example, '$' + // for US Dollars. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/currency_constant.proto + 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/v15/resources/custom_audience.proto b/third_party/googleapis/google/ads/googleads/v15/resources/custom_audience.proto new file mode 100644 index 000000000..65872503a --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/custom_audience.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/custom_audience.proto +package google.ads.googleads.v12.resources; + +import "google/ads/googleads/v12/enums/custom_audience_member_type.proto"; +import "google/ads/googleads/v12/enums/custom_audience_status.proto"; +import "google/ads/googleads/v12/enums/custom_audience_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomAudienceProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +package google.ads.googleads.v15.resources; + +import "google/ads/googleads/v15/enums/custom_audience_member_type.proto"; +import "google/ads/googleads/v15/enums/custom_audience_status.proto"; +import "google/ads/googleads/v15/enums/custom_audience_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomAudienceProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/custom_audience.proto + +// 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]; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/custom_audience.proto + // Output only. Status of this custom audience. Indicates whether the custom audience is + // enabled or removed. + google.ads.googleads.v12.enums.CustomAudienceStatusEnum.CustomAudienceStatus status = 3 [(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.v15.enums.CustomAudienceStatusEnum.CustomAudienceStatus + status = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/custom_audience.proto + + // 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) +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/custom_audience.proto + google.ads.googleads.v12.enums.CustomAudienceTypeEnum.CustomAudienceType type = 5; +======== + google.ads.googleads.v15.enums.CustomAudienceTypeEnum.CustomAudienceType + type = 5; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/custom_audience.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/custom_audience.proto + google.ads.googleads.v12.enums.CustomAudienceMemberTypeEnum.CustomAudienceMemberType member_type = 1; +======== + google.ads.googleads.v15.enums.CustomAudienceMemberTypeEnum + .CustomAudienceMemberType member_type = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/custom_audience.proto + + // 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/v15/resources/custom_conversion_goal.proto b/third_party/googleapis/google/ads/googleads/v15/resources/custom_conversion_goal.proto new file mode 100644 index 000000000..da40683d6 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/custom_conversion_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/custom_conversion_goal.proto +package google.ads.googleads.v12.resources; + +import "google/ads/googleads/v12/enums/custom_conversion_goal_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomConversionGoalProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +package google.ads.googleads.v15.resources; + +import "google/ads/googleads/v15/enums/custom_conversion_goal_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomConversionGoalProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/custom_conversion_goal.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/custom_conversion_goal.proto + google.ads.googleads.v12.enums.CustomConversionGoalStatusEnum.CustomConversionGoalStatus status = 5; +======== + google.ads.googleads.v15.enums.CustomConversionGoalStatusEnum + .CustomConversionGoalStatus status = 5; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/custom_conversion_goal.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v15/resources/custom_interest.proto b/third_party/googleapis/google/ads/googleads/v15/resources/custom_interest.proto new file mode 100644 index 000000000..dcda39982 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/custom_interest.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/custom_interest.proto +package google.ads.googleads.v12.resources; + +import "google/ads/googleads/v12/enums/custom_interest_member_type.proto"; +import "google/ads/googleads/v12/enums/custom_interest_status.proto"; +import "google/ads/googleads/v12/enums/custom_interest_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomInterestProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +package google.ads.googleads.v15.resources; + +import "google/ads/googleads/v15/enums/custom_interest_member_type.proto"; +import "google/ads/googleads/v15/enums/custom_interest_status.proto"; +import "google/ads/googleads/v15/enums/custom_interest_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomInterestProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/custom_interest.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/custom_interest.proto + google.ads.googleads.v12.enums.CustomInterestStatusEnum.CustomInterestStatus status = 3; +======== + google.ads.googleads.v15.enums.CustomInterestStatusEnum.CustomInterestStatus + status = 3; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/custom_interest.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/custom_interest.proto + google.ads.googleads.v12.enums.CustomInterestTypeEnum.CustomInterestType type = 5; +======== + google.ads.googleads.v15.enums.CustomInterestTypeEnum.CustomInterestType + type = 5; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/custom_interest.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/custom_interest.proto + google.ads.googleads.v12.enums.CustomInterestMemberTypeEnum.CustomInterestMemberType member_type = 1; +======== + google.ads.googleads.v15.enums.CustomInterestMemberTypeEnum + .CustomInterestMemberType member_type = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/custom_interest.proto + + // 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/v15/resources/customer.proto b/third_party/googleapis/google/ads/googleads/v15/resources/customer.proto new file mode 100644 index 000000000..a29e1d070 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.v15.resources; + +import "google/ads/googleads/v15/enums/conversion_tracking_status_enum.proto"; +import "google/ads/googleads/v15/enums/customer_pay_per_conversion_eligibility_failure_reason.proto"; +import "google/ads/googleads/v15/enums/customer_status.proto"; +import "google/ads/googleads/v15/enums/local_services_verification_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomerProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::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.v15.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.v15.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.v15.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.v15.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.v15.enums.LocalServicesVerificationStatusEnum + .LocalServicesVerificationStatus verification_status = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v15/resources/customer_asset.proto b/third_party/googleapis/google/ads/googleads/v15/resources/customer_asset.proto new file mode 100644 index 000000000..2e2eb4aa2 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.v15.resources; + +import "google/ads/googleads/v15/common/asset_policy.proto"; +import "google/ads/googleads/v15/enums/asset_field_type.proto"; +import "google/ads/googleads/v15/enums/asset_link_primary_status.proto"; +import "google/ads/googleads/v15/enums/asset_link_primary_status_reason.proto"; +import "google/ads/googleads/v15/enums/asset_link_status.proto"; +import "google/ads/googleads/v15/enums/asset_source.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomerAssetProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::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.v15.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.v15.enums.AssetSourceEnum.AssetSource source = 5 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Status of the customer asset. + google.ads.googleads.v15.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.v15.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.v15.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.v15.enums.AssetLinkPrimaryStatusReasonEnum + .AssetLinkPrimaryStatusReason primary_status_reasons = 8 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v15/resources/customer_asset_set.proto b/third_party/googleapis/google/ads/googleads/v15/resources/customer_asset_set.proto new file mode 100644 index 000000000..1af07efc0 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.v15.resources; + +import "google/ads/googleads/v15/enums/asset_set_link_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomerAssetSetProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::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.v15.enums.AssetSetLinkStatusEnum.AssetSetLinkStatus + status = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v15/resources/customer_client.proto b/third_party/googleapis/google/ads/googleads/v15/resources/customer_client.proto new file mode 100644 index 000000000..d7c9f4efa --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/customer_client.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/customer_client.proto +package google.ads.googleads.v12.resources; + +import "google/ads/googleads/v12/enums/customer_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomerClientProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +package google.ads.googleads.v15.resources; + +import "google/ads/googleads/v15/enums/customer_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomerClientProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/customer_client.proto + +// 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]; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/customer_client.proto + // Output only. Common Locale Data Repository (CLDR) string representation of the + // time zone of the client, for example, America/Los_Angeles. Read only. +======== + // Output only. Common Locale Data Repository (CLDR) string representation of + // the time zone of the client, for example, America/Los_Angeles. Read only. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/customer_client.proto + 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]; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/customer_client.proto + // 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. Currency code (for example, 'USD', 'EUR') for the client. Read + // only. + optional string currency_code = 19 + [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/customer_client.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/customer_client.proto + google.ads.googleads.v12.enums.CustomerStatusEnum.CustomerStatus status = 22 [(google.api.field_behavior) = OUTPUT_ONLY]; +======== + google.ads.googleads.v15.enums.CustomerStatusEnum.CustomerStatus status = 22 + [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/customer_client.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v15/resources/customer_client_link.proto b/third_party/googleapis/google/ads/googleads/v15/resources/customer_client_link.proto new file mode 100644 index 000000000..47bf18a3e --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/customer_client_link.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/customer_client_link.proto +package google.ads.googleads.v12.resources; + +import "google/ads/googleads/v12/enums/manager_link_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomerClientLinkProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +package google.ads.googleads.v15.resources; + +import "google/ads/googleads/v15/enums/manager_link_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomerClientLinkProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/customer_client_link.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/customer_client_link.proto + google.ads.googleads.v12.enums.ManagerLinkStatusEnum.ManagerLinkStatus status = 5; +======== + google.ads.googleads.v15.enums.ManagerLinkStatusEnum.ManagerLinkStatus + status = 5; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/customer_client_link.proto + + // 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/v15/resources/customer_conversion_goal.proto b/third_party/googleapis/google/ads/googleads/v15/resources/customer_conversion_goal.proto new file mode 100644 index 000000000..ace0a5e0c --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/customer_conversion_goal.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/customer_conversion_goal.proto +package google.ads.googleads.v12.resources; + +import "google/ads/googleads/v12/enums/conversion_action_category.proto"; +import "google/ads/googleads/v12/enums/conversion_origin.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomerConversionGoalProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +package google.ads.googleads.v15.resources; + +import "google/ads/googleads/v15/enums/conversion_action_category.proto"; +import "google/ads/googleads/v15/enums/conversion_origin.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomerConversionGoalProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/customer_conversion_goal.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/customer_conversion_goal.proto + google.ads.googleads.v12.enums.ConversionActionCategoryEnum.ConversionActionCategory category = 2; +======== + google.ads.googleads.v15.enums.ConversionActionCategoryEnum + .ConversionActionCategory category = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/customer_conversion_goal.proto + + // The conversion origin of this customer conversion goal. Only + // conversion actions that have this conversion origin will be included in + // this goal. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/customer_conversion_goal.proto + google.ads.googleads.v12.enums.ConversionOriginEnum.ConversionOrigin origin = 3; +======== + google.ads.googleads.v15.enums.ConversionOriginEnum.ConversionOrigin origin = + 3; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/customer_conversion_goal.proto + + // The biddability of the customer conversion goal. + bool biddable = 4; +} diff --git a/third_party/googleapis/google/ads/googleads/v15/resources/customer_customizer.proto b/third_party/googleapis/google/ads/googleads/v15/resources/customer_customizer.proto new file mode 100644 index 000000000..aa45b2ce5 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/customer_customizer.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/customer_customizer.proto +package google.ads.googleads.v12.resources; + +import "google/ads/googleads/v12/common/customizer_value.proto"; +import "google/ads/googleads/v12/enums/customizer_value_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomerCustomizerProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +package google.ads.googleads.v15.resources; + +import "google/ads/googleads/v15/common/customizer_value.proto"; +import "google/ads/googleads/v15/enums/customizer_value_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomerCustomizerProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/customer_customizer.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/customer_customizer.proto + google.ads.googleads.v12.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.v12.common.CustomizerValue value = 4 [(google.api.field_behavior) = REQUIRED]; +======== + google.ads.googleads.v15.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.v15.common.CustomizerValue value = 4 + [(google.api.field_behavior) = REQUIRED]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/customer_customizer.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v15/resources/customer_extension_setting.proto b/third_party/googleapis/google/ads/googleads/v15/resources/customer_extension_setting.proto new file mode 100644 index 000000000..b990f8cc3 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/customer_extension_setting.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/customer_extension_setting.proto +package google.ads.googleads.v12.resources; + +import "google/ads/googleads/v12/enums/extension_setting_device.proto"; +import "google/ads/googleads/v12/enums/extension_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomerExtensionSettingProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +package google.ads.googleads.v15.resources; + +import "google/ads/googleads/v15/enums/extension_setting_device.proto"; +import "google/ads/googleads/v15/enums/extension_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomerExtensionSettingProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/customer_extension_setting.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/customer_extension_setting.proto + google.ads.googleads.v12.enums.ExtensionTypeEnum.ExtensionType extension_type = 2 [(google.api.field_behavior) = IMMUTABLE]; +======== + google.ads.googleads.v15.enums.ExtensionTypeEnum.ExtensionType + extension_type = 2 [(google.api.field_behavior) = IMMUTABLE]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/customer_extension_setting.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/customer_extension_setting.proto + google.ads.googleads.v12.enums.ExtensionSettingDeviceEnum.ExtensionSettingDevice device = 4; +======== + google.ads.googleads.v15.enums.ExtensionSettingDeviceEnum + .ExtensionSettingDevice device = 4; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/customer_extension_setting.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v15/resources/customer_feed.proto b/third_party/googleapis/google/ads/googleads/v15/resources/customer_feed.proto new file mode 100644 index 000000000..27ce47319 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/customer_feed.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/customer_feed.proto +package google.ads.googleads.v12.resources; + +import "google/ads/googleads/v12/common/matching_function.proto"; +import "google/ads/googleads/v12/enums/feed_link_status.proto"; +import "google/ads/googleads/v12/enums/placeholder_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomerFeedProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +package google.ads.googleads.v15.resources; + +import "google/ads/googleads/v15/common/matching_function.proto"; +import "google/ads/googleads/v15/enums/feed_link_status.proto"; +import "google/ads/googleads/v15/enums/placeholder_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomerFeedProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/customer_feed.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/customer_feed.proto + repeated google.ads.googleads.v12.enums.PlaceholderTypeEnum.PlaceholderType placeholder_types = 3; +======== + repeated google.ads.googleads.v15.enums.PlaceholderTypeEnum.PlaceholderType + placeholder_types = 3; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/customer_feed.proto + + // Matching function associated with the CustomerFeed. + // The matching function is used to filter the set of feed items selected. + // Required. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/customer_feed.proto + google.ads.googleads.v12.common.MatchingFunction matching_function = 4; + + // Output only. Status of the customer feed. + // This field is read-only. + google.ads.googleads.v12.enums.FeedLinkStatusEnum.FeedLinkStatus status = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; +======== + google.ads.googleads.v15.common.MatchingFunction matching_function = 4; + + // Output only. Status of the customer feed. + // This field is read-only. + google.ads.googleads.v15.enums.FeedLinkStatusEnum.FeedLinkStatus status = 5 + [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/customer_feed.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v15/resources/customer_label.proto b/third_party/googleapis/google/ads/googleads/v15/resources/customer_label.proto new file mode 100644 index 000000000..2f5a35592 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/customer_label.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/customer_label.proto +package google.ads.googleads.v12.resources; +======== +package google.ads.googleads.v15.resources; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/customer_label.proto + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/customer_label.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomerLabelProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomerLabelProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/customer_label.proto + +// 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/v15/resources/customer_lifecycle_goal.proto b/third_party/googleapis/google/ads/googleads/v15/resources/customer_lifecycle_goal.proto new file mode 100644 index 000000000..a2dea680b --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.v15.resources; + +import "google/ads/googleads/v15/common/lifecycle_goals.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomerLifecycleGoalProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::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.v15.common.LifecycleGoalValueSettings + customer_acquisition_goal_value_settings = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v15/resources/customer_manager_link.proto b/third_party/googleapis/google/ads/googleads/v15/resources/customer_manager_link.proto new file mode 100644 index 000000000..37b893cd4 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/customer_manager_link.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/customer_manager_link.proto +package google.ads.googleads.v12.resources; + +import "google/ads/googleads/v12/enums/manager_link_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomerManagerLinkProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +package google.ads.googleads.v15.resources; + +import "google/ads/googleads/v15/enums/manager_link_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomerManagerLinkProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/customer_manager_link.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/customer_manager_link.proto + google.ads.googleads.v12.enums.ManagerLinkStatusEnum.ManagerLinkStatus status = 5; +======== + google.ads.googleads.v15.enums.ManagerLinkStatusEnum.ManagerLinkStatus + status = 5; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/customer_manager_link.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v15/resources/customer_negative_criterion.proto b/third_party/googleapis/google/ads/googleads/v15/resources/customer_negative_criterion.proto new file mode 100644 index 000000000..275a87900 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/customer_negative_criterion.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/customer_negative_criterion.proto +package google.ads.googleads.v12.resources; + +import "google/ads/googleads/v12/common/criteria.proto"; +import "google/ads/googleads/v12/enums/criterion_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomerNegativeCriterionProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +package google.ads.googleads.v15.resources; + +import "google/ads/googleads/v15/common/criteria.proto"; +import "google/ads/googleads/v15/enums/criterion_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomerNegativeCriterionProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/customer_negative_criterion.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/customer_negative_criterion.proto + google.ads.googleads.v12.enums.CriterionTypeEnum.CriterionType type = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; +======== + google.ads.googleads.v15.enums.CriterionTypeEnum.CriterionType type = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/customer_negative_criterion.proto + + // The customer negative criterion. + // + // Exactly one must be set. + oneof criterion { + // Immutable. ContentLabel. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/customer_negative_criterion.proto + google.ads.googleads.v12.common.ContentLabelInfo content_label = 4 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. MobileApplication. + google.ads.googleads.v12.common.MobileApplicationInfo mobile_application = 5 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. MobileAppCategory. + google.ads.googleads.v12.common.MobileAppCategoryInfo mobile_app_category = 6 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Placement. + google.ads.googleads.v12.common.PlacementInfo placement = 7 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. YouTube Video. + google.ads.googleads.v12.common.YouTubeVideoInfo youtube_video = 8 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. YouTube Channel. + google.ads.googleads.v12.common.YouTubeChannelInfo youtube_channel = 9 [(google.api.field_behavior) = IMMUTABLE]; +======== + google.ads.googleads.v15.common.ContentLabelInfo content_label = 4 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. MobileApplication. + google.ads.googleads.v15.common.MobileApplicationInfo mobile_application = 5 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. MobileAppCategory. + google.ads.googleads.v15.common.MobileAppCategoryInfo mobile_app_category = + 6 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Placement. + google.ads.googleads.v15.common.PlacementInfo placement = 7 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. YouTube Video. + google.ads.googleads.v15.common.YouTubeVideoInfo youtube_video = 8 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. YouTube Channel. + google.ads.googleads.v15.common.YouTubeChannelInfo youtube_channel = 9 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. NegativeKeywordList. + google.ads.googleads.v15.common.NegativeKeywordListInfo + negative_keyword_list = 11 [(google.api.field_behavior) = IMMUTABLE]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/customer_negative_criterion.proto + } +} diff --git a/third_party/googleapis/google/ads/googleads/v15/resources/customer_search_term_insight.proto b/third_party/googleapis/google/ads/googleads/v15/resources/customer_search_term_insight.proto new file mode 100644 index 000000000..4fba2bdcb --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.v15.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomerSearchTermInsightProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::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/v15/resources/customer_sk_ad_network_conversion_value_schema.proto b/third_party/googleapis/google/ads/googleads/v15/resources/customer_sk_ad_network_conversion_value_schema.proto new file mode 100644 index 000000000..c33847c65 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.v15.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomerSkAdNetworkConversionValueSchemaProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::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/v15/resources/customer_user_access.proto b/third_party/googleapis/google/ads/googleads/v15/resources/customer_user_access.proto new file mode 100644 index 000000000..90b74dc82 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/customer_user_access.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/customer_user_access.proto +package google.ads.googleads.v12.resources; + +import "google/ads/googleads/v12/enums/access_role.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomerUserAccessProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +package google.ads.googleads.v15.resources; + +import "google/ads/googleads/v15/enums/access_role.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomerUserAccessProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/customer_user_access.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/customer_user_access.proto + google.ads.googleads.v12.enums.AccessRoleEnum.AccessRole access_role = 4; +======== + google.ads.googleads.v15.enums.AccessRoleEnum.AccessRole access_role = 4; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/customer_user_access.proto + + // 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/v15/resources/customer_user_access_invitation.proto b/third_party/googleapis/google/ads/googleads/v15/resources/customer_user_access_invitation.proto new file mode 100644 index 000000000..35f568565 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/customer_user_access_invitation.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/customer_user_access_invitation.proto +package google.ads.googleads.v12.resources; + +import "google/ads/googleads/v12/enums/access_invitation_status.proto"; +import "google/ads/googleads/v12/enums/access_role.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomerUserAccessInvitationProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +package google.ads.googleads.v15.resources; + +import "google/ads/googleads/v15/enums/access_invitation_status.proto"; +import "google/ads/googleads/v15/enums/access_role.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomerUserAccessInvitationProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/customer_user_access_invitation.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/customer_user_access_invitation.proto + google.ads.googleads.v12.enums.AccessRoleEnum.AccessRole access_role = 3 [(google.api.field_behavior) = IMMUTABLE]; +======== + google.ads.googleads.v15.enums.AccessRoleEnum.AccessRole access_role = 3 + [(google.api.field_behavior) = IMMUTABLE]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/customer_user_access_invitation.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/customer_user_access_invitation.proto + google.ads.googleads.v12.enums.AccessInvitationStatusEnum.AccessInvitationStatus invitation_status = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; +======== + google.ads.googleads.v15.enums.AccessInvitationStatusEnum + .AccessInvitationStatus invitation_status = 6 + [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/customer_user_access_invitation.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v15/resources/customizer_attribute.proto b/third_party/googleapis/google/ads/googleads/v15/resources/customizer_attribute.proto new file mode 100644 index 000000000..aa35985f8 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/customizer_attribute.proto @@ -0,0 +1,100 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/customizer_attribute.proto +package google.ads.googleads.v12.resources; + +import "google/ads/googleads/v12/enums/customizer_attribute_status.proto"; +import "google/ads/googleads/v12/enums/customizer_attribute_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomizerAttributeProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +package google.ads.googleads.v15.resources; + +import "google/ads/googleads/v15/enums/customizer_attribute_status.proto"; +import "google/ads/googleads/v15/enums/customizer_attribute_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomizerAttributeProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/customizer_attribute.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/customizer_attribute.proto + google.ads.googleads.v12.enums.CustomizerAttributeTypeEnum.CustomizerAttributeType type = 4 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. The status of the customizer attribute. + google.ads.googleads.v12.enums.CustomizerAttributeStatusEnum.CustomizerAttributeStatus status = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; +======== + google.ads.googleads.v15.enums.CustomizerAttributeTypeEnum + .CustomizerAttributeType type = 4 + [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. The status of the customizer attribute. + google.ads.googleads.v15.enums.CustomizerAttributeStatusEnum + .CustomizerAttributeStatus status = 5 + [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/customizer_attribute.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v15/resources/detail_placement_view.proto b/third_party/googleapis/google/ads/googleads/v15/resources/detail_placement_view.proto new file mode 100644 index 000000000..c07cfecda --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/detail_placement_view.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/detail_placement_view.proto +package google.ads.googleads.v12.resources; + +import "google/ads/googleads/v12/enums/placement_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "DetailPlacementViewProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +package google.ads.googleads.v15.resources; + +import "google/ads/googleads/v15/enums/placement_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "DetailPlacementViewProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/detail_placement_view.proto + +// 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]; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/detail_placement_view.proto + // 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.v12.enums.PlacementTypeEnum.PlacementType placement_type = 6 [(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.v15.enums.PlacementTypeEnum.PlacementType + placement_type = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/detail_placement_view.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v15/resources/detailed_demographic.proto b/third_party/googleapis/google/ads/googleads/v15/resources/detailed_demographic.proto new file mode 100644 index 000000000..37e13a41b --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/detailed_demographic.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/detailed_demographic.proto +package google.ads.googleads.v12.resources; + +import "google/ads/googleads/v12/common/criterion_category_availability.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "DetailedDemographicProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +package google.ads.googleads.v15.resources; + +import "google/ads/googleads/v15/common/criterion_category_availability.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "DetailedDemographicProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/detailed_demographic.proto + +// 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]; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/detailed_demographic.proto + // Output only. The name of the detailed demographic. For example,"Highest Level of + // Educational Attainment" +======== + // Output only. The name of the detailed demographic. For example,"Highest + // Level of Educational Attainment" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/detailed_demographic.proto + 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/detailed_demographic.proto + repeated google.ads.googleads.v12.common.CriterionCategoryAvailability availabilities = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; +======== + repeated google.ads.googleads.v15.common.CriterionCategoryAvailability + availabilities = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/detailed_demographic.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v15/resources/display_keyword_view.proto b/third_party/googleapis/google/ads/googleads/v15/resources/display_keyword_view.proto new file mode 100644 index 000000000..63e1b34a6 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/display_keyword_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/display_keyword_view.proto +package google.ads.googleads.v13.resources; +======== +package google.ads.googleads.v15.resources; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/display_keyword_view.proto + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/display_keyword_view.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "DisplayKeywordViewProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "DisplayKeywordViewProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/display_keyword_view.proto + +// 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/v15/resources/distance_view.proto b/third_party/googleapis/google/ads/googleads/v15/resources/distance_view.proto new file mode 100644 index 000000000..a123040eb --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/distance_view.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/distance_view.proto +package google.ads.googleads.v12.resources; + +import "google/ads/googleads/v12/enums/distance_bucket.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "DistanceViewProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +package google.ads.googleads.v15.resources; + +import "google/ads/googleads/v15/enums/distance_bucket.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "DistanceViewProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/distance_view.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/distance_view.proto + google.ads.googleads.v12.enums.DistanceBucketEnum.DistanceBucket distance_bucket = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; +======== + google.ads.googleads.v15.enums.DistanceBucketEnum.DistanceBucket + distance_bucket = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/distance_view.proto + + // 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/v15/resources/domain_category.proto b/third_party/googleapis/google/ads/googleads/v15/resources/domain_category.proto new file mode 100644 index 000000000..839e2e00a --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/domain_category.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/domain_category.proto +package google.ads.googleads.v12.resources; +======== +package google.ads.googleads.v15.resources; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/domain_category.proto + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/domain_category.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "DomainCategoryProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "DomainCategoryProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/domain_category.proto + +// 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" + } + ]; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/domain_category.proto + // 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. 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]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/domain_category.proto + + // 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/v15/resources/dynamic_search_ads_search_term_view.proto b/third_party/googleapis/google/ads/googleads/v15/resources/dynamic_search_ads_search_term_view.proto new file mode 100644 index 000000000..5b2e97251 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/dynamic_search_ads_search_term_view.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/dynamic_search_ads_search_term_view.proto +package google.ads.googleads.v12.resources; +======== +package google.ads.googleads.v15.resources; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/dynamic_search_ads_search_term_view.proto + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/dynamic_search_ads_search_term_view.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "DynamicSearchAdsSearchTermViewProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "DynamicSearchAdsSearchTermViewProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/dynamic_search_ads_search_term_view.proto + +// 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/v15/resources/expanded_landing_page_view.proto b/third_party/googleapis/google/ads/googleads/v15/resources/expanded_landing_page_view.proto new file mode 100644 index 000000000..9427005e2 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/expanded_landing_page_view.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/expanded_landing_page_view.proto +package google.ads.googleads.v12.resources; +======== +package google.ads.googleads.v15.resources; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/expanded_landing_page_view.proto + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/expanded_landing_page_view.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ExpandedLandingPageViewProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ExpandedLandingPageViewProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/expanded_landing_page_view.proto + +// 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/v15/resources/experiment.proto b/third_party/googleapis/google/ads/googleads/v15/resources/experiment.proto new file mode 100644 index 000000000..c0b8cced1 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/experiment.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/experiment.proto +package google.ads.googleads.v12.resources; + +import "google/ads/googleads/v12/common/metric_goal.proto"; +import "google/ads/googleads/v12/enums/async_action_status.proto"; +import "google/ads/googleads/v12/enums/experiment_status.proto"; +import "google/ads/googleads/v12/enums/experiment_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ExperimentProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +package google.ads.googleads.v15.resources; + +import "google/ads/googleads/v15/common/metric_goal.proto"; +import "google/ads/googleads/v15/enums/async_action_status.proto"; +import "google/ads/googleads/v15/enums/experiment_status.proto"; +import "google/ads/googleads/v15/enums/experiment_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ExperimentProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/experiment.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/experiment.proto + google.ads.googleads.v12.enums.ExperimentTypeEnum.ExperimentType type = 13 [(google.api.field_behavior) = REQUIRED]; + + // The Advertiser-chosen status of this experiment. + google.ads.googleads.v12.enums.ExperimentStatusEnum.ExperimentStatus status = 14; +======== + google.ads.googleads.v15.enums.ExperimentTypeEnum.ExperimentType type = 13 + [(google.api.field_behavior) = REQUIRED]; + + // The Advertiser-chosen status of this experiment. + google.ads.googleads.v15.enums.ExperimentStatusEnum.ExperimentStatus status = + 14; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/experiment.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/experiment.proto + repeated google.ads.googleads.v12.common.MetricGoal goals = 17; +======== + repeated google.ads.googleads.v15.common.MetricGoal goals = 17; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/experiment.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/experiment.proto + google.ads.googleads.v12.enums.AsyncActionStatusEnum.AsyncActionStatus promote_status = 19 [(google.api.field_behavior) = OUTPUT_ONLY]; +======== + google.ads.googleads.v15.enums.AsyncActionStatusEnum.AsyncActionStatus + promote_status = 19 [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/experiment.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v15/resources/experiment_arm.proto b/third_party/googleapis/google/ads/googleads/v15/resources/experiment_arm.proto new file mode 100644 index 000000000..39d7923a9 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/experiment_arm.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/experiment_arm.proto +package google.ads.googleads.v12.resources; +======== +package google.ads.googleads.v15.resources; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/experiment_arm.proto + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/experiment_arm.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ExperimentArmProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ExperimentArmProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/experiment_arm.proto + +// 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/v15/resources/extension_feed_item.proto b/third_party/googleapis/google/ads/googleads/v15/resources/extension_feed_item.proto new file mode 100644 index 000000000..50406937f --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/extension_feed_item.proto @@ -0,0 +1,241 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/extension_feed_item.proto +package google.ads.googleads.v12.resources; + +import "google/ads/googleads/v12/common/criteria.proto"; +import "google/ads/googleads/v12/common/extensions.proto"; +import "google/ads/googleads/v12/enums/extension_type.proto"; +import "google/ads/googleads/v12/enums/feed_item_status.proto"; +import "google/ads/googleads/v12/enums/feed_item_target_device.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ExtensionFeedItemProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +package google.ads.googleads.v15.resources; + +import "google/ads/googleads/v15/common/criteria.proto"; +import "google/ads/googleads/v15/common/extensions.proto"; +import "google/ads/googleads/v15/enums/extension_type.proto"; +import "google/ads/googleads/v15/enums/feed_item_status.proto"; +import "google/ads/googleads/v15/enums/feed_item_target_device.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ExtensionFeedItemProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/extension_feed_item.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/extension_feed_item.proto + google.ads.googleads.v12.enums.ExtensionTypeEnum.ExtensionType extension_type = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; +======== + google.ads.googleads.v15.enums.ExtensionTypeEnum.ExtensionType + extension_type = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/extension_feed_item.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/extension_feed_item.proto + repeated google.ads.googleads.v12.common.AdScheduleInfo ad_schedules = 16; + + // The targeted device. + google.ads.googleads.v12.enums.FeedItemTargetDeviceEnum.FeedItemTargetDevice device = 17; +======== + repeated google.ads.googleads.v15.common.AdScheduleInfo ad_schedules = 16; + + // The targeted device. + google.ads.googleads.v15.enums.FeedItemTargetDeviceEnum.FeedItemTargetDevice + device = 17; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/extension_feed_item.proto + + // The targeted geo target constant. + optional string targeted_geo_target_constant = 30 + [(google.api.resource_reference) = { + type: "googleads.googleapis.com/GeoTargetConstant" + }]; + + // The targeted keyword. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/extension_feed_item.proto + google.ads.googleads.v12.common.KeywordInfo targeted_keyword = 22; + + // Output only. Status of the feed item. + // This field is read-only. + google.ads.googleads.v12.enums.FeedItemStatusEnum.FeedItemStatus status = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Extension type. + oneof extension { + // Sitelink extension. + google.ads.googleads.v12.common.SitelinkFeedItem sitelink_feed_item = 2; + + // Structured snippet extension. + google.ads.googleads.v12.common.StructuredSnippetFeedItem structured_snippet_feed_item = 3; + + // App extension. + google.ads.googleads.v12.common.AppFeedItem app_feed_item = 7; + + // Call extension. + google.ads.googleads.v12.common.CallFeedItem call_feed_item = 8; + + // Callout extension. + google.ads.googleads.v12.common.CalloutFeedItem callout_feed_item = 9; + + // Text message extension. + google.ads.googleads.v12.common.TextMessageFeedItem text_message_feed_item = 10; + + // Price extension. + google.ads.googleads.v12.common.PriceFeedItem price_feed_item = 11; + + // Promotion extension. + google.ads.googleads.v12.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.v12.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.v12.common.AffiliateLocationFeedItem affiliate_location_feed_item = 15 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Hotel Callout extension. + google.ads.googleads.v12.common.HotelCalloutFeedItem hotel_callout_feed_item = 23; + + // Immutable. Advertiser provided image extension. + google.ads.googleads.v12.common.ImageFeedItem image_feed_item = 31 [(google.api.field_behavior) = IMMUTABLE]; +======== + google.ads.googleads.v15.common.KeywordInfo targeted_keyword = 22; + + // Output only. Status of the feed item. + // This field is read-only. + google.ads.googleads.v15.enums.FeedItemStatusEnum.FeedItemStatus status = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Extension type. + oneof extension { + // Sitelink. + google.ads.googleads.v15.common.SitelinkFeedItem sitelink_feed_item = 2; + + // Structured snippet extension. + google.ads.googleads.v15.common.StructuredSnippetFeedItem + structured_snippet_feed_item = 3; + + // App extension. + google.ads.googleads.v15.common.AppFeedItem app_feed_item = 7; + + // Call extension. + google.ads.googleads.v15.common.CallFeedItem call_feed_item = 8; + + // Callout extension. + google.ads.googleads.v15.common.CalloutFeedItem callout_feed_item = 9; + + // Text message extension. + google.ads.googleads.v15.common.TextMessageFeedItem text_message_feed_item = + 10; + + // Price extension. + google.ads.googleads.v15.common.PriceFeedItem price_feed_item = 11; + + // Promotion extension. + google.ads.googleads.v15.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.v15.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.v15.common.AffiliateLocationFeedItem + affiliate_location_feed_item = 15 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Hotel Callout extension. + google.ads.googleads.v15.common.HotelCalloutFeedItem + hotel_callout_feed_item = 23; + + // Immutable. Advertiser provided image extension. + google.ads.googleads.v15.common.ImageFeedItem image_feed_item = 31 + [(google.api.field_behavior) = IMMUTABLE]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/extension_feed_item.proto + } + + // 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/v15/resources/feed.proto b/third_party/googleapis/google/ads/googleads/v15/resources/feed.proto new file mode 100644 index 000000000..7ec66bd90 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/feed.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/feed.proto +package google.ads.googleads.v12.resources; + +import "google/ads/googleads/v12/enums/affiliate_location_feed_relationship_type.proto"; +import "google/ads/googleads/v12/enums/feed_attribute_type.proto"; +import "google/ads/googleads/v12/enums/feed_origin.proto"; +import "google/ads/googleads/v12/enums/feed_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "FeedProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +package google.ads.googleads.v15.resources; + +import "google/ads/googleads/v15/enums/affiliate_location_feed_relationship_type.proto"; +import "google/ads/googleads/v15/enums/feed_attribute_type.proto"; +import "google/ads/googleads/v15/enums/feed_origin.proto"; +import "google/ads/googleads/v15/enums/feed_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "FeedProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/feed.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/feed.proto + google.ads.googleads.v12.enums.AffiliateLocationFeedRelationshipTypeEnum.AffiliateLocationFeedRelationshipType relationship_type = 2; +======== + google.ads.googleads.v15.enums.AffiliateLocationFeedRelationshipTypeEnum + .AffiliateLocationFeedRelationshipType relationship_type = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/feed.proto + } + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/feed.proto + google.ads.googleads.v12.enums.FeedOriginEnum.FeedOrigin origin = 5 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. Status of the feed. + // This field is read-only. + google.ads.googleads.v12.enums.FeedStatusEnum.FeedStatus status = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; +======== + google.ads.googleads.v15.enums.FeedOriginEnum.FeedOrigin origin = 5 + [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. Status of the feed. + // This field is read-only. + google.ads.googleads.v15.enums.FeedStatusEnum.FeedStatus status = 8 + [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/feed.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/feed.proto + google.ads.googleads.v12.enums.FeedAttributeTypeEnum.FeedAttributeType type = 3; +======== + google.ads.googleads.v15.enums.FeedAttributeTypeEnum.FeedAttributeType type = + 3; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/feed.proto + + // 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/v15/resources/feed_item.proto b/third_party/googleapis/google/ads/googleads/v15/resources/feed_item.proto new file mode 100644 index 000000000..b69004ae3 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/feed_item.proto @@ -0,0 +1,312 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/feed_item.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/feed_item.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/feed_item.proto +package google.ads.googleads.v13.resources; + +import "google/ads/googleads/v13/common/custom_parameter.proto"; +import "google/ads/googleads/v13/common/feed_common.proto"; +import "google/ads/googleads/v13/common/policy.proto"; +import "google/ads/googleads/v13/enums/feed_item_quality_approval_status.proto"; +import "google/ads/googleads/v13/enums/feed_item_quality_disapproval_reason.proto"; +import "google/ads/googleads/v13/enums/feed_item_status.proto"; +import "google/ads/googleads/v13/enums/feed_item_validation_status.proto"; +import "google/ads/googleads/v13/enums/geo_targeting_restriction.proto"; +import "google/ads/googleads/v13/enums/placeholder_type.proto"; +import "google/ads/googleads/v13/enums/policy_approval_status.proto"; +import "google/ads/googleads/v13/enums/policy_review_status.proto"; +import "google/ads/googleads/v13/errors/feed_item_validation_error.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +package google.ads.googleads.v15.resources; + +import "google/ads/googleads/v15/common/custom_parameter.proto"; +import "google/ads/googleads/v15/common/feed_common.proto"; +import "google/ads/googleads/v15/common/policy.proto"; +import "google/ads/googleads/v15/enums/feed_item_quality_approval_status.proto"; +import "google/ads/googleads/v15/enums/feed_item_quality_disapproval_reason.proto"; +import "google/ads/googleads/v15/enums/feed_item_status.proto"; +import "google/ads/googleads/v15/enums/feed_item_validation_status.proto"; +import "google/ads/googleads/v15/enums/geo_targeting_restriction.proto"; +import "google/ads/googleads/v15/enums/placeholder_type.proto"; +import "google/ads/googleads/v15/enums/policy_approval_status.proto"; +import "google/ads/googleads/v15/enums/policy_review_status.proto"; +import "google/ads/googleads/v15/errors/feed_item_validation_error.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/feed_item.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/feed_item.proto + google.ads.googleads.v13.enums.GeoTargetingRestrictionEnum +======== + google.ads.googleads.v15.enums.GeoTargetingRestrictionEnum +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/feed_item.proto + .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`. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/feed_item.proto + repeated google.ads.googleads.v13.common.CustomParameter +======== + repeated google.ads.googleads.v15.common.CustomParameter +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/feed_item.proto + url_custom_parameters = 8; + + // Output only. Status of the feed item. + // This field is read-only. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/feed_item.proto + google.ads.googleads.v13.enums.FeedItemStatusEnum.FeedItemStatus status = 9 +======== + google.ads.googleads.v15.enums.FeedItemStatusEnum.FeedItemStatus status = 9 +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/feed_item.proto + [(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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/feed_item.proto + google.ads.googleads.v13.common.Money price_value = 6; +======== + google.ads.googleads.v15.common.Money price_value = 6; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/feed_item.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/feed_item.proto + google.ads.googleads.v13.enums.PlaceholderTypeEnum.PlaceholderType +======== + google.ads.googleads.v15.enums.PlaceholderTypeEnum.PlaceholderType +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/feed_item.proto + 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/feed_item.proto + google.ads.googleads.v13.enums.PolicyReviewStatusEnum.PolicyReviewStatus +======== + google.ads.googleads.v15.enums.PolicyReviewStatusEnum.PolicyReviewStatus +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/feed_item.proto + 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/feed_item.proto + google.ads.googleads.v13.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.v13.common.PolicyTopicEntry + policy_topic_entries = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The validation status of the palceholder type. + google.ads.googleads.v13.enums.FeedItemValidationStatusEnum +======== + google.ads.googleads.v15.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.v15.common.PolicyTopicEntry + policy_topic_entries = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The validation status of the placeholder type. + google.ads.googleads.v15.enums.FeedItemValidationStatusEnum +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/feed_item.proto + .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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/feed_item.proto + google.ads.googleads.v13.enums.FeedItemQualityApprovalStatusEnum +======== + google.ads.googleads.v15.enums.FeedItemQualityApprovalStatusEnum +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/feed_item.proto + .FeedItemQualityApprovalStatus quality_approval_status = 8 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. List of placeholder type quality evaluation disapproval + // reasons. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/feed_item.proto + repeated google.ads.googleads.v13.enums.FeedItemQualityDisapprovalReasonEnum +======== + repeated google.ads.googleads.v15.enums.FeedItemQualityDisapprovalReasonEnum +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/feed_item.proto + .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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/feed_item.proto + google.ads.googleads.v13.errors.FeedItemValidationErrorEnum +======== + google.ads.googleads.v15.errors.FeedItemValidationErrorEnum +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/feed_item.proto + .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/v15/resources/feed_item_set.proto b/third_party/googleapis/google/ads/googleads/v15/resources/feed_item_set.proto new file mode 100644 index 000000000..2fac8c54b --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/feed_item_set.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/feed_item_set.proto +package google.ads.googleads.v12.resources; + +import "google/ads/googleads/v12/common/feed_item_set_filter_type_infos.proto"; +import "google/ads/googleads/v12/enums/feed_item_set_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemSetProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +package google.ads.googleads.v15.resources; + +import "google/ads/googleads/v15/common/feed_item_set_filter_type_infos.proto"; +import "google/ads/googleads/v15/enums/feed_item_set_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemSetProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/feed_item_set.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/feed_item_set.proto + google.ads.googleads.v12.enums.FeedItemSetStatusEnum.FeedItemSetStatus status = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; +======== + google.ads.googleads.v15.enums.FeedItemSetStatusEnum.FeedItemSetStatus + status = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/feed_item_set.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/feed_item_set.proto + google.ads.googleads.v12.common.DynamicLocationSetFilter dynamic_location_set_filter = 5; +======== + google.ads.googleads.v15.common.DynamicLocationSetFilter + dynamic_location_set_filter = 5; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/feed_item_set.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/feed_item_set.proto + google.ads.googleads.v12.common.DynamicAffiliateLocationSetFilter dynamic_affiliate_location_set_filter = 6; +======== + google.ads.googleads.v15.common.DynamicAffiliateLocationSetFilter + dynamic_affiliate_location_set_filter = 6; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/feed_item_set.proto + } +} diff --git a/third_party/googleapis/google/ads/googleads/v15/resources/feed_item_set_link.proto b/third_party/googleapis/google/ads/googleads/v15/resources/feed_item_set_link.proto new file mode 100644 index 000000000..468271fea --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/feed_item_set_link.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/feed_item_set_link.proto +package google.ads.googleads.v13.resources; +======== +package google.ads.googleads.v15.resources; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/feed_item_set_link.proto + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/feed_item_set_link.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemSetLinkProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemSetLinkProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/feed_item_set_link.proto + +// 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/v15/resources/feed_item_target.proto b/third_party/googleapis/google/ads/googleads/v15/resources/feed_item_target.proto new file mode 100644 index 000000000..6a8a67074 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/feed_item_target.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/feed_item_target.proto +package google.ads.googleads.v12.resources; + +import "google/ads/googleads/v12/common/criteria.proto"; +import "google/ads/googleads/v12/enums/feed_item_target_device.proto"; +import "google/ads/googleads/v12/enums/feed_item_target_status.proto"; +import "google/ads/googleads/v12/enums/feed_item_target_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemTargetProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +package google.ads.googleads.v15.resources; + +import "google/ads/googleads/v15/common/criteria.proto"; +import "google/ads/googleads/v15/enums/feed_item_target_device.proto"; +import "google/ads/googleads/v15/enums/feed_item_target_status.proto"; +import "google/ads/googleads/v15/enums/feed_item_target_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemTargetProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/feed_item_target.proto + +// 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" + } + ]; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/feed_item_target.proto + // Output only. The target type of this feed item target. This field is read-only. + google.ads.googleads.v12.enums.FeedItemTargetTypeEnum.FeedItemTargetType feed_item_target_type = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; +======== + // Output only. The target type of this feed item target. This field is + // read-only. + google.ads.googleads.v15.enums.FeedItemTargetTypeEnum.FeedItemTargetType + feed_item_target_type = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/feed_item_target.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/feed_item_target.proto + google.ads.googleads.v12.enums.FeedItemTargetStatusEnum.FeedItemTargetStatus status = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; +======== + google.ads.googleads.v15.enums.FeedItemTargetStatusEnum.FeedItemTargetStatus + status = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/feed_item_target.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/feed_item_target.proto + google.ads.googleads.v12.common.KeywordInfo keyword = 7 [(google.api.field_behavior) = IMMUTABLE]; +======== + google.ads.googleads.v15.common.KeywordInfo keyword = 7 + [(google.api.field_behavior) = IMMUTABLE]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/feed_item_target.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/feed_item_target.proto + google.ads.googleads.v12.enums.FeedItemTargetDeviceEnum.FeedItemTargetDevice device = 9 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. The targeted schedule. + google.ads.googleads.v12.common.AdScheduleInfo ad_schedule = 10 [(google.api.field_behavior) = IMMUTABLE]; +======== + google.ads.googleads.v15.enums.FeedItemTargetDeviceEnum.FeedItemTargetDevice + device = 9 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. The targeted schedule. + google.ads.googleads.v15.common.AdScheduleInfo ad_schedule = 10 + [(google.api.field_behavior) = IMMUTABLE]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/feed_item_target.proto + } +} diff --git a/third_party/googleapis/google/ads/googleads/v15/resources/feed_mapping.proto b/third_party/googleapis/google/ads/googleads/v15/resources/feed_mapping.proto new file mode 100644 index 000000000..b069b4e55 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.v15.resources; + +import "google/ads/googleads/v15/enums/ad_customizer_placeholder_field.proto"; +import "google/ads/googleads/v15/enums/affiliate_location_placeholder_field.proto"; +import "google/ads/googleads/v15/enums/app_placeholder_field.proto"; +import "google/ads/googleads/v15/enums/call_placeholder_field.proto"; +import "google/ads/googleads/v15/enums/callout_placeholder_field.proto"; +import "google/ads/googleads/v15/enums/custom_placeholder_field.proto"; +import "google/ads/googleads/v15/enums/dsa_page_feed_criterion_field.proto"; +import "google/ads/googleads/v15/enums/education_placeholder_field.proto"; +import "google/ads/googleads/v15/enums/feed_mapping_criterion_type.proto"; +import "google/ads/googleads/v15/enums/feed_mapping_status.proto"; +import "google/ads/googleads/v15/enums/flight_placeholder_field.proto"; +import "google/ads/googleads/v15/enums/hotel_placeholder_field.proto"; +import "google/ads/googleads/v15/enums/image_placeholder_field.proto"; +import "google/ads/googleads/v15/enums/job_placeholder_field.proto"; +import "google/ads/googleads/v15/enums/local_placeholder_field.proto"; +import "google/ads/googleads/v15/enums/location_extension_targeting_criterion_field.proto"; +import "google/ads/googleads/v15/enums/location_placeholder_field.proto"; +import "google/ads/googleads/v15/enums/message_placeholder_field.proto"; +import "google/ads/googleads/v15/enums/placeholder_type.proto"; +import "google/ads/googleads/v15/enums/price_placeholder_field.proto"; +import "google/ads/googleads/v15/enums/promotion_placeholder_field.proto"; +import "google/ads/googleads/v15/enums/real_estate_placeholder_field.proto"; +import "google/ads/googleads/v15/enums/sitelink_placeholder_field.proto"; +import "google/ads/googleads/v15/enums/structured_snippet_placeholder_field.proto"; +import "google/ads/googleads/v15/enums/travel_placeholder_field.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "FeedMappingProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::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.v15.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.v15.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.v15.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.v15.enums.SitelinkPlaceholderFieldEnum + .SitelinkPlaceholderField sitelink_field = 3 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Call Placeholder Fields. + google.ads.googleads.v15.enums.CallPlaceholderFieldEnum.CallPlaceholderField + call_field = 4 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. App Placeholder Fields. + google.ads.googleads.v15.enums.AppPlaceholderFieldEnum.AppPlaceholderField + app_field = 5 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. Location Placeholder Fields. This field is read-only. + google.ads.googleads.v15.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.v15.enums.AffiliateLocationPlaceholderFieldEnum + .AffiliateLocationPlaceholderField affiliate_location_field = 7 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. Callout Placeholder Fields. + google.ads.googleads.v15.enums.CalloutPlaceholderFieldEnum + .CalloutPlaceholderField callout_field = 8 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Structured Snippet Placeholder Fields. + google.ads.googleads.v15.enums.StructuredSnippetPlaceholderFieldEnum + .StructuredSnippetPlaceholderField structured_snippet_field = 9 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Message Placeholder Fields. + google.ads.googleads.v15.enums.MessagePlaceholderFieldEnum + .MessagePlaceholderField message_field = 10 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Price Placeholder Fields. + google.ads.googleads.v15.enums.PricePlaceholderFieldEnum + .PricePlaceholderField price_field = 11 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Promotion Placeholder Fields. + google.ads.googleads.v15.enums.PromotionPlaceholderFieldEnum + .PromotionPlaceholderField promotion_field = 12 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Ad Customizer Placeholder Fields + google.ads.googleads.v15.enums.AdCustomizerPlaceholderFieldEnum + .AdCustomizerPlaceholderField ad_customizer_field = 13 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Dynamic Search Ad Page Feed Fields. + google.ads.googleads.v15.enums.DsaPageFeedCriterionFieldEnum + .DsaPageFeedCriterionField dsa_page_feed_field = 14 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Location Target Fields. + google.ads.googleads.v15.enums.LocationExtensionTargetingCriterionFieldEnum + .LocationExtensionTargetingCriterionField + location_extension_targeting_field = 15 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Education Placeholder Fields + google.ads.googleads.v15.enums.EducationPlaceholderFieldEnum + .EducationPlaceholderField education_field = 16 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Flight Placeholder Fields + google.ads.googleads.v15.enums.FlightPlaceholderFieldEnum + .FlightPlaceholderField flight_field = 17 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Custom Placeholder Fields + google.ads.googleads.v15.enums.CustomPlaceholderFieldEnum + .CustomPlaceholderField custom_field = 18 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Hotel Placeholder Fields + google.ads.googleads.v15.enums.HotelPlaceholderFieldEnum + .HotelPlaceholderField hotel_field = 19 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Real Estate Placeholder Fields + google.ads.googleads.v15.enums.RealEstatePlaceholderFieldEnum + .RealEstatePlaceholderField real_estate_field = 20 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Travel Placeholder Fields + google.ads.googleads.v15.enums.TravelPlaceholderFieldEnum + .TravelPlaceholderField travel_field = 21 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Local Placeholder Fields + google.ads.googleads.v15.enums.LocalPlaceholderFieldEnum + .LocalPlaceholderField local_field = 22 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Job Placeholder Fields + google.ads.googleads.v15.enums.JobPlaceholderFieldEnum.JobPlaceholderField + job_field = 23 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Image Placeholder Fields + google.ads.googleads.v15.enums.ImagePlaceholderFieldEnum + .ImagePlaceholderField image_field = 26 + [(google.api.field_behavior) = IMMUTABLE]; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v15/resources/feed_placeholder_view.proto b/third_party/googleapis/google/ads/googleads/v15/resources/feed_placeholder_view.proto new file mode 100644 index 000000000..d83c15100 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/feed_placeholder_view.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/feed_placeholder_view.proto +package google.ads.googleads.v12.resources; + +import "google/ads/googleads/v12/enums/placeholder_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "FeedPlaceholderViewProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +package google.ads.googleads.v15.resources; + +import "google/ads/googleads/v15/enums/placeholder_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "FeedPlaceholderViewProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/feed_placeholder_view.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/feed_placeholder_view.proto + google.ads.googleads.v12.enums.PlaceholderTypeEnum.PlaceholderType placeholder_type = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; +======== + google.ads.googleads.v15.enums.PlaceholderTypeEnum.PlaceholderType + placeholder_type = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/feed_placeholder_view.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v15/resources/gender_view.proto b/third_party/googleapis/google/ads/googleads/v15/resources/gender_view.proto new file mode 100644 index 000000000..5a860ae2f --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/gender_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/gender_view.proto +package google.ads.googleads.v13.resources; +======== +package google.ads.googleads.v15.resources; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/gender_view.proto + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/gender_view.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "GenderViewProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "GenderViewProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/gender_view.proto + +// 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/v15/resources/geo_target_constant.proto b/third_party/googleapis/google/ads/googleads/v15/resources/geo_target_constant.proto new file mode 100644 index 000000000..307ae66d9 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/geo_target_constant.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/geo_target_constant.proto +package google.ads.googleads.v12.resources; + +import "google/ads/googleads/v12/enums/geo_target_constant_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "GeoTargetConstantProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +package google.ads.googleads.v15.resources; + +import "google/ads/googleads/v15/enums/geo_target_constant_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "GeoTargetConstantProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/geo_target_constant.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/geo_target_constant.proto + google.ads.googleads.v12.enums.GeoTargetConstantStatusEnum.GeoTargetConstantStatus status = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; +======== + google.ads.googleads.v15.enums.GeoTargetConstantStatusEnum + .GeoTargetConstantStatus status = 7 + [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/geo_target_constant.proto + + // 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/v15/resources/geographic_view.proto b/third_party/googleapis/google/ads/googleads/v15/resources/geographic_view.proto new file mode 100644 index 000000000..d7a6181b1 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/geographic_view.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/geographic_view.proto +package google.ads.googleads.v12.resources; + +import "google/ads/googleads/v12/enums/geo_targeting_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "GeographicViewProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +package google.ads.googleads.v15.resources; + +import "google/ads/googleads/v15/enums/geo_targeting_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "GeographicViewProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/geographic_view.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/geographic_view.proto + google.ads.googleads.v12.enums.GeoTargetingTypeEnum.GeoTargetingType location_type = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; +======== + google.ads.googleads.v15.enums.GeoTargetingTypeEnum.GeoTargetingType + location_type = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/geographic_view.proto + + // 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/v15/resources/google_ads_field.proto b/third_party/googleapis/google/ads/googleads/v15/resources/google_ads_field.proto new file mode 100644 index 000000000..2b897d823 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/google_ads_field.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/google_ads_field.proto +package google.ads.googleads.v12.resources; + +import "google/ads/googleads/v12/enums/google_ads_field_category.proto"; +import "google/ads/googleads/v12/enums/google_ads_field_data_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "GoogleAdsFieldProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +package google.ads.googleads.v15.resources; + +import "google/ads/googleads/v15/enums/google_ads_field_category.proto"; +import "google/ads/googleads/v15/enums/google_ads_field_data_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "GoogleAdsFieldProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/google_ads_field.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/google_ads_field.proto + google.ads.googleads.v12.enums.GoogleAdsFieldCategoryEnum.GoogleAdsFieldCategory category = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; +======== + google.ads.googleads.v15.enums.GoogleAdsFieldCategoryEnum + .GoogleAdsFieldCategory category = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/google_ads_field.proto + + // 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]; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/google_ads_field.proto + // Output only. This field determines the operators that can be used with the artifact + // in WHERE clauses. + google.ads.googleads.v12.enums.GoogleAdsFieldDataTypeEnum.GoogleAdsFieldDataType data_type = 12 [(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.v15.enums.GoogleAdsFieldDataTypeEnum + .GoogleAdsFieldDataType data_type = 12 + [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/google_ads_field.proto + + // 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/v15/resources/group_placement_view.proto b/third_party/googleapis/google/ads/googleads/v15/resources/group_placement_view.proto new file mode 100644 index 000000000..a07c488ff --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/group_placement_view.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/group_placement_view.proto +package google.ads.googleads.v12.resources; + +import "google/ads/googleads/v12/enums/placement_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "GroupPlacementViewProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +package google.ads.googleads.v15.resources; + +import "google/ads/googleads/v15/enums/placement_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "GroupPlacementViewProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/group_placement_view.proto + +// 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]; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/group_placement_view.proto + // 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.v12.enums.PlacementTypeEnum.PlacementType placement_type = 5 [(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.v15.enums.PlacementTypeEnum.PlacementType + placement_type = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/group_placement_view.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v15/resources/hotel_group_view.proto b/third_party/googleapis/google/ads/googleads/v15/resources/hotel_group_view.proto new file mode 100644 index 000000000..ee83f3d32 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/hotel_group_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/hotel_group_view.proto +package google.ads.googleads.v13.resources; +======== +package google.ads.googleads.v15.resources; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/hotel_group_view.proto + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/hotel_group_view.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "HotelGroupViewProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "HotelGroupViewProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/hotel_group_view.proto + +// 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/v15/resources/hotel_performance_view.proto b/third_party/googleapis/google/ads/googleads/v15/resources/hotel_performance_view.proto new file mode 100644 index 000000000..94be640ae --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/hotel_performance_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/hotel_performance_view.proto +package google.ads.googleads.v13.resources; +======== +package google.ads.googleads.v15.resources; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/hotel_performance_view.proto + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/hotel_performance_view.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "HotelPerformanceViewProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "HotelPerformanceViewProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/hotel_performance_view.proto + +// 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/v15/resources/hotel_reconciliation.proto b/third_party/googleapis/google/ads/googleads/v15/resources/hotel_reconciliation.proto new file mode 100644 index 000000000..e256bf62d --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/hotel_reconciliation.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/hotel_reconciliation.proto +package google.ads.googleads.v12.resources; + +import "google/ads/googleads/v12/enums/hotel_reconciliation_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "HotelReconciliationProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +package google.ads.googleads.v15.resources; + +import "google/ads/googleads/v15/enums/hotel_reconciliation_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "HotelReconciliationProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/hotel_reconciliation.proto + +// 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]; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/hotel_reconciliation.proto + // 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.v12.enums.HotelReconciliationStatusEnum.HotelReconciliationStatus status = 10 [ +======== + // 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.v15.enums.HotelReconciliationStatusEnum + .HotelReconciliationStatus status = 10 [ +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/hotel_reconciliation.proto + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = OUTPUT_ONLY + ]; +} diff --git a/third_party/googleapis/google/ads/googleads/v15/resources/income_range_view.proto b/third_party/googleapis/google/ads/googleads/v15/resources/income_range_view.proto new file mode 100644 index 000000000..4ea286f83 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/income_range_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/income_range_view.proto +package google.ads.googleads.v13.resources; +======== +package google.ads.googleads.v15.resources; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/income_range_view.proto + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/income_range_view.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "IncomeRangeViewProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "IncomeRangeViewProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/income_range_view.proto + +// 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/v15/resources/invoice.proto b/third_party/googleapis/google/ads/googleads/v15/resources/invoice.proto new file mode 100644 index 000000000..4a2d748f1 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.v15.resources; + +import "google/ads/googleads/v15/common/dates.proto"; +import "google/ads/googleads/v15/enums/invoice_type.proto"; +import "google/ads/googleads/v15/enums/month_of_year.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "InvoiceProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::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.v15.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.v15.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.v15.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.v15.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/v15/resources/keyword_plan.proto b/third_party/googleapis/google/ads/googleads/v15/resources/keyword_plan.proto new file mode 100644 index 000000000..f7a93534e --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/keyword_plan.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/keyword_plan.proto +package google.ads.googleads.v12.resources; + +import "google/ads/googleads/v12/common/dates.proto"; +import "google/ads/googleads/v12/enums/keyword_plan_forecast_interval.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +package google.ads.googleads.v15.resources; + +import "google/ads/googleads/v15/common/dates.proto"; +import "google/ads/googleads/v15/enums/keyword_plan_forecast_interval.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/keyword_plan.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/keyword_plan.proto + google.ads.googleads.v12.enums.KeywordPlanForecastIntervalEnum.KeywordPlanForecastInterval date_interval = 1; +======== + google.ads.googleads.v15.enums.KeywordPlanForecastIntervalEnum + .KeywordPlanForecastInterval date_interval = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/keyword_plan.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/keyword_plan.proto + google.ads.googleads.v12.common.DateRange date_range = 2; +======== + google.ads.googleads.v15.common.DateRange date_range = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/keyword_plan.proto + } +} diff --git a/third_party/googleapis/google/ads/googleads/v15/resources/keyword_plan_ad_group.proto b/third_party/googleapis/google/ads/googleads/v15/resources/keyword_plan_ad_group.proto new file mode 100644 index 000000000..4660b8779 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/keyword_plan_ad_group.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/keyword_plan_ad_group.proto +package google.ads.googleads.v12.resources; +======== +package google.ads.googleads.v15.resources; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/keyword_plan_ad_group.proto + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/keyword_plan_ad_group.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanAdGroupProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanAdGroupProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/keyword_plan_ad_group.proto + +// 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/v15/resources/keyword_plan_ad_group_keyword.proto b/third_party/googleapis/google/ads/googleads/v15/resources/keyword_plan_ad_group_keyword.proto new file mode 100644 index 000000000..0d9b746bf --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/keyword_plan_ad_group_keyword.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/keyword_plan_ad_group_keyword.proto +package google.ads.googleads.v12.resources; + +import "google/ads/googleads/v12/enums/keyword_match_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanAdGroupKeywordProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +package google.ads.googleads.v15.resources; + +import "google/ads/googleads/v15/enums/keyword_match_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanAdGroupKeywordProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/keyword_plan_ad_group_keyword.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/keyword_plan_ad_group_keyword.proto + google.ads.googleads.v12.enums.KeywordMatchTypeEnum.KeywordMatchType match_type = 5; +======== + google.ads.googleads.v15.enums.KeywordMatchTypeEnum.KeywordMatchType + match_type = 5; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/keyword_plan_ad_group_keyword.proto + + // 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/v15/resources/keyword_plan_campaign.proto b/third_party/googleapis/google/ads/googleads/v15/resources/keyword_plan_campaign.proto new file mode 100644 index 000000000..dd8e19038 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/keyword_plan_campaign.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/keyword_plan_campaign.proto +package google.ads.googleads.v12.resources; + +import "google/ads/googleads/v12/enums/keyword_plan_network.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanCampaignProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +package google.ads.googleads.v15.resources; + +import "google/ads/googleads/v15/enums/keyword_plan_network.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanCampaignProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/keyword_plan_campaign.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/keyword_plan_campaign.proto + google.ads.googleads.v12.enums.KeywordPlanNetworkEnum.KeywordPlanNetwork keyword_plan_network = 6; +======== + google.ads.googleads.v15.enums.KeywordPlanNetworkEnum.KeywordPlanNetwork + keyword_plan_network = 6; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/keyword_plan_campaign.proto + + // 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/v15/resources/keyword_plan_campaign_keyword.proto b/third_party/googleapis/google/ads/googleads/v15/resources/keyword_plan_campaign_keyword.proto new file mode 100644 index 000000000..e5cd31b82 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/keyword_plan_campaign_keyword.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/keyword_plan_campaign_keyword.proto +package google.ads.googleads.v12.resources; + +import "google/ads/googleads/v12/enums/keyword_match_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanCampaignKeywordProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +package google.ads.googleads.v15.resources; + +import "google/ads/googleads/v15/enums/keyword_match_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanCampaignKeywordProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/keyword_plan_campaign_keyword.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/keyword_plan_campaign_keyword.proto + google.ads.googleads.v12.enums.KeywordMatchTypeEnum.KeywordMatchType match_type = 5; +======== + google.ads.googleads.v15.enums.KeywordMatchTypeEnum.KeywordMatchType + match_type = 5; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/keyword_plan_campaign_keyword.proto + + // 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/v15/resources/keyword_theme_constant.proto b/third_party/googleapis/google/ads/googleads/v15/resources/keyword_theme_constant.proto new file mode 100644 index 000000000..85620b460 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/keyword_theme_constant.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/keyword_theme_constant.proto +package google.ads.googleads.v12.resources; +======== +package google.ads.googleads.v15.resources; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/keyword_theme_constant.proto + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/keyword_theme_constant.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "KeywordThemeConstantProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "KeywordThemeConstantProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/keyword_theme_constant.proto + +// 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/v15/resources/keyword_view.proto b/third_party/googleapis/google/ads/googleads/v15/resources/keyword_view.proto new file mode 100644 index 000000000..a47156fe9 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/keyword_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/keyword_view.proto +package google.ads.googleads.v13.resources; +======== +package google.ads.googleads.v15.resources; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/keyword_view.proto + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/keyword_view.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "KeywordViewProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "KeywordViewProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/keyword_view.proto + +// 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/v15/resources/label.proto b/third_party/googleapis/google/ads/googleads/v15/resources/label.proto new file mode 100644 index 000000000..1a73aaedb --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/label.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/label.proto +package google.ads.googleads.v12.resources; + +import "google/ads/googleads/v12/common/text_label.proto"; +import "google/ads/googleads/v12/enums/label_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "LabelProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +package google.ads.googleads.v15.resources; + +import "google/ads/googleads/v15/common/text_label.proto"; +import "google/ads/googleads/v15/enums/label_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "LabelProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/label.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/label.proto + google.ads.googleads.v12.enums.LabelStatusEnum.LabelStatus status = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // A type of label displaying text on a colored background. + google.ads.googleads.v12.common.TextLabel text_label = 5; +======== + google.ads.googleads.v15.enums.LabelStatusEnum.LabelStatus status = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // A type of label displaying text on a colored background. + google.ads.googleads.v15.common.TextLabel text_label = 5; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/label.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v15/resources/landing_page_view.proto b/third_party/googleapis/google/ads/googleads/v15/resources/landing_page_view.proto new file mode 100644 index 000000000..a4b5f3949 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/landing_page_view.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/landing_page_view.proto +package google.ads.googleads.v12.resources; +======== +package google.ads.googleads.v15.resources; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/landing_page_view.proto + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/landing_page_view.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "LandingPageViewProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "LandingPageViewProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/landing_page_view.proto + +// 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/v15/resources/language_constant.proto b/third_party/googleapis/google/ads/googleads/v15/resources/language_constant.proto new file mode 100644 index 000000000..0c7334281 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/language_constant.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/language_constant.proto +package google.ads.googleads.v13.resources; +======== +package google.ads.googleads.v15.resources; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/language_constant.proto + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/language_constant.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "LanguageConstantProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "LanguageConstantProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/language_constant.proto + +// 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/v15/resources/lead_form_submission_data.proto b/third_party/googleapis/google/ads/googleads/v15/resources/lead_form_submission_data.proto new file mode 100644 index 000000000..fa15fce36 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/lead_form_submission_data.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/lead_form_submission_data.proto +package google.ads.googleads.v12.resources; + +import "google/ads/googleads/v12/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.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "LeadFormSubmissionDataProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +package google.ads.googleads.v15.resources; + +import "google/ads/googleads/v15/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.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "LeadFormSubmissionDataProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/lead_form_submission_data.proto + +// 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. 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]; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/lead_form_submission_data.proto + // 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". +======== + // 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". +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/lead_form_submission_data.proto + 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/lead_form_submission_data.proto + google.ads.googleads.v12.enums.LeadFormFieldUserInputTypeEnum.LeadFormFieldUserInputType field_type = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; +======== + google.ads.googleads.v15.enums.LeadFormFieldUserInputTypeEnum + .LeadFormFieldUserInputType field_type = 1 + [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/lead_form_submission_data.proto + + // 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 { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/lead_form_submission_data.proto + // 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. +======== + // 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. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/lead_form_submission_data.proto + string field_value = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v15/resources/life_event.proto b/third_party/googleapis/google/ads/googleads/v15/resources/life_event.proto new file mode 100644 index 000000000..fa8e407ea --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/life_event.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/life_event.proto +package google.ads.googleads.v12.resources; + +import "google/ads/googleads/v12/common/criterion_category_availability.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "LifeEventProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +package google.ads.googleads.v15.resources; + +import "google/ads/googleads/v15/common/criterion_category_availability.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "LifeEventProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/life_event.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/life_event.proto + repeated google.ads.googleads.v12.common.CriterionCategoryAvailability availabilities = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; +======== + repeated google.ads.googleads.v15.common.CriterionCategoryAvailability + availabilities = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/life_event.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v15/resources/local_services_lead.proto b/third_party/googleapis/google/ads/googleads/v15/resources/local_services_lead.proto new file mode 100644 index 000000000..dc1787261 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.v15.resources; + +import "google/ads/googleads/v15/enums/local_services_lead_status.proto"; +import "google/ads/googleads/v15/enums/local_services_lead_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "LocalServicesLeadProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::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.v15.enums.LocalServicesLeadTypeEnum.LeadType lead_type = + 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Current status of lead. + google.ads.googleads.v15.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/v15/resources/local_services_lead_conversation.proto b/third_party/googleapis/google/ads/googleads/v15/resources/local_services_lead_conversation.proto new file mode 100644 index 000000000..289711c31 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.v15.resources; + +import "google/ads/googleads/v15/enums/local_services_conversation_type.proto"; +import "google/ads/googleads/v15/enums/local_services_participant_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "LocalServicesLeadConversationProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::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.v15.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.v15.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/v15/resources/local_services_verification_artifact.proto b/third_party/googleapis/google/ads/googleads/v15/resources/local_services_verification_artifact.proto new file mode 100644 index 000000000..cb2bab112 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/local_services_verification_artifact.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.v15.resources; + +import "google/ads/googleads/v15/common/local_services.proto"; +import "google/ads/googleads/v15/enums/local_services_insurance_rejection_reason.proto"; +import "google/ads/googleads/v15/enums/local_services_license_rejection_reason.proto"; +import "google/ads/googleads/v15/enums/local_services_verification_artifact_status.proto"; +import "google/ads/googleads/v15/enums/local_services_verification_artifact_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "LocalServicesVerificationArtifactProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::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.v15.enums.LocalServicesVerificationArtifactStatusEnum + .LocalServicesVerificationArtifactStatus status = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The type of the verification artifact. + google.ads.googleads.v15.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]; + } +} + +// 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.v15.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.v15.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.v15.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.v15.common.LocalServicesDocumentReadOnly + license_document_readonly = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v15/resources/location_view.proto b/third_party/googleapis/google/ads/googleads/v15/resources/location_view.proto new file mode 100644 index 000000000..6434be6f4 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/location_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/location_view.proto +package google.ads.googleads.v13.resources; +======== +package google.ads.googleads.v15.resources; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/location_view.proto + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/location_view.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "LocationViewProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "LocationViewProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/location_view.proto + +// 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/v15/resources/managed_placement_view.proto b/third_party/googleapis/google/ads/googleads/v15/resources/managed_placement_view.proto new file mode 100644 index 000000000..1339074cc --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/managed_placement_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/managed_placement_view.proto +package google.ads.googleads.v13.resources; +======== +package google.ads.googleads.v15.resources; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/managed_placement_view.proto + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/managed_placement_view.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ManagedPlacementViewProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ManagedPlacementViewProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/managed_placement_view.proto + +// 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/v15/resources/media_file.proto b/third_party/googleapis/google/ads/googleads/v15/resources/media_file.proto new file mode 100644 index 000000000..aa45ba58e --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/media_file.proto @@ -0,0 +1,170 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/media_file.proto +package google.ads.googleads.v12.resources; + +import "google/ads/googleads/v12/enums/media_type.proto"; +import "google/ads/googleads/v12/enums/mime_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "MediaFileProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +package google.ads.googleads.v15.resources; + +import "google/ads/googleads/v15/enums/media_type.proto"; +import "google/ads/googleads/v15/enums/mime_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "MediaFileProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/media_file.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/media_file.proto + google.ads.googleads.v12.enums.MediaTypeEnum.MediaType type = 5 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. The mime type of the media file. + google.ads.googleads.v12.enums.MimeTypeEnum.MimeType mime_type = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; +======== + google.ads.googleads.v15.enums.MediaTypeEnum.MediaType type = 5 + [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. The mime type of the media file. + google.ads.googleads.v15.enums.MimeTypeEnum.MimeType mime_type = 6 + [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/media_file.proto + + // 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/v15/resources/mobile_app_category_constant.proto b/third_party/googleapis/google/ads/googleads/v15/resources/mobile_app_category_constant.proto new file mode 100644 index 000000000..a96b737fc --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/mobile_app_category_constant.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/mobile_app_category_constant.proto +package google.ads.googleads.v13.resources; +======== +package google.ads.googleads.v15.resources; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/mobile_app_category_constant.proto + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/mobile_app_category_constant.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "MobileAppCategoryConstantProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "MobileAppCategoryConstantProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/mobile_app_category_constant.proto + +// 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/v15/resources/mobile_device_constant.proto b/third_party/googleapis/google/ads/googleads/v15/resources/mobile_device_constant.proto new file mode 100644 index 000000000..a3980ddc8 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/mobile_device_constant.proto @@ -0,0 +1,90 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/mobile_device_constant.proto +package google.ads.googleads.v12.resources; + +import "google/ads/googleads/v12/enums/mobile_device_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "MobileDeviceConstantProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +package google.ads.googleads.v15.resources; + +import "google/ads/googleads/v15/enums/mobile_device_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "MobileDeviceConstantProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/mobile_device_constant.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/mobile_device_constant.proto + google.ads.googleads.v12.enums.MobileDeviceTypeEnum.MobileDeviceType type = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; +======== + google.ads.googleads.v15.enums.MobileDeviceTypeEnum.MobileDeviceType type = 6 + [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/mobile_device_constant.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v15/resources/offline_conversion_upload_client_summary.proto b/third_party/googleapis/google/ads/googleads/v15/resources/offline_conversion_upload_client_summary.proto new file mode 100644 index 000000000..9f436cf30 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.v15.resources; + +import "google/ads/googleads/v15/enums/offline_conversion_diagnostic_status_enum.proto"; +import "google/ads/googleads/v15/enums/offline_event_upload_client_enum.proto"; +import "google/ads/googleads/v15/errors/collection_size_error.proto"; +import "google/ads/googleads/v15/errors/conversion_adjustment_upload_error.proto"; +import "google/ads/googleads/v15/errors/conversion_upload_error.proto"; +import "google/ads/googleads/v15/errors/date_error.proto"; +import "google/ads/googleads/v15/errors/distinct_error.proto"; +import "google/ads/googleads/v15/errors/field_error.proto"; +import "google/ads/googleads/v15/errors/mutate_error.proto"; +import "google/ads/googleads/v15/errors/not_allowlisted_error.proto"; +import "google/ads/googleads/v15/errors/string_format_error.proto"; +import "google/ads/googleads/v15/errors/string_length_error.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "OfflineConversionUploadClientSummaryProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::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.v15.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.v15.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.v15.errors.CollectionSizeErrorEnum.CollectionSizeError + collection_size_error = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Conversion adjustment upload error. + google.ads.googleads.v15.errors.ConversionAdjustmentUploadErrorEnum + .ConversionAdjustmentUploadError conversion_adjustment_upload_error = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Conversion upload error. + google.ads.googleads.v15.errors.ConversionUploadErrorEnum + .ConversionUploadError conversion_upload_error = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Date error. + google.ads.googleads.v15.errors.DateErrorEnum.DateError date_error = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Distinct error. + google.ads.googleads.v15.errors.DistinctErrorEnum.DistinctError + distinct_error = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Field error. + google.ads.googleads.v15.errors.FieldErrorEnum.FieldError field_error = 6 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Mutate error. + google.ads.googleads.v15.errors.MutateErrorEnum.MutateError mutate_error = 7 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Not allowlisted error. + google.ads.googleads.v15.errors.NotAllowlistedErrorEnum.NotAllowlistedError + not_allowlisted_error = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. String format error. + google.ads.googleads.v15.errors.StringFormatErrorEnum.StringFormatError + string_format_error = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. String length error. + google.ads.googleads.v15.errors.StringLengthErrorEnum.StringLengthError + string_length_error = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v15/resources/offline_user_data_job.proto b/third_party/googleapis/google/ads/googleads/v15/resources/offline_user_data_job.proto new file mode 100644 index 000000000..fd0ca995a --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/offline_user_data_job.proto @@ -0,0 +1,152 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/offline_user_data_job.proto +package google.ads.googleads.v12.resources; + +import "google/ads/googleads/v12/common/offline_user_data.proto"; +import "google/ads/googleads/v12/enums/offline_user_data_job_failure_reason.proto"; +import "google/ads/googleads/v12/enums/offline_user_data_job_match_rate_range.proto"; +import "google/ads/googleads/v12/enums/offline_user_data_job_status.proto"; +import "google/ads/googleads/v12/enums/offline_user_data_job_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "OfflineUserDataJobProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +package google.ads.googleads.v15.resources; + +import "google/ads/googleads/v15/common/offline_user_data.proto"; +import "google/ads/googleads/v15/enums/offline_user_data_job_failure_reason.proto"; +import "google/ads/googleads/v15/enums/offline_user_data_job_match_rate_range.proto"; +import "google/ads/googleads/v15/enums/offline_user_data_job_status.proto"; +import "google/ads/googleads/v15/enums/offline_user_data_job_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "OfflineUserDataJobProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/offline_user_data_job.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/offline_user_data_job.proto + google.ads.googleads.v12.enums.OfflineUserDataJobTypeEnum.OfflineUserDataJobType type = 4 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. Status of the job. + google.ads.googleads.v12.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.v12.enums.OfflineUserDataJobFailureReasonEnum.OfflineUserDataJobFailureReason failure_reason = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; +======== + google.ads.googleads.v15.enums.OfflineUserDataJobTypeEnum + .OfflineUserDataJobType type = 4 + [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. Status of the job. + google.ads.googleads.v15.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.v15.enums.OfflineUserDataJobFailureReasonEnum + .OfflineUserDataJobFailureReason failure_reason = 6 + [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/offline_user_data_job.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/offline_user_data_job.proto + google.ads.googleads.v12.common.CustomerMatchUserListMetadata customer_match_user_list_metadata = 7 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Metadata for store sales data update. + google.ads.googleads.v12.common.StoreSalesMetadata store_sales_metadata = 8 [(google.api.field_behavior) = IMMUTABLE]; +======== + google.ads.googleads.v15.common.CustomerMatchUserListMetadata + customer_match_user_list_metadata = 7 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Metadata for store sales data update. + google.ads.googleads.v15.common.StoreSalesMetadata store_sales_metadata = 8 + [(google.api.field_behavior) = IMMUTABLE]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/offline_user_data_job.proto + } +} + +// Metadata of offline user data job. +message OfflineUserDataJobMetadata { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/offline_user_data_job.proto + // 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.v12.enums.OfflineUserDataJobMatchRateRangeEnum.OfflineUserDataJobMatchRateRange match_rate_range = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; +======== + // 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.v15.enums.OfflineUserDataJobMatchRateRangeEnum + .OfflineUserDataJobMatchRateRange match_rate_range = 1 + [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/offline_user_data_job.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v15/resources/operating_system_version_constant.proto b/third_party/googleapis/google/ads/googleads/v15/resources/operating_system_version_constant.proto new file mode 100644 index 000000000..30ba1021c --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/operating_system_version_constant.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/operating_system_version_constant.proto +package google.ads.googleads.v12.resources; + +import "google/ads/googleads/v12/enums/operating_system_version_operator_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "OperatingSystemVersionConstantProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +package google.ads.googleads.v15.resources; + +import "google/ads/googleads/v15/enums/operating_system_version_operator_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "OperatingSystemVersionConstantProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/operating_system_version_constant.proto + +// 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]; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/operating_system_version_constant.proto + // Output only. Determines whether this constant represents a single version or a range of + // versions. + google.ads.googleads.v12.enums.OperatingSystemVersionOperatorTypeEnum.OperatingSystemVersionOperatorType operator_type = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; +======== + // Output only. Determines whether this constant represents a single version + // or a range of versions. + google.ads.googleads.v15.enums.OperatingSystemVersionOperatorTypeEnum + .OperatingSystemVersionOperatorType operator_type = 6 + [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/operating_system_version_constant.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v15/resources/paid_organic_search_term_view.proto b/third_party/googleapis/google/ads/googleads/v15/resources/paid_organic_search_term_view.proto new file mode 100644 index 000000000..b8a14c40e --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/paid_organic_search_term_view.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/paid_organic_search_term_view.proto +package google.ads.googleads.v13.resources; +======== +package google.ads.googleads.v15.resources; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/paid_organic_search_term_view.proto + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/paid_organic_search_term_view.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "PaidOrganicSearchTermViewProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "PaidOrganicSearchTermViewProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/paid_organic_search_term_view.proto + +// 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/v15/resources/parental_status_view.proto b/third_party/googleapis/google/ads/googleads/v15/resources/parental_status_view.proto new file mode 100644 index 000000000..b3997c2f9 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/parental_status_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/parental_status_view.proto +package google.ads.googleads.v13.resources; +======== +package google.ads.googleads.v15.resources; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/parental_status_view.proto + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/parental_status_view.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ParentalStatusViewProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ParentalStatusViewProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/parental_status_view.proto + +// 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/v15/resources/payments_account.proto b/third_party/googleapis/google/ads/googleads/v15/resources/payments_account.proto new file mode 100644 index 000000000..5c83a1da4 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/payments_account.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/payments_account.proto +package google.ads.googleads.v12.resources; +======== +package google.ads.googleads.v15.resources; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/payments_account.proto + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/payments_account.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "PaymentsAccountProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "PaymentsAccountProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/payments_account.proto + +// 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]; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/payments_account.proto + // 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. 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]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/payments_account.proto + + // 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/v15/resources/per_store_view.proto b/third_party/googleapis/google/ads/googleads/v15/resources/per_store_view.proto new file mode 100644 index 000000000..17bfb0b50 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.v15.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "PerStoreViewProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::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/v15/resources/product_category_constant.proto b/third_party/googleapis/google/ads/googleads/v15/resources/product_category_constant.proto new file mode 100644 index 000000000..4c5cc8bfa --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.v15.resources; + +import "google/ads/googleads/v15/enums/product_category_level.proto"; +import "google/ads/googleads/v15/enums/product_category_state.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ProductCategoryConstantProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::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.v15.enums.ProductCategoryLevelEnum.ProductCategoryLevel + level = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. State of the product category. + google.ads.googleads.v15.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/v15/resources/product_group_view.proto b/third_party/googleapis/google/ads/googleads/v15/resources/product_group_view.proto new file mode 100644 index 000000000..9e0c2a8cf --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/product_group_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/product_group_view.proto +package google.ads.googleads.v13.resources; +======== +package google.ads.googleads.v15.resources; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/product_group_view.proto + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/product_group_view.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ProductGroupViewProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ProductGroupViewProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/product_group_view.proto + +// 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/v15/resources/product_link.proto b/third_party/googleapis/google/ads/googleads/v15/resources/product_link.proto new file mode 100644 index 000000000..b01020442 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/product_link.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.v15.resources; + +import "google/ads/googleads/v15/enums/linked_product_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ProductLinkProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::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.v15.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]; + } +} + +// 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]; +} diff --git a/third_party/googleapis/google/ads/googleads/v15/resources/product_link_invitation.proto b/third_party/googleapis/google/ads/googleads/v15/resources/product_link_invitation.proto new file mode 100644 index 000000000..cef2afe50 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/product_link_invitation.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.v15.resources; + +import "google/ads/googleads/v15/enums/linked_product_type.proto"; +import "google/ads/googleads/v15/enums/product_link_invitation_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ProductLinkInvitationProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::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.v15.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.v15.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]; + } +} + +// 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]; +} diff --git a/third_party/googleapis/google/ads/googleads/v15/resources/qualifying_question.proto b/third_party/googleapis/google/ads/googleads/v15/resources/qualifying_question.proto new file mode 100644 index 000000000..7254ffdfd --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.v15.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "QualifyingQuestionProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::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/v15/resources/recommendation.proto b/third_party/googleapis/google/ads/googleads/v15/resources/recommendation.proto new file mode 100644 index 000000000..b3886ef38 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/recommendation.proto @@ -0,0 +1,858 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.ads.googleads.v15.resources; + +import "google/ads/googleads/v15/common/criteria.proto"; +import "google/ads/googleads/v15/enums/app_bidding_goal.proto"; +import "google/ads/googleads/v15/enums/keyword_match_type.proto"; +import "google/ads/googleads/v15/enums/recommendation_type.proto"; +import "google/ads/googleads/v15/enums/shopping_add_products_to_campaign_recommendation_enum.proto"; +import "google/ads/googleads/v15/enums/target_cpa_opt_in_recommendation_goal.proto"; +import "google/ads/googleads/v15/resources/ad.proto"; +import "google/ads/googleads/v15/resources/asset.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "RecommendationProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::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. 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.v15.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.v15.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.v15.common.KeywordInfo keyword = 1 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The recommended new match type. + google.ads.googleads.v15.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.v15.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.v15.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.v15.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]; + } + + // 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.v15.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 + 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]; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v15/resources/recommendation_subscription.proto b/third_party/googleapis/google/ads/googleads/v15/resources/recommendation_subscription.proto new file mode 100644 index 000000000..09a924af8 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.v15.resources; + +import "google/ads/googleads/v15/enums/recommendation_subscription_status.proto"; +import "google/ads/googleads/v15/enums/recommendation_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "RecommendationSubscriptionProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::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.v15.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.v15.enums.RecommendationSubscriptionStatusEnum + .RecommendationSubscriptionStatus status = 5 + [(google.api.field_behavior) = REQUIRED]; +} diff --git a/third_party/googleapis/google/ads/googleads/v15/resources/remarketing_action.proto b/third_party/googleapis/google/ads/googleads/v15/resources/remarketing_action.proto new file mode 100644 index 000000000..bce970bf7 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/remarketing_action.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/remarketing_action.proto +package google.ads.googleads.v12.resources; + +import "google/ads/googleads/v12/common/tag_snippet.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "RemarketingActionProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +package google.ads.googleads.v15.resources; + +import "google/ads/googleads/v15/common/tag_snippet.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "RemarketingActionProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/remarketing_action.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/remarketing_action.proto + repeated google.ads.googleads.v12.common.TagSnippet tag_snippets = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; +======== + repeated google.ads.googleads.v15.common.TagSnippet tag_snippets = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/remarketing_action.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v15/resources/search_term_view.proto b/third_party/googleapis/google/ads/googleads/v15/resources/search_term_view.proto new file mode 100644 index 000000000..ce95db3bb --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/search_term_view.proto @@ -0,0 +1,90 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/search_term_view.proto +package google.ads.googleads.v12.resources; + +import "google/ads/googleads/v12/enums/search_term_targeting_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "SearchTermViewProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +package google.ads.googleads.v15.resources; + +import "google/ads/googleads/v15/enums/search_term_targeting_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "SearchTermViewProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/search_term_view.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/search_term_view.proto + google.ads.googleads.v12.enums.SearchTermTargetingStatusEnum.SearchTermTargetingStatus status = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; +======== + google.ads.googleads.v15.enums.SearchTermTargetingStatusEnum + .SearchTermTargetingStatus status = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/search_term_view.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v15/resources/shared_criterion.proto b/third_party/googleapis/google/ads/googleads/v15/resources/shared_criterion.proto new file mode 100644 index 000000000..ea03e6c4f --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/shared_criterion.proto @@ -0,0 +1,152 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/shared_criterion.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/shared_criterion.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/shared_criterion.proto +package google.ads.googleads.v13.resources; + +import "google/ads/googleads/v13/common/criteria.proto"; +import "google/ads/googleads/v13/enums/criterion_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "SharedCriterionProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +package google.ads.googleads.v15.resources; + +import "google/ads/googleads/v15/common/criteria.proto"; +import "google/ads/googleads/v15/enums/criterion_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "SharedCriterionProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/shared_criterion.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/shared_criterion.proto + google.ads.googleads.v13.enums.CriterionTypeEnum.CriterionType type = 4 +======== + google.ads.googleads.v15.enums.CriterionTypeEnum.CriterionType type = 4 +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/shared_criterion.proto + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The criterion. + // + // Exactly one must be set. + oneof criterion { + // Immutable. Keyword. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/shared_criterion.proto + google.ads.googleads.v13.common.KeywordInfo keyword = 3 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. YouTube Video. + google.ads.googleads.v13.common.YouTubeVideoInfo youtube_video = 5 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. YouTube Channel. + google.ads.googleads.v13.common.YouTubeChannelInfo youtube_channel = 6 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Placement. + google.ads.googleads.v13.common.PlacementInfo placement = 7 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Mobile App Category. + google.ads.googleads.v13.common.MobileAppCategoryInfo mobile_app_category = + 8 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Mobile application. + google.ads.googleads.v13.common.MobileApplicationInfo mobile_application = 9 +======== + google.ads.googleads.v15.common.KeywordInfo keyword = 3 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. YouTube Video. + google.ads.googleads.v15.common.YouTubeVideoInfo youtube_video = 5 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. YouTube Channel. + google.ads.googleads.v15.common.YouTubeChannelInfo youtube_channel = 6 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Placement. + google.ads.googleads.v15.common.PlacementInfo placement = 7 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Mobile App Category. + google.ads.googleads.v15.common.MobileAppCategoryInfo mobile_app_category = + 8 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Mobile application. + google.ads.googleads.v15.common.MobileApplicationInfo mobile_application = 9 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Brand. + google.ads.googleads.v15.common.BrandInfo brand = 12 +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/shared_criterion.proto + [(google.api.field_behavior) = IMMUTABLE]; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v15/resources/shared_set.proto b/third_party/googleapis/google/ads/googleads/v15/resources/shared_set.proto new file mode 100644 index 000000000..824542520 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/shared_set.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/shared_set.proto +package google.ads.googleads.v12.resources; + +import "google/ads/googleads/v12/enums/shared_set_status.proto"; +import "google/ads/googleads/v12/enums/shared_set_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "SharedSetProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +package google.ads.googleads.v15.resources; + +import "google/ads/googleads/v15/enums/shared_set_status.proto"; +import "google/ads/googleads/v15/enums/shared_set_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "SharedSetProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/shared_set.proto + +// 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]; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/shared_set.proto + // Immutable. The type of this shared set: each shared set holds only a single kind + // of resource. Required. Immutable. + google.ads.googleads.v12.enums.SharedSetTypeEnum.SharedSetType type = 3 [(google.api.field_behavior) = IMMUTABLE]; +======== + // Immutable. The type of this shared set: each shared set holds only a single + // kind of resource. Required. Immutable. + google.ads.googleads.v15.enums.SharedSetTypeEnum.SharedSetType type = 3 + [(google.api.field_behavior) = IMMUTABLE]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/shared_set.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/shared_set.proto + google.ads.googleads.v12.enums.SharedSetStatusEnum.SharedSetStatus status = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; +======== + google.ads.googleads.v15.enums.SharedSetStatusEnum.SharedSetStatus status = 5 + [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/shared_set.proto + + // 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/v15/resources/shopping_performance_view.proto b/third_party/googleapis/google/ads/googleads/v15/resources/shopping_performance_view.proto new file mode 100644 index 000000000..90079e6ce --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/shopping_performance_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/shopping_performance_view.proto +package google.ads.googleads.v13.resources; +======== +package google.ads.googleads.v15.resources; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/shopping_performance_view.proto + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/shopping_performance_view.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ShoppingPerformanceViewProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ShoppingPerformanceViewProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/shopping_performance_view.proto + +// 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/v15/resources/smart_campaign_search_term_view.proto b/third_party/googleapis/google/ads/googleads/v15/resources/smart_campaign_search_term_view.proto new file mode 100644 index 000000000..44ddd30e1 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/smart_campaign_search_term_view.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/smart_campaign_search_term_view.proto +package google.ads.googleads.v13.resources; +======== +package google.ads.googleads.v15.resources; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/smart_campaign_search_term_view.proto + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/smart_campaign_search_term_view.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "SmartCampaignSearchTermViewProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "SmartCampaignSearchTermViewProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/smart_campaign_search_term_view.proto + +// 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/v15/resources/smart_campaign_setting.proto b/third_party/googleapis/google/ads/googleads/v15/resources/smart_campaign_setting.proto new file mode 100644 index 000000000..6dd3ca3ab --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/smart_campaign_setting.proto @@ -0,0 +1,131 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/smart_campaign_setting.proto +package google.ads.googleads.v12.resources; +======== +package google.ads.googleads.v15.resources; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/smart_campaign_setting.proto + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/smart_campaign_setting.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "SmartCampaignSettingProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "SmartCampaignSettingProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/smart_campaign_setting.proto + +// 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; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/smart_campaign_setting.proto + // The ISO-639-1 language code to advertise in. +======== + // 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). +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/smart_campaign_setting.proto + 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/v15/resources/third_party_app_analytics_link.proto b/third_party/googleapis/google/ads/googleads/v15/resources/third_party_app_analytics_link.proto new file mode 100644 index 000000000..73608e04d --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/third_party_app_analytics_link.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/third_party_app_analytics_link.proto +package google.ads.googleads.v12.resources; +======== +package google.ads.googleads.v15.resources; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/third_party_app_analytics_link.proto + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/third_party_app_analytics_link.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ThirdPartyAppAnalyticsLinkProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ThirdPartyAppAnalyticsLinkProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/third_party_app_analytics_link.proto + +// 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/v15/resources/topic_constant.proto b/third_party/googleapis/google/ads/googleads/v15/resources/topic_constant.proto new file mode 100644 index 000000000..d226f4e31 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/topic_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/topic_constant.proto +package google.ads.googleads.v12.resources; +======== +package google.ads.googleads.v15.resources; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/topic_constant.proto + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/topic_constant.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "TopicConstantProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "TopicConstantProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/topic_constant.proto + +// 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/v15/resources/topic_view.proto b/third_party/googleapis/google/ads/googleads/v15/resources/topic_view.proto new file mode 100644 index 000000000..edf605bbe --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/topic_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/topic_view.proto +package google.ads.googleads.v13.resources; +======== +package google.ads.googleads.v15.resources; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/topic_view.proto + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/topic_view.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "TopicViewProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "TopicViewProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/topic_view.proto + +// 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/v15/resources/travel_activity_group_view.proto b/third_party/googleapis/google/ads/googleads/v15/resources/travel_activity_group_view.proto new file mode 100644 index 000000000..540985c2d --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.v15.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "TravelActivityGroupViewProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::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/v15/resources/travel_activity_performance_view.proto b/third_party/googleapis/google/ads/googleads/v15/resources/travel_activity_performance_view.proto new file mode 100644 index 000000000..08e8df03d --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.v15.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "TravelActivityPerformanceViewProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::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/v15/resources/user_interest.proto b/third_party/googleapis/google/ads/googleads/v15/resources/user_interest.proto new file mode 100644 index 000000000..bb6296d29 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/user_interest.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/user_interest.proto +package google.ads.googleads.v12.resources; + +import "google/ads/googleads/v12/common/criterion_category_availability.proto"; +import "google/ads/googleads/v12/enums/user_interest_taxonomy_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "UserInterestProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +package google.ads.googleads.v15.resources; + +import "google/ads/googleads/v15/common/criterion_category_availability.proto"; +import "google/ads/googleads/v15/enums/user_interest_taxonomy_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "UserInterestProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/user_interest.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/user_interest.proto + google.ads.googleads.v12.enums.UserInterestTaxonomyTypeEnum.UserInterestTaxonomyType taxonomy_type = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; +======== + google.ads.googleads.v15.enums.UserInterestTaxonomyTypeEnum + .UserInterestTaxonomyType taxonomy_type = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/user_interest.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/user_interest.proto + repeated google.ads.googleads.v12.common.CriterionCategoryAvailability availabilities = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; +======== + repeated google.ads.googleads.v15.common.CriterionCategoryAvailability + availabilities = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/user_interest.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v15/resources/user_list.proto b/third_party/googleapis/google/ads/googleads/v15/resources/user_list.proto new file mode 100644 index 000000000..ee29f9807 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/user_list.proto @@ -0,0 +1,268 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/user_list.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/user_list.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/user_list.proto +package google.ads.googleads.v13.resources; + +import "google/ads/googleads/v13/common/user_lists.proto"; +import "google/ads/googleads/v13/enums/access_reason.proto"; +import "google/ads/googleads/v13/enums/user_list_access_status.proto"; +import "google/ads/googleads/v13/enums/user_list_closing_reason.proto"; +import "google/ads/googleads/v13/enums/user_list_membership_status.proto"; +import "google/ads/googleads/v13/enums/user_list_size_range.proto"; +import "google/ads/googleads/v13/enums/user_list_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "UserListProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +package google.ads.googleads.v15.resources; + +import "google/ads/googleads/v15/common/user_lists.proto"; +import "google/ads/googleads/v15/enums/access_reason.proto"; +import "google/ads/googleads/v15/enums/user_list_access_status.proto"; +import "google/ads/googleads/v15/enums/user_list_closing_reason.proto"; +import "google/ads/googleads/v15/enums/user_list_membership_status.proto"; +import "google/ads/googleads/v15/enums/user_list_size_range.proto"; +import "google/ads/googleads/v15/enums/user_list_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "UserListProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/user_list.proto + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/user_list.proto + google.ads.googleads.v13.enums.UserListMembershipStatusEnum +======== + google.ads.googleads.v15.enums.UserListMembershipStatusEnum +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/user_list.proto + .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. + // + // It'll be ignored for logical_user_list. + 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/user_list.proto + google.ads.googleads.v13.enums.UserListSizeRangeEnum.UserListSizeRange +======== + google.ads.googleads.v15.enums.UserListSizeRangeEnum.UserListSizeRange +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/user_list.proto + 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/user_list.proto + google.ads.googleads.v13.enums.UserListSizeRangeEnum.UserListSizeRange +======== + google.ads.googleads.v15.enums.UserListSizeRangeEnum.UserListSizeRange +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/user_list.proto + size_range_for_search = 12 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Type of this list. + // + // This field is read-only. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/user_list.proto + google.ads.googleads.v13.enums.UserListTypeEnum.UserListType type = 13 +======== + google.ads.googleads.v15.enums.UserListTypeEnum.UserListType type = 13 +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/user_list.proto + [(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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/user_list.proto + google.ads.googleads.v13.enums.UserListClosingReasonEnum.UserListClosingReason +======== + google.ads.googleads.v15.enums.UserListClosingReasonEnum.UserListClosingReason +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/user_list.proto + 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/user_list.proto + google.ads.googleads.v13.enums.AccessReasonEnum.AccessReason access_reason = +======== + google.ads.googleads.v15.enums.AccessReasonEnum.AccessReason access_reason = +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/user_list.proto + 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/user_list.proto + google.ads.googleads.v13.enums.UserListAccessStatusEnum.UserListAccessStatus +======== + google.ads.googleads.v15.enums.UserListAccessStatusEnum.UserListAccessStatus +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/user_list.proto + 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/user_list.proto + google.ads.googleads.v13.common.CrmBasedUserListInfo crm_based_user_list = +======== + google.ads.googleads.v15.common.CrmBasedUserListInfo crm_based_user_list = +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/user_list.proto + 19; + + // Output only. User list which are similar to users from another UserList. + // These lists are readonly and automatically created by google. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/user_list.proto + google.ads.googleads.v13.common.SimilarUserListInfo similar_user_list = 20 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // User list generated by a rule. + google.ads.googleads.v13.common.RuleBasedUserListInfo rule_based_user_list = + 21; + + // User list that is a custom combination of user lists and user interests. + google.ads.googleads.v13.common.LogicalUserListInfo logical_user_list = 22; + + // User list targeting as a collection of conversion or remarketing actions. + google.ads.googleads.v13.common.BasicUserListInfo basic_user_list = 23; +======== + google.ads.googleads.v15.common.SimilarUserListInfo similar_user_list = 20 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // User list generated by a rule. + google.ads.googleads.v15.common.RuleBasedUserListInfo rule_based_user_list = + 21; + + // User list that is a custom combination of user lists and user interests. + google.ads.googleads.v15.common.LogicalUserListInfo logical_user_list = 22; + + // User list targeting as a collection of conversion or remarketing actions. + google.ads.googleads.v15.common.BasicUserListInfo basic_user_list = 23; + + // Immutable. Lookalike User List. + google.ads.googleads.v15.common.LookalikeUserListInfo lookalike_user_list = + 36 [(google.api.field_behavior) = IMMUTABLE]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/user_list.proto + } +} diff --git a/third_party/googleapis/google/ads/googleads/v15/resources/user_location_view.proto b/third_party/googleapis/google/ads/googleads/v15/resources/user_location_view.proto new file mode 100644 index 000000000..711252ca7 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/user_location_view.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/user_location_view.proto +package google.ads.googleads.v12.resources; +======== +package google.ads.googleads.v15.resources; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/user_location_view.proto + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/user_location_view.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "UserLocationViewProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "UserLocationViewProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/user_location_view.proto + +// 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/v15/resources/video.proto b/third_party/googleapis/google/ads/googleads/v15/resources/video.proto new file mode 100644 index 000000000..6eb2143a5 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/video.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/video.proto +package google.ads.googleads.v12.resources; +======== +package google.ads.googleads.v15.resources; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/video.proto + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/video.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "VideoProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "VideoProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/video.proto + +// 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/v15/resources/webpage_view.proto b/third_party/googleapis/google/ads/googleads/v15/resources/webpage_view.proto new file mode 100644 index 000000000..eb42094cb --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/resources/webpage_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/webpage_view.proto +package google.ads.googleads.v13.resources; +======== +package google.ads.googleads.v15.resources; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/webpage_view.proto + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/webpage_view.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "WebpageViewProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "WebpageViewProto"; +option java_package = "com.google.ads.googleads.v15.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/resources/webpage_view.proto + +// 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/v15/services/BUILD.bazel b/third_party/googleapis/google/ads/googleads/v15/services/BUILD.bazel new file mode 100644 index 000000000..1b865f681 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/services/BUILD.bazel @@ -0,0 +1,145 @@ +# 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 = [ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/BUILD.bazel + "//google/ads/googleads/v13/common:common_proto", + "//google/ads/googleads/v13/enums:enums_proto", + "//google/ads/googleads/v13/errors:errors_proto", + "//google/ads/googleads/v13/resources:resources_proto", +======== + "//google/ads/googleads/v15/common:common_proto", + "//google/ads/googleads/v15/enums:enums_proto", + "//google/ads/googleads/v15/errors:errors_proto", + "//google/ads/googleads/v15/resources:resources_proto", +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/BUILD.bazel + "//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/v15/services/account_budget_proposal_service.proto b/third_party/googleapis/google/ads/googleads/v15/services/account_budget_proposal_service.proto new file mode 100644 index 000000000..9907ca5a1 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/services/account_budget_proposal_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/account_budget_proposal_service.proto +package google.ads.googleads.v12.services; + +import "google/ads/googleads/v12/resources/account_budget_proposal.proto"; +======== +package google.ads.googleads.v15.services; + +import "google/ads/googleads/v15/resources/account_budget_proposal.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/account_budget_proposal_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/protobuf/field_mask.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/account_budget_proposal_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AccountBudgetProposalServiceProto"; +option java_package = "com.google.ads.googleads.v12.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V12::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AccountBudgetProposalServiceProto"; +option java_package = "com.google.ads.googleads.v15.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V15::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/account_budget_proposal_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/account_budget_proposal_service.proto + post: "/v12/customers/{customer_id=*}/accountBudgetProposals:mutate" +======== + post: "/v15/customers/{customer_id=*}/accountBudgetProposals:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/account_budget_proposal_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operation"; + } +} + +// Request message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/account_budget_proposal_service.proto +// [AccountBudgetProposalService.MutateAccountBudgetProposal][google.ads.googleads.v12.services.AccountBudgetProposalService.MutateAccountBudgetProposal]. +======== +// [AccountBudgetProposalService.MutateAccountBudgetProposal][google.ads.googleads.v15.services.AccountBudgetProposalService.MutateAccountBudgetProposal]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/account_budget_proposal_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/account_budget_proposal_service.proto + google.ads.googleads.v12.resources.AccountBudgetProposal create = 2; +======== + google.ads.googleads.v15.resources.AccountBudgetProposal create = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/account_budget_proposal_service.proto + + // 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/v15/services/account_link_service.proto b/third_party/googleapis/google/ads/googleads/v15/services/account_link_service.proto new file mode 100644 index 000000000..38c0a78d7 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/services/account_link_service.proto @@ -0,0 +1,213 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/account_link_service.proto +package google.ads.googleads.v12.services; + +import "google/ads/googleads/v12/resources/account_link.proto"; +======== +package google.ads.googleads.v15.services; + +import "google/ads/googleads/v15/resources/account_link.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/account_link_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/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/account_link_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AccountLinkServiceProto"; +option java_package = "com.google.ads.googleads.v12.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V12::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AccountLinkServiceProto"; +option java_package = "com.google.ads.googleads.v15.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V15::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/account_link_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/account_link_service.proto + post: "/v12/customers/{customer_id=*}/accountLinks:create" +======== + post: "/v15/customers/{customer_id=*}/accountLinks:create" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/account_link_service.proto + 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/account_link_service.proto + post: "/v12/customers/{customer_id=*}/accountLinks:mutate" +======== + post: "/v15/customers/{customer_id=*}/accountLinks:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/account_link_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operation"; + } +} + +// Request message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/account_link_service.proto +// [AccountLinkService.CreateAccountLink][google.ads.googleads.v12.services.AccountLinkService.CreateAccountLink]. +======== +// [AccountLinkService.CreateAccountLink][google.ads.googleads.v15.services.AccountLinkService.CreateAccountLink]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/account_link_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/account_link_service.proto + google.ads.googleads.v12.resources.AccountLink account_link = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Response message for +// [AccountLinkService.CreateAccountLink][google.ads.googleads.v12.services.AccountLinkService.CreateAccountLink]. +======== + google.ads.googleads.v15.resources.AccountLink account_link = 2 + [(google.api.field_behavior) = REQUIRED]; +} + +// Response message for +// [AccountLinkService.CreateAccountLink][google.ads.googleads.v15.services.AccountLinkService.CreateAccountLink]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/account_link_service.proto +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" + }]; +} + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/account_link_service.proto +// Request message for [AccountLinkService.MutateAccountLink][google.ads.googleads.v12.services.AccountLinkService.MutateAccountLink]. +======== +// Request message for +// [AccountLinkService.MutateAccountLink][google.ads.googleads.v15.services.AccountLinkService.MutateAccountLink]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/account_link_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/account_link_service.proto + google.ads.googleads.v12.resources.AccountLink update = 2; +======== + google.ads.googleads.v15.resources.AccountLink update = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/account_link_service.proto + + // 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/v15/services/ad_group_ad_label_service.proto b/third_party/googleapis/google/ads/googleads/v15/services/ad_group_ad_label_service.proto new file mode 100644 index 000000000..fcc070d36 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/services/ad_group_ad_label_service.proto @@ -0,0 +1,152 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/ad_group_ad_label_service.proto +package google.ads.googleads.v12.services; + +import "google/ads/googleads/v12/resources/ad_group_ad_label.proto"; +======== +package google.ads.googleads.v15.services; + +import "google/ads/googleads/v15/resources/ad_group_ad_label.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/ad_group_ad_label_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/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/ad_group_ad_label_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupAdLabelServiceProto"; +option java_package = "com.google.ads.googleads.v12.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V12::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupAdLabelServiceProto"; +option java_package = "com.google.ads.googleads.v15.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V15::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/ad_group_ad_label_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/ad_group_ad_label_service.proto + post: "/v12/customers/{customer_id=*}/adGroupAdLabels:mutate" +======== + post: "/v15/customers/{customer_id=*}/adGroupAdLabels:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/ad_group_ad_label_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/ad_group_ad_label_service.proto +// Request message for [AdGroupAdLabelService.MutateAdGroupAdLabels][google.ads.googleads.v12.services.AdGroupAdLabelService.MutateAdGroupAdLabels]. +======== +// Request message for +// [AdGroupAdLabelService.MutateAdGroupAdLabels][google.ads.googleads.v15.services.AdGroupAdLabelService.MutateAdGroupAdLabels]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/ad_group_ad_label_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/ad_group_ad_label_service.proto + google.ads.googleads.v12.resources.AdGroupAdLabel create = 1; +======== + google.ads.googleads.v15.resources.AdGroupAdLabel create = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/ad_group_ad_label_service.proto + + // 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/v15/services/ad_group_ad_service.proto b/third_party/googleapis/google/ads/googleads/v15/services/ad_group_ad_service.proto new file mode 100644 index 000000000..9f7e61c3c --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/services/ad_group_ad_service.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/ad_group_ad_service.proto +package google.ads.googleads.v12.services; + +import "google/ads/googleads/v12/common/policy.proto"; +import "google/ads/googleads/v12/enums/response_content_type.proto"; +import "google/ads/googleads/v12/resources/ad_group_ad.proto"; +======== +package google.ads.googleads.v15.services; + +import "google/ads/googleads/v15/common/policy.proto"; +import "google/ads/googleads/v15/enums/response_content_type.proto"; +import "google/ads/googleads/v15/resources/ad_group_ad.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/ad_group_ad_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/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/ad_group_ad_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupAdServiceProto"; +option java_package = "com.google.ads.googleads.v12.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V12::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupAdServiceProto"; +option java_package = "com.google.ads.googleads.v15.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V15::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/ad_group_ad_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/ad_group_ad_service.proto + post: "/v12/customers/{customer_id=*}/adGroupAds:mutate" +======== + post: "/v15/customers/{customer_id=*}/adGroupAds:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/ad_group_ad_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/ad_group_ad_service.proto +// Request message for [AdGroupAdService.MutateAdGroupAds][google.ads.googleads.v12.services.AdGroupAdService.MutateAdGroupAds]. +======== +// Request message for +// [AdGroupAdService.MutateAdGroupAds][google.ads.googleads.v15.services.AdGroupAdService.MutateAdGroupAds]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/ad_group_ad_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/ad_group_ad_service.proto + google.ads.googleads.v12.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +======== + google.ads.googleads.v15.enums.ResponseContentTypeEnum.ResponseContentType + response_content_type = 5; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/ad_group_ad_service.proto +} + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/ad_group_ad_service.proto + google.ads.googleads.v12.common.PolicyValidationParameter policy_validation_parameter = 5; +======== + google.ads.googleads.v15.common.PolicyValidationParameter + policy_validation_parameter = 5; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/ad_group_ad_service.proto + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new ad. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/ad_group_ad_service.proto + google.ads.googleads.v12.resources.AdGroupAd create = 1; + + // Update operation: The ad is expected to have a valid resource name. + google.ads.googleads.v12.resources.AdGroupAd update = 2; +======== + google.ads.googleads.v15.resources.AdGroupAd create = 1; + + // Update operation: The ad is expected to have a valid resource name. + google.ads.googleads.v15.resources.AdGroupAd update = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/ad_group_ad_service.proto + + // 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". +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/ad_group_ad_service.proto + google.ads.googleads.v12.resources.AdGroupAd ad_group_ad = 2; +======== + google.ads.googleads.v15.resources.AdGroupAd ad_group_ad = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/ad_group_ad_service.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v15/services/ad_group_asset_service.proto b/third_party/googleapis/google/ads/googleads/v15/services/ad_group_asset_service.proto new file mode 100644 index 000000000..3d541dde1 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/services/ad_group_asset_service.proto @@ -0,0 +1,185 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/ad_group_asset_service.proto +package google.ads.googleads.v12.services; + +import "google/ads/googleads/v12/enums/response_content_type.proto"; +import "google/ads/googleads/v12/resources/ad_group_asset.proto"; +======== +package google.ads.googleads.v15.services; + +import "google/ads/googleads/v15/enums/response_content_type.proto"; +import "google/ads/googleads/v15/resources/ad_group_asset.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/ad_group_asset_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/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/ad_group_asset_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupAssetServiceProto"; +option java_package = "com.google.ads.googleads.v12.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V12::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupAssetServiceProto"; +option java_package = "com.google.ads.googleads.v15.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V15::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/ad_group_asset_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/ad_group_asset_service.proto + post: "/v12/customers/{customer_id=*}/adGroupAssets:mutate" +======== + post: "/v15/customers/{customer_id=*}/adGroupAssets:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/ad_group_asset_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/ad_group_asset_service.proto +// Request message for [AdGroupAssetService.MutateAdGroupAssets][google.ads.googleads.v12.services.AdGroupAssetService.MutateAdGroupAssets]. +======== +// Request message for +// [AdGroupAssetService.MutateAdGroupAssets][google.ads.googleads.v15.services.AdGroupAssetService.MutateAdGroupAssets]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/ad_group_asset_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/ad_group_asset_service.proto + google.ads.googleads.v12.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +======== + google.ads.googleads.v15.enums.ResponseContentTypeEnum.ResponseContentType + response_content_type = 5; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/ad_group_asset_service.proto +} + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/ad_group_asset_service.proto + google.ads.googleads.v12.resources.AdGroupAsset create = 1; + + // Update operation: The ad group asset is expected to have a valid resource + // name. + google.ads.googleads.v12.resources.AdGroupAsset update = 3; +======== + google.ads.googleads.v15.resources.AdGroupAsset create = 1; + + // Update operation: The ad group asset is expected to have a valid resource + // name. + google.ads.googleads.v15.resources.AdGroupAsset update = 3; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/ad_group_asset_service.proto + + // 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". +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/ad_group_asset_service.proto + google.ads.googleads.v12.resources.AdGroupAsset ad_group_asset = 2; +======== + google.ads.googleads.v15.resources.AdGroupAsset ad_group_asset = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/ad_group_asset_service.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v15/services/ad_group_asset_set_service.proto b/third_party/googleapis/google/ads/googleads/v15/services/ad_group_asset_set_service.proto new file mode 100644 index 000000000..687fcb2bb --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.v15.services; + +import "google/ads/googleads/v15/enums/response_content_type.proto"; +import "google/ads/googleads/v15/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.V15.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupAssetSetServiceProto"; +option java_package = "com.google.ads.googleads.v15.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V15::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: "/v15/customers/{customer_id=*}/adGroupAssetSets:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [AdGroupAssetSetService.MutateAdGroupAssetSets][google.ads.googleads.v15.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.v15.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.v15.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.v15.resources.AdGroupAssetSet ad_group_asset_set = 2; +} diff --git a/third_party/googleapis/google/ads/googleads/v15/services/ad_group_bid_modifier_service.proto b/third_party/googleapis/google/ads/googleads/v15/services/ad_group_bid_modifier_service.proto new file mode 100644 index 000000000..7ee2e118e --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/services/ad_group_bid_modifier_service.proto @@ -0,0 +1,200 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/ad_group_bid_modifier_service.proto +package google.ads.googleads.v12.services; + +import "google/ads/googleads/v12/enums/response_content_type.proto"; +import "google/ads/googleads/v12/resources/ad_group_bid_modifier.proto"; +======== +package google.ads.googleads.v15.services; + +import "google/ads/googleads/v15/enums/response_content_type.proto"; +import "google/ads/googleads/v15/resources/ad_group_bid_modifier.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/ad_group_bid_modifier_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/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/ad_group_bid_modifier_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupBidModifierServiceProto"; +option java_package = "com.google.ads.googleads.v12.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V12::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupBidModifierServiceProto"; +option java_package = "com.google.ads.googleads.v15.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V15::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/ad_group_bid_modifier_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/ad_group_bid_modifier_service.proto + post: "/v12/customers/{customer_id=*}/adGroupBidModifiers:mutate" +======== + post: "/v15/customers/{customer_id=*}/adGroupBidModifiers:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/ad_group_bid_modifier_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/ad_group_bid_modifier_service.proto +// Request message for [AdGroupBidModifierService.MutateAdGroupBidModifiers][google.ads.googleads.v12.services.AdGroupBidModifierService.MutateAdGroupBidModifiers]. +======== +// Request message for +// [AdGroupBidModifierService.MutateAdGroupBidModifiers][google.ads.googleads.v15.services.AdGroupBidModifierService.MutateAdGroupBidModifiers]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/ad_group_bid_modifier_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/ad_group_bid_modifier_service.proto + google.ads.googleads.v12.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +======== + google.ads.googleads.v15.enums.ResponseContentTypeEnum.ResponseContentType + response_content_type = 5; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/ad_group_bid_modifier_service.proto +} + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/ad_group_bid_modifier_service.proto + google.ads.googleads.v12.resources.AdGroupBidModifier create = 1; + + // Update operation: The ad group bid modifier is expected to have a valid + // resource name. + google.ads.googleads.v12.resources.AdGroupBidModifier update = 2; +======== + google.ads.googleads.v15.resources.AdGroupBidModifier create = 1; + + // Update operation: The ad group bid modifier is expected to have a valid + // resource name. + google.ads.googleads.v15.resources.AdGroupBidModifier update = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/ad_group_bid_modifier_service.proto + + // 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". +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/ad_group_bid_modifier_service.proto + google.ads.googleads.v12.resources.AdGroupBidModifier ad_group_bid_modifier = 2; +======== + google.ads.googleads.v15.resources.AdGroupBidModifier ad_group_bid_modifier = + 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/ad_group_bid_modifier_service.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v15/services/ad_group_criterion_customizer_service.proto b/third_party/googleapis/google/ads/googleads/v15/services/ad_group_criterion_customizer_service.proto new file mode 100644 index 000000000..c522edf2c --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/services/ad_group_criterion_customizer_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/ad_group_criterion_customizer_service.proto +package google.ads.googleads.v12.services; + +import "google/ads/googleads/v12/enums/response_content_type.proto"; +import "google/ads/googleads/v12/resources/ad_group_criterion_customizer.proto"; +======== +package google.ads.googleads.v15.services; + +import "google/ads/googleads/v15/enums/response_content_type.proto"; +import "google/ads/googleads/v15/resources/ad_group_criterion_customizer.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/ad_group_criterion_customizer_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/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/ad_group_criterion_customizer_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupCriterionCustomizerServiceProto"; +option java_package = "com.google.ads.googleads.v12.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V12::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupCriterionCustomizerServiceProto"; +option java_package = "com.google.ads.googleads.v15.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V15::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/ad_group_criterion_customizer_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/ad_group_criterion_customizer_service.proto + post: "/v12/customers/{customer_id=*}/AdGroupCriterionCustomizers:mutate" +======== + post: "/v15/customers/{customer_id=*}/AdGroupCriterionCustomizers:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/ad_group_criterion_customizer_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/ad_group_criterion_customizer_service.proto +// [AdGroupCriterionCustomizerService.MutateAdGroupCriterionCustomizers][google.ads.googleads.v12.services.AdGroupCriterionCustomizerService.MutateAdGroupCriterionCustomizers]. +======== +// [AdGroupCriterionCustomizerService.MutateAdGroupCriterionCustomizers][google.ads.googleads.v15.services.AdGroupCriterionCustomizerService.MutateAdGroupCriterionCustomizers]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/ad_group_criterion_customizer_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/ad_group_criterion_customizer_service.proto + google.ads.googleads.v12.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +======== + google.ads.googleads.v15.enums.ResponseContentTypeEnum.ResponseContentType + response_content_type = 5; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/ad_group_criterion_customizer_service.proto +} + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/ad_group_criterion_customizer_service.proto + google.ads.googleads.v12.resources.AdGroupCriterionCustomizer create = 1; +======== + google.ads.googleads.v15.resources.AdGroupCriterionCustomizer create = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/ad_group_criterion_customizer_service.proto + + // 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". +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/ad_group_criterion_customizer_service.proto + google.ads.googleads.v12.resources.AdGroupCriterionCustomizer ad_group_criterion_customizer = 2; +======== + google.ads.googleads.v15.resources.AdGroupCriterionCustomizer + ad_group_criterion_customizer = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/ad_group_criterion_customizer_service.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v15/services/ad_group_criterion_label_service.proto b/third_party/googleapis/google/ads/googleads/v15/services/ad_group_criterion_label_service.proto new file mode 100644 index 000000000..539687909 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/services/ad_group_criterion_label_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/ad_group_criterion_label_service.proto +package google.ads.googleads.v12.services; + +import "google/ads/googleads/v12/resources/ad_group_criterion_label.proto"; +======== +package google.ads.googleads.v15.services; + +import "google/ads/googleads/v15/resources/ad_group_criterion_label.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/ad_group_criterion_label_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/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/ad_group_criterion_label_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupCriterionLabelServiceProto"; +option java_package = "com.google.ads.googleads.v12.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V12::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupCriterionLabelServiceProto"; +option java_package = "com.google.ads.googleads.v15.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V15::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/ad_group_criterion_label_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/ad_group_criterion_label_service.proto + post: "/v12/customers/{customer_id=*}/adGroupCriterionLabels:mutate" +======== + post: "/v15/customers/{customer_id=*}/adGroupCriterionLabels:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/ad_group_criterion_label_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/ad_group_criterion_label_service.proto +// [AdGroupCriterionLabelService.MutateAdGroupCriterionLabels][google.ads.googleads.v12.services.AdGroupCriterionLabelService.MutateAdGroupCriterionLabels]. +======== +// [AdGroupCriterionLabelService.MutateAdGroupCriterionLabels][google.ads.googleads.v15.services.AdGroupCriterionLabelService.MutateAdGroupCriterionLabels]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/ad_group_criterion_label_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/ad_group_criterion_label_service.proto + google.ads.googleads.v12.resources.AdGroupCriterionLabel create = 1; +======== + google.ads.googleads.v15.resources.AdGroupCriterionLabel create = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/ad_group_criterion_label_service.proto + + // 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/v15/services/ad_group_criterion_service.proto b/third_party/googleapis/google/ads/googleads/v15/services/ad_group_criterion_service.proto new file mode 100644 index 000000000..84bf81e5f --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/services/ad_group_criterion_service.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/ad_group_criterion_service.proto +package google.ads.googleads.v12.services; + +import "google/ads/googleads/v12/common/policy.proto"; +import "google/ads/googleads/v12/enums/response_content_type.proto"; +import "google/ads/googleads/v12/resources/ad_group_criterion.proto"; +======== +package google.ads.googleads.v15.services; + +import "google/ads/googleads/v15/common/policy.proto"; +import "google/ads/googleads/v15/enums/response_content_type.proto"; +import "google/ads/googleads/v15/resources/ad_group_criterion.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/ad_group_criterion_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/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/ad_group_criterion_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupCriterionServiceProto"; +option java_package = "com.google.ads.googleads.v12.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V12::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupCriterionServiceProto"; +option java_package = "com.google.ads.googleads.v15.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V15::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/ad_group_criterion_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/ad_group_criterion_service.proto + post: "/v12/customers/{customer_id=*}/adGroupCriteria:mutate" +======== + post: "/v15/customers/{customer_id=*}/adGroupCriteria:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/ad_group_criterion_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/ad_group_criterion_service.proto +// Request message for [AdGroupCriterionService.MutateAdGroupCriteria][google.ads.googleads.v12.services.AdGroupCriterionService.MutateAdGroupCriteria]. +======== +// Request message for +// [AdGroupCriterionService.MutateAdGroupCriteria][google.ads.googleads.v15.services.AdGroupCriterionService.MutateAdGroupCriteria]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/ad_group_criterion_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/ad_group_criterion_service.proto + google.ads.googleads.v12.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +======== + google.ads.googleads.v15.enums.ResponseContentTypeEnum.ResponseContentType + response_content_type = 5; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/ad_group_criterion_service.proto +} + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/ad_group_criterion_service.proto + repeated google.ads.googleads.v12.common.PolicyViolationKey exempt_policy_violation_keys = 5; +======== + repeated google.ads.googleads.v15.common.PolicyViolationKey + exempt_policy_violation_keys = 5; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/ad_group_criterion_service.proto + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new criterion. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/ad_group_criterion_service.proto + google.ads.googleads.v12.resources.AdGroupCriterion create = 1; + + // Update operation: The criterion is expected to have a valid resource + // name. + google.ads.googleads.v12.resources.AdGroupCriterion update = 2; +======== + google.ads.googleads.v15.resources.AdGroupCriterion create = 1; + + // Update operation: The criterion is expected to have a valid resource + // name. + google.ads.googleads.v15.resources.AdGroupCriterion update = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/ad_group_criterion_service.proto + + // 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". +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/ad_group_criterion_service.proto + google.ads.googleads.v12.resources.AdGroupCriterion ad_group_criterion = 2; +======== + google.ads.googleads.v15.resources.AdGroupCriterion ad_group_criterion = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/ad_group_criterion_service.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v15/services/ad_group_customizer_service.proto b/third_party/googleapis/google/ads/googleads/v15/services/ad_group_customizer_service.proto new file mode 100644 index 000000000..77d7d30ca --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/services/ad_group_customizer_service.proto @@ -0,0 +1,161 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/ad_group_customizer_service.proto +package google.ads.googleads.v12.services; + +import "google/ads/googleads/v12/enums/response_content_type.proto"; +import "google/ads/googleads/v12/resources/ad_group_customizer.proto"; +======== +package google.ads.googleads.v15.services; + +import "google/ads/googleads/v15/enums/response_content_type.proto"; +import "google/ads/googleads/v15/resources/ad_group_customizer.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/ad_group_customizer_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/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/ad_group_customizer_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupCustomizerServiceProto"; +option java_package = "com.google.ads.googleads.v12.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V12::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupCustomizerServiceProto"; +option java_package = "com.google.ads.googleads.v15.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V15::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/ad_group_customizer_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/ad_group_customizer_service.proto + post: "/v12/customers/{customer_id=*}/adGroupCustomizers:mutate" +======== + post: "/v15/customers/{customer_id=*}/adGroupCustomizers:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/ad_group_customizer_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/ad_group_customizer_service.proto +// [AdGroupCustomizerService.MutateAdGroupCustomizers][google.ads.googleads.v12.services.AdGroupCustomizerService.MutateAdGroupCustomizers]. +======== +// [AdGroupCustomizerService.MutateAdGroupCustomizers][google.ads.googleads.v15.services.AdGroupCustomizerService.MutateAdGroupCustomizers]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/ad_group_customizer_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/ad_group_customizer_service.proto + google.ads.googleads.v12.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +======== + google.ads.googleads.v15.enums.ResponseContentTypeEnum.ResponseContentType + response_content_type = 5; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/ad_group_customizer_service.proto +} + +// 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 +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/ad_group_customizer_service.proto + google.ads.googleads.v12.resources.AdGroupCustomizer create = 1; +======== + google.ads.googleads.v15.resources.AdGroupCustomizer create = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/ad_group_customizer_service.proto + + // 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". +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/ad_group_customizer_service.proto + google.ads.googleads.v12.resources.AdGroupCustomizer ad_group_customizer = 2; +======== + google.ads.googleads.v15.resources.AdGroupCustomizer ad_group_customizer = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/ad_group_customizer_service.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v15/services/ad_group_extension_setting_service.proto b/third_party/googleapis/google/ads/googleads/v15/services/ad_group_extension_setting_service.proto new file mode 100644 index 000000000..8a26cb3ad --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/services/ad_group_extension_setting_service.proto @@ -0,0 +1,205 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/ad_group_extension_setting_service.proto +package google.ads.googleads.v12.services; + +import "google/ads/googleads/v12/enums/response_content_type.proto"; +import "google/ads/googleads/v12/resources/ad_group_extension_setting.proto"; +======== +package google.ads.googleads.v15.services; + +import "google/ads/googleads/v15/enums/response_content_type.proto"; +import "google/ads/googleads/v15/resources/ad_group_extension_setting.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/ad_group_extension_setting_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/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/ad_group_extension_setting_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupExtensionSettingServiceProto"; +option java_package = "com.google.ads.googleads.v12.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V12::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupExtensionSettingServiceProto"; +option java_package = "com.google.ads.googleads.v15.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V15::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/ad_group_extension_setting_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/ad_group_extension_setting_service.proto + post: "/v12/customers/{customer_id=*}/adGroupExtensionSettings:mutate" +======== + post: "/v15/customers/{customer_id=*}/adGroupExtensionSettings:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/ad_group_extension_setting_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/ad_group_extension_setting_service.proto +// [AdGroupExtensionSettingService.MutateAdGroupExtensionSettings][google.ads.googleads.v12.services.AdGroupExtensionSettingService.MutateAdGroupExtensionSettings]. +======== +// [AdGroupExtensionSettingService.MutateAdGroupExtensionSettings][google.ads.googleads.v15.services.AdGroupExtensionSettingService.MutateAdGroupExtensionSettings]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/ad_group_extension_setting_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/ad_group_extension_setting_service.proto + google.ads.googleads.v12.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +======== + google.ads.googleads.v15.enums.ResponseContentTypeEnum.ResponseContentType + response_content_type = 5; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/ad_group_extension_setting_service.proto + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new ad group + // extension setting. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/ad_group_extension_setting_service.proto + google.ads.googleads.v12.resources.AdGroupExtensionSetting create = 1; + + // Update operation: The ad group extension setting is expected to have a + // valid resource name. + google.ads.googleads.v12.resources.AdGroupExtensionSetting update = 2; +======== + google.ads.googleads.v15.resources.AdGroupExtensionSetting create = 1; + + // Update operation: The ad group extension setting is expected to have a + // valid resource name. + google.ads.googleads.v15.resources.AdGroupExtensionSetting update = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/ad_group_extension_setting_service.proto + + // 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". +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/ad_group_extension_setting_service.proto + google.ads.googleads.v12.resources.AdGroupExtensionSetting ad_group_extension_setting = 2; +======== + google.ads.googleads.v15.resources.AdGroupExtensionSetting + ad_group_extension_setting = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/ad_group_extension_setting_service.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v15/services/ad_group_feed_service.proto b/third_party/googleapis/google/ads/googleads/v15/services/ad_group_feed_service.proto new file mode 100644 index 000000000..7bd470ad0 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/services/ad_group_feed_service.proto @@ -0,0 +1,195 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/ad_group_feed_service.proto +package google.ads.googleads.v12.services; + +import "google/ads/googleads/v12/enums/response_content_type.proto"; +import "google/ads/googleads/v12/resources/ad_group_feed.proto"; +======== +package google.ads.googleads.v15.services; + +import "google/ads/googleads/v15/enums/response_content_type.proto"; +import "google/ads/googleads/v15/resources/ad_group_feed.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/ad_group_feed_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/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/ad_group_feed_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupFeedServiceProto"; +option java_package = "com.google.ads.googleads.v12.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V12::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupFeedServiceProto"; +option java_package = "com.google.ads.googleads.v15.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V15::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/ad_group_feed_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/ad_group_feed_service.proto + post: "/v12/customers/{customer_id=*}/adGroupFeeds:mutate" +======== + post: "/v15/customers/{customer_id=*}/adGroupFeeds:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/ad_group_feed_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/ad_group_feed_service.proto +// Request message for [AdGroupFeedService.MutateAdGroupFeeds][google.ads.googleads.v12.services.AdGroupFeedService.MutateAdGroupFeeds]. +======== +// Request message for +// [AdGroupFeedService.MutateAdGroupFeeds][google.ads.googleads.v15.services.AdGroupFeedService.MutateAdGroupFeeds]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/ad_group_feed_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/ad_group_feed_service.proto + google.ads.googleads.v12.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +======== + google.ads.googleads.v15.enums.ResponseContentTypeEnum.ResponseContentType + response_content_type = 5; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/ad_group_feed_service.proto +} + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/ad_group_feed_service.proto + google.ads.googleads.v12.resources.AdGroupFeed create = 1; + + // Update operation: The ad group feed is expected to have a valid resource + // name. + google.ads.googleads.v12.resources.AdGroupFeed update = 2; +======== + google.ads.googleads.v15.resources.AdGroupFeed create = 1; + + // Update operation: The ad group feed is expected to have a valid resource + // name. + google.ads.googleads.v15.resources.AdGroupFeed update = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/ad_group_feed_service.proto + + // 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". +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/ad_group_feed_service.proto + google.ads.googleads.v12.resources.AdGroupFeed ad_group_feed = 2; +======== + google.ads.googleads.v15.resources.AdGroupFeed ad_group_feed = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/ad_group_feed_service.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v15/services/ad_group_label_service.proto b/third_party/googleapis/google/ads/googleads/v15/services/ad_group_label_service.proto new file mode 100644 index 000000000..e717c227a --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/services/ad_group_label_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/ad_group_label_service.proto +package google.ads.googleads.v12.services; + +import "google/ads/googleads/v12/resources/ad_group_label.proto"; +======== +package google.ads.googleads.v15.services; + +import "google/ads/googleads/v15/resources/ad_group_label.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/ad_group_label_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/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/ad_group_label_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupLabelServiceProto"; +option java_package = "com.google.ads.googleads.v12.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V12::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupLabelServiceProto"; +option java_package = "com.google.ads.googleads.v15.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V15::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/ad_group_label_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/ad_group_label_service.proto + post: "/v12/customers/{customer_id=*}/adGroupLabels:mutate" +======== + post: "/v15/customers/{customer_id=*}/adGroupLabels:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/ad_group_label_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/ad_group_label_service.proto +// Request message for [AdGroupLabelService.MutateAdGroupLabels][google.ads.googleads.v12.services.AdGroupLabelService.MutateAdGroupLabels]. +======== +// Request message for +// [AdGroupLabelService.MutateAdGroupLabels][google.ads.googleads.v15.services.AdGroupLabelService.MutateAdGroupLabels]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/ad_group_label_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/ad_group_label_service.proto + google.ads.googleads.v12.resources.AdGroupLabel create = 1; +======== + google.ads.googleads.v15.resources.AdGroupLabel create = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/ad_group_label_service.proto + + // 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/v15/services/ad_group_service.proto b/third_party/googleapis/google/ads/googleads/v15/services/ad_group_service.proto new file mode 100644 index 000000000..dec302b79 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/services/ad_group_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/ad_group_service.proto +package google.ads.googleads.v12.services; + +import "google/ads/googleads/v12/enums/response_content_type.proto"; +import "google/ads/googleads/v12/resources/ad_group.proto"; +======== +package google.ads.googleads.v15.services; + +import "google/ads/googleads/v15/enums/response_content_type.proto"; +import "google/ads/googleads/v15/resources/ad_group.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/ad_group_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/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/ad_group_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupServiceProto"; +option java_package = "com.google.ads.googleads.v12.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V12::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupServiceProto"; +option java_package = "com.google.ads.googleads.v15.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V15::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/ad_group_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/ad_group_service.proto + post: "/v12/customers/{customer_id=*}/adGroups:mutate" +======== + post: "/v15/customers/{customer_id=*}/adGroups:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/ad_group_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/ad_group_service.proto +// Request message for [AdGroupService.MutateAdGroups][google.ads.googleads.v12.services.AdGroupService.MutateAdGroups]. +======== +// Request message for +// [AdGroupService.MutateAdGroups][google.ads.googleads.v15.services.AdGroupService.MutateAdGroups]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/ad_group_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/ad_group_service.proto + google.ads.googleads.v12.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +======== + google.ads.googleads.v15.enums.ResponseContentTypeEnum.ResponseContentType + response_content_type = 5; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/ad_group_service.proto +} + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/ad_group_service.proto + google.ads.googleads.v12.resources.AdGroup create = 1; + + // Update operation: The ad group is expected to have a valid resource name. + google.ads.googleads.v12.resources.AdGroup update = 2; +======== + google.ads.googleads.v15.resources.AdGroup create = 1; + + // Update operation: The ad group is expected to have a valid resource name. + google.ads.googleads.v15.resources.AdGroup update = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/ad_group_service.proto + + // 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". +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/ad_group_service.proto + google.ads.googleads.v12.resources.AdGroup ad_group = 2; +======== + google.ads.googleads.v15.resources.AdGroup ad_group = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/ad_group_service.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v15/services/ad_parameter_service.proto b/third_party/googleapis/google/ads/googleads/v15/services/ad_parameter_service.proto new file mode 100644 index 000000000..eac42f66c --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/services/ad_parameter_service.proto @@ -0,0 +1,185 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/ad_parameter_service.proto +package google.ads.googleads.v12.services; + +import "google/ads/googleads/v12/enums/response_content_type.proto"; +import "google/ads/googleads/v12/resources/ad_parameter.proto"; +======== +package google.ads.googleads.v15.services; + +import "google/ads/googleads/v15/enums/response_content_type.proto"; +import "google/ads/googleads/v15/resources/ad_parameter.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/ad_parameter_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/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/ad_parameter_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdParameterServiceProto"; +option java_package = "com.google.ads.googleads.v12.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V12::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdParameterServiceProto"; +option java_package = "com.google.ads.googleads.v15.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V15::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/ad_parameter_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/ad_parameter_service.proto + post: "/v12/customers/{customer_id=*}/adParameters:mutate" +======== + post: "/v15/customers/{customer_id=*}/adParameters:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/ad_parameter_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/ad_parameter_service.proto +// Request message for [AdParameterService.MutateAdParameters][google.ads.googleads.v12.services.AdParameterService.MutateAdParameters] +======== +// Request message for +// [AdParameterService.MutateAdParameters][google.ads.googleads.v15.services.AdParameterService.MutateAdParameters] +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/ad_parameter_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/ad_parameter_service.proto + google.ads.googleads.v12.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +======== + google.ads.googleads.v15.enums.ResponseContentTypeEnum.ResponseContentType + response_content_type = 5; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/ad_parameter_service.proto +} + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/ad_parameter_service.proto + google.ads.googleads.v12.resources.AdParameter create = 1; + + // Update operation: The ad parameter is expected to have a valid resource + // name. + google.ads.googleads.v12.resources.AdParameter update = 2; +======== + google.ads.googleads.v15.resources.AdParameter create = 1; + + // Update operation: The ad parameter is expected to have a valid resource + // name. + google.ads.googleads.v15.resources.AdParameter update = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/ad_parameter_service.proto + + // 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". +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/ad_parameter_service.proto + google.ads.googleads.v12.resources.AdParameter ad_parameter = 2; +======== + google.ads.googleads.v15.resources.AdParameter ad_parameter = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/ad_parameter_service.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v15/services/ad_service.proto b/third_party/googleapis/google/ads/googleads/v15/services/ad_service.proto new file mode 100644 index 000000000..203e3b2bf --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/services/ad_service.proto @@ -0,0 +1,245 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/ad_service.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/ad_service.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/ad_service.proto +package google.ads.googleads.v13.services; + +import "google/ads/googleads/v13/common/policy.proto"; +import "google/ads/googleads/v13/enums/response_content_type.proto"; +import "google/ads/googleads/v13/resources/ad.proto"; +======== +package google.ads.googleads.v15.services; + +import "google/ads/googleads/v15/common/policy.proto"; +import "google/ads/googleads/v15/enums/response_content_type.proto"; +import "google/ads/googleads/v15/resources/ad.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/ad_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/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/ad_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdServiceProto"; +option java_package = "com.google.ads.googleads.v13.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V13::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdServiceProto"; +option java_package = "com.google.ads.googleads.v15.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V15::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/ad_service.proto + +// 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]() +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/ad_service.proto + rpc GetAd(GetAdRequest) returns (google.ads.googleads.v13.resources.Ad) { + option (google.api.http) = { + get: "/v13/{resource_name=customers/*/ads/*}" +======== + rpc GetAd(GetAdRequest) returns (google.ads.googleads.v15.resources.Ad) { + option (google.api.http) = { + get: "/v15/{resource_name=customers/*/ads/*}" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/ad_service.proto + }; + 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/ad_service.proto + post: "/v13/customers/{customer_id=*}/ads:mutate" +======== + post: "/v15/customers/{customer_id=*}/ads:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/ad_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/ad_service.proto +// [AdService.GetAd][google.ads.googleads.v13.services.AdService.GetAd]. +======== +// [AdService.GetAd][google.ads.googleads.v15.services.AdService.GetAd]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/ad_service.proto +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 +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/ad_service.proto +// [AdService.MutateAds][google.ads.googleads.v13.services.AdService.MutateAds]. +======== +// [AdService.MutateAds][google.ads.googleads.v15.services.AdService.MutateAds]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/ad_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/ad_service.proto + google.ads.googleads.v13.enums.ResponseContentTypeEnum.ResponseContentType +======== + google.ads.googleads.v15.enums.ResponseContentTypeEnum.ResponseContentType +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/ad_service.proto + 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/ad_service.proto + google.ads.googleads.v13.common.PolicyValidationParameter +======== + google.ads.googleads.v15.common.PolicyValidationParameter +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/ad_service.proto + 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}` +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/ad_service.proto + google.ads.googleads.v13.resources.Ad update = 1; +======== + google.ads.googleads.v15.resources.Ad update = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/ad_service.proto + } +} + +// 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". +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/ad_service.proto + google.ads.googleads.v13.resources.Ad ad = 2; +======== + google.ads.googleads.v15.resources.Ad ad = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/ad_service.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v15/services/asset_group_asset_service.proto b/third_party/googleapis/google/ads/googleads/v15/services/asset_group_asset_service.proto new file mode 100644 index 000000000..98b2cb3cb --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/services/asset_group_asset_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/asset_group_asset_service.proto +package google.ads.googleads.v12.services; + +import "google/ads/googleads/v12/resources/asset_group_asset.proto"; +======== +package google.ads.googleads.v15.services; + +import "google/ads/googleads/v15/resources/asset_group_asset.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/asset_group_asset_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/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/asset_group_asset_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AssetGroupAssetServiceProto"; +option java_package = "com.google.ads.googleads.v12.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V12::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AssetGroupAssetServiceProto"; +option java_package = "com.google.ads.googleads.v15.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V15::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/asset_group_asset_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/asset_group_asset_service.proto + post: "/v12/customers/{customer_id=*}/assetGroupAssets:mutate" +======== + post: "/v15/customers/{customer_id=*}/assetGroupAssets:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/asset_group_asset_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/asset_group_asset_service.proto +// Request message for [AssetGroupAssetService.MutateAssetGroupAssets][google.ads.googleads.v12.services.AssetGroupAssetService.MutateAssetGroupAssets]. +======== +// Request message for +// [AssetGroupAssetService.MutateAssetGroupAssets][google.ads.googleads.v15.services.AssetGroupAssetService.MutateAssetGroupAssets]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/asset_group_asset_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/asset_group_asset_service.proto + google.ads.googleads.v12.resources.AssetGroupAsset create = 1; + + // Update operation: The asset group asset is expected to have a valid + // resource name. + google.ads.googleads.v12.resources.AssetGroupAsset update = 2; +======== + google.ads.googleads.v15.resources.AssetGroupAsset create = 1; + + // Update operation: The asset group asset is expected to have a valid + // resource name. + google.ads.googleads.v15.resources.AssetGroupAsset update = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/asset_group_asset_service.proto + + // 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/v15/services/asset_group_listing_group_filter_service.proto b/third_party/googleapis/google/ads/googleads/v15/services/asset_group_listing_group_filter_service.proto new file mode 100644 index 000000000..7cb97cfba --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/services/asset_group_listing_group_filter_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/asset_group_listing_group_filter_service.proto +package google.ads.googleads.v12.services; + +import "google/ads/googleads/v12/enums/response_content_type.proto"; +import "google/ads/googleads/v12/resources/asset_group_listing_group_filter.proto"; +======== +package google.ads.googleads.v15.services; + +import "google/ads/googleads/v15/enums/response_content_type.proto"; +import "google/ads/googleads/v15/resources/asset_group_listing_group_filter.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/asset_group_listing_group_filter_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/protobuf/field_mask.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/asset_group_listing_group_filter_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AssetGroupListingGroupFilterServiceProto"; +option java_package = "com.google.ads.googleads.v12.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V12::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AssetGroupListingGroupFilterServiceProto"; +option java_package = "com.google.ads.googleads.v15.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V15::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/asset_group_listing_group_filter_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/asset_group_listing_group_filter_service.proto + post: "/v12/customers/{customer_id=*}/assetGroupListingGroupFilters:mutate" +======== + post: "/v15/customers/{customer_id=*}/assetGroupListingGroupFilters:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/asset_group_listing_group_filter_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/asset_group_listing_group_filter_service.proto +// [AssetGroupListingGroupFilterService.MutateAssetGroupListingGroupFilters][google.ads.googleads.v12.services.AssetGroupListingGroupFilterService.MutateAssetGroupListingGroupFilters]. +======== +// [AssetGroupListingGroupFilterService.MutateAssetGroupListingGroupFilters][google.ads.googleads.v15.services.AssetGroupListingGroupFilterService.MutateAssetGroupListingGroupFilters]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/asset_group_listing_group_filter_service.proto +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/asset_group_listing_group_filter_service.proto + google.ads.googleads.v12.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 4; +======== + google.ads.googleads.v15.enums.ResponseContentTypeEnum.ResponseContentType + response_content_type = 4; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/asset_group_listing_group_filter_service.proto +} + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/asset_group_listing_group_filter_service.proto + google.ads.googleads.v12.resources.AssetGroupListingGroupFilter create = 1; + + // Update operation: The asset group listing group filter is expected to + // have a valid resource name. + google.ads.googleads.v12.resources.AssetGroupListingGroupFilter update = 2; +======== + google.ads.googleads.v15.resources.AssetGroupListingGroupFilter create = 1; + + // Update operation: The asset group listing group filter is expected to + // have a valid resource name. + google.ads.googleads.v15.resources.AssetGroupListingGroupFilter update = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/asset_group_listing_group_filter_service.proto + + // 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". +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/asset_group_listing_group_filter_service.proto + google.ads.googleads.v12.resources.AssetGroupListingGroupFilter asset_group_listing_group_filter = 2; +======== + google.ads.googleads.v15.resources.AssetGroupListingGroupFilter + asset_group_listing_group_filter = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/asset_group_listing_group_filter_service.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v15/services/asset_group_service.proto b/third_party/googleapis/google/ads/googleads/v15/services/asset_group_service.proto new file mode 100644 index 000000000..4ee2275ad --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/services/asset_group_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/asset_group_service.proto +package google.ads.googleads.v12.services; + +import "google/ads/googleads/v12/resources/asset_group.proto"; +======== +package google.ads.googleads.v15.services; + +import "google/ads/googleads/v15/resources/asset_group.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/asset_group_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/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/asset_group_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AssetGroupServiceProto"; +option java_package = "com.google.ads.googleads.v12.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V12::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AssetGroupServiceProto"; +option java_package = "com.google.ads.googleads.v15.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V15::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/asset_group_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/asset_group_service.proto + post: "/v12/customers/{customer_id=*}/assetGroups:mutate" +======== + post: "/v15/customers/{customer_id=*}/assetGroups:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/asset_group_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/asset_group_service.proto +// Request message for [AssetGroupService.MutateAssetGroups][google.ads.googleads.v12.services.AssetGroupService.MutateAssetGroups]. +======== +// Request message for +// [AssetGroupService.MutateAssetGroups][google.ads.googleads.v15.services.AssetGroupService.MutateAssetGroups]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/asset_group_service.proto +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 +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/asset_group_service.proto + google.ads.googleads.v12.resources.AssetGroup create = 1; + + // Update operation: The asset group is expected to have a valid resource + // name. + google.ads.googleads.v12.resources.AssetGroup update = 2; +======== + google.ads.googleads.v15.resources.AssetGroup create = 1; + + // Update operation: The asset group is expected to have a valid resource + // name. + google.ads.googleads.v15.resources.AssetGroup update = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/asset_group_service.proto + + // 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/v15/services/asset_group_signal_service.proto b/third_party/googleapis/google/ads/googleads/v15/services/asset_group_signal_service.proto new file mode 100644 index 000000000..e57453489 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.v15.services; + +import "google/ads/googleads/v15/common/policy.proto"; +import "google/ads/googleads/v15/enums/response_content_type.proto"; +import "google/ads/googleads/v15/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.V15.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AssetGroupSignalServiceProto"; +option java_package = "com.google.ads.googleads.v15.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V15::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: "/v15/customers/{customer_id=*}/assetGroupSignals:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [AssetGroupSignalService.MutateAssetGroupSignals][google.ads.googleads.v15.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.v15.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.v15.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.v15.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.v15.resources.AssetGroupSignal asset_group_signal = 2; +} diff --git a/third_party/googleapis/google/ads/googleads/v15/services/asset_service.proto b/third_party/googleapis/google/ads/googleads/v15/services/asset_service.proto new file mode 100644 index 000000000..3d96c0ef5 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/services/asset_service.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/asset_service.proto +package google.ads.googleads.v12.services; + +import "google/ads/googleads/v12/enums/response_content_type.proto"; +import "google/ads/googleads/v12/resources/asset.proto"; +======== +package google.ads.googleads.v15.services; + +import "google/ads/googleads/v15/enums/response_content_type.proto"; +import "google/ads/googleads/v15/resources/asset.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/asset_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/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/asset_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AssetServiceProto"; +option java_package = "com.google.ads.googleads.v12.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V12::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AssetServiceProto"; +option java_package = "com.google.ads.googleads.v15.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V15::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/asset_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/asset_service.proto + post: "/v12/customers/{customer_id=*}/assets:mutate" +======== + post: "/v15/customers/{customer_id=*}/assets:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/asset_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/asset_service.proto +// Request message for [AssetService.MutateAssets][google.ads.googleads.v12.services.AssetService.MutateAssets] +======== +// Request message for +// [AssetService.MutateAssets][google.ads.googleads.v15.services.AssetService.MutateAssets] +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/asset_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/asset_service.proto + google.ads.googleads.v12.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 3; +======== + google.ads.googleads.v15.enums.ResponseContentTypeEnum.ResponseContentType + response_content_type = 3; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/asset_service.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/asset_service.proto + google.ads.googleads.v12.resources.Asset create = 1; +======== + google.ads.googleads.v15.resources.Asset create = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/asset_service.proto + + // Update operation: The asset is expected to have a valid resource name in + // this format: + // + // `customers/{customer_id}/assets/{asset_id}` +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/asset_service.proto + google.ads.googleads.v12.resources.Asset update = 2; +======== + google.ads.googleads.v15.resources.Asset update = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/asset_service.proto + } +} + +// 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". +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/asset_service.proto + google.ads.googleads.v12.resources.Asset asset = 2; +======== + google.ads.googleads.v15.resources.Asset asset = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/asset_service.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v15/services/asset_set_asset_service.proto b/third_party/googleapis/google/ads/googleads/v15/services/asset_set_asset_service.proto new file mode 100644 index 000000000..0b374cb4a --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/services/asset_set_asset_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/asset_set_asset_service.proto +package google.ads.googleads.v12.services; + +import "google/ads/googleads/v12/enums/response_content_type.proto"; +import "google/ads/googleads/v12/resources/asset_set_asset.proto"; +======== +package google.ads.googleads.v15.services; + +import "google/ads/googleads/v15/enums/response_content_type.proto"; +import "google/ads/googleads/v15/resources/asset_set_asset.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/asset_set_asset_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/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/asset_set_asset_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AssetSetAssetServiceProto"; +option java_package = "com.google.ads.googleads.v12.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V12::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AssetSetAssetServiceProto"; +option java_package = "com.google.ads.googleads.v15.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V15::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/asset_set_asset_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/asset_set_asset_service.proto + post: "/v12/customers/{customer_id=*}/assetSetAssets:mutate" +======== + post: "/v15/customers/{customer_id=*}/assetSetAssets:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/asset_set_asset_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/asset_set_asset_service.proto +// Request message for [AssetSetAssetService.MutateAssetSetAssets][google.ads.googleads.v12.services.AssetSetAssetService.MutateAssetSetAssets]. +======== +// Request message for +// [AssetSetAssetService.MutateAssetSetAssets][google.ads.googleads.v15.services.AssetSetAssetService.MutateAssetSetAssets]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/asset_set_asset_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/asset_set_asset_service.proto + google.ads.googleads.v12.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +======== + google.ads.googleads.v15.enums.ResponseContentTypeEnum.ResponseContentType + response_content_type = 5; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/asset_set_asset_service.proto +} + +// 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 +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/asset_set_asset_service.proto + google.ads.googleads.v12.resources.AssetSetAsset create = 1; +======== + google.ads.googleads.v15.resources.AssetSetAsset create = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/asset_set_asset_service.proto + + // 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". +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/asset_set_asset_service.proto + google.ads.googleads.v12.resources.AssetSetAsset asset_set_asset = 2; +======== + google.ads.googleads.v15.resources.AssetSetAsset asset_set_asset = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/asset_set_asset_service.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v15/services/asset_set_service.proto b/third_party/googleapis/google/ads/googleads/v15/services/asset_set_service.proto new file mode 100644 index 000000000..e679f3cb7 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/services/asset_set_service.proto @@ -0,0 +1,169 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/asset_set_service.proto +package google.ads.googleads.v12.services; + +import "google/ads/googleads/v12/enums/response_content_type.proto"; +import "google/ads/googleads/v12/resources/asset_set.proto"; +======== +package google.ads.googleads.v15.services; + +import "google/ads/googleads/v15/enums/response_content_type.proto"; +import "google/ads/googleads/v15/resources/asset_set.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/asset_set_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/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/asset_set_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AssetSetServiceProto"; +option java_package = "com.google.ads.googleads.v12.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V12::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AssetSetServiceProto"; +option java_package = "com.google.ads.googleads.v15.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V15::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/asset_set_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/asset_set_service.proto + post: "/v12/customers/{customer_id=*}/assetSets:mutate" +======== + post: "/v15/customers/{customer_id=*}/assetSets:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/asset_set_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/asset_set_service.proto +// Request message for [AssetSetService.MutateAssetSets][google.ads.googleads.v12.services.AssetSetService.MutateAssetSets]. +======== +// Request message for +// [AssetSetService.MutateAssetSets][google.ads.googleads.v15.services.AssetSetService.MutateAssetSets]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/asset_set_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/asset_set_service.proto + google.ads.googleads.v12.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +======== + google.ads.googleads.v15.enums.ResponseContentTypeEnum.ResponseContentType + response_content_type = 5; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/asset_set_service.proto +} + +// 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 +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/asset_set_service.proto + google.ads.googleads.v12.resources.AssetSet create = 1; + + // Update operation: The asset set is expected to have a valid resource + // name. + google.ads.googleads.v12.resources.AssetSet update = 2; +======== + google.ads.googleads.v15.resources.AssetSet create = 1; + + // Update operation: The asset set is expected to have a valid resource + // name. + google.ads.googleads.v15.resources.AssetSet update = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/asset_set_service.proto + + // 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". +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/asset_set_service.proto + google.ads.googleads.v12.resources.AssetSet asset_set = 2; +======== + google.ads.googleads.v15.resources.AssetSet asset_set = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/asset_set_service.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v15/services/audience_insights_service.proto b/third_party/googleapis/google/ads/googleads/v15/services/audience_insights_service.proto new file mode 100644 index 000000000..f6d703038 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/services/audience_insights_service.proto @@ -0,0 +1,622 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.ads.googleads.v15.services; + +import "google/ads/googleads/v15/common/criteria.proto"; +import "google/ads/googleads/v15/common/dates.proto"; +import "google/ads/googleads/v15/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.V15.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AudienceInsightsServiceProto"; +option java_package = "com.google.ads.googleads.v15.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V15::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: "/v15/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: "/v15/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: "/v15/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: "/v15/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: "/v15/customers/{customer_id=*}:generateSuggestedTargetingInsights" + body: "*" + }; + option (google.api.method_signature) = "customer_id,audience"; + } +} + +// Request message for +// [AudienceInsightsService.GenerateInsightsFinderReport][google.ads.googleads.v15.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.v15.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.v15.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.v15.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.v15.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.v15.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.v15.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.v15.common.AgeRangeInfo age_ranges = 2; + + // Suggested gender targeting. If present, this attribute has dimension + // GENDER. + google.ads.googleads.v15.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.v15.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.v15.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.v15.common.LocationInfo + location_country_filters = 5; +} + +// Response message for +// [AudienceInsightsService.ListAudienceInsightsAttributes][google.ads.googleads.v15.services.AudienceInsightsService.ListAudienceInsightsAttributes]. +message ListAudienceInsightsAttributesResponse { + // The attributes matching the search query. + repeated AudienceInsightsAttributeMetadata attributes = 1; +} + +// Request message for +// [AudienceInsightsService.ListInsightsEligibleDates][google.ads.googleads.v15.services.AudienceInsightsService.ListInsightsEligibleDates]. +message ListInsightsEligibleDatesRequest {} + +// Response message for +// [AudienceInsightsService.ListInsightsEligibleDates][google.ads.googleads.v15.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.v15.services.AudienceInsightsService.GenerateAudienceCompositionInsights] + // requests that have no data_month set. + google.ads.googleads.v15.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.v15.common.AgeRangeInfo age_range = 1; + + // An audience attribute defined by a gender. + google.ads.googleads.v15.common.GenderInfo gender = 2; + + // An audience attribute defined by a geographic location. + google.ads.googleads.v15.common.LocationInfo location = 3; + + // An Affinity or In-Market audience. + google.ads.googleads.v15.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.v15.common.ParentalStatusInfo parental_status = 8; + + // A household income percentile range. + google.ads.googleads.v15.common.IncomeRangeInfo income_range = 9; + + // A YouTube channel. + google.ads.googleads.v15.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.v15.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.v15.common.LocationInfo sub_country_locations = + 2; + + // Gender for the audience. If absent, the audience does not restrict by + // gender. + google.ads.googleads.v15.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.v15.common.AgeRangeInfo age_ranges = 4; + + // User interests defining this audience. Affinity and In-Market audiences + // are supported. + repeated google.ads.googleads.v15.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.v15.enums.AudienceInsightsDimensionEnum + .AudienceInsightsDimension dimension = 1; + + // The attribute itself. + AudienceInsightsAttribute attribute = 2; + + // The human-readable name of the attribute. + string display_name = 3; + + // A relevance score for this attribute, between 0 and 1. + double score = 4; + + // 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.v15.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.v15.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.v15.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.v15.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.v15.common.LocationInfo sub_country_locations = + 2; + + // Gender for the audience. If absent, the audience does not restrict by + // gender. + google.ads.googleads.v15.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.v15.common.AgeRangeInfo age_ranges = 4; + + // Parental status for the audience. If absent, the audience does not + // restrict by parental status. + google.ads.googleads.v15.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.v15.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.v15.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/v15/services/audience_service.proto b/third_party/googleapis/google/ads/googleads/v15/services/audience_service.proto new file mode 100644 index 000000000..e40c39fc5 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/services/audience_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/audience_service.proto +package google.ads.googleads.v12.services; + +import "google/ads/googleads/v12/enums/response_content_type.proto"; +import "google/ads/googleads/v12/resources/audience.proto"; +======== +package google.ads.googleads.v15.services; + +import "google/ads/googleads/v15/enums/response_content_type.proto"; +import "google/ads/googleads/v15/resources/audience.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/audience_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/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/audience_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AudienceServiceProto"; +option java_package = "com.google.ads.googleads.v12.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V12::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AudienceServiceProto"; +option java_package = "com.google.ads.googleads.v15.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V15::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/audience_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/audience_service.proto + post: "/v12/customers/{customer_id=*}/audiences:mutate" +======== + post: "/v15/customers/{customer_id=*}/audiences:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/audience_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/audience_service.proto +// Request message for [AudienceService.MutateAudiences][google.ads.googleads.v12.services.AudienceService.MutateAudiences]. +======== +// Request message for +// [AudienceService.MutateAudiences][google.ads.googleads.v15.services.AudienceService.MutateAudiences]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/audience_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/audience_service.proto + google.ads.googleads.v12.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +======== + google.ads.googleads.v15.enums.ResponseContentTypeEnum.ResponseContentType + response_content_type = 5; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/audience_service.proto +} + +// 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 +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/audience_service.proto + google.ads.googleads.v12.resources.Audience create = 1; + + // Update operation: The audience is expected to have a valid resource + // name. + google.ads.googleads.v12.resources.Audience update = 2; +======== + google.ads.googleads.v15.resources.Audience create = 1; + + // Update operation: The audience is expected to have a valid resource + // name. + google.ads.googleads.v15.resources.Audience update = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/audience_service.proto + } +} + +// 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". +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/audience_service.proto + google.ads.googleads.v12.resources.Audience audience = 2; +======== + google.ads.googleads.v15.resources.Audience audience = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/audience_service.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v15/services/batch_job_service.proto b/third_party/googleapis/google/ads/googleads/v15/services/batch_job_service.proto new file mode 100644 index 000000000..89d04d591 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/services/batch_job_service.proto @@ -0,0 +1,357 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/batch_job_service.proto +package google.ads.googleads.v12.services; + +import "google/ads/googleads/v12/enums/response_content_type.proto"; +import "google/ads/googleads/v12/resources/batch_job.proto"; +import "google/ads/googleads/v12/services/google_ads_service.proto"; +======== +package google.ads.googleads.v15.services; + +import "google/ads/googleads/v15/enums/response_content_type.proto"; +import "google/ads/googleads/v15/resources/batch_job.proto"; +import "google/ads/googleads/v15/services/google_ads_service.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/batch_job_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/batch_job_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/services;services"; +option java_multiple_files = true; +option java_outer_classname = "BatchJobServiceProto"; +option java_package = "com.google.ads.googleads.v12.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V12::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/services;services"; +option java_multiple_files = true; +option java_outer_classname = "BatchJobServiceProto"; +option java_package = "com.google.ads.googleads.v15.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V15::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/batch_job_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/batch_job_service.proto + post: "/v12/customers/{customer_id=*}/batchJobs:mutate" +======== + post: "/v15/customers/{customer_id=*}/batchJobs:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/batch_job_service.proto + 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/batch_job_service.proto + get: "/v12/{resource_name=customers/*/batchJobs/*}:listResults" +======== + get: "/v15/{resource_name=customers/*/batchJobs/*}:listResults" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/batch_job_service.proto + }; + 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/batch_job_service.proto + post: "/v12/{resource_name=customers/*/batchJobs/*}:run" +======== + post: "/v15/{resource_name=customers/*/batchJobs/*}:run" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/batch_job_service.proto + body: "*" + }; + option (google.api.method_signature) = "resource_name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/batch_job_service.proto + metadata_type: "google.ads.googleads.v12.resources.BatchJob.BatchJobMetadata" +======== + metadata_type: "google.ads.googleads.v15.resources.BatchJob.BatchJobMetadata" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/batch_job_service.proto + }; + } + + // 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/batch_job_service.proto + post: "/v12/{resource_name=customers/*/batchJobs/*}:addOperations" +======== + post: "/v15/{resource_name=customers/*/batchJobs/*}:addOperations" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/batch_job_service.proto + body: "*" + }; + option (google.api.method_signature) = + "resource_name,sequence_token,mutate_operations"; + option (google.api.method_signature) = "resource_name,mutate_operations"; + } +} + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/batch_job_service.proto +// Request message for [BatchJobService.MutateBatchJob][google.ads.googleads.v12.services.BatchJobService.MutateBatchJob]. +======== +// Request message for +// [BatchJobService.MutateBatchJob][google.ads.googleads.v15.services.BatchJobService.MutateBatchJob]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/batch_job_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/batch_job_service.proto + google.ads.googleads.v12.resources.BatchJob create = 1; +======== + google.ads.googleads.v15.resources.BatchJob create = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/batch_job_service.proto + + // 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" + }]; + } +} + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/batch_job_service.proto +// Response message for [BatchJobService.MutateBatchJob][google.ads.googleads.v12.services.BatchJobService.MutateBatchJob]. +======== +// Response message for +// [BatchJobService.MutateBatchJob][google.ads.googleads.v15.services.BatchJobService.MutateBatchJob]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/batch_job_service.proto +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" + }]; +} + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/batch_job_service.proto +// Request message for [BatchJobService.RunBatchJob][google.ads.googleads.v12.services.BatchJobService.RunBatchJob]. +======== +// Request message for +// [BatchJobService.RunBatchJob][google.ads.googleads.v15.services.BatchJobService.RunBatchJob]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/batch_job_service.proto +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" + } + ]; +} + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/batch_job_service.proto +// Request message for [BatchJobService.AddBatchJobOperations][google.ads.googleads.v12.services.BatchJobService.AddBatchJobOperations]. +======== +// Request message for +// [BatchJobService.AddBatchJobOperations][google.ads.googleads.v15.services.BatchJobService.AddBatchJobOperations]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/batch_job_service.proto +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]; +} + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/batch_job_service.proto +// Response message for [BatchJobService.AddBatchJobOperations][google.ads.googleads.v12.services.BatchJobService.AddBatchJobOperations]. +======== +// Response message for +// [BatchJobService.AddBatchJobOperations][google.ads.googleads.v15.services.BatchJobService.AddBatchJobOperations]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/batch_job_service.proto +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; +} + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/batch_job_service.proto +// Request message for [BatchJobService.ListBatchJobResults][google.ads.googleads.v12.services.BatchJobService.ListBatchJobResults]. +======== +// Request message for +// [BatchJobService.ListBatchJobResults][google.ads.googleads.v15.services.BatchJobService.ListBatchJobResults]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/batch_job_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/batch_job_service.proto + google.ads.googleads.v12.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 4; +} + +// Response message for [BatchJobService.ListBatchJobResults][google.ads.googleads.v12.services.BatchJobService.ListBatchJobResults]. +======== + google.ads.googleads.v15.enums.ResponseContentTypeEnum.ResponseContentType + response_content_type = 4; +} + +// Response message for +// [BatchJobService.ListBatchJobResults][google.ads.googleads.v15.services.BatchJobService.ListBatchJobResults]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/batch_job_service.proto +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/v15/services/bidding_data_exclusion_service.proto b/third_party/googleapis/google/ads/googleads/v15/services/bidding_data_exclusion_service.proto new file mode 100644 index 000000000..b74c9cff6 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/services/bidding_data_exclusion_service.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/bidding_data_exclusion_service.proto +package google.ads.googleads.v12.services; + +import "google/ads/googleads/v12/enums/response_content_type.proto"; +import "google/ads/googleads/v12/resources/bidding_data_exclusion.proto"; +======== +package google.ads.googleads.v15.services; + +import "google/ads/googleads/v15/enums/response_content_type.proto"; +import "google/ads/googleads/v15/resources/bidding_data_exclusion.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/bidding_data_exclusion_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/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/bidding_data_exclusion_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/services;services"; +option java_multiple_files = true; +option java_outer_classname = "BiddingDataExclusionServiceProto"; +option java_package = "com.google.ads.googleads.v12.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V12::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/services;services"; +option java_multiple_files = true; +option java_outer_classname = "BiddingDataExclusionServiceProto"; +option java_package = "com.google.ads.googleads.v15.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V15::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/bidding_data_exclusion_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/bidding_data_exclusion_service.proto + post: "/v12/customers/{customer_id=*}/biddingDataExclusions:mutate" +======== + post: "/v15/customers/{customer_id=*}/biddingDataExclusions:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/bidding_data_exclusion_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/bidding_data_exclusion_service.proto +// [BiddingDataExclusionService.MutateBiddingDataExclusions][google.ads.googleads.v12.services.BiddingDataExclusionService.MutateBiddingDataExclusions]. +======== +// [BiddingDataExclusionService.MutateBiddingDataExclusions][google.ads.googleads.v15.services.BiddingDataExclusionService.MutateBiddingDataExclusions]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/bidding_data_exclusion_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/bidding_data_exclusion_service.proto + google.ads.googleads.v12.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +======== + google.ads.googleads.v15.enums.ResponseContentTypeEnum.ResponseContentType + response_content_type = 5; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/bidding_data_exclusion_service.proto +} + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/bidding_data_exclusion_service.proto + google.ads.googleads.v12.resources.BiddingDataExclusion create = 1; + + // Update operation: The data exclusion is expected to have a valid + // resource name. + google.ads.googleads.v12.resources.BiddingDataExclusion update = 2; +======== + google.ads.googleads.v15.resources.BiddingDataExclusion create = 1; + + // Update operation: The data exclusion is expected to have a valid + // resource name. + google.ads.googleads.v15.resources.BiddingDataExclusion update = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/bidding_data_exclusion_service.proto + + // 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". +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/bidding_data_exclusion_service.proto + google.ads.googleads.v12.resources.BiddingDataExclusion bidding_data_exclusion = 2; +======== + google.ads.googleads.v15.resources.BiddingDataExclusion + bidding_data_exclusion = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/bidding_data_exclusion_service.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v15/services/bidding_seasonality_adjustment_service.proto b/third_party/googleapis/google/ads/googleads/v15/services/bidding_seasonality_adjustment_service.proto new file mode 100644 index 000000000..c7231801e --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/services/bidding_seasonality_adjustment_service.proto @@ -0,0 +1,174 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/bidding_seasonality_adjustment_service.proto +package google.ads.googleads.v12.services; + +import "google/ads/googleads/v12/enums/response_content_type.proto"; +import "google/ads/googleads/v12/resources/bidding_seasonality_adjustment.proto"; +======== +package google.ads.googleads.v15.services; + +import "google/ads/googleads/v15/enums/response_content_type.proto"; +import "google/ads/googleads/v15/resources/bidding_seasonality_adjustment.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/bidding_seasonality_adjustment_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/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/bidding_seasonality_adjustment_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/services;services"; +option java_multiple_files = true; +option java_outer_classname = "BiddingSeasonalityAdjustmentServiceProto"; +option java_package = "com.google.ads.googleads.v12.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V12::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/services;services"; +option java_multiple_files = true; +option java_outer_classname = "BiddingSeasonalityAdjustmentServiceProto"; +option java_package = "com.google.ads.googleads.v15.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V15::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/bidding_seasonality_adjustment_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/bidding_seasonality_adjustment_service.proto + post: "/v12/customers/{customer_id=*}/biddingSeasonalityAdjustments:mutate" +======== + post: "/v15/customers/{customer_id=*}/biddingSeasonalityAdjustments:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/bidding_seasonality_adjustment_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/bidding_seasonality_adjustment_service.proto +// [BiddingSeasonalityAdjustmentService.MutateBiddingSeasonalityAdjustments][google.ads.googleads.v12.services.BiddingSeasonalityAdjustmentService.MutateBiddingSeasonalityAdjustments]. +======== +// [BiddingSeasonalityAdjustmentService.MutateBiddingSeasonalityAdjustments][google.ads.googleads.v15.services.BiddingSeasonalityAdjustmentService.MutateBiddingSeasonalityAdjustments]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/bidding_seasonality_adjustment_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/bidding_seasonality_adjustment_service.proto + google.ads.googleads.v12.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +======== + google.ads.googleads.v15.enums.ResponseContentTypeEnum.ResponseContentType + response_content_type = 5; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/bidding_seasonality_adjustment_service.proto +} + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/bidding_seasonality_adjustment_service.proto + google.ads.googleads.v12.resources.BiddingSeasonalityAdjustment create = 1; + + // Update operation: The seasonality adjustment is expected to have a valid + // resource name. + google.ads.googleads.v12.resources.BiddingSeasonalityAdjustment update = 2; +======== + google.ads.googleads.v15.resources.BiddingSeasonalityAdjustment create = 1; + + // Update operation: The seasonality adjustment is expected to have a valid + // resource name. + google.ads.googleads.v15.resources.BiddingSeasonalityAdjustment update = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/bidding_seasonality_adjustment_service.proto + + // 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". +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/bidding_seasonality_adjustment_service.proto + google.ads.googleads.v12.resources.BiddingSeasonalityAdjustment bidding_seasonality_adjustment = 2; +======== + google.ads.googleads.v15.resources.BiddingSeasonalityAdjustment + bidding_seasonality_adjustment = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/bidding_seasonality_adjustment_service.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v15/services/bidding_strategy_service.proto b/third_party/googleapis/google/ads/googleads/v15/services/bidding_strategy_service.proto new file mode 100644 index 000000000..24d100e42 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/services/bidding_strategy_service.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/bidding_strategy_service.proto +package google.ads.googleads.v12.services; + +import "google/ads/googleads/v12/enums/response_content_type.proto"; +import "google/ads/googleads/v12/resources/bidding_strategy.proto"; +======== +package google.ads.googleads.v15.services; + +import "google/ads/googleads/v15/enums/response_content_type.proto"; +import "google/ads/googleads/v15/resources/bidding_strategy.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/bidding_strategy_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/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/bidding_strategy_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/services;services"; +option java_multiple_files = true; +option java_outer_classname = "BiddingStrategyServiceProto"; +option java_package = "com.google.ads.googleads.v12.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V12::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/services;services"; +option java_multiple_files = true; +option java_outer_classname = "BiddingStrategyServiceProto"; +option java_package = "com.google.ads.googleads.v15.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V15::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/bidding_strategy_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/bidding_strategy_service.proto + post: "/v12/customers/{customer_id=*}/biddingStrategies:mutate" +======== + post: "/v15/customers/{customer_id=*}/biddingStrategies:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/bidding_strategy_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/bidding_strategy_service.proto +// Request message for [BiddingStrategyService.MutateBiddingStrategies][google.ads.googleads.v12.services.BiddingStrategyService.MutateBiddingStrategies]. +======== +// Request message for +// [BiddingStrategyService.MutateBiddingStrategies][google.ads.googleads.v15.services.BiddingStrategyService.MutateBiddingStrategies]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/bidding_strategy_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/bidding_strategy_service.proto + google.ads.googleads.v12.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +======== + google.ads.googleads.v15.enums.ResponseContentTypeEnum.ResponseContentType + response_content_type = 5; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/bidding_strategy_service.proto +} + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/bidding_strategy_service.proto + google.ads.googleads.v12.resources.BiddingStrategy create = 1; + + // Update operation: The bidding strategy is expected to have a valid + // resource name. + google.ads.googleads.v12.resources.BiddingStrategy update = 2; +======== + google.ads.googleads.v15.resources.BiddingStrategy create = 1; + + // Update operation: The bidding strategy is expected to have a valid + // resource name. + google.ads.googleads.v15.resources.BiddingStrategy update = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/bidding_strategy_service.proto + + // 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". +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/bidding_strategy_service.proto + google.ads.googleads.v12.resources.BiddingStrategy bidding_strategy = 2; +======== + google.ads.googleads.v15.resources.BiddingStrategy bidding_strategy = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/bidding_strategy_service.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v15/services/billing_setup_service.proto b/third_party/googleapis/google/ads/googleads/v15/services/billing_setup_service.proto new file mode 100644 index 000000000..bf49b9414 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/services/billing_setup_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/billing_setup_service.proto +package google.ads.googleads.v12.services; + +import "google/ads/googleads/v12/resources/billing_setup.proto"; +======== +package google.ads.googleads.v15.services; + +import "google/ads/googleads/v15/resources/billing_setup.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/billing_setup_service.proto +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/billing_setup_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/services;services"; +option java_multiple_files = true; +option java_outer_classname = "BillingSetupServiceProto"; +option java_package = "com.google.ads.googleads.v12.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V12::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/services;services"; +option java_multiple_files = true; +option java_outer_classname = "BillingSetupServiceProto"; +option java_package = "com.google.ads.googleads.v15.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V15::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/billing_setup_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/billing_setup_service.proto + post: "/v12/customers/{customer_id=*}/billingSetups:mutate" +======== + post: "/v15/customers/{customer_id=*}/billingSetups:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/billing_setup_service.proto + 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/billing_setup_service.proto + google.ads.googleads.v12.resources.BillingSetup create = 2; +======== + google.ads.googleads.v15.resources.BillingSetup create = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/billing_setup_service.proto + + // 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/v15/services/brand_suggestion_service.proto b/third_party/googleapis/google/ads/googleads/v15/services/brand_suggestion_service.proto new file mode 100644 index 000000000..663404e52 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.v15.services; + +import "google/ads/googleads/v15/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.V15.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/services;services"; +option java_multiple_files = true; +option java_outer_classname = "BrandSuggestionServiceProto"; +option java_package = "com.google.ads.googleads.v15.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V15::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: "/v15/customers/{customer_id=*}:suggestBrands" + body: "*" + }; + option (google.api.method_signature) = "customer_id,brand_prefix"; + } +} + +// Request message for +// [BrandSuggestionService.SuggestBrands][google.ads.googleads.v15.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.v15.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.v15.enums.BrandStateEnum.BrandState state = 4; +} diff --git a/third_party/googleapis/google/ads/googleads/v15/services/campaign_asset_service.proto b/third_party/googleapis/google/ads/googleads/v15/services/campaign_asset_service.proto new file mode 100644 index 000000000..08a6e1335 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/services/campaign_asset_service.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/campaign_asset_service.proto +package google.ads.googleads.v12.services; + +import "google/ads/googleads/v12/enums/response_content_type.proto"; +import "google/ads/googleads/v12/resources/campaign_asset.proto"; +======== +package google.ads.googleads.v15.services; + +import "google/ads/googleads/v15/enums/response_content_type.proto"; +import "google/ads/googleads/v15/resources/campaign_asset.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/campaign_asset_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/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/campaign_asset_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CampaignAssetServiceProto"; +option java_package = "com.google.ads.googleads.v12.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V12::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CampaignAssetServiceProto"; +option java_package = "com.google.ads.googleads.v15.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V15::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/campaign_asset_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/campaign_asset_service.proto + post: "/v12/customers/{customer_id=*}/campaignAssets:mutate" +======== + post: "/v15/customers/{customer_id=*}/campaignAssets:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/campaign_asset_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/campaign_asset_service.proto +// Request message for [CampaignAssetService.MutateCampaignAssets][google.ads.googleads.v12.services.CampaignAssetService.MutateCampaignAssets]. +======== +// Request message for +// [CampaignAssetService.MutateCampaignAssets][google.ads.googleads.v15.services.CampaignAssetService.MutateCampaignAssets]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/campaign_asset_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/campaign_asset_service.proto + google.ads.googleads.v12.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +======== + google.ads.googleads.v15.enums.ResponseContentTypeEnum.ResponseContentType + response_content_type = 5; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/campaign_asset_service.proto +} + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/campaign_asset_service.proto + google.ads.googleads.v12.resources.CampaignAsset create = 1; + + // Update operation: The campaign asset is expected to have a valid resource + // name. + google.ads.googleads.v12.resources.CampaignAsset update = 3; +======== + google.ads.googleads.v15.resources.CampaignAsset create = 1; + + // Update operation: The campaign asset is expected to have a valid resource + // name. + google.ads.googleads.v15.resources.CampaignAsset update = 3; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/campaign_asset_service.proto + + // 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". +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/campaign_asset_service.proto + google.ads.googleads.v12.resources.CampaignAsset campaign_asset = 2; +======== + google.ads.googleads.v15.resources.CampaignAsset campaign_asset = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/campaign_asset_service.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v15/services/campaign_asset_set_service.proto b/third_party/googleapis/google/ads/googleads/v15/services/campaign_asset_set_service.proto new file mode 100644 index 000000000..d8604886d --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/services/campaign_asset_set_service.proto @@ -0,0 +1,161 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/campaign_asset_set_service.proto +package google.ads.googleads.v12.services; + +import "google/ads/googleads/v12/enums/response_content_type.proto"; +import "google/ads/googleads/v12/resources/campaign_asset_set.proto"; +======== +package google.ads.googleads.v15.services; + +import "google/ads/googleads/v15/enums/response_content_type.proto"; +import "google/ads/googleads/v15/resources/campaign_asset_set.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/campaign_asset_set_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/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/campaign_asset_set_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CampaignAssetSetServiceProto"; +option java_package = "com.google.ads.googleads.v12.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V12::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CampaignAssetSetServiceProto"; +option java_package = "com.google.ads.googleads.v15.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V15::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/campaign_asset_set_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/campaign_asset_set_service.proto + post: "/v12/customers/{customer_id=*}/campaignAssetSets:mutate" +======== + post: "/v15/customers/{customer_id=*}/campaignAssetSets:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/campaign_asset_set_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/campaign_asset_set_service.proto +// Request message for [CampaignAssetSetService.MutateCampaignAssetSets][google.ads.googleads.v12.services.CampaignAssetSetService.MutateCampaignAssetSets]. +======== +// Request message for +// [CampaignAssetSetService.MutateCampaignAssetSets][google.ads.googleads.v15.services.CampaignAssetSetService.MutateCampaignAssetSets]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/campaign_asset_set_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/campaign_asset_set_service.proto + google.ads.googleads.v12.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +======== + google.ads.googleads.v15.enums.ResponseContentTypeEnum.ResponseContentType + response_content_type = 5; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/campaign_asset_set_service.proto +} + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/campaign_asset_set_service.proto + google.ads.googleads.v12.resources.CampaignAssetSet create = 1; +======== + google.ads.googleads.v15.resources.CampaignAssetSet create = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/campaign_asset_set_service.proto + + // 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". +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/campaign_asset_set_service.proto + google.ads.googleads.v12.resources.CampaignAssetSet campaign_asset_set = 2; +======== + google.ads.googleads.v15.resources.CampaignAssetSet campaign_asset_set = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/campaign_asset_set_service.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v15/services/campaign_bid_modifier_service.proto b/third_party/googleapis/google/ads/googleads/v15/services/campaign_bid_modifier_service.proto new file mode 100644 index 000000000..81ddefa3e --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/services/campaign_bid_modifier_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/campaign_bid_modifier_service.proto +package google.ads.googleads.v12.services; + +import "google/ads/googleads/v12/enums/response_content_type.proto"; +import "google/ads/googleads/v12/resources/campaign_bid_modifier.proto"; +======== +package google.ads.googleads.v15.services; + +import "google/ads/googleads/v15/enums/response_content_type.proto"; +import "google/ads/googleads/v15/resources/campaign_bid_modifier.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/campaign_bid_modifier_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/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/campaign_bid_modifier_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CampaignBidModifierServiceProto"; +option java_package = "com.google.ads.googleads.v12.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V12::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CampaignBidModifierServiceProto"; +option java_package = "com.google.ads.googleads.v15.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V15::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/campaign_bid_modifier_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/campaign_bid_modifier_service.proto + post: "/v12/customers/{customer_id=*}/campaignBidModifiers:mutate" +======== + post: "/v15/customers/{customer_id=*}/campaignBidModifiers:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/campaign_bid_modifier_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/campaign_bid_modifier_service.proto +// [CampaignBidModifierService.MutateCampaignBidModifiers][google.ads.googleads.v12.services.CampaignBidModifierService.MutateCampaignBidModifiers]. +======== +// [CampaignBidModifierService.MutateCampaignBidModifiers][google.ads.googleads.v15.services.CampaignBidModifierService.MutateCampaignBidModifiers]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/campaign_bid_modifier_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/campaign_bid_modifier_service.proto + google.ads.googleads.v12.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +======== + google.ads.googleads.v15.enums.ResponseContentTypeEnum.ResponseContentType + response_content_type = 5; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/campaign_bid_modifier_service.proto +} + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/campaign_bid_modifier_service.proto + google.ads.googleads.v12.resources.CampaignBidModifier create = 1; + + // Update operation: The campaign bid modifier is expected to have a valid + // resource name. + google.ads.googleads.v12.resources.CampaignBidModifier update = 2; +======== + google.ads.googleads.v15.resources.CampaignBidModifier create = 1; + + // Update operation: The campaign bid modifier is expected to have a valid + // resource name. + google.ads.googleads.v15.resources.CampaignBidModifier update = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/campaign_bid_modifier_service.proto + + // 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". +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/campaign_bid_modifier_service.proto + google.ads.googleads.v12.resources.CampaignBidModifier campaign_bid_modifier = 2; +======== + google.ads.googleads.v15.resources.CampaignBidModifier campaign_bid_modifier = + 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/campaign_bid_modifier_service.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v15/services/campaign_budget_service.proto b/third_party/googleapis/google/ads/googleads/v15/services/campaign_budget_service.proto new file mode 100644 index 000000000..409460d36 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/services/campaign_budget_service.proto @@ -0,0 +1,190 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/campaign_budget_service.proto +package google.ads.googleads.v12.services; + +import "google/ads/googleads/v12/enums/response_content_type.proto"; +import "google/ads/googleads/v12/resources/campaign_budget.proto"; +======== +package google.ads.googleads.v15.services; + +import "google/ads/googleads/v15/enums/response_content_type.proto"; +import "google/ads/googleads/v15/resources/campaign_budget.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/campaign_budget_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/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/campaign_budget_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CampaignBudgetServiceProto"; +option java_package = "com.google.ads.googleads.v12.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V12::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CampaignBudgetServiceProto"; +option java_package = "com.google.ads.googleads.v15.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V15::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/campaign_budget_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/campaign_budget_service.proto + post: "/v12/customers/{customer_id=*}/campaignBudgets:mutate" +======== + post: "/v15/customers/{customer_id=*}/campaignBudgets:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/campaign_budget_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/campaign_budget_service.proto +// Request message for [CampaignBudgetService.MutateCampaignBudgets][google.ads.googleads.v12.services.CampaignBudgetService.MutateCampaignBudgets]. +======== +// Request message for +// [CampaignBudgetService.MutateCampaignBudgets][google.ads.googleads.v15.services.CampaignBudgetService.MutateCampaignBudgets]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/campaign_budget_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/campaign_budget_service.proto + google.ads.googleads.v12.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +======== + google.ads.googleads.v15.enums.ResponseContentTypeEnum.ResponseContentType + response_content_type = 5; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/campaign_budget_service.proto +} + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/campaign_budget_service.proto + google.ads.googleads.v12.resources.CampaignBudget create = 1; + + // Update operation: The campaign budget is expected to have a valid + // resource name. + google.ads.googleads.v12.resources.CampaignBudget update = 2; +======== + google.ads.googleads.v15.resources.CampaignBudget create = 1; + + // Update operation: The campaign budget is expected to have a valid + // resource name. + google.ads.googleads.v15.resources.CampaignBudget update = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/campaign_budget_service.proto + + // 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". +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/campaign_budget_service.proto + google.ads.googleads.v12.resources.CampaignBudget campaign_budget = 2; +======== + google.ads.googleads.v15.resources.CampaignBudget campaign_budget = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/campaign_budget_service.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v15/services/campaign_conversion_goal_service.proto b/third_party/googleapis/google/ads/googleads/v15/services/campaign_conversion_goal_service.proto new file mode 100644 index 000000000..4159a442f --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/services/campaign_conversion_goal_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/campaign_conversion_goal_service.proto +package google.ads.googleads.v12.services; + +import "google/ads/googleads/v12/resources/campaign_conversion_goal.proto"; +======== +package google.ads.googleads.v15.services; + +import "google/ads/googleads/v15/resources/campaign_conversion_goal.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/campaign_conversion_goal_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/protobuf/field_mask.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/campaign_conversion_goal_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CampaignConversionGoalServiceProto"; +option java_package = "com.google.ads.googleads.v12.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V12::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CampaignConversionGoalServiceProto"; +option java_package = "com.google.ads.googleads.v15.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V15::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/campaign_conversion_goal_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/campaign_conversion_goal_service.proto + post: "/v12/customers/{customer_id=*}/campaignConversionGoals:mutate" +======== + post: "/v15/customers/{customer_id=*}/campaignConversionGoals:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/campaign_conversion_goal_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/campaign_conversion_goal_service.proto +// [CampaignConversionGoalService.MutateCampaignConversionGoals][google.ads.googleads.v12.services.CampaignConversionGoalService.MutateCampaignConversionGoals]. +======== +// [CampaignConversionGoalService.MutateCampaignConversionGoals][google.ads.googleads.v15.services.CampaignConversionGoalService.MutateCampaignConversionGoals]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/campaign_conversion_goal_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/campaign_conversion_goal_service.proto + google.ads.googleads.v12.resources.CampaignConversionGoal update = 1; +======== + google.ads.googleads.v15.resources.CampaignConversionGoal update = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/campaign_conversion_goal_service.proto + } +} + +// 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/v15/services/campaign_criterion_service.proto b/third_party/googleapis/google/ads/googleads/v15/services/campaign_criterion_service.proto new file mode 100644 index 000000000..67b45c9d9 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/services/campaign_criterion_service.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/campaign_criterion_service.proto +package google.ads.googleads.v12.services; + +import "google/ads/googleads/v12/enums/response_content_type.proto"; +import "google/ads/googleads/v12/resources/campaign_criterion.proto"; +======== +package google.ads.googleads.v15.services; + +import "google/ads/googleads/v15/enums/response_content_type.proto"; +import "google/ads/googleads/v15/resources/campaign_criterion.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/campaign_criterion_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/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/campaign_criterion_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CampaignCriterionServiceProto"; +option java_package = "com.google.ads.googleads.v12.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V12::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CampaignCriterionServiceProto"; +option java_package = "com.google.ads.googleads.v15.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V15::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/campaign_criterion_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/campaign_criterion_service.proto + post: "/v12/customers/{customer_id=*}/campaignCriteria:mutate" +======== + post: "/v15/customers/{customer_id=*}/campaignCriteria:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/campaign_criterion_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/campaign_criterion_service.proto +// Request message for [CampaignCriterionService.MutateCampaignCriteria][google.ads.googleads.v12.services.CampaignCriterionService.MutateCampaignCriteria]. +======== +// Request message for +// [CampaignCriterionService.MutateCampaignCriteria][google.ads.googleads.v15.services.CampaignCriterionService.MutateCampaignCriteria]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/campaign_criterion_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/campaign_criterion_service.proto + google.ads.googleads.v12.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +======== + google.ads.googleads.v15.enums.ResponseContentTypeEnum.ResponseContentType + response_content_type = 5; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/campaign_criterion_service.proto +} + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/campaign_criterion_service.proto + google.ads.googleads.v12.resources.CampaignCriterion create = 1; + + // Update operation: The criterion is expected to have a valid resource + // name. + google.ads.googleads.v12.resources.CampaignCriterion update = 2; +======== + google.ads.googleads.v15.resources.CampaignCriterion create = 1; + + // Update operation: The criterion is expected to have a valid resource + // name. + google.ads.googleads.v15.resources.CampaignCriterion update = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/campaign_criterion_service.proto + + // 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". +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/campaign_criterion_service.proto + google.ads.googleads.v12.resources.CampaignCriterion campaign_criterion = 2; +======== + google.ads.googleads.v15.resources.CampaignCriterion campaign_criterion = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/campaign_criterion_service.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v15/services/campaign_customizer_service.proto b/third_party/googleapis/google/ads/googleads/v15/services/campaign_customizer_service.proto new file mode 100644 index 000000000..897b53048 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/services/campaign_customizer_service.proto @@ -0,0 +1,161 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/campaign_customizer_service.proto +package google.ads.googleads.v12.services; + +import "google/ads/googleads/v12/enums/response_content_type.proto"; +import "google/ads/googleads/v12/resources/campaign_customizer.proto"; +======== +package google.ads.googleads.v15.services; + +import "google/ads/googleads/v15/enums/response_content_type.proto"; +import "google/ads/googleads/v15/resources/campaign_customizer.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/campaign_customizer_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/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/campaign_customizer_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CampaignCustomizerServiceProto"; +option java_package = "com.google.ads.googleads.v12.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V12::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CampaignCustomizerServiceProto"; +option java_package = "com.google.ads.googleads.v15.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V15::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/campaign_customizer_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/campaign_customizer_service.proto + post: "/v12/customers/{customer_id=*}/campaignCustomizers:mutate" +======== + post: "/v15/customers/{customer_id=*}/campaignCustomizers:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/campaign_customizer_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/campaign_customizer_service.proto +// [CampaignCustomizerService.MutateCampaignCustomizers][google.ads.googleads.v12.services.CampaignCustomizerService.MutateCampaignCustomizers]. +======== +// [CampaignCustomizerService.MutateCampaignCustomizers][google.ads.googleads.v15.services.CampaignCustomizerService.MutateCampaignCustomizers]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/campaign_customizer_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/campaign_customizer_service.proto + google.ads.googleads.v12.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +======== + google.ads.googleads.v15.enums.ResponseContentTypeEnum.ResponseContentType + response_content_type = 5; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/campaign_customizer_service.proto +} + +// 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 +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/campaign_customizer_service.proto + google.ads.googleads.v12.resources.CampaignCustomizer create = 1; +======== + google.ads.googleads.v15.resources.CampaignCustomizer create = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/campaign_customizer_service.proto + + // 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". +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/campaign_customizer_service.proto + google.ads.googleads.v12.resources.CampaignCustomizer campaign_customizer = 2; +======== + google.ads.googleads.v15.resources.CampaignCustomizer campaign_customizer = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/campaign_customizer_service.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v15/services/campaign_draft_service.proto b/third_party/googleapis/google/ads/googleads/v15/services/campaign_draft_service.proto new file mode 100644 index 000000000..46fe3b1f3 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/services/campaign_draft_service.proto @@ -0,0 +1,312 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/campaign_draft_service.proto +package google.ads.googleads.v12.services; + +import "google/ads/googleads/v12/enums/response_content_type.proto"; +import "google/ads/googleads/v12/resources/campaign_draft.proto"; +======== +package google.ads.googleads.v15.services; + +import "google/ads/googleads/v15/enums/response_content_type.proto"; +import "google/ads/googleads/v15/resources/campaign_draft.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/campaign_draft_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/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/campaign_draft_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CampaignDraftServiceProto"; +option java_package = "com.google.ads.googleads.v12.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V12::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CampaignDraftServiceProto"; +option java_package = "com.google.ads.googleads.v15.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V15::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/campaign_draft_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/campaign_draft_service.proto + post: "/v12/customers/{customer_id=*}/campaignDrafts:mutate" +======== + post: "/v15/customers/{customer_id=*}/campaignDrafts:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/campaign_draft_service.proto + 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 +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/campaign_draft_service.proto + // [CampaignDraftService.ListCampaignDraftAsyncErrors][google.ads.googleads.v12.services.CampaignDraftService.ListCampaignDraftAsyncErrors] to view the list of + // error reasons. +======== + // [CampaignDraftService.ListCampaignDraftAsyncErrors][google.ads.googleads.v15.services.CampaignDraftService.ListCampaignDraftAsyncErrors] + // to view the list of error reasons. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/campaign_draft_service.proto + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [CampaignDraftError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc PromoteCampaignDraft(PromoteCampaignDraftRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/campaign_draft_service.proto + post: "/v12/{campaign_draft=customers/*/campaignDrafts/*}:promote" +======== + post: "/v15/{campaign_draft=customers/*/campaignDrafts/*}:promote" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/campaign_draft_service.proto + 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/campaign_draft_service.proto + get: "/v12/{resource_name=customers/*/campaignDrafts/*}:listAsyncErrors" +======== + get: "/v15/{resource_name=customers/*/campaignDrafts/*}:listAsyncErrors" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/campaign_draft_service.proto + }; + option (google.api.method_signature) = "resource_name"; + } +} + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/campaign_draft_service.proto +// Request message for [CampaignDraftService.MutateCampaignDrafts][google.ads.googleads.v12.services.CampaignDraftService.MutateCampaignDrafts]. +======== +// Request message for +// [CampaignDraftService.MutateCampaignDrafts][google.ads.googleads.v15.services.CampaignDraftService.MutateCampaignDrafts]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/campaign_draft_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/campaign_draft_service.proto + google.ads.googleads.v12.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// Request message for [CampaignDraftService.PromoteCampaignDraft][google.ads.googleads.v12.services.CampaignDraftService.PromoteCampaignDraft]. +======== + google.ads.googleads.v15.enums.ResponseContentTypeEnum.ResponseContentType + response_content_type = 5; +} + +// Request message for +// [CampaignDraftService.PromoteCampaignDraft][google.ads.googleads.v15.services.CampaignDraftService.PromoteCampaignDraft]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/campaign_draft_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/campaign_draft_service.proto + google.ads.googleads.v12.resources.CampaignDraft create = 1; + + // Update operation: The campaign draft is expected to have a valid + // resource name. + google.ads.googleads.v12.resources.CampaignDraft update = 2; +======== + google.ads.googleads.v15.resources.CampaignDraft create = 1; + + // Update operation: The campaign draft is expected to have a valid + // resource name. + google.ads.googleads.v15.resources.CampaignDraft update = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/campaign_draft_service.proto + + // 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". +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/campaign_draft_service.proto + google.ads.googleads.v12.resources.CampaignDraft campaign_draft = 2; +} + +// Request message for [CampaignDraftService.ListCampaignDraftAsyncErrors][google.ads.googleads.v12.services.CampaignDraftService.ListCampaignDraftAsyncErrors]. +======== + google.ads.googleads.v15.resources.CampaignDraft campaign_draft = 2; +} + +// Request message for +// [CampaignDraftService.ListCampaignDraftAsyncErrors][google.ads.googleads.v15.services.CampaignDraftService.ListCampaignDraftAsyncErrors]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/campaign_draft_service.proto +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; +} + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/campaign_draft_service.proto +// Response message for [CampaignDraftService.ListCampaignDraftAsyncErrors][google.ads.googleads.v12.services.CampaignDraftService.ListCampaignDraftAsyncErrors]. +======== +// Response message for +// [CampaignDraftService.ListCampaignDraftAsyncErrors][google.ads.googleads.v15.services.CampaignDraftService.ListCampaignDraftAsyncErrors]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/campaign_draft_service.proto +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/v15/services/campaign_extension_setting_service.proto b/third_party/googleapis/google/ads/googleads/v15/services/campaign_extension_setting_service.proto new file mode 100644 index 000000000..d1f2c3fe6 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/services/campaign_extension_setting_service.proto @@ -0,0 +1,204 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/campaign_extension_setting_service.proto +package google.ads.googleads.v12.services; + +import "google/ads/googleads/v12/enums/response_content_type.proto"; +import "google/ads/googleads/v12/resources/campaign_extension_setting.proto"; +======== +package google.ads.googleads.v15.services; + +import "google/ads/googleads/v15/enums/response_content_type.proto"; +import "google/ads/googleads/v15/resources/campaign_extension_setting.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/campaign_extension_setting_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/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/campaign_extension_setting_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CampaignExtensionSettingServiceProto"; +option java_package = "com.google.ads.googleads.v12.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V12::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CampaignExtensionSettingServiceProto"; +option java_package = "com.google.ads.googleads.v15.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V15::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/campaign_extension_setting_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/campaign_extension_setting_service.proto + post: "/v12/customers/{customer_id=*}/campaignExtensionSettings:mutate" +======== + post: "/v15/customers/{customer_id=*}/campaignExtensionSettings:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/campaign_extension_setting_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/campaign_extension_setting_service.proto +// [CampaignExtensionSettingService.MutateCampaignExtensionSettings][google.ads.googleads.v12.services.CampaignExtensionSettingService.MutateCampaignExtensionSettings]. +======== +// [CampaignExtensionSettingService.MutateCampaignExtensionSettings][google.ads.googleads.v15.services.CampaignExtensionSettingService.MutateCampaignExtensionSettings]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/campaign_extension_setting_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/campaign_extension_setting_service.proto + google.ads.googleads.v12.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +======== + google.ads.googleads.v15.enums.ResponseContentTypeEnum.ResponseContentType + response_content_type = 5; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/campaign_extension_setting_service.proto +} + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/campaign_extension_setting_service.proto + google.ads.googleads.v12.resources.CampaignExtensionSetting create = 1; + + // Update operation: The campaign extension setting is expected to have a + // valid resource name. + google.ads.googleads.v12.resources.CampaignExtensionSetting update = 2; +======== + google.ads.googleads.v15.resources.CampaignExtensionSetting create = 1; + + // Update operation: The campaign extension setting is expected to have a + // valid resource name. + google.ads.googleads.v15.resources.CampaignExtensionSetting update = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/campaign_extension_setting_service.proto + + // 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". +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/campaign_extension_setting_service.proto + google.ads.googleads.v12.resources.CampaignExtensionSetting campaign_extension_setting = 2; +======== + google.ads.googleads.v15.resources.CampaignExtensionSetting + campaign_extension_setting = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/campaign_extension_setting_service.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v15/services/campaign_feed_service.proto b/third_party/googleapis/google/ads/googleads/v15/services/campaign_feed_service.proto new file mode 100644 index 000000000..ea116847f --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/services/campaign_feed_service.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/campaign_feed_service.proto +package google.ads.googleads.v12.services; + +import "google/ads/googleads/v12/enums/response_content_type.proto"; +import "google/ads/googleads/v12/resources/campaign_feed.proto"; +======== +package google.ads.googleads.v15.services; + +import "google/ads/googleads/v15/enums/response_content_type.proto"; +import "google/ads/googleads/v15/resources/campaign_feed.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/campaign_feed_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/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/campaign_feed_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CampaignFeedServiceProto"; +option java_package = "com.google.ads.googleads.v12.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V12::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CampaignFeedServiceProto"; +option java_package = "com.google.ads.googleads.v15.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V15::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/campaign_feed_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/campaign_feed_service.proto + post: "/v12/customers/{customer_id=*}/campaignFeeds:mutate" +======== + post: "/v15/customers/{customer_id=*}/campaignFeeds:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/campaign_feed_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/campaign_feed_service.proto +// Request message for [CampaignFeedService.MutateCampaignFeeds][google.ads.googleads.v12.services.CampaignFeedService.MutateCampaignFeeds]. +======== +// Request message for +// [CampaignFeedService.MutateCampaignFeeds][google.ads.googleads.v15.services.CampaignFeedService.MutateCampaignFeeds]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/campaign_feed_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/campaign_feed_service.proto + google.ads.googleads.v12.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +======== + google.ads.googleads.v15.enums.ResponseContentTypeEnum.ResponseContentType + response_content_type = 5; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/campaign_feed_service.proto +} + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/campaign_feed_service.proto + google.ads.googleads.v12.resources.CampaignFeed create = 1; + + // Update operation: The campaign feed is expected to have a valid resource + // name. + google.ads.googleads.v12.resources.CampaignFeed update = 2; +======== + google.ads.googleads.v15.resources.CampaignFeed create = 1; + + // Update operation: The campaign feed is expected to have a valid resource + // name. + google.ads.googleads.v15.resources.CampaignFeed update = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/campaign_feed_service.proto + + // 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". +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/campaign_feed_service.proto + google.ads.googleads.v12.resources.CampaignFeed campaign_feed = 2; +======== + google.ads.googleads.v15.resources.CampaignFeed campaign_feed = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/campaign_feed_service.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v15/services/campaign_group_service.proto b/third_party/googleapis/google/ads/googleads/v15/services/campaign_group_service.proto new file mode 100644 index 000000000..bec08a8fa --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/services/campaign_group_service.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/campaign_group_service.proto +package google.ads.googleads.v12.services; + +import "google/ads/googleads/v12/enums/response_content_type.proto"; +import "google/ads/googleads/v12/resources/campaign_group.proto"; +======== +package google.ads.googleads.v15.services; + +import "google/ads/googleads/v15/enums/response_content_type.proto"; +import "google/ads/googleads/v15/resources/campaign_group.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/campaign_group_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/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/campaign_group_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CampaignGroupServiceProto"; +option java_package = "com.google.ads.googleads.v12.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V12::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CampaignGroupServiceProto"; +option java_package = "com.google.ads.googleads.v15.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V15::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/campaign_group_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/campaign_group_service.proto + post: "/v12/customers/{customer_id=*}/campaignGroups:mutate" +======== + post: "/v15/customers/{customer_id=*}/campaignGroups:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/campaign_group_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/campaign_group_service.proto +// Request message for [CampaignGroupService.MutateCampaignGroups][google.ads.googleads.v12.services.CampaignGroupService.MutateCampaignGroups]. +======== +// Request message for +// [CampaignGroupService.MutateCampaignGroups][google.ads.googleads.v15.services.CampaignGroupService.MutateCampaignGroups]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/campaign_group_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/campaign_group_service.proto + google.ads.googleads.v12.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +======== + google.ads.googleads.v15.enums.ResponseContentTypeEnum.ResponseContentType + response_content_type = 5; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/campaign_group_service.proto +} + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/campaign_group_service.proto + google.ads.googleads.v12.resources.CampaignGroup create = 1; + + // Update operation: The campaign group is expected to have a valid + // resource name. + google.ads.googleads.v12.resources.CampaignGroup update = 2; +======== + google.ads.googleads.v15.resources.CampaignGroup create = 1; + + // Update operation: The campaign group is expected to have a valid + // resource name. + google.ads.googleads.v15.resources.CampaignGroup update = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/campaign_group_service.proto + + // 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". +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/campaign_group_service.proto + google.ads.googleads.v12.resources.CampaignGroup campaign_group = 2; +======== + google.ads.googleads.v15.resources.CampaignGroup campaign_group = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/campaign_group_service.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v15/services/campaign_label_service.proto b/third_party/googleapis/google/ads/googleads/v15/services/campaign_label_service.proto new file mode 100644 index 000000000..190f5c844 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/services/campaign_label_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/campaign_label_service.proto +package google.ads.googleads.v12.services; + +import "google/ads/googleads/v12/resources/campaign_label.proto"; +======== +package google.ads.googleads.v15.services; + +import "google/ads/googleads/v15/resources/campaign_label.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/campaign_label_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/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/campaign_label_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CampaignLabelServiceProto"; +option java_package = "com.google.ads.googleads.v12.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V12::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CampaignLabelServiceProto"; +option java_package = "com.google.ads.googleads.v15.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V15::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/campaign_label_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/campaign_label_service.proto + post: "/v12/customers/{customer_id=*}/campaignLabels:mutate" +======== + post: "/v15/customers/{customer_id=*}/campaignLabels:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/campaign_label_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/campaign_label_service.proto +// Request message for [CampaignLabelService.MutateCampaignLabels][google.ads.googleads.v12.services.CampaignLabelService.MutateCampaignLabels]. +======== +// Request message for +// [CampaignLabelService.MutateCampaignLabels][google.ads.googleads.v15.services.CampaignLabelService.MutateCampaignLabels]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/campaign_label_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/campaign_label_service.proto + google.ads.googleads.v12.resources.CampaignLabel create = 1; +======== + google.ads.googleads.v15.resources.CampaignLabel create = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/campaign_label_service.proto + + // 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/v15/services/campaign_lifecycle_goal_service.proto b/third_party/googleapis/google/ads/googleads/v15/services/campaign_lifecycle_goal_service.proto new file mode 100644 index 000000000..5bc063531 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/services/campaign_lifecycle_goal_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.v15.services; + +import "google/ads/googleads/v15/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.V15.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CampaignLifecycleGoalServiceProto"; +option java_package = "com.google.ads.googleads.v15.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V15::Services"; + +// Service to configure campaign lifecycle goals. +service CampaignLifecycleService { + 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: "/v15/customers/{customer_id=*}/campaignLifecycleGoal:configureCampaignLifecycleGoals" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operation"; + } +} + +// Request message for +// [CampaignLifecycleService.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: to create a new campaign lifecycle goal or update an + // existing campaign lifecycle goal. When creating a new campaign lifecycle + // goal, all required fields, including campaign field, needs to be set. + // Resource name and field mask needs to be empty. When updating an existing + // campaign lifecycle goal, resource name and field mask need to be set, and + // campaign field needs to be empty. Partial update based on field mask is + // supported when updating an existing campaign lifecycle goal. + google.ads.googleads.v15.resources.CampaignLifecycleGoal create = 1; + } +} + +// Response message for +// [CampaignLifecycleService.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/v15/services/campaign_service.proto b/third_party/googleapis/google/ads/googleads/v15/services/campaign_service.proto new file mode 100644 index 000000000..f8d0eb63d --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/services/campaign_service.proto @@ -0,0 +1,206 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/campaign_service.proto +package google.ads.googleads.v12.services; + +import "google/ads/googleads/v12/enums/response_content_type.proto"; +import "google/ads/googleads/v12/resources/campaign.proto"; +======== +package google.ads.googleads.v15.services; + +import "google/ads/googleads/v15/enums/response_content_type.proto"; +import "google/ads/googleads/v15/resources/campaign.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/campaign_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/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/campaign_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CampaignServiceProto"; +option java_package = "com.google.ads.googleads.v12.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V12::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CampaignServiceProto"; +option java_package = "com.google.ads.googleads.v15.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V15::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/campaign_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/campaign_service.proto + post: "/v12/customers/{customer_id=*}/campaigns:mutate" +======== + post: "/v15/customers/{customer_id=*}/campaigns:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/campaign_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/campaign_service.proto +// Request message for [CampaignService.MutateCampaigns][google.ads.googleads.v12.services.CampaignService.MutateCampaigns]. +======== +// Request message for +// [CampaignService.MutateCampaigns][google.ads.googleads.v15.services.CampaignService.MutateCampaigns]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/campaign_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/campaign_service.proto + google.ads.googleads.v12.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +======== + google.ads.googleads.v15.enums.ResponseContentTypeEnum.ResponseContentType + response_content_type = 5; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/campaign_service.proto +} + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/campaign_service.proto + google.ads.googleads.v12.resources.Campaign create = 1; + + // Update operation: The campaign is expected to have a valid + // resource name. + google.ads.googleads.v12.resources.Campaign update = 2; +======== + google.ads.googleads.v15.resources.Campaign create = 1; + + // Update operation: The campaign is expected to have a valid + // resource name. + google.ads.googleads.v15.resources.Campaign update = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/campaign_service.proto + + // 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". +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/campaign_service.proto + google.ads.googleads.v12.resources.Campaign campaign = 2; +======== + google.ads.googleads.v15.resources.Campaign campaign = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/campaign_service.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v15/services/campaign_shared_set_service.proto b/third_party/googleapis/google/ads/googleads/v15/services/campaign_shared_set_service.proto new file mode 100644 index 000000000..a683d1656 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/services/campaign_shared_set_service.proto @@ -0,0 +1,185 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/campaign_shared_set_service.proto +package google.ads.googleads.v12.services; + +import "google/ads/googleads/v12/enums/response_content_type.proto"; +import "google/ads/googleads/v12/resources/campaign_shared_set.proto"; +======== +package google.ads.googleads.v15.services; + +import "google/ads/googleads/v15/enums/response_content_type.proto"; +import "google/ads/googleads/v15/resources/campaign_shared_set.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/campaign_shared_set_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/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/campaign_shared_set_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CampaignSharedSetServiceProto"; +option java_package = "com.google.ads.googleads.v12.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V12::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CampaignSharedSetServiceProto"; +option java_package = "com.google.ads.googleads.v15.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V15::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/campaign_shared_set_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/campaign_shared_set_service.proto + post: "/v12/customers/{customer_id=*}/campaignSharedSets:mutate" +======== + post: "/v15/customers/{customer_id=*}/campaignSharedSets:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/campaign_shared_set_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/campaign_shared_set_service.proto +// Request message for [CampaignSharedSetService.MutateCampaignSharedSets][google.ads.googleads.v12.services.CampaignSharedSetService.MutateCampaignSharedSets]. +======== +// Request message for +// [CampaignSharedSetService.MutateCampaignSharedSets][google.ads.googleads.v15.services.CampaignSharedSetService.MutateCampaignSharedSets]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/campaign_shared_set_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/campaign_shared_set_service.proto + google.ads.googleads.v12.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +======== + google.ads.googleads.v15.enums.ResponseContentTypeEnum.ResponseContentType + response_content_type = 5; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/campaign_shared_set_service.proto +} + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/campaign_shared_set_service.proto + google.ads.googleads.v12.resources.CampaignSharedSet create = 1; +======== + google.ads.googleads.v15.resources.CampaignSharedSet create = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/campaign_shared_set_service.proto + + // 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". +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/campaign_shared_set_service.proto + google.ads.googleads.v12.resources.CampaignSharedSet campaign_shared_set = 2; +======== + google.ads.googleads.v15.resources.CampaignSharedSet campaign_shared_set = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/campaign_shared_set_service.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v15/services/conversion_action_service.proto b/third_party/googleapis/google/ads/googleads/v15/services/conversion_action_service.proto new file mode 100644 index 000000000..a0c7d6e70 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/services/conversion_action_service.proto @@ -0,0 +1,197 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/conversion_action_service.proto +package google.ads.googleads.v12.services; + +import "google/ads/googleads/v12/enums/response_content_type.proto"; +import "google/ads/googleads/v12/resources/conversion_action.proto"; +======== +package google.ads.googleads.v15.services; + +import "google/ads/googleads/v15/enums/response_content_type.proto"; +import "google/ads/googleads/v15/resources/conversion_action.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/conversion_action_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/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/conversion_action_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/services;services"; +option java_multiple_files = true; +option java_outer_classname = "ConversionActionServiceProto"; +option java_package = "com.google.ads.googleads.v12.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V12::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/services;services"; +option java_multiple_files = true; +option java_outer_classname = "ConversionActionServiceProto"; +option java_package = "com.google.ads.googleads.v15.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V15::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/conversion_action_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/conversion_action_service.proto + post: "/v12/customers/{customer_id=*}/conversionActions:mutate" +======== + post: "/v15/customers/{customer_id=*}/conversionActions:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/conversion_action_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/conversion_action_service.proto +// Request message for [ConversionActionService.MutateConversionActions][google.ads.googleads.v12.services.ConversionActionService.MutateConversionActions]. +======== +// Request message for +// [ConversionActionService.MutateConversionActions][google.ads.googleads.v15.services.ConversionActionService.MutateConversionActions]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/conversion_action_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/conversion_action_service.proto + google.ads.googleads.v12.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +======== + google.ads.googleads.v15.enums.ResponseContentTypeEnum.ResponseContentType + response_content_type = 5; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/conversion_action_service.proto +} + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/conversion_action_service.proto + google.ads.googleads.v12.resources.ConversionAction create = 1; + + // Update operation: The conversion action is expected to have a valid + // resource name. + google.ads.googleads.v12.resources.ConversionAction update = 2; +======== + google.ads.googleads.v15.resources.ConversionAction create = 1; + + // Update operation: The conversion action is expected to have a valid + // resource name. + google.ads.googleads.v15.resources.ConversionAction update = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/conversion_action_service.proto + + // 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" + }]; + } +} + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/conversion_action_service.proto +// Response message for [ConversionActionService.MutateConversionActions][google.ads.googleads.v12.services.ConversionActionService.MutateConversionActions]. +======== +// Response message for +// [ConversionActionService.MutateConversionActions][google.ads.googleads.v15.services.ConversionActionService.MutateConversionActions]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/conversion_action_service.proto +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". +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/conversion_action_service.proto + google.ads.googleads.v12.resources.ConversionAction conversion_action = 2; +======== + google.ads.googleads.v15.resources.ConversionAction conversion_action = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/conversion_action_service.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v15/services/conversion_adjustment_upload_service.proto b/third_party/googleapis/google/ads/googleads/v15/services/conversion_adjustment_upload_service.proto new file mode 100644 index 000000000..af4f035d1 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/services/conversion_adjustment_upload_service.proto @@ -0,0 +1,260 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/conversion_adjustment_upload_service.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/conversion_adjustment_upload_service.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/conversion_adjustment_upload_service.proto +package google.ads.googleads.v13.services; + +import "google/ads/googleads/v13/common/offline_user_data.proto"; +import "google/ads/googleads/v13/enums/conversion_adjustment_type.proto"; +======== +package google.ads.googleads.v15.services; + +import "google/ads/googleads/v15/common/offline_user_data.proto"; +import "google/ads/googleads/v15/enums/conversion_adjustment_type.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/conversion_adjustment_upload_service.proto +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/conversion_adjustment_upload_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/services;services"; +option java_multiple_files = true; +option java_outer_classname = "ConversionAdjustmentUploadServiceProto"; +option java_package = "com.google.ads.googleads.v13.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V13::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/services;services"; +option java_multiple_files = true; +option java_outer_classname = "ConversionAdjustmentUploadServiceProto"; +option java_package = "com.google.ads.googleads.v15.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V15::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/conversion_adjustment_upload_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/conversion_adjustment_upload_service.proto + post: "/v13/customers/{customer_id=*}:uploadConversionAdjustments" +======== + post: "/v15/customers/{customer_id=*}:uploadConversionAdjustments" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/conversion_adjustment_upload_service.proto + body: "*" + }; + option (google.api.method_signature) = + "customer_id,conversion_adjustments,partial_failure"; + } +} + +// Request message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/conversion_adjustment_upload_service.proto +// [ConversionAdjustmentUploadService.UploadConversionAdjustments][google.ads.googleads.v13.services.ConversionAdjustmentUploadService.UploadConversionAdjustments]. +======== +// [ConversionAdjustmentUploadService.UploadConversionAdjustments][google.ads.googleads.v15.services.ConversionAdjustmentUploadService.UploadConversionAdjustments]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/conversion_adjustment_upload_service.proto +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 +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/conversion_adjustment_upload_service.proto +// [ConversionAdjustmentUploadService.UploadConversionAdjustments][google.ads.googleads.v13.services.ConversionAdjustmentUploadService.UploadConversionAdjustments]. +======== +// [ConversionAdjustmentUploadService.UploadConversionAdjustments][google.ads.googleads.v15.services.ConversionAdjustmentUploadService.UploadConversionAdjustments]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/conversion_adjustment_upload_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/conversion_adjustment_upload_service.proto + google.ads.googleads.v13.enums.ConversionAdjustmentTypeEnum +======== + google.ads.googleads.v15.enums.ConversionAdjustmentTypeEnum +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/conversion_adjustment_upload_service.proto + .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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/conversion_adjustment_upload_service.proto + repeated google.ads.googleads.v13.common.UserIdentifier user_identifiers = 10; +======== + repeated google.ads.googleads.v15.common.UserIdentifier user_identifiers = 10; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/conversion_adjustment_upload_service.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/conversion_adjustment_upload_service.proto + google.ads.googleads.v13.enums.ConversionAdjustmentTypeEnum +======== + google.ads.googleads.v15.enums.ConversionAdjustmentTypeEnum +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/conversion_adjustment_upload_service.proto + .ConversionAdjustmentType adjustment_type = 5; +} diff --git a/third_party/googleapis/google/ads/googleads/v15/services/conversion_custom_variable_service.proto b/third_party/googleapis/google/ads/googleads/v15/services/conversion_custom_variable_service.proto new file mode 100644 index 000000000..baf61a6d8 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/services/conversion_custom_variable_service.proto @@ -0,0 +1,182 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/conversion_custom_variable_service.proto +package google.ads.googleads.v12.services; + +import "google/ads/googleads/v12/enums/response_content_type.proto"; +import "google/ads/googleads/v12/resources/conversion_custom_variable.proto"; +======== +package google.ads.googleads.v15.services; + +import "google/ads/googleads/v15/enums/response_content_type.proto"; +import "google/ads/googleads/v15/resources/conversion_custom_variable.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/conversion_custom_variable_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/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/conversion_custom_variable_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/services;services"; +option java_multiple_files = true; +option java_outer_classname = "ConversionCustomVariableServiceProto"; +option java_package = "com.google.ads.googleads.v12.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V12::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/services;services"; +option java_multiple_files = true; +option java_outer_classname = "ConversionCustomVariableServiceProto"; +option java_package = "com.google.ads.googleads.v15.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V15::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/conversion_custom_variable_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/conversion_custom_variable_service.proto + post: "/v12/customers/{customer_id=*}/conversionCustomVariables:mutate" +======== + post: "/v15/customers/{customer_id=*}/conversionCustomVariables:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/conversion_custom_variable_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/conversion_custom_variable_service.proto +// [ConversionCustomVariableService.MutateConversionCustomVariables][google.ads.googleads.v12.services.ConversionCustomVariableService.MutateConversionCustomVariables]. +======== +// [ConversionCustomVariableService.MutateConversionCustomVariables][google.ads.googleads.v15.services.ConversionCustomVariableService.MutateConversionCustomVariables]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/conversion_custom_variable_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/conversion_custom_variable_service.proto + google.ads.googleads.v12.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +======== + google.ads.googleads.v15.enums.ResponseContentTypeEnum.ResponseContentType + response_content_type = 5; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/conversion_custom_variable_service.proto +} + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/conversion_custom_variable_service.proto + google.ads.googleads.v12.resources.ConversionCustomVariable create = 1; + + // Update operation: The conversion custom variable is expected to have a + // valid resource name. + google.ads.googleads.v12.resources.ConversionCustomVariable update = 2; +======== + google.ads.googleads.v15.resources.ConversionCustomVariable create = 1; + + // Update operation: The conversion custom variable is expected to have a + // valid resource name. + google.ads.googleads.v15.resources.ConversionCustomVariable update = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/conversion_custom_variable_service.proto + } +} + +// Response message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/conversion_custom_variable_service.proto +// [ConversionCustomVariableService.MutateConversionCustomVariables][google.ads.googleads.v12.services.ConversionCustomVariableService.MutateConversionCustomVariables]. +======== +// [ConversionCustomVariableService.MutateConversionCustomVariables][google.ads.googleads.v15.services.ConversionCustomVariableService.MutateConversionCustomVariables]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/conversion_custom_variable_service.proto +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". +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/conversion_custom_variable_service.proto + google.ads.googleads.v12.resources.ConversionCustomVariable conversion_custom_variable = 2; +======== + google.ads.googleads.v15.resources.ConversionCustomVariable + conversion_custom_variable = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/conversion_custom_variable_service.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v15/services/conversion_goal_campaign_config_service.proto b/third_party/googleapis/google/ads/googleads/v15/services/conversion_goal_campaign_config_service.proto new file mode 100644 index 000000000..f1c291b8a --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/services/conversion_goal_campaign_config_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/conversion_goal_campaign_config_service.proto +package google.ads.googleads.v12.services; + +import "google/ads/googleads/v12/enums/response_content_type.proto"; +import "google/ads/googleads/v12/resources/conversion_goal_campaign_config.proto"; +======== +package google.ads.googleads.v15.services; + +import "google/ads/googleads/v15/enums/response_content_type.proto"; +import "google/ads/googleads/v15/resources/conversion_goal_campaign_config.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/conversion_goal_campaign_config_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/protobuf/field_mask.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/conversion_goal_campaign_config_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/services;services"; +option java_multiple_files = true; +option java_outer_classname = "ConversionGoalCampaignConfigServiceProto"; +option java_package = "com.google.ads.googleads.v12.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V12::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/services;services"; +option java_multiple_files = true; +option java_outer_classname = "ConversionGoalCampaignConfigServiceProto"; +option java_package = "com.google.ads.googleads.v15.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V15::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/conversion_goal_campaign_config_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/conversion_goal_campaign_config_service.proto + post: "/v12/customers/{customer_id=*}/conversionGoalCampaignConfigs:mutate" +======== + post: "/v15/customers/{customer_id=*}/conversionGoalCampaignConfigs:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/conversion_goal_campaign_config_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [ConversionGoalCampaignConfigService.MutateConversionGoalCampaignConfigs][google.ads.googleads.v15.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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/conversion_goal_campaign_config_service.proto + google.ads.googleads.v12.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 4; +======== + google.ads.googleads.v15.enums.ResponseContentTypeEnum.ResponseContentType + response_content_type = 4; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/conversion_goal_campaign_config_service.proto +} + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/conversion_goal_campaign_config_service.proto + google.ads.googleads.v12.resources.ConversionGoalCampaignConfig update = 1; +======== + google.ads.googleads.v15.resources.ConversionGoalCampaignConfig update = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/conversion_goal_campaign_config_service.proto + } +} + +// 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". +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/conversion_goal_campaign_config_service.proto + google.ads.googleads.v12.resources.ConversionGoalCampaignConfig conversion_goal_campaign_config = 2; +======== + google.ads.googleads.v15.resources.ConversionGoalCampaignConfig + conversion_goal_campaign_config = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/conversion_goal_campaign_config_service.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v15/services/conversion_upload_service.proto b/third_party/googleapis/google/ads/googleads/v15/services/conversion_upload_service.proto new file mode 100644 index 000000000..210baeb69 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/services/conversion_upload_service.proto @@ -0,0 +1,456 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/conversion_upload_service.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/conversion_upload_service.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/conversion_upload_service.proto +package google.ads.googleads.v13.services; + +import "google/ads/googleads/v13/common/offline_user_data.proto"; +import "google/ads/googleads/v13/enums/conversion_environment_enum.proto"; +======== +package google.ads.googleads.v15.services; + +import "google/ads/googleads/v15/common/consent.proto"; +import "google/ads/googleads/v15/common/offline_user_data.proto"; +import "google/ads/googleads/v15/enums/conversion_environment_enum.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/conversion_upload_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/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/conversion_upload_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/services;services"; +option java_multiple_files = true; +option java_outer_classname = "ConversionUploadServiceProto"; +option java_package = "com.google.ads.googleads.v13.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V13::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/services;services"; +option java_multiple_files = true; +option java_outer_classname = "ConversionUploadServiceProto"; +option java_package = "com.google.ads.googleads.v15.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V15::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/conversion_upload_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/conversion_upload_service.proto + post: "/v13/customers/{customer_id=*}:uploadClickConversions" +======== + post: "/v15/customers/{customer_id=*}:uploadClickConversions" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/conversion_upload_service.proto + 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/conversion_upload_service.proto + post: "/v13/customers/{customer_id=*}:uploadCallConversions" +======== + post: "/v15/customers/{customer_id=*}:uploadCallConversions" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/conversion_upload_service.proto + body: "*" + }; + option (google.api.method_signature) = + "customer_id,conversions,partial_failure"; + } +} + +// Request message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/conversion_upload_service.proto +// [ConversionUploadService.UploadClickConversions][google.ads.googleads.v13.services.ConversionUploadService.UploadClickConversions]. +======== +// [ConversionUploadService.UploadClickConversions][google.ads.googleads.v15.services.ConversionUploadService.UploadClickConversions]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/conversion_upload_service.proto +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; +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/conversion_upload_service.proto +} + +// Response message for +// [ConversionUploadService.UploadClickConversions][google.ads.googleads.v13.services.ConversionUploadService.UploadClickConversions]. +======== + + // 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.v15.services.ConversionUploadService.UploadClickConversions]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/conversion_upload_service.proto +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 +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/conversion_upload_service.proto +// [ConversionUploadService.UploadCallConversions][google.ads.googleads.v13.services.ConversionUploadService.UploadCallConversions]. +======== +// [ConversionUploadService.UploadCallConversions][google.ads.googleads.v15.services.ConversionUploadService.UploadCallConversions]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/conversion_upload_service.proto +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 +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/conversion_upload_service.proto +// [ConversionUploadService.UploadCallConversions][google.ads.googleads.v13.services.ConversionUploadService.UploadCallConversions]. +======== +// [ConversionUploadService.UploadCallConversions][google.ads.googleads.v15.services.ConversionUploadService.UploadCallConversions]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/conversion_upload_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/conversion_upload_service.proto + repeated google.ads.googleads.v13.common.UserIdentifier user_identifiers = 17; + + // The environment this conversion was recorded on, for example, App or Web. + google.ads.googleads.v13.enums.ConversionEnvironmentEnum.ConversionEnvironment + conversion_environment = 20; +======== + repeated google.ads.googleads.v15.common.UserIdentifier user_identifiers = 17; + + // The environment this conversion was recorded on, for example, App or Web. + google.ads.googleads.v15.enums.ConversionEnvironmentEnum.ConversionEnvironment + conversion_environment = 20; + + // The consent setting for the event. + google.ads.googleads.v15.common.Consent consent = 23; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/conversion_upload_service.proto +} + +// 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.v15.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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/conversion_upload_service.proto + repeated google.ads.googleads.v13.common.UserIdentifier user_identifiers = 7; +======== + repeated google.ads.googleads.v15.common.UserIdentifier user_identifiers = 7; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/conversion_upload_service.proto +} + +// 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/v15/services/conversion_value_rule_service.proto b/third_party/googleapis/google/ads/googleads/v15/services/conversion_value_rule_service.proto new file mode 100644 index 000000000..3e8f505b9 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/services/conversion_value_rule_service.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/conversion_value_rule_service.proto +package google.ads.googleads.v12.services; + +import "google/ads/googleads/v12/enums/response_content_type.proto"; +import "google/ads/googleads/v12/resources/conversion_value_rule.proto"; +======== +package google.ads.googleads.v15.services; + +import "google/ads/googleads/v15/enums/response_content_type.proto"; +import "google/ads/googleads/v15/resources/conversion_value_rule.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/conversion_value_rule_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/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/conversion_value_rule_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/services;services"; +option java_multiple_files = true; +option java_outer_classname = "ConversionValueRuleServiceProto"; +option java_package = "com.google.ads.googleads.v12.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V12::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/services;services"; +option java_multiple_files = true; +option java_outer_classname = "ConversionValueRuleServiceProto"; +option java_package = "com.google.ads.googleads.v15.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V15::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/conversion_value_rule_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/conversion_value_rule_service.proto + post: "/v12/customers/{customer_id=*}/conversionValueRules:mutate" +======== + post: "/v15/customers/{customer_id=*}/conversionValueRules:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/conversion_value_rule_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/conversion_value_rule_service.proto +// [ConversionValueRuleService.MutateConversionValueRules][google.ads.googleads.v12.services.ConversionValueRuleService.MutateConversionValueRules]. +======== +// [ConversionValueRuleService.MutateConversionValueRules][google.ads.googleads.v15.services.ConversionValueRuleService.MutateConversionValueRules]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/conversion_value_rule_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/conversion_value_rule_service.proto + google.ads.googleads.v12.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 4; +======== + google.ads.googleads.v15.enums.ResponseContentTypeEnum.ResponseContentType + response_content_type = 4; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/conversion_value_rule_service.proto +} + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/conversion_value_rule_service.proto + google.ads.googleads.v12.resources.ConversionValueRule create = 1; + + // Update operation: The conversion value rule is expected to have a valid + // resource name. + google.ads.googleads.v12.resources.ConversionValueRule update = 2; +======== + google.ads.googleads.v15.resources.ConversionValueRule create = 1; + + // Update operation: The conversion value rule is expected to have a valid + // resource name. + google.ads.googleads.v15.resources.ConversionValueRule update = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/conversion_value_rule_service.proto + + // 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 +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/conversion_value_rule_service.proto +// [ConversionValueRuleService.MutateConversionValueRules][google.ads.googleads.v12.services.ConversionValueRuleService.MutateConversionValueRules]. +======== +// [ConversionValueRuleService.MutateConversionValueRules][google.ads.googleads.v15.services.ConversionValueRuleService.MutateConversionValueRules]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/conversion_value_rule_service.proto +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". +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/conversion_value_rule_service.proto + google.ads.googleads.v12.resources.ConversionValueRule conversion_value_rule = 2; +======== + google.ads.googleads.v15.resources.ConversionValueRule conversion_value_rule = + 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/conversion_value_rule_service.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v15/services/conversion_value_rule_set_service.proto b/third_party/googleapis/google/ads/googleads/v15/services/conversion_value_rule_set_service.proto new file mode 100644 index 000000000..ead58bca9 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/services/conversion_value_rule_set_service.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/conversion_value_rule_set_service.proto +package google.ads.googleads.v12.services; + +import "google/ads/googleads/v12/enums/response_content_type.proto"; +import "google/ads/googleads/v12/resources/conversion_value_rule_set.proto"; +======== +package google.ads.googleads.v15.services; + +import "google/ads/googleads/v15/enums/response_content_type.proto"; +import "google/ads/googleads/v15/resources/conversion_value_rule_set.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/conversion_value_rule_set_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/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/conversion_value_rule_set_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/services;services"; +option java_multiple_files = true; +option java_outer_classname = "ConversionValueRuleSetServiceProto"; +option java_package = "com.google.ads.googleads.v12.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V12::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/services;services"; +option java_multiple_files = true; +option java_outer_classname = "ConversionValueRuleSetServiceProto"; +option java_package = "com.google.ads.googleads.v15.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V15::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/conversion_value_rule_set_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/conversion_value_rule_set_service.proto + post: "/v12/customers/{customer_id=*}/conversionValueRuleSets:mutate" +======== + post: "/v15/customers/{customer_id=*}/conversionValueRuleSets:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/conversion_value_rule_set_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/conversion_value_rule_set_service.proto +// [ConversionValueRuleSetService.MutateConversionValueRuleSets][google.ads.googleads.v12.services.ConversionValueRuleSetService.MutateConversionValueRuleSets]. +======== +// [ConversionValueRuleSetService.MutateConversionValueRuleSets][google.ads.googleads.v15.services.ConversionValueRuleSetService.MutateConversionValueRuleSets]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/conversion_value_rule_set_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/conversion_value_rule_set_service.proto + google.ads.googleads.v12.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 4; +======== + google.ads.googleads.v15.enums.ResponseContentTypeEnum.ResponseContentType + response_content_type = 4; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/conversion_value_rule_set_service.proto +} + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/conversion_value_rule_set_service.proto + google.ads.googleads.v12.resources.ConversionValueRuleSet create = 1; + + // Update operation: The conversion value rule set is expected to have a + // valid resource name. + google.ads.googleads.v12.resources.ConversionValueRuleSet update = 2; +======== + google.ads.googleads.v15.resources.ConversionValueRuleSet create = 1; + + // Update operation: The conversion value rule set is expected to have a + // valid resource name. + google.ads.googleads.v15.resources.ConversionValueRuleSet update = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/conversion_value_rule_set_service.proto + + // 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 +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/conversion_value_rule_set_service.proto +// [ConversionValueRuleSetService.MutateConversionValueRuleSets][google.ads.googleads.v12.services.ConversionValueRuleSetService.MutateConversionValueRuleSets]. +======== +// [ConversionValueRuleSetService.MutateConversionValueRuleSets][google.ads.googleads.v15.services.ConversionValueRuleSetService.MutateConversionValueRuleSets]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/conversion_value_rule_set_service.proto +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". +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/conversion_value_rule_set_service.proto + google.ads.googleads.v12.resources.ConversionValueRuleSet conversion_value_rule_set = 2; +======== + google.ads.googleads.v15.resources.ConversionValueRuleSet + conversion_value_rule_set = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/conversion_value_rule_set_service.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v15/services/custom_audience_service.proto b/third_party/googleapis/google/ads/googleads/v15/services/custom_audience_service.proto new file mode 100644 index 000000000..1e0d0baca --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/services/custom_audience_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/custom_audience_service.proto +package google.ads.googleads.v12.services; + +import "google/ads/googleads/v12/resources/custom_audience.proto"; +======== +package google.ads.googleads.v15.services; + +import "google/ads/googleads/v15/resources/custom_audience.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/custom_audience_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/protobuf/field_mask.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/custom_audience_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomAudienceServiceProto"; +option java_package = "com.google.ads.googleads.v12.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V12::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomAudienceServiceProto"; +option java_package = "com.google.ads.googleads.v15.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V15::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/custom_audience_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/custom_audience_service.proto + post: "/v12/customers/{customer_id=*}/customAudiences:mutate" +======== + post: "/v15/customers/{customer_id=*}/customAudiences:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/custom_audience_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/custom_audience_service.proto +// Request message for [CustomAudienceService.MutateCustomAudiences][google.ads.googleads.v12.services.CustomAudienceService.MutateCustomAudiences]. +======== +// Request message for +// [CustomAudienceService.MutateCustomAudiences][google.ads.googleads.v15.services.CustomAudienceService.MutateCustomAudiences]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/custom_audience_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/custom_audience_service.proto + google.ads.googleads.v12.resources.CustomAudience create = 1; + + // Update operation: The custom audience is expected to have a valid + // resource name. + google.ads.googleads.v12.resources.CustomAudience update = 2; +======== + google.ads.googleads.v15.resources.CustomAudience create = 1; + + // Update operation: The custom audience is expected to have a valid + // resource name. + google.ads.googleads.v15.resources.CustomAudience update = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/custom_audience_service.proto + + // 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/v15/services/custom_conversion_goal_service.proto b/third_party/googleapis/google/ads/googleads/v15/services/custom_conversion_goal_service.proto new file mode 100644 index 000000000..bcc78a75b --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/services/custom_conversion_goal_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/custom_conversion_goal_service.proto +package google.ads.googleads.v12.services; + +import "google/ads/googleads/v12/enums/response_content_type.proto"; +import "google/ads/googleads/v12/resources/custom_conversion_goal.proto"; +======== +package google.ads.googleads.v15.services; + +import "google/ads/googleads/v15/enums/response_content_type.proto"; +import "google/ads/googleads/v15/resources/custom_conversion_goal.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/custom_conversion_goal_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/protobuf/field_mask.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/custom_conversion_goal_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomConversionGoalServiceProto"; +option java_package = "com.google.ads.googleads.v12.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V12::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomConversionGoalServiceProto"; +option java_package = "com.google.ads.googleads.v15.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V15::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/custom_conversion_goal_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/custom_conversion_goal_service.proto + post: "/v12/customers/{customer_id=*}/customConversionGoals:mutate" +======== + post: "/v15/customers/{customer_id=*}/customConversionGoals:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/custom_conversion_goal_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/custom_conversion_goal_service.proto +// [CustomConversionGoalService.MutateCustomConversionGoals][google.ads.googleads.v12.services.CustomConversionGoalService.MutateCustomConversionGoals]. +======== +// [CustomConversionGoalService.MutateCustomConversionGoals][google.ads.googleads.v15.services.CustomConversionGoalService.MutateCustomConversionGoals]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/custom_conversion_goal_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/custom_conversion_goal_service.proto + google.ads.googleads.v12.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 4; +======== + google.ads.googleads.v15.enums.ResponseContentTypeEnum.ResponseContentType + response_content_type = 4; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/custom_conversion_goal_service.proto +} + +// 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 +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/custom_conversion_goal_service.proto + google.ads.googleads.v12.resources.CustomConversionGoal create = 1; + + // Update operation: The custom conversion goal is expected to have a + // valid resource name. + google.ads.googleads.v12.resources.CustomConversionGoal update = 2; +======== + google.ads.googleads.v15.resources.CustomConversionGoal create = 1; + + // Update operation: The custom conversion goal is expected to have a + // valid resource name. + google.ads.googleads.v15.resources.CustomConversionGoal update = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/custom_conversion_goal_service.proto + + // 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". +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/custom_conversion_goal_service.proto + google.ads.googleads.v12.resources.CustomConversionGoal custom_conversion_goal = 2; +======== + google.ads.googleads.v15.resources.CustomConversionGoal + custom_conversion_goal = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/custom_conversion_goal_service.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v15/services/custom_interest_service.proto b/third_party/googleapis/google/ads/googleads/v15/services/custom_interest_service.proto new file mode 100644 index 000000000..af88897ab --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/services/custom_interest_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/custom_interest_service.proto +package google.ads.googleads.v12.services; + +import "google/ads/googleads/v12/resources/custom_interest.proto"; +======== +package google.ads.googleads.v15.services; + +import "google/ads/googleads/v15/resources/custom_interest.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/custom_interest_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/protobuf/field_mask.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/custom_interest_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomInterestServiceProto"; +option java_package = "com.google.ads.googleads.v12.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V12::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomInterestServiceProto"; +option java_package = "com.google.ads.googleads.v15.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V15::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/custom_interest_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/custom_interest_service.proto + post: "/v12/customers/{customer_id=*}/customInterests:mutate" +======== + post: "/v15/customers/{customer_id=*}/customInterests:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/custom_interest_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/custom_interest_service.proto +// Request message for [CustomInterestService.MutateCustomInterests][google.ads.googleads.v12.services.CustomInterestService.MutateCustomInterests]. +======== +// Request message for +// [CustomInterestService.MutateCustomInterests][google.ads.googleads.v15.services.CustomInterestService.MutateCustomInterests]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/custom_interest_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/custom_interest_service.proto + google.ads.googleads.v12.resources.CustomInterest create = 1; + + // Update operation: The custom interest is expected to have a valid + // resource name. + google.ads.googleads.v12.resources.CustomInterest update = 2; +======== + google.ads.googleads.v15.resources.CustomInterest create = 1; + + // Update operation: The custom interest is expected to have a valid + // resource name. + google.ads.googleads.v15.resources.CustomInterest update = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/custom_interest_service.proto + } +} + +// 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/v15/services/customer_asset_service.proto b/third_party/googleapis/google/ads/googleads/v15/services/customer_asset_service.proto new file mode 100644 index 000000000..9ca851fdb --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/services/customer_asset_service.proto @@ -0,0 +1,183 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/customer_asset_service.proto +package google.ads.googleads.v12.services; + +import "google/ads/googleads/v12/enums/response_content_type.proto"; +import "google/ads/googleads/v12/resources/customer_asset.proto"; +======== +package google.ads.googleads.v15.services; + +import "google/ads/googleads/v15/enums/response_content_type.proto"; +import "google/ads/googleads/v15/resources/customer_asset.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/customer_asset_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/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/customer_asset_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomerAssetServiceProto"; +option java_package = "com.google.ads.googleads.v12.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V12::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomerAssetServiceProto"; +option java_package = "com.google.ads.googleads.v15.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V15::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/customer_asset_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/customer_asset_service.proto + post: "/v12/customers/{customer_id=*}/customerAssets:mutate" +======== + post: "/v15/customers/{customer_id=*}/customerAssets:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/customer_asset_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/customer_asset_service.proto +// Request message for [CustomerAssetService.MutateCustomerAssets][google.ads.googleads.v12.services.CustomerAssetService.MutateCustomerAssets]. +======== +// Request message for +// [CustomerAssetService.MutateCustomerAssets][google.ads.googleads.v15.services.CustomerAssetService.MutateCustomerAssets]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/customer_asset_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/customer_asset_service.proto + google.ads.googleads.v12.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +======== + google.ads.googleads.v15.enums.ResponseContentTypeEnum.ResponseContentType + response_content_type = 5; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/customer_asset_service.proto +} + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/customer_asset_service.proto + google.ads.googleads.v12.resources.CustomerAsset create = 1; + + // Update operation: The customer asset is expected to have a valid resource + // name. + google.ads.googleads.v12.resources.CustomerAsset update = 3; +======== + google.ads.googleads.v15.resources.CustomerAsset create = 1; + + // Update operation: The customer asset is expected to have a valid resource + // name. + google.ads.googleads.v15.resources.CustomerAsset update = 3; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/customer_asset_service.proto + + // 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". +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/customer_asset_service.proto + google.ads.googleads.v12.resources.CustomerAsset customer_asset = 2; +======== + google.ads.googleads.v15.resources.CustomerAsset customer_asset = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/customer_asset_service.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v15/services/customer_asset_set_service.proto b/third_party/googleapis/google/ads/googleads/v15/services/customer_asset_set_service.proto new file mode 100644 index 000000000..b8c6c3505 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.v15.services; + +import "google/ads/googleads/v15/enums/response_content_type.proto"; +import "google/ads/googleads/v15/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.V15.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomerAssetSetServiceProto"; +option java_package = "com.google.ads.googleads.v15.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V15::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: "/v15/customers/{customer_id=*}/customerAssetSets:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [CustomerAssetSetService.MutateCustomerAssetSets][google.ads.googleads.v15.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.v15.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.v15.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.v15.resources.CustomerAssetSet customer_asset_set = 2; +} diff --git a/third_party/googleapis/google/ads/googleads/v15/services/customer_client_link_service.proto b/third_party/googleapis/google/ads/googleads/v15/services/customer_client_link_service.proto new file mode 100644 index 000000000..22162bbe8 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/services/customer_client_link_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/customer_client_link_service.proto +package google.ads.googleads.v12.services; + +import "google/ads/googleads/v12/resources/customer_client_link.proto"; +======== +package google.ads.googleads.v15.services; + +import "google/ads/googleads/v15/resources/customer_client_link.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/customer_client_link_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/protobuf/field_mask.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/customer_client_link_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomerClientLinkServiceProto"; +option java_package = "com.google.ads.googleads.v12.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V12::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomerClientLinkServiceProto"; +option java_package = "com.google.ads.googleads.v15.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V15::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/customer_client_link_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/customer_client_link_service.proto + post: "/v12/customers/{customer_id=*}/customerClientLinks:mutate" +======== + post: "/v15/customers/{customer_id=*}/customerClientLinks:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/customer_client_link_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operation"; + } +} + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/customer_client_link_service.proto +// Request message for [CustomerClientLinkService.MutateCustomerClientLink][google.ads.googleads.v12.services.CustomerClientLinkService.MutateCustomerClientLink]. +======== +// Request message for +// [CustomerClientLinkService.MutateCustomerClientLink][google.ads.googleads.v15.services.CustomerClientLinkService.MutateCustomerClientLink]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/customer_client_link_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/customer_client_link_service.proto + google.ads.googleads.v12.resources.CustomerClientLink create = 1; + + // Update operation: The link is expected to have a valid resource name. + google.ads.googleads.v12.resources.CustomerClientLink update = 2; +======== + google.ads.googleads.v15.resources.CustomerClientLink create = 1; + + // Update operation: The link is expected to have a valid resource name. + google.ads.googleads.v15.resources.CustomerClientLink update = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/customer_client_link_service.proto + } +} + +// 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/v15/services/customer_conversion_goal_service.proto b/third_party/googleapis/google/ads/googleads/v15/services/customer_conversion_goal_service.proto new file mode 100644 index 000000000..65b376ce0 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/services/customer_conversion_goal_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/customer_conversion_goal_service.proto +package google.ads.googleads.v12.services; + +import "google/ads/googleads/v12/resources/customer_conversion_goal.proto"; +======== +package google.ads.googleads.v15.services; + +import "google/ads/googleads/v15/resources/customer_conversion_goal.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/customer_conversion_goal_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/protobuf/field_mask.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/customer_conversion_goal_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomerConversionGoalServiceProto"; +option java_package = "com.google.ads.googleads.v12.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V12::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomerConversionGoalServiceProto"; +option java_package = "com.google.ads.googleads.v15.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V15::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/customer_conversion_goal_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/customer_conversion_goal_service.proto + post: "/v12/customers/{customer_id=*}/customerConversionGoals:mutate" +======== + post: "/v15/customers/{customer_id=*}/customerConversionGoals:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/customer_conversion_goal_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/customer_conversion_goal_service.proto +// [CustomerConversionGoalService.MutateCustomerConversionGoals][google.ads.googleads.v12.services.CustomerConversionGoalService.MutateCustomerConversionGoals]. +======== +// [CustomerConversionGoalService.MutateCustomerConversionGoals][google.ads.googleads.v15.services.CustomerConversionGoalService.MutateCustomerConversionGoals]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/customer_conversion_goal_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/customer_conversion_goal_service.proto + google.ads.googleads.v12.resources.CustomerConversionGoal update = 1; +======== + google.ads.googleads.v15.resources.CustomerConversionGoal update = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/customer_conversion_goal_service.proto + } +} + +// 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/v15/services/customer_customizer_service.proto b/third_party/googleapis/google/ads/googleads/v15/services/customer_customizer_service.proto new file mode 100644 index 000000000..fa9dbf54a --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/services/customer_customizer_service.proto @@ -0,0 +1,161 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/customer_customizer_service.proto +package google.ads.googleads.v12.services; + +import "google/ads/googleads/v12/enums/response_content_type.proto"; +import "google/ads/googleads/v12/resources/customer_customizer.proto"; +======== +package google.ads.googleads.v15.services; + +import "google/ads/googleads/v15/enums/response_content_type.proto"; +import "google/ads/googleads/v15/resources/customer_customizer.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/customer_customizer_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/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/customer_customizer_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomerCustomizerServiceProto"; +option java_package = "com.google.ads.googleads.v12.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V12::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomerCustomizerServiceProto"; +option java_package = "com.google.ads.googleads.v15.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V15::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/customer_customizer_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/customer_customizer_service.proto + post: "/v12/customers/{customer_id=*}/CustomerCustomizers:mutate" +======== + post: "/v15/customers/{customer_id=*}/CustomerCustomizers:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/customer_customizer_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/customer_customizer_service.proto +// [CustomerCustomizerService.MutateCustomerCustomizers][google.ads.googleads.v12.services.CustomerCustomizerService.MutateCustomerCustomizers]. +======== +// [CustomerCustomizerService.MutateCustomerCustomizers][google.ads.googleads.v15.services.CustomerCustomizerService.MutateCustomerCustomizers]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/customer_customizer_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/customer_customizer_service.proto + google.ads.googleads.v12.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +======== + google.ads.googleads.v15.enums.ResponseContentTypeEnum.ResponseContentType + response_content_type = 5; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/customer_customizer_service.proto +} + +// 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 +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/customer_customizer_service.proto + google.ads.googleads.v12.resources.CustomerCustomizer create = 1; +======== + google.ads.googleads.v15.resources.CustomerCustomizer create = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/customer_customizer_service.proto + + // 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". +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/customer_customizer_service.proto + google.ads.googleads.v12.resources.CustomerCustomizer customer_customizer = 2; +======== + google.ads.googleads.v15.resources.CustomerCustomizer customer_customizer = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/customer_customizer_service.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v15/services/customer_extension_setting_service.proto b/third_party/googleapis/google/ads/googleads/v15/services/customer_extension_setting_service.proto new file mode 100644 index 000000000..54e40ef6f --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/services/customer_extension_setting_service.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/customer_extension_setting_service.proto +package google.ads.googleads.v12.services; + +import "google/ads/googleads/v12/enums/response_content_type.proto"; +import "google/ads/googleads/v12/resources/customer_extension_setting.proto"; +======== +package google.ads.googleads.v15.services; + +import "google/ads/googleads/v15/enums/response_content_type.proto"; +import "google/ads/googleads/v15/resources/customer_extension_setting.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/customer_extension_setting_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/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/customer_extension_setting_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomerExtensionSettingServiceProto"; +option java_package = "com.google.ads.googleads.v12.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V12::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomerExtensionSettingServiceProto"; +option java_package = "com.google.ads.googleads.v15.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V15::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/customer_extension_setting_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/customer_extension_setting_service.proto + post: "/v12/customers/{customer_id=*}/customerExtensionSettings:mutate" +======== + post: "/v15/customers/{customer_id=*}/customerExtensionSettings:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/customer_extension_setting_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/customer_extension_setting_service.proto +// [CustomerExtensionSettingService.MutateCustomerExtensionSettings][google.ads.googleads.v12.services.CustomerExtensionSettingService.MutateCustomerExtensionSettings]. +======== +// [CustomerExtensionSettingService.MutateCustomerExtensionSettings][google.ads.googleads.v15.services.CustomerExtensionSettingService.MutateCustomerExtensionSettings]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/customer_extension_setting_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/customer_extension_setting_service.proto + google.ads.googleads.v12.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +======== + google.ads.googleads.v15.enums.ResponseContentTypeEnum.ResponseContentType + response_content_type = 5; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/customer_extension_setting_service.proto +} + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/customer_extension_setting_service.proto + google.ads.googleads.v12.resources.CustomerExtensionSetting create = 1; + + // Update operation: The customer extension setting is expected to have a + // valid resource name. + google.ads.googleads.v12.resources.CustomerExtensionSetting update = 2; +======== + google.ads.googleads.v15.resources.CustomerExtensionSetting create = 1; + + // Update operation: The customer extension setting is expected to have a + // valid resource name. + google.ads.googleads.v15.resources.CustomerExtensionSetting update = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/customer_extension_setting_service.proto + + // 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". +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/customer_extension_setting_service.proto + google.ads.googleads.v12.resources.CustomerExtensionSetting customer_extension_setting = 2; +======== + google.ads.googleads.v15.resources.CustomerExtensionSetting + customer_extension_setting = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/customer_extension_setting_service.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v15/services/customer_feed_service.proto b/third_party/googleapis/google/ads/googleads/v15/services/customer_feed_service.proto new file mode 100644 index 000000000..7e184b7b8 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/services/customer_feed_service.proto @@ -0,0 +1,195 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/customer_feed_service.proto +package google.ads.googleads.v12.services; + +import "google/ads/googleads/v12/enums/response_content_type.proto"; +import "google/ads/googleads/v12/resources/customer_feed.proto"; +======== +package google.ads.googleads.v15.services; + +import "google/ads/googleads/v15/enums/response_content_type.proto"; +import "google/ads/googleads/v15/resources/customer_feed.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/customer_feed_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/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/customer_feed_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomerFeedServiceProto"; +option java_package = "com.google.ads.googleads.v12.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V12::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomerFeedServiceProto"; +option java_package = "com.google.ads.googleads.v15.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V15::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/customer_feed_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/customer_feed_service.proto + post: "/v12/customers/{customer_id=*}/customerFeeds:mutate" +======== + post: "/v15/customers/{customer_id=*}/customerFeeds:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/customer_feed_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/customer_feed_service.proto +// Request message for [CustomerFeedService.MutateCustomerFeeds][google.ads.googleads.v12.services.CustomerFeedService.MutateCustomerFeeds]. +======== +// Request message for +// [CustomerFeedService.MutateCustomerFeeds][google.ads.googleads.v15.services.CustomerFeedService.MutateCustomerFeeds]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/customer_feed_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/customer_feed_service.proto + google.ads.googleads.v12.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +======== + google.ads.googleads.v15.enums.ResponseContentTypeEnum.ResponseContentType + response_content_type = 5; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/customer_feed_service.proto +} + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/customer_feed_service.proto + google.ads.googleads.v12.resources.CustomerFeed create = 1; + + // Update operation: The customer feed is expected to have a valid resource + // name. + google.ads.googleads.v12.resources.CustomerFeed update = 2; +======== + google.ads.googleads.v15.resources.CustomerFeed create = 1; + + // Update operation: The customer feed is expected to have a valid resource + // name. + google.ads.googleads.v15.resources.CustomerFeed update = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/customer_feed_service.proto + + // 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". +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/customer_feed_service.proto + google.ads.googleads.v12.resources.CustomerFeed customer_feed = 2; +======== + google.ads.googleads.v15.resources.CustomerFeed customer_feed = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/customer_feed_service.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v15/services/customer_label_service.proto b/third_party/googleapis/google/ads/googleads/v15/services/customer_label_service.proto new file mode 100644 index 000000000..2ecd6a0ab --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/services/customer_label_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/customer_label_service.proto +package google.ads.googleads.v12.services; + +import "google/ads/googleads/v12/resources/customer_label.proto"; +======== +package google.ads.googleads.v15.services; + +import "google/ads/googleads/v15/resources/customer_label.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/customer_label_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/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/customer_label_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomerLabelServiceProto"; +option java_package = "com.google.ads.googleads.v12.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V12::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomerLabelServiceProto"; +option java_package = "com.google.ads.googleads.v15.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V15::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/customer_label_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/customer_label_service.proto + post: "/v12/customers/{customer_id=*}/customerLabels:mutate" +======== + post: "/v15/customers/{customer_id=*}/customerLabels:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/customer_label_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/customer_label_service.proto +// Request message for [CustomerLabelService.MutateCustomerLabels][google.ads.googleads.v12.services.CustomerLabelService.MutateCustomerLabels]. +======== +// Request message for +// [CustomerLabelService.MutateCustomerLabels][google.ads.googleads.v15.services.CustomerLabelService.MutateCustomerLabels]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/customer_label_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/customer_label_service.proto + google.ads.googleads.v12.resources.CustomerLabel create = 1; +======== + google.ads.googleads.v15.resources.CustomerLabel create = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/customer_label_service.proto + + // 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/v15/services/customer_lifecycle_goal_service.proto b/third_party/googleapis/google/ads/googleads/v15/services/customer_lifecycle_goal_service.proto new file mode 100644 index 000000000..b8ad7ad22 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/services/customer_lifecycle_goal_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.v15.services; + +import "google/ads/googleads/v15/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.V15.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomerLifecycleGoalServiceProto"; +option java_package = "com.google.ads.googleads.v15.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V15::Services"; + +// Service to configure customer lifecycle goals. +service CustomerLifecycleService { + 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: "/v15/customers/{customer_id=*}/customerLifecycleGoal:configureCustomerLifecycleGoals" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operation"; + } +} + +// Request message for +// [CustomerLifecycleService.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: to create a new customer lifecycle goal or update an + // existing customer lifecycle goal. When creating a new customer lifecycle + // goal, all required fields needs to be set. Resource name and field mask + // needs to be empty. When updating an existing customer lifecycle goal, + // resource name and field mask need to be set. Partial update based on + // field mask is supported when updating an existing customer lifecycle + // goal. + google.ads.googleads.v15.resources.CustomerLifecycleGoal create = 1; + } +} + +// Response message for +// [CustomerLifecycleService.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/v15/services/customer_manager_link_service.proto b/third_party/googleapis/google/ads/googleads/v15/services/customer_manager_link_service.proto new file mode 100644 index 000000000..f518040b0 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/services/customer_manager_link_service.proto @@ -0,0 +1,204 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/customer_manager_link_service.proto +package google.ads.googleads.v12.services; + +import "google/ads/googleads/v12/resources/customer_manager_link.proto"; +======== +package google.ads.googleads.v15.services; + +import "google/ads/googleads/v15/resources/customer_manager_link.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/customer_manager_link_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/protobuf/field_mask.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/customer_manager_link_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomerManagerLinkServiceProto"; +option java_package = "com.google.ads.googleads.v12.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V12::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomerManagerLinkServiceProto"; +option java_package = "com.google.ads.googleads.v15.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V15::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/customer_manager_link_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/customer_manager_link_service.proto + post: "/v12/customers/{customer_id=*}/customerManagerLinks:mutate" +======== + post: "/v15/customers/{customer_id=*}/customerManagerLinks:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/customer_manager_link_service.proto + 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/customer_manager_link_service.proto + post: "/v12/customers/{customer_id=*}/customerManagerLinks:moveManagerLink" +======== + post: "/v15/customers/{customer_id=*}/customerManagerLinks:moveManagerLink" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/customer_manager_link_service.proto + body: "*" + }; + option (google.api.method_signature) = + "customer_id,previous_customer_manager_link,new_manager"; + } +} + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/customer_manager_link_service.proto +// Request message for [CustomerManagerLinkService.MutateCustomerManagerLink][google.ads.googleads.v12.services.CustomerManagerLinkService.MutateCustomerManagerLink]. +======== +// Request message for +// [CustomerManagerLinkService.MutateCustomerManagerLink][google.ads.googleads.v15.services.CustomerManagerLinkService.MutateCustomerManagerLink]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/customer_manager_link_service.proto +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; +} + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/customer_manager_link_service.proto +// Request message for [CustomerManagerLinkService.MoveManagerLink][google.ads.googleads.v12.services.CustomerManagerLinkService.MoveManagerLink]. +======== +// Request message for +// [CustomerManagerLinkService.MoveManagerLink][google.ads.googleads.v15.services.CustomerManagerLinkService.MoveManagerLink]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/customer_manager_link_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/customer_manager_link_service.proto + google.ads.googleads.v12.resources.CustomerManagerLink update = 2; +======== + google.ads.googleads.v15.resources.CustomerManagerLink update = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/customer_manager_link_service.proto + } +} + +// 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/v15/services/customer_negative_criterion_service.proto b/third_party/googleapis/google/ads/googleads/v15/services/customer_negative_criterion_service.proto new file mode 100644 index 000000000..18c7d6707 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/services/customer_negative_criterion_service.proto @@ -0,0 +1,170 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/customer_negative_criterion_service.proto +package google.ads.googleads.v12.services; + +import "google/ads/googleads/v12/enums/response_content_type.proto"; +import "google/ads/googleads/v12/resources/customer_negative_criterion.proto"; +======== +package google.ads.googleads.v15.services; + +import "google/ads/googleads/v15/enums/response_content_type.proto"; +import "google/ads/googleads/v15/resources/customer_negative_criterion.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/customer_negative_criterion_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/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/customer_negative_criterion_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomerNegativeCriterionServiceProto"; +option java_package = "com.google.ads.googleads.v12.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V12::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomerNegativeCriterionServiceProto"; +option java_package = "com.google.ads.googleads.v15.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V15::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/customer_negative_criterion_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/customer_negative_criterion_service.proto + post: "/v12/customers/{customer_id=*}/customerNegativeCriteria:mutate" +======== + post: "/v15/customers/{customer_id=*}/customerNegativeCriteria:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/customer_negative_criterion_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/customer_negative_criterion_service.proto +// [CustomerNegativeCriterionService.MutateCustomerNegativeCriteria][google.ads.googleads.v12.services.CustomerNegativeCriterionService.MutateCustomerNegativeCriteria]. +======== +// [CustomerNegativeCriterionService.MutateCustomerNegativeCriteria][google.ads.googleads.v15.services.CustomerNegativeCriterionService.MutateCustomerNegativeCriteria]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/customer_negative_criterion_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/customer_negative_criterion_service.proto + google.ads.googleads.v12.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +======== + google.ads.googleads.v15.enums.ResponseContentTypeEnum.ResponseContentType + response_content_type = 5; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/customer_negative_criterion_service.proto +} + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/customer_negative_criterion_service.proto + google.ads.googleads.v12.resources.CustomerNegativeCriterion create = 1; +======== + google.ads.googleads.v15.resources.CustomerNegativeCriterion create = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/customer_negative_criterion_service.proto + + // 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". +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/customer_negative_criterion_service.proto + google.ads.googleads.v12.resources.CustomerNegativeCriterion customer_negative_criterion = 2; +======== + google.ads.googleads.v15.resources.CustomerNegativeCriterion + customer_negative_criterion = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/customer_negative_criterion_service.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v15/services/customer_service.proto b/third_party/googleapis/google/ads/googleads/v15/services/customer_service.proto new file mode 100644 index 000000000..52e58e076 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/services/customer_service.proto @@ -0,0 +1,267 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/customer_service.proto +package google.ads.googleads.v12.services; + +import "google/ads/googleads/v12/enums/access_role.proto"; +import "google/ads/googleads/v12/enums/response_content_type.proto"; +import "google/ads/googleads/v12/resources/customer.proto"; +======== +package google.ads.googleads.v15.services; + +import "google/ads/googleads/v15/enums/access_role.proto"; +import "google/ads/googleads/v15/enums/response_content_type.proto"; +import "google/ads/googleads/v15/resources/customer.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/customer_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/protobuf/field_mask.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/customer_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomerServiceProto"; +option java_package = "com.google.ads.googleads.v12.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V12::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomerServiceProto"; +option java_package = "com.google.ads.googleads.v15.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V15::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/customer_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/customer_service.proto + post: "/v12/customers/{customer_id=*}:mutate" +======== + post: "/v15/customers/{customer_id=*}:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/customer_service.proto + 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/customer_service.proto + get: "/v12/customers:listAccessibleCustomers" +======== + get: "/v15/customers:listAccessibleCustomers" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/customer_service.proto + }; + } + + // 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/customer_service.proto + post: "/v12/customers/{customer_id=*}:createCustomerClient" +======== + post: "/v15/customers/{customer_id=*}:createCustomerClient" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/customer_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,customer_client"; + } +} + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/customer_service.proto +// Request message for [CustomerService.MutateCustomer][google.ads.googleads.v12.services.CustomerService.MutateCustomer]. +======== +// Request message for +// [CustomerService.MutateCustomer][google.ads.googleads.v15.services.CustomerService.MutateCustomer]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/customer_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/customer_service.proto + google.ads.googleads.v12.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 6; +} + +// Request message for [CustomerService.CreateCustomerClient][google.ads.googleads.v12.services.CustomerService.CreateCustomerClient]. +======== + google.ads.googleads.v15.enums.ResponseContentTypeEnum.ResponseContentType + response_content_type = 6; +} + +// Request message for +// [CustomerService.CreateCustomerClient][google.ads.googleads.v15.services.CustomerService.CreateCustomerClient]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/customer_service.proto +message CreateCustomerClientRequest { + // Required. The ID of the Manager under whom client customer is being + // created. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/customer_service.proto + // Required. The new client customer to create. The resource name on this customer + // will be ignored. + google.ads.googleads.v12.resources.Customer customer_client = 2 [(google.api.field_behavior) = REQUIRED]; +======== + // Required. The new client customer to create. The resource name on this + // customer will be ignored. + google.ads.googleads.v15.resources.Customer customer_client = 2 + [(google.api.field_behavior) = REQUIRED]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/customer_service.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/customer_service.proto + google.ads.googleads.v12.enums.AccessRoleEnum.AccessRole access_role = 4; +======== + google.ads.googleads.v15.enums.AccessRoleEnum.AccessRole access_role = 4; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/customer_service.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/customer_service.proto + google.ads.googleads.v12.resources.Customer update = 1; +======== + google.ads.googleads.v15.resources.Customer update = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/customer_service.proto + + // 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". +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/customer_service.proto + google.ads.googleads.v12.resources.Customer customer = 2; +} + +// Request message for [CustomerService.ListAccessibleCustomers][google.ads.googleads.v12.services.CustomerService.ListAccessibleCustomers]. +message ListAccessibleCustomersRequest { + +} + +// Response message for [CustomerService.ListAccessibleCustomers][google.ads.googleads.v12.services.CustomerService.ListAccessibleCustomers]. +======== + google.ads.googleads.v15.resources.Customer customer = 2; +} + +// Request message for +// [CustomerService.ListAccessibleCustomers][google.ads.googleads.v15.services.CustomerService.ListAccessibleCustomers]. +message ListAccessibleCustomersRequest {} + +// Response message for +// [CustomerService.ListAccessibleCustomers][google.ads.googleads.v15.services.CustomerService.ListAccessibleCustomers]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/customer_service.proto +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/v15/services/customer_sk_ad_network_conversion_value_schema_service.proto b/third_party/googleapis/google/ads/googleads/v15/services/customer_sk_ad_network_conversion_value_schema_service.proto new file mode 100644 index 000000000..c62e998cc --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.v15.services; + +import "google/ads/googleads/v15/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.V15.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomerSkAdNetworkConversionValueSchemaServiceProto"; +option java_package = "com.google.ads.googleads.v15.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V15::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: "/v15/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.v15.resources.CustomerSkAdNetworkConversionValueSchema + update = 1; +} + +// Request message for +// [CustomerSkAdNetworkConversionValueSchemaService.MutateCustomerSkAdNetworkConversionValueSchema][google.ads.googleads.v15.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/v15/services/customer_user_access_invitation_service.proto b/third_party/googleapis/google/ads/googleads/v15/services/customer_user_access_invitation_service.proto new file mode 100644 index 000000000..21f1bd8cc --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/services/customer_user_access_invitation_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/customer_user_access_invitation_service.proto +package google.ads.googleads.v12.services; + +import "google/ads/googleads/v12/resources/customer_user_access_invitation.proto"; +======== +package google.ads.googleads.v15.services; + +import "google/ads/googleads/v15/resources/customer_user_access_invitation.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/customer_user_access_invitation_service.proto +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/customer_user_access_invitation_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomerUserAccessInvitationServiceProto"; +option java_package = "com.google.ads.googleads.v12.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V12::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomerUserAccessInvitationServiceProto"; +option java_package = "com.google.ads.googleads.v15.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V15::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/customer_user_access_invitation_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/customer_user_access_invitation_service.proto + post: "/v12/customers/{customer_id=*}/customerUserAccessInvitations:mutate" +======== + post: "/v15/customers/{customer_id=*}/customerUserAccessInvitations:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/customer_user_access_invitation_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operation"; + } +} + +// Request message for +// [CustomerUserAccessInvitationService.MutateCustomerUserAccessInvitation][google.ads.googleads.v15.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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/customer_user_access_invitation_service.proto + google.ads.googleads.v12.resources.CustomerUserAccessInvitation create = 1; +======== + google.ads.googleads.v15.resources.CustomerUserAccessInvitation create = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/customer_user_access_invitation_service.proto + + // 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/v15/services/customer_user_access_service.proto b/third_party/googleapis/google/ads/googleads/v15/services/customer_user_access_service.proto new file mode 100644 index 000000000..51ab27d6e --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/services/customer_user_access_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/customer_user_access_service.proto +package google.ads.googleads.v12.services; + +import "google/ads/googleads/v12/resources/customer_user_access.proto"; +======== +package google.ads.googleads.v15.services; + +import "google/ads/googleads/v15/resources/customer_user_access.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/customer_user_access_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/protobuf/field_mask.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/customer_user_access_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomerUserAccessServiceProto"; +option java_package = "com.google.ads.googleads.v12.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V12::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomerUserAccessServiceProto"; +option java_package = "com.google.ads.googleads.v15.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V15::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/customer_user_access_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/customer_user_access_service.proto + post: "/v12/customers/{customer_id=*}/customerUserAccesses:mutate" +======== + post: "/v15/customers/{customer_id=*}/customerUserAccesses:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/customer_user_access_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operation"; + } +} + +// Mutate Request for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/customer_user_access_service.proto +// [CustomerUserAccessService.MutateCustomerUserAccess][google.ads.googleads.v12.services.CustomerUserAccessService.MutateCustomerUserAccess]. +======== +// [CustomerUserAccessService.MutateCustomerUserAccess][google.ads.googleads.v15.services.CustomerUserAccessService.MutateCustomerUserAccess]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/customer_user_access_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/customer_user_access_service.proto + google.ads.googleads.v12.resources.CustomerUserAccess update = 1; +======== + google.ads.googleads.v15.resources.CustomerUserAccess update = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/customer_user_access_service.proto + + // 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/v15/services/customizer_attribute_service.proto b/third_party/googleapis/google/ads/googleads/v15/services/customizer_attribute_service.proto new file mode 100644 index 000000000..a126a01a6 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/services/customizer_attribute_service.proto @@ -0,0 +1,166 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/customizer_attribute_service.proto +package google.ads.googleads.v12.services; + +import "google/ads/googleads/v12/enums/response_content_type.proto"; +import "google/ads/googleads/v12/resources/customizer_attribute.proto"; +======== +package google.ads.googleads.v15.services; + +import "google/ads/googleads/v15/enums/response_content_type.proto"; +import "google/ads/googleads/v15/resources/customizer_attribute.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/customizer_attribute_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/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/customizer_attribute_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomizerAttributeServiceProto"; +option java_package = "com.google.ads.googleads.v12.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V12::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomizerAttributeServiceProto"; +option java_package = "com.google.ads.googleads.v15.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V15::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/customizer_attribute_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/customizer_attribute_service.proto + post: "/v12/customers/{customer_id=*}/customizerAttributes:mutate" +======== + post: "/v15/customers/{customer_id=*}/customizerAttributes:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/customizer_attribute_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/customizer_attribute_service.proto +// [CustomizerAttributeService.MutateCustomizerAttributes][google.ads.googleads.v12.services.CustomizerAttributeService.MutateCustomizerAttributes]. +======== +// [CustomizerAttributeService.MutateCustomizerAttributes][google.ads.googleads.v15.services.CustomizerAttributeService.MutateCustomizerAttributes]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/customizer_attribute_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/customizer_attribute_service.proto + google.ads.googleads.v12.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +======== + google.ads.googleads.v15.enums.ResponseContentTypeEnum.ResponseContentType + response_content_type = 5; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/customizer_attribute_service.proto +} + +// 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 +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/customizer_attribute_service.proto + google.ads.googleads.v12.resources.CustomizerAttribute create = 1; +======== + google.ads.googleads.v15.resources.CustomizerAttribute create = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/customizer_attribute_service.proto + + // 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". +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/customizer_attribute_service.proto + google.ads.googleads.v12.resources.CustomizerAttribute customizer_attribute = 2; +======== + google.ads.googleads.v15.resources.CustomizerAttribute customizer_attribute = + 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/customizer_attribute_service.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v15/services/experiment_arm_service.proto b/third_party/googleapis/google/ads/googleads/v15/services/experiment_arm_service.proto new file mode 100644 index 000000000..bf6b47344 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/services/experiment_arm_service.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/experiment_arm_service.proto +package google.ads.googleads.v12.services; + +import "google/ads/googleads/v12/enums/response_content_type.proto"; +import "google/ads/googleads/v12/resources/experiment_arm.proto"; +======== +package google.ads.googleads.v15.services; + +import "google/ads/googleads/v15/enums/response_content_type.proto"; +import "google/ads/googleads/v15/resources/experiment_arm.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/experiment_arm_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/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/experiment_arm_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/services;services"; +option java_multiple_files = true; +option java_outer_classname = "ExperimentArmServiceProto"; +option java_package = "com.google.ads.googleads.v12.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V12::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/services;services"; +option java_multiple_files = true; +option java_outer_classname = "ExperimentArmServiceProto"; +option java_package = "com.google.ads.googleads.v15.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V15::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/experiment_arm_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/experiment_arm_service.proto + post: "/v12/customers/{customer_id=*}/experimentArms:mutate" +======== + post: "/v15/customers/{customer_id=*}/experimentArms:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/experiment_arm_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/experiment_arm_service.proto +// Request message for [ExperimentArmService.MutateExperimentArms][google.ads.googleads.v12.services.ExperimentArmService.MutateExperimentArms]. +======== +// Request message for +// [ExperimentArmService.MutateExperimentArms][google.ads.googleads.v15.services.ExperimentArmService.MutateExperimentArms]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/experiment_arm_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/experiment_arm_service.proto + google.ads.googleads.v12.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +======== + google.ads.googleads.v15.enums.ResponseContentTypeEnum.ResponseContentType + response_content_type = 5; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/experiment_arm_service.proto +} + +// 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 +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/experiment_arm_service.proto + google.ads.googleads.v12.resources.ExperimentArm create = 1; + + // Update operation: The experiment arm is expected to have a valid + // resource name. + google.ads.googleads.v12.resources.ExperimentArm update = 2; +======== + google.ads.googleads.v15.resources.ExperimentArm create = 1; + + // Update operation: The experiment arm is expected to have a valid + // resource name. + google.ads.googleads.v15.resources.ExperimentArm update = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/experiment_arm_service.proto + + // 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". +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/experiment_arm_service.proto + google.ads.googleads.v12.resources.ExperimentArm experiment_arm = 2; +======== + google.ads.googleads.v15.resources.ExperimentArm experiment_arm = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/experiment_arm_service.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v15/services/experiment_service.proto b/third_party/googleapis/google/ads/googleads/v15/services/experiment_service.proto new file mode 100644 index 000000000..b19ce7666 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/services/experiment_service.proto @@ -0,0 +1,489 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/experiment_service.proto +package google.ads.googleads.v12.services; + +import "google/ads/googleads/v12/resources/experiment.proto"; +======== +package google.ads.googleads.v15.services; + +import "google/ads/googleads/v15/resources/experiment.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/experiment_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/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/experiment_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/services;services"; +option java_multiple_files = true; +option java_outer_classname = "ExperimentServiceProto"; +option java_package = "com.google.ads.googleads.v12.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V12::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/services;services"; +option java_multiple_files = true; +option java_outer_classname = "ExperimentServiceProto"; +option java_package = "com.google.ads.googleads.v15.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V15::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/experiment_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/experiment_service.proto + post: "/v12/customers/{customer_id=*}/experiments:mutate" +======== + post: "/v15/customers/{customer_id=*}/experiments:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/experiment_service.proto + 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/experiment_service.proto + post: "/v12/{experiment=customers/*/experiments/*}:endExperiment" +======== + post: "/v15/{experiment=customers/*/experiments/*}:endExperiment" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/experiment_service.proto + 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/experiment_service.proto + get: "/v12/{resource_name=customers/*/experiments/*}:listExperimentAsyncErrors" +======== + get: "/v15/{resource_name=customers/*/experiments/*}:listExperimentAsyncErrors" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/experiment_service.proto + }; + 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/experiment_service.proto + post: "/v12/{experiment=customers/*/experiments/*}:graduateExperiment" +======== + post: "/v15/{experiment=customers/*/experiments/*}:graduateExperiment" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/experiment_service.proto + 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/experiment_service.proto + post: "/v12/{resource_name=customers/*/experiments/*}:scheduleExperiment" +======== + post: "/v15/{resource_name=customers/*/experiments/*}:scheduleExperiment" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/experiment_service.proto + body: "*" + }; + option (google.api.method_signature) = "resource_name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/experiment_service.proto + metadata_type: "google.ads.googleads.v12.services.ScheduleExperimentMetadata" +======== + metadata_type: "google.ads.googleads.v15.services.ScheduleExperimentMetadata" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/experiment_service.proto + }; + } + + // 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/experiment_service.proto + post: "/v12/{resource_name=customers/*/experiments/*}:promoteExperiment" +======== + post: "/v15/{resource_name=customers/*/experiments/*}:promoteExperiment" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/experiment_service.proto + body: "*" + }; + option (google.api.method_signature) = "resource_name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/experiment_service.proto + metadata_type: "google.ads.googleads.v12.services.PromoteExperimentMetadata" +======== + metadata_type: "google.ads.googleads.v15.services.PromoteExperimentMetadata" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/experiment_service.proto + }; + } +} + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/experiment_service.proto +// Request message for [ExperimentService.MutateExperiments][google.ads.googleads.v12.services.ExperimentService.MutateExperiments]. +======== +// Request message for +// [ExperimentService.MutateExperiments][google.ads.googleads.v15.services.ExperimentService.MutateExperiments]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/experiment_service.proto +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 +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/experiment_service.proto + google.ads.googleads.v12.resources.Experiment create = 1; + + // Update operation: The experiment is expected to have a valid + // resource name. + google.ads.googleads.v12.resources.Experiment update = 2; +======== + google.ads.googleads.v15.resources.Experiment create = 1; + + // Update operation: The experiment is expected to have a valid + // resource name. + google.ads.googleads.v15.resources.Experiment update = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/experiment_service.proto + + // 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" + }]; +} + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/experiment_service.proto +// Request message for [ExperimentService.EndExperiment][google.ads.googleads.v12.services.ExperimentService.EndExperiment]. +======== +// Request message for +// [ExperimentService.EndExperiment][google.ads.googleads.v15.services.ExperimentService.EndExperiment]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/experiment_service.proto +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 +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/experiment_service.proto +// [ExperimentService.ListExperimentAsyncErrors][google.ads.googleads.v12.services.ExperimentService.ListExperimentAsyncErrors]. +======== +// [ExperimentService.ListExperimentAsyncErrors][google.ads.googleads.v15.services.ExperimentService.ListExperimentAsyncErrors]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/experiment_service.proto +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 +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/experiment_service.proto +// [ExperimentService.ListExperimentAsyncErrors][google.ads.googleads.v12.services.ExperimentService.ListExperimentAsyncErrors]. +======== +// [ExperimentService.ListExperimentAsyncErrors][google.ads.googleads.v15.services.ExperimentService.ListExperimentAsyncErrors]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/experiment_service.proto +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; +} + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/experiment_service.proto +// Request message for [ExperimentService.GraduateExperiment][google.ads.googleads.v12.services.ExperimentService.GraduateExperiment]. +======== +// Request message for +// [ExperimentService.GraduateExperiment][google.ads.googleads.v15.services.ExperimentService.GraduateExperiment]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/experiment_service.proto +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" + } + ]; +} + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/experiment_service.proto +// Request message for [ExperimentService.ScheduleExperiment][google.ads.googleads.v12.services.ExperimentService.ScheduleExperiment]. +======== +// Request message for +// [ExperimentService.ScheduleExperiment][google.ads.googleads.v15.services.ExperimentService.ScheduleExperiment]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/experiment_service.proto +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" + } + ]; +} + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/experiment_service.proto +// Request message for [ExperimentService.PromoteExperiment][google.ads.googleads.v12.services.ExperimentService.PromoteExperiment]. +======== +// Request message for +// [ExperimentService.PromoteExperiment][google.ads.googleads.v15.services.ExperimentService.PromoteExperiment]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/experiment_service.proto +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/v15/services/extension_feed_item_service.proto b/third_party/googleapis/google/ads/googleads/v15/services/extension_feed_item_service.proto new file mode 100644 index 000000000..793e9d3b0 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/services/extension_feed_item_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/extension_feed_item_service.proto +package google.ads.googleads.v12.services; + +import "google/ads/googleads/v12/enums/response_content_type.proto"; +import "google/ads/googleads/v12/resources/extension_feed_item.proto"; +======== +package google.ads.googleads.v15.services; + +import "google/ads/googleads/v15/enums/response_content_type.proto"; +import "google/ads/googleads/v15/resources/extension_feed_item.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/extension_feed_item_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/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/extension_feed_item_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/services;services"; +option java_multiple_files = true; +option java_outer_classname = "ExtensionFeedItemServiceProto"; +option java_package = "com.google.ads.googleads.v12.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V12::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/services;services"; +option java_multiple_files = true; +option java_outer_classname = "ExtensionFeedItemServiceProto"; +option java_package = "com.google.ads.googleads.v15.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V15::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/extension_feed_item_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/extension_feed_item_service.proto + post: "/v12/customers/{customer_id=*}/extensionFeedItems:mutate" +======== + post: "/v15/customers/{customer_id=*}/extensionFeedItems:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/extension_feed_item_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/extension_feed_item_service.proto +// Request message for [ExtensionFeedItemService.MutateExtensionFeedItems][google.ads.googleads.v12.services.ExtensionFeedItemService.MutateExtensionFeedItems]. +======== +// Request message for +// [ExtensionFeedItemService.MutateExtensionFeedItems][google.ads.googleads.v15.services.ExtensionFeedItemService.MutateExtensionFeedItems]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/extension_feed_item_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/extension_feed_item_service.proto + google.ads.googleads.v12.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +======== + google.ads.googleads.v15.enums.ResponseContentTypeEnum.ResponseContentType + response_content_type = 5; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/extension_feed_item_service.proto +} + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/extension_feed_item_service.proto + google.ads.googleads.v12.resources.ExtensionFeedItem create = 1; + + // Update operation: The extension feed item is expected to have a + // valid resource name. + google.ads.googleads.v12.resources.ExtensionFeedItem update = 2; +======== + google.ads.googleads.v15.resources.ExtensionFeedItem create = 1; + + // Update operation: The extension feed item is expected to have a + // valid resource name. + google.ads.googleads.v15.resources.ExtensionFeedItem update = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/extension_feed_item_service.proto + + // 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". +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/extension_feed_item_service.proto + google.ads.googleads.v12.resources.ExtensionFeedItem extension_feed_item = 2; +======== + google.ads.googleads.v15.resources.ExtensionFeedItem extension_feed_item = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/extension_feed_item_service.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v15/services/feed_item_service.proto b/third_party/googleapis/google/ads/googleads/v15/services/feed_item_service.proto new file mode 100644 index 000000000..6748f6980 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/services/feed_item_service.proto @@ -0,0 +1,197 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/feed_item_service.proto +package google.ads.googleads.v12.services; + +import "google/ads/googleads/v12/enums/response_content_type.proto"; +import "google/ads/googleads/v12/resources/feed_item.proto"; +======== +package google.ads.googleads.v15.services; + +import "google/ads/googleads/v15/enums/response_content_type.proto"; +import "google/ads/googleads/v15/resources/feed_item.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/feed_item_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/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/feed_item_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/services;services"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemServiceProto"; +option java_package = "com.google.ads.googleads.v12.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V12::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/services;services"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemServiceProto"; +option java_package = "com.google.ads.googleads.v15.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V15::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/feed_item_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/feed_item_service.proto + post: "/v12/customers/{customer_id=*}/feedItems:mutate" +======== + post: "/v15/customers/{customer_id=*}/feedItems:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/feed_item_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/feed_item_service.proto +// Request message for [FeedItemService.MutateFeedItems][google.ads.googleads.v12.services.FeedItemService.MutateFeedItems]. +======== +// Request message for +// [FeedItemService.MutateFeedItems][google.ads.googleads.v15.services.FeedItemService.MutateFeedItems]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/feed_item_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/feed_item_service.proto + google.ads.googleads.v12.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +======== + google.ads.googleads.v15.enums.ResponseContentTypeEnum.ResponseContentType + response_content_type = 5; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/feed_item_service.proto +} + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/feed_item_service.proto + google.ads.googleads.v12.resources.FeedItem create = 1; + + // Update operation: The feed item is expected to have a valid resource + // name. + google.ads.googleads.v12.resources.FeedItem update = 2; +======== + google.ads.googleads.v15.resources.FeedItem create = 1; + + // Update operation: The feed item is expected to have a valid resource + // name. + google.ads.googleads.v15.resources.FeedItem update = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/feed_item_service.proto + + // 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". +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/feed_item_service.proto + google.ads.googleads.v12.resources.FeedItem feed_item = 2; +======== + google.ads.googleads.v15.resources.FeedItem feed_item = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/feed_item_service.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v15/services/feed_item_set_link_service.proto b/third_party/googleapis/google/ads/googleads/v15/services/feed_item_set_link_service.proto new file mode 100644 index 000000000..86f072f30 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/services/feed_item_set_link_service.proto @@ -0,0 +1,149 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/feed_item_set_link_service.proto +package google.ads.googleads.v12.services; + +import "google/ads/googleads/v12/resources/feed_item_set_link.proto"; +======== +package google.ads.googleads.v15.services; + +import "google/ads/googleads/v15/resources/feed_item_set_link.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/feed_item_set_link_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/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/feed_item_set_link_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/services;services"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemSetLinkServiceProto"; +option java_package = "com.google.ads.googleads.v12.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V12::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/services;services"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemSetLinkServiceProto"; +option java_package = "com.google.ads.googleads.v15.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V15::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/feed_item_set_link_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/feed_item_set_link_service.proto + post: "/v12/customers/{customer_id=*}/feedItemSetLinks:mutate" +======== + post: "/v15/customers/{customer_id=*}/feedItemSetLinks:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/feed_item_set_link_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/feed_item_set_link_service.proto +// Request message for [FeedItemSetLinkService.MutateFeedItemSetLinks][google.ads.googleads.v12.services.FeedItemSetLinkService.MutateFeedItemSetLinks]. +======== +// Request message for +// [FeedItemSetLinkService.MutateFeedItemSetLinks][google.ads.googleads.v15.services.FeedItemSetLinkService.MutateFeedItemSetLinks]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/feed_item_set_link_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/feed_item_set_link_service.proto + google.ads.googleads.v12.resources.FeedItemSetLink create = 1; +======== + google.ads.googleads.v15.resources.FeedItemSetLink create = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/feed_item_set_link_service.proto + + // 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/v15/services/feed_item_set_service.proto b/third_party/googleapis/google/ads/googleads/v15/services/feed_item_set_service.proto new file mode 100644 index 000000000..aa586c118 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/services/feed_item_set_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/feed_item_set_service.proto +package google.ads.googleads.v12.services; + +import "google/ads/googleads/v12/resources/feed_item_set.proto"; +======== +package google.ads.googleads.v15.services; + +import "google/ads/googleads/v15/resources/feed_item_set.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/feed_item_set_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/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/feed_item_set_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/services;services"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemSetServiceProto"; +option java_package = "com.google.ads.googleads.v12.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V12::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/services;services"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemSetServiceProto"; +option java_package = "com.google.ads.googleads.v15.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V15::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/feed_item_set_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/feed_item_set_service.proto + post: "/v12/customers/{customer_id=*}/feedItemSets:mutate" +======== + post: "/v15/customers/{customer_id=*}/feedItemSets:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/feed_item_set_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/feed_item_set_service.proto +// Request message for [FeedItemSetService.MutateFeedItemSets][google.ads.googleads.v12.services.FeedItemSetService.MutateFeedItemSets]. +======== +// Request message for +// [FeedItemSetService.MutateFeedItemSets][google.ads.googleads.v15.services.FeedItemSetService.MutateFeedItemSets]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/feed_item_set_service.proto +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 +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/feed_item_set_service.proto + google.ads.googleads.v12.resources.FeedItemSet create = 1; + + // Update operation: The feed item set is expected to have a valid resource + // name. + google.ads.googleads.v12.resources.FeedItemSet update = 2; +======== + google.ads.googleads.v15.resources.FeedItemSet create = 1; + + // Update operation: The feed item set is expected to have a valid resource + // name. + google.ads.googleads.v15.resources.FeedItemSet update = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/feed_item_set_service.proto + + // 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/v15/services/feed_item_target_service.proto b/third_party/googleapis/google/ads/googleads/v15/services/feed_item_target_service.proto new file mode 100644 index 000000000..5ce0f9749 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/services/feed_item_target_service.proto @@ -0,0 +1,182 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/feed_item_target_service.proto +package google.ads.googleads.v12.services; + +import "google/ads/googleads/v12/enums/response_content_type.proto"; +import "google/ads/googleads/v12/resources/feed_item_target.proto"; +======== +package google.ads.googleads.v15.services; + +import "google/ads/googleads/v15/enums/response_content_type.proto"; +import "google/ads/googleads/v15/resources/feed_item_target.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/feed_item_target_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/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/feed_item_target_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/services;services"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemTargetServiceProto"; +option java_package = "com.google.ads.googleads.v12.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V12::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/services;services"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemTargetServiceProto"; +option java_package = "com.google.ads.googleads.v15.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V15::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/feed_item_target_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/feed_item_target_service.proto + post: "/v12/customers/{customer_id=*}/feedItemTargets:mutate" +======== + post: "/v15/customers/{customer_id=*}/feedItemTargets:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/feed_item_target_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/feed_item_target_service.proto +// Request message for [FeedItemTargetService.MutateFeedItemTargets][google.ads.googleads.v12.services.FeedItemTargetService.MutateFeedItemTargets]. +======== +// Request message for +// [FeedItemTargetService.MutateFeedItemTargets][google.ads.googleads.v15.services.FeedItemTargetService.MutateFeedItemTargets]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/feed_item_target_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/feed_item_target_service.proto + google.ads.googleads.v12.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +======== + google.ads.googleads.v15.enums.ResponseContentTypeEnum.ResponseContentType + response_content_type = 5; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/feed_item_target_service.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/feed_item_target_service.proto + google.ads.googleads.v12.resources.FeedItemTarget create = 1; +======== + google.ads.googleads.v15.resources.FeedItemTarget create = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/feed_item_target_service.proto + + // 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". +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/feed_item_target_service.proto + google.ads.googleads.v12.resources.FeedItemTarget feed_item_target = 2; +======== + google.ads.googleads.v15.resources.FeedItemTarget feed_item_target = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/feed_item_target_service.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v15/services/feed_mapping_service.proto b/third_party/googleapis/google/ads/googleads/v15/services/feed_mapping_service.proto new file mode 100644 index 000000000..5933e8064 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/services/feed_mapping_service.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/feed_mapping_service.proto +package google.ads.googleads.v12.services; + +import "google/ads/googleads/v12/enums/response_content_type.proto"; +import "google/ads/googleads/v12/resources/feed_mapping.proto"; +======== +package google.ads.googleads.v15.services; + +import "google/ads/googleads/v15/enums/response_content_type.proto"; +import "google/ads/googleads/v15/resources/feed_mapping.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/feed_mapping_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/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/feed_mapping_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/services;services"; +option java_multiple_files = true; +option java_outer_classname = "FeedMappingServiceProto"; +option java_package = "com.google.ads.googleads.v12.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V12::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/services;services"; +option java_multiple_files = true; +option java_outer_classname = "FeedMappingServiceProto"; +option java_package = "com.google.ads.googleads.v15.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V15::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/feed_mapping_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/feed_mapping_service.proto + post: "/v12/customers/{customer_id=*}/feedMappings:mutate" +======== + post: "/v15/customers/{customer_id=*}/feedMappings:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/feed_mapping_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/feed_mapping_service.proto +// Request message for [FeedMappingService.MutateFeedMappings][google.ads.googleads.v12.services.FeedMappingService.MutateFeedMappings]. +======== +// Request message for +// [FeedMappingService.MutateFeedMappings][google.ads.googleads.v15.services.FeedMappingService.MutateFeedMappings]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/feed_mapping_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/feed_mapping_service.proto + google.ads.googleads.v12.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +======== + google.ads.googleads.v15.enums.ResponseContentTypeEnum.ResponseContentType + response_content_type = 5; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/feed_mapping_service.proto +} + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/feed_mapping_service.proto + google.ads.googleads.v12.resources.FeedMapping create = 1; +======== + google.ads.googleads.v15.resources.FeedMapping create = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/feed_mapping_service.proto + + // 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". +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/feed_mapping_service.proto + google.ads.googleads.v12.resources.FeedMapping feed_mapping = 2; +======== + google.ads.googleads.v15.resources.FeedMapping feed_mapping = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/feed_mapping_service.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v15/services/feed_service.proto b/third_party/googleapis/google/ads/googleads/v15/services/feed_service.proto new file mode 100644 index 000000000..82538a20a --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/services/feed_service.proto @@ -0,0 +1,195 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/feed_service.proto +package google.ads.googleads.v12.services; + +import "google/ads/googleads/v12/enums/response_content_type.proto"; +import "google/ads/googleads/v12/resources/feed.proto"; +======== +package google.ads.googleads.v15.services; + +import "google/ads/googleads/v15/enums/response_content_type.proto"; +import "google/ads/googleads/v15/resources/feed.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/feed_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/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/feed_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/services;services"; +option java_multiple_files = true; +option java_outer_classname = "FeedServiceProto"; +option java_package = "com.google.ads.googleads.v12.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V12::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/services;services"; +option java_multiple_files = true; +option java_outer_classname = "FeedServiceProto"; +option java_package = "com.google.ads.googleads.v15.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V15::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/feed_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/feed_service.proto + post: "/v12/customers/{customer_id=*}/feeds:mutate" +======== + post: "/v15/customers/{customer_id=*}/feeds:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/feed_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/feed_service.proto +// Request message for [FeedService.MutateFeeds][google.ads.googleads.v12.services.FeedService.MutateFeeds]. +======== +// Request message for +// [FeedService.MutateFeeds][google.ads.googleads.v15.services.FeedService.MutateFeeds]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/feed_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/feed_service.proto + google.ads.googleads.v12.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +======== + google.ads.googleads.v15.enums.ResponseContentTypeEnum.ResponseContentType + response_content_type = 5; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/feed_service.proto +} + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/feed_service.proto + google.ads.googleads.v12.resources.Feed create = 1; + + // Update operation: The feed is expected to have a valid resource + // name. + google.ads.googleads.v12.resources.Feed update = 2; +======== + google.ads.googleads.v15.resources.Feed create = 1; + + // Update operation: The feed is expected to have a valid resource + // name. + google.ads.googleads.v15.resources.Feed update = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/feed_service.proto + + // 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". +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/feed_service.proto + google.ads.googleads.v12.resources.Feed feed = 2; +======== + google.ads.googleads.v15.resources.Feed feed = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/feed_service.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v15/services/geo_target_constant_service.proto b/third_party/googleapis/google/ads/googleads/v15/services/geo_target_constant_service.proto new file mode 100644 index 000000000..bcae1de45 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/services/geo_target_constant_service.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/geo_target_constant_service.proto +package google.ads.googleads.v12.services; + +import "google/ads/googleads/v12/resources/geo_target_constant.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/services;services"; +option java_multiple_files = true; +option java_outer_classname = "GeoTargetConstantServiceProto"; +option java_package = "com.google.ads.googleads.v12.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V12::Services"; +======== +package google.ads.googleads.v15.services; + +import "google/ads/googleads/v15/resources/geo_target_constant.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/services;services"; +option java_multiple_files = true; +option java_outer_classname = "GeoTargetConstantServiceProto"; +option java_package = "com.google.ads.googleads.v15.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V15::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/geo_target_constant_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/geo_target_constant_service.proto + post: "/v12/geoTargetConstants:suggest" +======== + post: "/v15/geoTargetConstants:suggest" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/geo_target_constant_service.proto + body: "*" + }; + } +} + +// Request message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/geo_target_constant_service.proto +// [GeoTargetConstantService.SuggestGeoTargetConstants][google.ads.googleads.v12.services.GeoTargetConstantService.SuggestGeoTargetConstants]. +======== +// [GeoTargetConstantService.SuggestGeoTargetConstants][google.ads.googleads.v15.services.GeoTargetConstantService.SuggestGeoTargetConstants]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/geo_target_constant_service.proto +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; + } +} + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/geo_target_constant_service.proto +// Response message for [GeoTargetConstantService.SuggestGeoTargetConstants][google.ads.googleads.v12.services.GeoTargetConstantService.SuggestGeoTargetConstants]. +======== +// Response message for +// [GeoTargetConstantService.SuggestGeoTargetConstants][google.ads.googleads.v15.services.GeoTargetConstantService.SuggestGeoTargetConstants]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/geo_target_constant_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/geo_target_constant_service.proto + google.ads.googleads.v12.resources.GeoTargetConstant geo_target_constant = 4; + + // The list of parents of the geo target constant. + repeated google.ads.googleads.v12.resources.GeoTargetConstant geo_target_constant_parents = 5; +======== + google.ads.googleads.v15.resources.GeoTargetConstant geo_target_constant = 4; + + // The list of parents of the geo target constant. + repeated google.ads.googleads.v15.resources.GeoTargetConstant + geo_target_constant_parents = 5; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/geo_target_constant_service.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v15/services/google_ads_field_service.proto b/third_party/googleapis/google/ads/googleads/v15/services/google_ads_field_service.proto new file mode 100644 index 000000000..578b907b8 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/services/google_ads_field_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/google_ads_field_service.proto +package google.ads.googleads.v12.services; + +import "google/ads/googleads/v12/resources/google_ads_field.proto"; +======== +package google.ads.googleads.v15.services; + +import "google/ads/googleads/v15/resources/google_ads_field.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/google_ads_field_service.proto +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/google_ads_field_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/services;services"; +option java_multiple_files = true; +option java_outer_classname = "GoogleAdsFieldServiceProto"; +option java_package = "com.google.ads.googleads.v12.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V12::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/services;services"; +option java_multiple_files = true; +option java_outer_classname = "GoogleAdsFieldServiceProto"; +option java_package = "com.google.ads.googleads.v15.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V15::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/google_ads_field_service.proto + +// 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]() +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/google_ads_field_service.proto + rpc GetGoogleAdsField(GetGoogleAdsFieldRequest) returns (google.ads.googleads.v12.resources.GoogleAdsField) { + option (google.api.http) = { + get: "/v12/{resource_name=googleAdsFields/*}" +======== + rpc GetGoogleAdsField(GetGoogleAdsFieldRequest) + returns (google.ads.googleads.v15.resources.GoogleAdsField) { + option (google.api.http) = { + get: "/v15/{resource_name=googleAdsFields/*}" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/google_ads_field_service.proto + }; + 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/google_ads_field_service.proto + post: "/v12/googleAdsFields:search" +======== + post: "/v15/googleAdsFields:search" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/google_ads_field_service.proto + body: "*" + }; + option (google.api.method_signature) = "query"; + } +} + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/google_ads_field_service.proto +// Request message for [GoogleAdsFieldService.GetGoogleAdsField][google.ads.googleads.v12.services.GoogleAdsFieldService.GetGoogleAdsField]. +======== +// Request message for +// [GoogleAdsFieldService.GetGoogleAdsField][google.ads.googleads.v15.services.GoogleAdsFieldService.GetGoogleAdsField]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/google_ads_field_service.proto +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" + } + ]; +} + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/google_ads_field_service.proto +// Request message for [GoogleAdsFieldService.SearchGoogleAdsFields][google.ads.googleads.v12.services.GoogleAdsFieldService.SearchGoogleAdsFields]. +======== +// Request message for +// [GoogleAdsFieldService.SearchGoogleAdsFields][google.ads.googleads.v15.services.GoogleAdsFieldService.SearchGoogleAdsFields]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/google_ads_field_service.proto +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; +} + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/google_ads_field_service.proto +// Response message for [GoogleAdsFieldService.SearchGoogleAdsFields][google.ads.googleads.v12.services.GoogleAdsFieldService.SearchGoogleAdsFields]. +message SearchGoogleAdsFieldsResponse { + // The list of fields that matched the query. + repeated google.ads.googleads.v12.resources.GoogleAdsField results = 1; +======== +// Response message for +// [GoogleAdsFieldService.SearchGoogleAdsFields][google.ads.googleads.v15.services.GoogleAdsFieldService.SearchGoogleAdsFields]. +message SearchGoogleAdsFieldsResponse { + // The list of fields that matched the query. + repeated google.ads.googleads.v15.resources.GoogleAdsField results = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/google_ads_field_service.proto + + // 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/v15/services/google_ads_service.proto b/third_party/googleapis/google/ads/googleads/v15/services/google_ads_service.proto new file mode 100644 index 000000000..a7796f9a7 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/services/google_ads_service.proto @@ -0,0 +1,1676 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.ads.googleads.v15.services; + +import "google/ads/googleads/v15/common/metrics.proto"; +import "google/ads/googleads/v15/common/segments.proto"; +import "google/ads/googleads/v15/enums/response_content_type.proto"; +import "google/ads/googleads/v15/enums/summary_row_setting.proto"; +import "google/ads/googleads/v15/resources/accessible_bidding_strategy.proto"; +import "google/ads/googleads/v15/resources/account_budget.proto"; +import "google/ads/googleads/v15/resources/account_budget_proposal.proto"; +import "google/ads/googleads/v15/resources/account_link.proto"; +import "google/ads/googleads/v15/resources/ad_group.proto"; +import "google/ads/googleads/v15/resources/ad_group_ad.proto"; +import "google/ads/googleads/v15/resources/ad_group_ad_asset_combination_view.proto"; +import "google/ads/googleads/v15/resources/ad_group_ad_asset_view.proto"; +import "google/ads/googleads/v15/resources/ad_group_ad_label.proto"; +import "google/ads/googleads/v15/resources/ad_group_asset.proto"; +import "google/ads/googleads/v15/resources/ad_group_asset_set.proto"; +import "google/ads/googleads/v15/resources/ad_group_audience_view.proto"; +import "google/ads/googleads/v15/resources/ad_group_bid_modifier.proto"; +import "google/ads/googleads/v15/resources/ad_group_criterion.proto"; +import "google/ads/googleads/v15/resources/ad_group_criterion_customizer.proto"; +import "google/ads/googleads/v15/resources/ad_group_criterion_label.proto"; +import "google/ads/googleads/v15/resources/ad_group_criterion_simulation.proto"; +import "google/ads/googleads/v15/resources/ad_group_customizer.proto"; +import "google/ads/googleads/v15/resources/ad_group_extension_setting.proto"; +import "google/ads/googleads/v15/resources/ad_group_feed.proto"; +import "google/ads/googleads/v15/resources/ad_group_label.proto"; +import "google/ads/googleads/v15/resources/ad_group_simulation.proto"; +import "google/ads/googleads/v15/resources/ad_parameter.proto"; +import "google/ads/googleads/v15/resources/ad_schedule_view.proto"; +import "google/ads/googleads/v15/resources/age_range_view.proto"; +import "google/ads/googleads/v15/resources/android_privacy_shared_key_google_ad_group.proto"; +import "google/ads/googleads/v15/resources/android_privacy_shared_key_google_campaign.proto"; +import "google/ads/googleads/v15/resources/android_privacy_shared_key_google_network_type.proto"; +import "google/ads/googleads/v15/resources/asset.proto"; +import "google/ads/googleads/v15/resources/asset_field_type_view.proto"; +import "google/ads/googleads/v15/resources/asset_group.proto"; +import "google/ads/googleads/v15/resources/asset_group_asset.proto"; +import "google/ads/googleads/v15/resources/asset_group_listing_group_filter.proto"; +import "google/ads/googleads/v15/resources/asset_group_product_group_view.proto"; +import "google/ads/googleads/v15/resources/asset_group_signal.proto"; +import "google/ads/googleads/v15/resources/asset_group_top_combination_view.proto"; +import "google/ads/googleads/v15/resources/asset_set.proto"; +import "google/ads/googleads/v15/resources/asset_set_asset.proto"; +import "google/ads/googleads/v15/resources/asset_set_type_view.proto"; +import "google/ads/googleads/v15/resources/audience.proto"; +import "google/ads/googleads/v15/resources/batch_job.proto"; +import "google/ads/googleads/v15/resources/bidding_data_exclusion.proto"; +import "google/ads/googleads/v15/resources/bidding_seasonality_adjustment.proto"; +import "google/ads/googleads/v15/resources/bidding_strategy.proto"; +import "google/ads/googleads/v15/resources/bidding_strategy_simulation.proto"; +import "google/ads/googleads/v15/resources/billing_setup.proto"; +import "google/ads/googleads/v15/resources/call_view.proto"; +import "google/ads/googleads/v15/resources/campaign.proto"; +import "google/ads/googleads/v15/resources/campaign_asset.proto"; +import "google/ads/googleads/v15/resources/campaign_asset_set.proto"; +import "google/ads/googleads/v15/resources/campaign_audience_view.proto"; +import "google/ads/googleads/v15/resources/campaign_bid_modifier.proto"; +import "google/ads/googleads/v15/resources/campaign_budget.proto"; +import "google/ads/googleads/v15/resources/campaign_conversion_goal.proto"; +import "google/ads/googleads/v15/resources/campaign_criterion.proto"; +import "google/ads/googleads/v15/resources/campaign_customizer.proto"; +import "google/ads/googleads/v15/resources/campaign_draft.proto"; +import "google/ads/googleads/v15/resources/campaign_extension_setting.proto"; +import "google/ads/googleads/v15/resources/campaign_feed.proto"; +import "google/ads/googleads/v15/resources/campaign_group.proto"; +import "google/ads/googleads/v15/resources/campaign_label.proto"; +import "google/ads/googleads/v15/resources/campaign_lifecycle_goal.proto"; +import "google/ads/googleads/v15/resources/campaign_search_term_insight.proto"; +import "google/ads/googleads/v15/resources/campaign_shared_set.proto"; +import "google/ads/googleads/v15/resources/campaign_simulation.proto"; +import "google/ads/googleads/v15/resources/carrier_constant.proto"; +import "google/ads/googleads/v15/resources/change_event.proto"; +import "google/ads/googleads/v15/resources/change_status.proto"; +import "google/ads/googleads/v15/resources/click_view.proto"; +import "google/ads/googleads/v15/resources/combined_audience.proto"; +import "google/ads/googleads/v15/resources/conversion_action.proto"; +import "google/ads/googleads/v15/resources/conversion_custom_variable.proto"; +import "google/ads/googleads/v15/resources/conversion_goal_campaign_config.proto"; +import "google/ads/googleads/v15/resources/conversion_value_rule.proto"; +import "google/ads/googleads/v15/resources/conversion_value_rule_set.proto"; +import "google/ads/googleads/v15/resources/currency_constant.proto"; +import "google/ads/googleads/v15/resources/custom_audience.proto"; +import "google/ads/googleads/v15/resources/custom_conversion_goal.proto"; +import "google/ads/googleads/v15/resources/custom_interest.proto"; +import "google/ads/googleads/v15/resources/customer.proto"; +import "google/ads/googleads/v15/resources/customer_asset.proto"; +import "google/ads/googleads/v15/resources/customer_asset_set.proto"; +import "google/ads/googleads/v15/resources/customer_client.proto"; +import "google/ads/googleads/v15/resources/customer_client_link.proto"; +import "google/ads/googleads/v15/resources/customer_conversion_goal.proto"; +import "google/ads/googleads/v15/resources/customer_customizer.proto"; +import "google/ads/googleads/v15/resources/customer_extension_setting.proto"; +import "google/ads/googleads/v15/resources/customer_feed.proto"; +import "google/ads/googleads/v15/resources/customer_label.proto"; +import "google/ads/googleads/v15/resources/customer_lifecycle_goal.proto"; +import "google/ads/googleads/v15/resources/customer_manager_link.proto"; +import "google/ads/googleads/v15/resources/customer_negative_criterion.proto"; +import "google/ads/googleads/v15/resources/customer_search_term_insight.proto"; +import "google/ads/googleads/v15/resources/customer_user_access.proto"; +import "google/ads/googleads/v15/resources/customer_user_access_invitation.proto"; +import "google/ads/googleads/v15/resources/customizer_attribute.proto"; +import "google/ads/googleads/v15/resources/detail_placement_view.proto"; +import "google/ads/googleads/v15/resources/detailed_demographic.proto"; +import "google/ads/googleads/v15/resources/display_keyword_view.proto"; +import "google/ads/googleads/v15/resources/distance_view.proto"; +import "google/ads/googleads/v15/resources/domain_category.proto"; +import "google/ads/googleads/v15/resources/dynamic_search_ads_search_term_view.proto"; +import "google/ads/googleads/v15/resources/expanded_landing_page_view.proto"; +import "google/ads/googleads/v15/resources/experiment.proto"; +import "google/ads/googleads/v15/resources/experiment_arm.proto"; +import "google/ads/googleads/v15/resources/extension_feed_item.proto"; +import "google/ads/googleads/v15/resources/feed.proto"; +import "google/ads/googleads/v15/resources/feed_item.proto"; +import "google/ads/googleads/v15/resources/feed_item_set.proto"; +import "google/ads/googleads/v15/resources/feed_item_set_link.proto"; +import "google/ads/googleads/v15/resources/feed_item_target.proto"; +import "google/ads/googleads/v15/resources/feed_mapping.proto"; +import "google/ads/googleads/v15/resources/feed_placeholder_view.proto"; +import "google/ads/googleads/v15/resources/gender_view.proto"; +import "google/ads/googleads/v15/resources/geo_target_constant.proto"; +import "google/ads/googleads/v15/resources/geographic_view.proto"; +import "google/ads/googleads/v15/resources/group_placement_view.proto"; +import "google/ads/googleads/v15/resources/hotel_group_view.proto"; +import "google/ads/googleads/v15/resources/hotel_performance_view.proto"; +import "google/ads/googleads/v15/resources/hotel_reconciliation.proto"; +import "google/ads/googleads/v15/resources/income_range_view.proto"; +import "google/ads/googleads/v15/resources/keyword_plan.proto"; +import "google/ads/googleads/v15/resources/keyword_plan_ad_group.proto"; +import "google/ads/googleads/v15/resources/keyword_plan_ad_group_keyword.proto"; +import "google/ads/googleads/v15/resources/keyword_plan_campaign.proto"; +import "google/ads/googleads/v15/resources/keyword_plan_campaign_keyword.proto"; +import "google/ads/googleads/v15/resources/keyword_theme_constant.proto"; +import "google/ads/googleads/v15/resources/keyword_view.proto"; +import "google/ads/googleads/v15/resources/label.proto"; +import "google/ads/googleads/v15/resources/landing_page_view.proto"; +import "google/ads/googleads/v15/resources/language_constant.proto"; +import "google/ads/googleads/v15/resources/lead_form_submission_data.proto"; +import "google/ads/googleads/v15/resources/life_event.proto"; +import "google/ads/googleads/v15/resources/local_services_lead.proto"; +import "google/ads/googleads/v15/resources/local_services_lead_conversation.proto"; +import "google/ads/googleads/v15/resources/local_services_verification_artifact.proto"; +import "google/ads/googleads/v15/resources/location_view.proto"; +import "google/ads/googleads/v15/resources/managed_placement_view.proto"; +import "google/ads/googleads/v15/resources/media_file.proto"; +import "google/ads/googleads/v15/resources/mobile_app_category_constant.proto"; +import "google/ads/googleads/v15/resources/mobile_device_constant.proto"; +import "google/ads/googleads/v15/resources/offline_conversion_upload_client_summary.proto"; +import "google/ads/googleads/v15/resources/offline_user_data_job.proto"; +import "google/ads/googleads/v15/resources/operating_system_version_constant.proto"; +import "google/ads/googleads/v15/resources/paid_organic_search_term_view.proto"; +import "google/ads/googleads/v15/resources/parental_status_view.proto"; +import "google/ads/googleads/v15/resources/per_store_view.proto"; +import "google/ads/googleads/v15/resources/product_category_constant.proto"; +import "google/ads/googleads/v15/resources/product_group_view.proto"; +import "google/ads/googleads/v15/resources/product_link.proto"; +import "google/ads/googleads/v15/resources/product_link_invitation.proto"; +import "google/ads/googleads/v15/resources/qualifying_question.proto"; +import "google/ads/googleads/v15/resources/recommendation.proto"; +import "google/ads/googleads/v15/resources/recommendation_subscription.proto"; +import "google/ads/googleads/v15/resources/remarketing_action.proto"; +import "google/ads/googleads/v15/resources/search_term_view.proto"; +import "google/ads/googleads/v15/resources/shared_criterion.proto"; +import "google/ads/googleads/v15/resources/shared_set.proto"; +import "google/ads/googleads/v15/resources/shopping_performance_view.proto"; +import "google/ads/googleads/v15/resources/smart_campaign_search_term_view.proto"; +import "google/ads/googleads/v15/resources/smart_campaign_setting.proto"; +import "google/ads/googleads/v15/resources/third_party_app_analytics_link.proto"; +import "google/ads/googleads/v15/resources/topic_constant.proto"; +import "google/ads/googleads/v15/resources/topic_view.proto"; +import "google/ads/googleads/v15/resources/travel_activity_group_view.proto"; +import "google/ads/googleads/v15/resources/travel_activity_performance_view.proto"; +import "google/ads/googleads/v15/resources/user_interest.proto"; +import "google/ads/googleads/v15/resources/user_list.proto"; +import "google/ads/googleads/v15/resources/user_location_view.proto"; +import "google/ads/googleads/v15/resources/video.proto"; +import "google/ads/googleads/v15/resources/webpage_view.proto"; +import "google/ads/googleads/v15/services/ad_group_ad_label_service.proto"; +import "google/ads/googleads/v15/services/ad_group_ad_service.proto"; +import "google/ads/googleads/v15/services/ad_group_asset_service.proto"; +import "google/ads/googleads/v15/services/ad_group_bid_modifier_service.proto"; +import "google/ads/googleads/v15/services/ad_group_criterion_customizer_service.proto"; +import "google/ads/googleads/v15/services/ad_group_criterion_label_service.proto"; +import "google/ads/googleads/v15/services/ad_group_criterion_service.proto"; +import "google/ads/googleads/v15/services/ad_group_customizer_service.proto"; +import "google/ads/googleads/v15/services/ad_group_extension_setting_service.proto"; +import "google/ads/googleads/v15/services/ad_group_feed_service.proto"; +import "google/ads/googleads/v15/services/ad_group_label_service.proto"; +import "google/ads/googleads/v15/services/ad_group_service.proto"; +import "google/ads/googleads/v15/services/ad_parameter_service.proto"; +import "google/ads/googleads/v15/services/ad_service.proto"; +import "google/ads/googleads/v15/services/asset_group_asset_service.proto"; +import "google/ads/googleads/v15/services/asset_group_listing_group_filter_service.proto"; +import "google/ads/googleads/v15/services/asset_group_service.proto"; +import "google/ads/googleads/v15/services/asset_group_signal_service.proto"; +import "google/ads/googleads/v15/services/asset_service.proto"; +import "google/ads/googleads/v15/services/asset_set_asset_service.proto"; +import "google/ads/googleads/v15/services/asset_set_service.proto"; +import "google/ads/googleads/v15/services/audience_service.proto"; +import "google/ads/googleads/v15/services/bidding_data_exclusion_service.proto"; +import "google/ads/googleads/v15/services/bidding_seasonality_adjustment_service.proto"; +import "google/ads/googleads/v15/services/bidding_strategy_service.proto"; +import "google/ads/googleads/v15/services/campaign_asset_service.proto"; +import "google/ads/googleads/v15/services/campaign_asset_set_service.proto"; +import "google/ads/googleads/v15/services/campaign_bid_modifier_service.proto"; +import "google/ads/googleads/v15/services/campaign_budget_service.proto"; +import "google/ads/googleads/v15/services/campaign_conversion_goal_service.proto"; +import "google/ads/googleads/v15/services/campaign_criterion_service.proto"; +import "google/ads/googleads/v15/services/campaign_customizer_service.proto"; +import "google/ads/googleads/v15/services/campaign_draft_service.proto"; +import "google/ads/googleads/v15/services/campaign_extension_setting_service.proto"; +import "google/ads/googleads/v15/services/campaign_feed_service.proto"; +import "google/ads/googleads/v15/services/campaign_group_service.proto"; +import "google/ads/googleads/v15/services/campaign_label_service.proto"; +import "google/ads/googleads/v15/services/campaign_service.proto"; +import "google/ads/googleads/v15/services/campaign_shared_set_service.proto"; +import "google/ads/googleads/v15/services/conversion_action_service.proto"; +import "google/ads/googleads/v15/services/conversion_custom_variable_service.proto"; +import "google/ads/googleads/v15/services/conversion_goal_campaign_config_service.proto"; +import "google/ads/googleads/v15/services/conversion_value_rule_service.proto"; +import "google/ads/googleads/v15/services/conversion_value_rule_set_service.proto"; +import "google/ads/googleads/v15/services/custom_conversion_goal_service.proto"; +import "google/ads/googleads/v15/services/customer_asset_service.proto"; +import "google/ads/googleads/v15/services/customer_conversion_goal_service.proto"; +import "google/ads/googleads/v15/services/customer_customizer_service.proto"; +import "google/ads/googleads/v15/services/customer_extension_setting_service.proto"; +import "google/ads/googleads/v15/services/customer_feed_service.proto"; +import "google/ads/googleads/v15/services/customer_label_service.proto"; +import "google/ads/googleads/v15/services/customer_negative_criterion_service.proto"; +import "google/ads/googleads/v15/services/customer_service.proto"; +import "google/ads/googleads/v15/services/customizer_attribute_service.proto"; +import "google/ads/googleads/v15/services/experiment_arm_service.proto"; +import "google/ads/googleads/v15/services/experiment_service.proto"; +import "google/ads/googleads/v15/services/extension_feed_item_service.proto"; +import "google/ads/googleads/v15/services/feed_item_service.proto"; +import "google/ads/googleads/v15/services/feed_item_set_link_service.proto"; +import "google/ads/googleads/v15/services/feed_item_set_service.proto"; +import "google/ads/googleads/v15/services/feed_item_target_service.proto"; +import "google/ads/googleads/v15/services/feed_mapping_service.proto"; +import "google/ads/googleads/v15/services/feed_service.proto"; +import "google/ads/googleads/v15/services/keyword_plan_ad_group_keyword_service.proto"; +import "google/ads/googleads/v15/services/keyword_plan_ad_group_service.proto"; +import "google/ads/googleads/v15/services/keyword_plan_campaign_keyword_service.proto"; +import "google/ads/googleads/v15/services/keyword_plan_campaign_service.proto"; +import "google/ads/googleads/v15/services/keyword_plan_service.proto"; +import "google/ads/googleads/v15/services/label_service.proto"; +import "google/ads/googleads/v15/services/recommendation_subscription_service.proto"; +import "google/ads/googleads/v15/services/remarketing_action_service.proto"; +import "google/ads/googleads/v15/services/shared_criterion_service.proto"; +import "google/ads/googleads/v15/services/shared_set_service.proto"; +import "google/ads/googleads/v15/services/smart_campaign_setting_service.proto"; +import "google/ads/googleads/v15/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.V15.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/services;services"; +option java_multiple_files = true; +option java_outer_classname = "GoogleAdsServiceProto"; +option java_package = "com.google.ads.googleads.v15.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V15::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: "/v15/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: "/v15/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: "/v15/customers/{customer_id=*}/googleAds:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,mutate_operations"; + } +} + +// Request message for +// [GoogleAdsService.Search][google.ads.googleads.v15.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.v15.enums.SummaryRowSettingEnum.SummaryRowSetting + summary_row_setting = 8; +} + +// Response message for +// [GoogleAdsService.Search][google.ads.googleads.v15.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.v15.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.v15.enums.SummaryRowSettingEnum.SummaryRowSetting + summary_row_setting = 3; +} + +// Response message for +// [GoogleAdsService.SearchStream][google.ads.googleads.v15.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. + int64 query_resource_consumption = 6; +} + +// A returned row from the query. +message GoogleAdsRow { + // The account budget in the query. + google.ads.googleads.v15.resources.AccountBudget account_budget = 42; + + // The account budget proposal referenced in the query. + google.ads.googleads.v15.resources.AccountBudgetProposal + account_budget_proposal = 43; + + // The AccountLink referenced in the query. + google.ads.googleads.v15.resources.AccountLink account_link = 143; + + // The ad group referenced in the query. + google.ads.googleads.v15.resources.AdGroup ad_group = 3; + + // The ad referenced in the query. + google.ads.googleads.v15.resources.AdGroupAd ad_group_ad = 16; + + // The ad group ad asset combination view in the query. + google.ads.googleads.v15.resources.AdGroupAdAssetCombinationView + ad_group_ad_asset_combination_view = 193; + + // The ad group ad asset view in the query. + google.ads.googleads.v15.resources.AdGroupAdAssetView ad_group_ad_asset_view = + 131; + + // The ad group ad label referenced in the query. + google.ads.googleads.v15.resources.AdGroupAdLabel ad_group_ad_label = 120; + + // The ad group asset referenced in the query. + google.ads.googleads.v15.resources.AdGroupAsset ad_group_asset = 154; + + // The ad group asset set referenced in the query. + google.ads.googleads.v15.resources.AdGroupAssetSet ad_group_asset_set = 196; + + // The ad group audience view referenced in the query. + google.ads.googleads.v15.resources.AdGroupAudienceView + ad_group_audience_view = 57; + + // The bid modifier referenced in the query. + google.ads.googleads.v15.resources.AdGroupBidModifier ad_group_bid_modifier = + 24; + + // The criterion referenced in the query. + google.ads.googleads.v15.resources.AdGroupCriterion ad_group_criterion = 17; + + // The ad group criterion customizer referenced in the query. + google.ads.googleads.v15.resources.AdGroupCriterionCustomizer + ad_group_criterion_customizer = 187; + + // The ad group criterion label referenced in the query. + google.ads.googleads.v15.resources.AdGroupCriterionLabel + ad_group_criterion_label = 121; + + // The ad group criterion simulation referenced in the query. + google.ads.googleads.v15.resources.AdGroupCriterionSimulation + ad_group_criterion_simulation = 110; + + // The ad group customizer referenced in the query. + google.ads.googleads.v15.resources.AdGroupCustomizer ad_group_customizer = + 185; + + // The ad group extension setting referenced in the query. + google.ads.googleads.v15.resources.AdGroupExtensionSetting + ad_group_extension_setting = 112; + + // The ad group feed referenced in the query. + google.ads.googleads.v15.resources.AdGroupFeed ad_group_feed = 67; + + // The ad group label referenced in the query. + google.ads.googleads.v15.resources.AdGroupLabel ad_group_label = 115; + + // The ad group simulation referenced in the query. + google.ads.googleads.v15.resources.AdGroupSimulation ad_group_simulation = + 107; + + // The ad parameter referenced in the query. + google.ads.googleads.v15.resources.AdParameter ad_parameter = 130; + + // The age range view referenced in the query. + google.ads.googleads.v15.resources.AgeRangeView age_range_view = 48; + + // The ad schedule view referenced in the query. + google.ads.googleads.v15.resources.AdScheduleView ad_schedule_view = 89; + + // The domain category referenced in the query. + google.ads.googleads.v15.resources.DomainCategory domain_category = 91; + + // The asset referenced in the query. + google.ads.googleads.v15.resources.Asset asset = 105; + + // The asset field type view referenced in the query. + google.ads.googleads.v15.resources.AssetFieldTypeView asset_field_type_view = + 168; + + // The asset group asset referenced in the query. + google.ads.googleads.v15.resources.AssetGroupAsset asset_group_asset = 173; + + // The asset group signal referenced in the query. + google.ads.googleads.v15.resources.AssetGroupSignal asset_group_signal = 191; + + // The asset group listing group filter referenced in the query. + google.ads.googleads.v15.resources.AssetGroupListingGroupFilter + asset_group_listing_group_filter = 182; + + // The asset group product group view referenced in the query. + google.ads.googleads.v15.resources.AssetGroupProductGroupView + asset_group_product_group_view = 189; + + // The asset group top combination view referenced in the query. + google.ads.googleads.v15.resources.AssetGroupTopCombinationView + asset_group_top_combination_view = 199; + + // The asset group referenced in the query. + google.ads.googleads.v15.resources.AssetGroup asset_group = 172; + + // The asset set asset referenced in the query. + google.ads.googleads.v15.resources.AssetSetAsset asset_set_asset = 180; + + // The asset set referenced in the query. + google.ads.googleads.v15.resources.AssetSet asset_set = 179; + + // The asset set type view referenced in the query. + google.ads.googleads.v15.resources.AssetSetTypeView asset_set_type_view = 197; + + // The batch job referenced in the query. + google.ads.googleads.v15.resources.BatchJob batch_job = 139; + + // The bidding data exclusion referenced in the query. + google.ads.googleads.v15.resources.BiddingDataExclusion + bidding_data_exclusion = 159; + + // The bidding seasonality adjustment referenced in the query. + google.ads.googleads.v15.resources.BiddingSeasonalityAdjustment + bidding_seasonality_adjustment = 160; + + // The bidding strategy referenced in the query. + google.ads.googleads.v15.resources.BiddingStrategy bidding_strategy = 18; + + // The bidding strategy simulation referenced in the query. + google.ads.googleads.v15.resources.BiddingStrategySimulation + bidding_strategy_simulation = 158; + + // The billing setup referenced in the query. + google.ads.googleads.v15.resources.BillingSetup billing_setup = 41; + + // The call view referenced in the query. + google.ads.googleads.v15.resources.CallView call_view = 152; + + // The campaign budget referenced in the query. + google.ads.googleads.v15.resources.CampaignBudget campaign_budget = 19; + + // The campaign referenced in the query. + google.ads.googleads.v15.resources.Campaign campaign = 2; + + // The campaign asset referenced in the query. + google.ads.googleads.v15.resources.CampaignAsset campaign_asset = 142; + + // The campaign asset set referenced in the query. + google.ads.googleads.v15.resources.CampaignAssetSet campaign_asset_set = 181; + + // The campaign audience view referenced in the query. + google.ads.googleads.v15.resources.CampaignAudienceView + campaign_audience_view = 69; + + // The campaign bid modifier referenced in the query. + google.ads.googleads.v15.resources.CampaignBidModifier campaign_bid_modifier = + 26; + + // The CampaignConversionGoal referenced in the query. + google.ads.googleads.v15.resources.CampaignConversionGoal + campaign_conversion_goal = 175; + + // The campaign criterion referenced in the query. + google.ads.googleads.v15.resources.CampaignCriterion campaign_criterion = 20; + + // The campaign customizer referenced in the query. + google.ads.googleads.v15.resources.CampaignCustomizer campaign_customizer = + 186; + + // The campaign draft referenced in the query. + google.ads.googleads.v15.resources.CampaignDraft campaign_draft = 49; + + // The campaign extension setting referenced in the query. + google.ads.googleads.v15.resources.CampaignExtensionSetting + campaign_extension_setting = 113; + + // The campaign feed referenced in the query. + google.ads.googleads.v15.resources.CampaignFeed campaign_feed = 63; + + // Campaign Group referenced in AWQL query. + google.ads.googleads.v15.resources.CampaignGroup campaign_group = 25; + + // The campaign label referenced in the query. + google.ads.googleads.v15.resources.CampaignLabel campaign_label = 108; + + // The campaign lifecycle goal referenced in the query. + google.ads.googleads.v15.resources.CampaignLifecycleGoal + campaign_lifecycle_goal = 213; + + // The campaign search term insight referenced in the query. + google.ads.googleads.v15.resources.CampaignSearchTermInsight + campaign_search_term_insight = 204; + + // Campaign Shared Set referenced in AWQL query. + google.ads.googleads.v15.resources.CampaignSharedSet campaign_shared_set = 30; + + // The campaign simulation referenced in the query. + google.ads.googleads.v15.resources.CampaignSimulation campaign_simulation = + 157; + + // The carrier constant referenced in the query. + google.ads.googleads.v15.resources.CarrierConstant carrier_constant = 66; + + // The ChangeEvent referenced in the query. + google.ads.googleads.v15.resources.ChangeEvent change_event = 145; + + // The ChangeStatus referenced in the query. + google.ads.googleads.v15.resources.ChangeStatus change_status = 37; + + // The CombinedAudience referenced in the query. + google.ads.googleads.v15.resources.CombinedAudience combined_audience = 148; + + // The Audience referenced in the query. + google.ads.googleads.v15.resources.Audience audience = 190; + + // The conversion action referenced in the query. + google.ads.googleads.v15.resources.ConversionAction conversion_action = 103; + + // The conversion custom variable referenced in the query. + google.ads.googleads.v15.resources.ConversionCustomVariable + conversion_custom_variable = 153; + + // The ConversionGoalCampaignConfig referenced in the query. + google.ads.googleads.v15.resources.ConversionGoalCampaignConfig + conversion_goal_campaign_config = 177; + + // The conversion value rule referenced in the query. + google.ads.googleads.v15.resources.ConversionValueRule conversion_value_rule = + 164; + + // The conversion value rule set referenced in the query. + google.ads.googleads.v15.resources.ConversionValueRuleSet + conversion_value_rule_set = 165; + + // The ClickView referenced in the query. + google.ads.googleads.v15.resources.ClickView click_view = 122; + + // The currency constant referenced in the query. + google.ads.googleads.v15.resources.CurrencyConstant currency_constant = 134; + + // The CustomAudience referenced in the query. + google.ads.googleads.v15.resources.CustomAudience custom_audience = 147; + + // The CustomConversionGoal referenced in the query. + google.ads.googleads.v15.resources.CustomConversionGoal + custom_conversion_goal = 176; + + // The CustomInterest referenced in the query. + google.ads.googleads.v15.resources.CustomInterest custom_interest = 104; + + // The customer referenced in the query. + google.ads.googleads.v15.resources.Customer customer = 1; + + // The customer asset referenced in the query. + google.ads.googleads.v15.resources.CustomerAsset customer_asset = 155; + + // The customer asset set referenced in the query. + google.ads.googleads.v15.resources.CustomerAssetSet customer_asset_set = 195; + + // The accessible bidding strategy referenced in the query. + google.ads.googleads.v15.resources.AccessibleBiddingStrategy + accessible_bidding_strategy = 169; + + // The customer customizer referenced in the query. + google.ads.googleads.v15.resources.CustomerCustomizer customer_customizer = + 184; + + // The CustomerManagerLink referenced in the query. + google.ads.googleads.v15.resources.CustomerManagerLink customer_manager_link = + 61; + + // The CustomerClientLink referenced in the query. + google.ads.googleads.v15.resources.CustomerClientLink customer_client_link = + 62; + + // The CustomerClient referenced in the query. + google.ads.googleads.v15.resources.CustomerClient customer_client = 70; + + // The CustomerConversionGoal referenced in the query. + google.ads.googleads.v15.resources.CustomerConversionGoal + customer_conversion_goal = 174; + + // The customer extension setting referenced in the query. + google.ads.googleads.v15.resources.CustomerExtensionSetting + customer_extension_setting = 114; + + // The customer feed referenced in the query. + google.ads.googleads.v15.resources.CustomerFeed customer_feed = 64; + + // The customer label referenced in the query. + google.ads.googleads.v15.resources.CustomerLabel customer_label = 124; + + // The customer lifecycle goal referenced in the query. + google.ads.googleads.v15.resources.CustomerLifecycleGoal + customer_lifecycle_goal = 212; + + // The customer negative criterion referenced in the query. + google.ads.googleads.v15.resources.CustomerNegativeCriterion + customer_negative_criterion = 88; + + // The customer search term insight referenced in the query. + google.ads.googleads.v15.resources.CustomerSearchTermInsight + customer_search_term_insight = 205; + + // The CustomerUserAccess referenced in the query. + google.ads.googleads.v15.resources.CustomerUserAccess customer_user_access = + 146; + + // The CustomerUserAccessInvitation referenced in the query. + google.ads.googleads.v15.resources.CustomerUserAccessInvitation + customer_user_access_invitation = 150; + + // The customizer attribute referenced in the query. + google.ads.googleads.v15.resources.CustomizerAttribute customizer_attribute = + 178; + + // The detail placement view referenced in the query. + google.ads.googleads.v15.resources.DetailPlacementView detail_placement_view = + 118; + + // The detailed demographic referenced in the query. + google.ads.googleads.v15.resources.DetailedDemographic detailed_demographic = + 166; + + // The display keyword view referenced in the query. + google.ads.googleads.v15.resources.DisplayKeywordView display_keyword_view = + 47; + + // The distance view referenced in the query. + google.ads.googleads.v15.resources.DistanceView distance_view = 132; + + // The dynamic search ads search term view referenced in the query. + google.ads.googleads.v15.resources.DynamicSearchAdsSearchTermView + dynamic_search_ads_search_term_view = 106; + + // The expanded landing page view referenced in the query. + google.ads.googleads.v15.resources.ExpandedLandingPageView + expanded_landing_page_view = 128; + + // The extension feed item referenced in the query. + google.ads.googleads.v15.resources.ExtensionFeedItem extension_feed_item = 85; + + // The feed referenced in the query. + google.ads.googleads.v15.resources.Feed feed = 46; + + // The feed item referenced in the query. + google.ads.googleads.v15.resources.FeedItem feed_item = 50; + + // The feed item set referenced in the query. + google.ads.googleads.v15.resources.FeedItemSet feed_item_set = 149; + + // The feed item set link referenced in the query. + google.ads.googleads.v15.resources.FeedItemSetLink feed_item_set_link = 151; + + // The feed item target referenced in the query. + google.ads.googleads.v15.resources.FeedItemTarget feed_item_target = 116; + + // The feed mapping referenced in the query. + google.ads.googleads.v15.resources.FeedMapping feed_mapping = 58; + + // The feed placeholder view referenced in the query. + google.ads.googleads.v15.resources.FeedPlaceholderView feed_placeholder_view = + 97; + + // The gender view referenced in the query. + google.ads.googleads.v15.resources.GenderView gender_view = 40; + + // The geo target constant referenced in the query. + google.ads.googleads.v15.resources.GeoTargetConstant geo_target_constant = 23; + + // The geographic view referenced in the query. + google.ads.googleads.v15.resources.GeographicView geographic_view = 125; + + // The group placement view referenced in the query. + google.ads.googleads.v15.resources.GroupPlacementView group_placement_view = + 119; + + // The hotel group view referenced in the query. + google.ads.googleads.v15.resources.HotelGroupView hotel_group_view = 51; + + // The hotel performance view referenced in the query. + google.ads.googleads.v15.resources.HotelPerformanceView + hotel_performance_view = 71; + + // The hotel reconciliation referenced in the query. + google.ads.googleads.v15.resources.HotelReconciliation hotel_reconciliation = + 188; + + // The income range view referenced in the query. + google.ads.googleads.v15.resources.IncomeRangeView income_range_view = 138; + + // The keyword view referenced in the query. + google.ads.googleads.v15.resources.KeywordView keyword_view = 21; + + // The keyword plan referenced in the query. + google.ads.googleads.v15.resources.KeywordPlan keyword_plan = 32; + + // The keyword plan campaign referenced in the query. + google.ads.googleads.v15.resources.KeywordPlanCampaign keyword_plan_campaign = + 33; + + // The keyword plan campaign keyword referenced in the query. + google.ads.googleads.v15.resources.KeywordPlanCampaignKeyword + keyword_plan_campaign_keyword = 140; + + // The keyword plan ad group referenced in the query. + google.ads.googleads.v15.resources.KeywordPlanAdGroup keyword_plan_ad_group = + 35; + + // The keyword plan ad group referenced in the query. + google.ads.googleads.v15.resources.KeywordPlanAdGroupKeyword + keyword_plan_ad_group_keyword = 141; + + // The keyword theme constant referenced in the query. + google.ads.googleads.v15.resources.KeywordThemeConstant + keyword_theme_constant = 163; + + // The label referenced in the query. + google.ads.googleads.v15.resources.Label label = 52; + + // The landing page view referenced in the query. + google.ads.googleads.v15.resources.LandingPageView landing_page_view = 126; + + // The language constant referenced in the query. + google.ads.googleads.v15.resources.LanguageConstant language_constant = 55; + + // The location view referenced in the query. + google.ads.googleads.v15.resources.LocationView location_view = 123; + + // The managed placement view referenced in the query. + google.ads.googleads.v15.resources.ManagedPlacementView + managed_placement_view = 53; + + // The media file referenced in the query. + google.ads.googleads.v15.resources.MediaFile media_file = 90; + + // The local services verification artifact referenced in the query. + google.ads.googleads.v15.resources.LocalServicesVerificationArtifact + local_services_verification_artifact = 211; + + // The mobile app category constant referenced in the query. + google.ads.googleads.v15.resources.MobileAppCategoryConstant + mobile_app_category_constant = 87; + + // The mobile device constant referenced in the query. + google.ads.googleads.v15.resources.MobileDeviceConstant + mobile_device_constant = 98; + + // Offline conversion upload client summary. + google.ads.googleads.v15.resources.OfflineConversionUploadClientSummary + offline_conversion_upload_client_summary = 216; + + // The offline user data job referenced in the query. + google.ads.googleads.v15.resources.OfflineUserDataJob offline_user_data_job = + 137; + + // The operating system version constant referenced in the query. + google.ads.googleads.v15.resources.OperatingSystemVersionConstant + operating_system_version_constant = 86; + + // The paid organic search term view referenced in the query. + google.ads.googleads.v15.resources.PaidOrganicSearchTermView + paid_organic_search_term_view = 129; + + // The qualifying question referenced in the query. + google.ads.googleads.v15.resources.QualifyingQuestion qualifying_question = + 202; + + // The parental status view referenced in the query. + google.ads.googleads.v15.resources.ParentalStatusView parental_status_view = + 45; + + // The per store view referenced in the query. + google.ads.googleads.v15.resources.PerStoreView per_store_view = 198; + + // The product category referenced in the query. + google.ads.googleads.v15.resources.ProductCategoryConstant + product_category_constant = 208; + + // The product group view referenced in the query. + google.ads.googleads.v15.resources.ProductGroupView product_group_view = 54; + + // The product link referenced in the query. + google.ads.googleads.v15.resources.ProductLink product_link = 194; + + // The product link invitation in the query. + google.ads.googleads.v15.resources.ProductLinkInvitation + product_link_invitation = 209; + + // The recommendation referenced in the query. + google.ads.googleads.v15.resources.Recommendation recommendation = 22; + + // The recommendation subscription referenced in the query. + google.ads.googleads.v15.resources.RecommendationSubscription + recommendation_subscription = 220; + + // The search term view referenced in the query. + google.ads.googleads.v15.resources.SearchTermView search_term_view = 68; + + // The shared set referenced in the query. + google.ads.googleads.v15.resources.SharedCriterion shared_criterion = 29; + + // The shared set referenced in the query. + google.ads.googleads.v15.resources.SharedSet shared_set = 27; + + // The Smart campaign setting referenced in the query. + google.ads.googleads.v15.resources.SmartCampaignSetting + smart_campaign_setting = 167; + + // The shopping performance view referenced in the query. + google.ads.googleads.v15.resources.ShoppingPerformanceView + shopping_performance_view = 117; + + // The Smart campaign search term view referenced in the query. + google.ads.googleads.v15.resources.SmartCampaignSearchTermView + smart_campaign_search_term_view = 170; + + // The AccountLink referenced in the query. + google.ads.googleads.v15.resources.ThirdPartyAppAnalyticsLink + third_party_app_analytics_link = 144; + + // The topic view referenced in the query. + google.ads.googleads.v15.resources.TopicView topic_view = 44; + + // The travel activity group view referenced in the query. + google.ads.googleads.v15.resources.TravelActivityGroupView + travel_activity_group_view = 201; + + // The travel activity performance view referenced in the query. + google.ads.googleads.v15.resources.TravelActivityPerformanceView + travel_activity_performance_view = 200; + + // The experiment referenced in the query. + google.ads.googleads.v15.resources.Experiment experiment = 133; + + // The experiment arm referenced in the query. + google.ads.googleads.v15.resources.ExperimentArm experiment_arm = 183; + + // The user interest referenced in the query. + google.ads.googleads.v15.resources.UserInterest user_interest = 59; + + // The life event referenced in the query. + google.ads.googleads.v15.resources.LifeEvent life_event = 161; + + // The user list referenced in the query. + google.ads.googleads.v15.resources.UserList user_list = 38; + + // The user location view referenced in the query. + google.ads.googleads.v15.resources.UserLocationView user_location_view = 135; + + // The remarketing action referenced in the query. + google.ads.googleads.v15.resources.RemarketingAction remarketing_action = 60; + + // The topic constant referenced in the query. + google.ads.googleads.v15.resources.TopicConstant topic_constant = 31; + + // The video referenced in the query. + google.ads.googleads.v15.resources.Video video = 39; + + // The webpage view referenced in the query. + google.ads.googleads.v15.resources.WebpageView webpage_view = 162; + + // The lead form user submission referenced in the query. + google.ads.googleads.v15.resources.LeadFormSubmissionData + lead_form_submission_data = 192; + + // The local services lead referenced in the query. + google.ads.googleads.v15.resources.LocalServicesLead local_services_lead = + 210; + + // The local services lead conversationreferenced in the query. + google.ads.googleads.v15.resources.LocalServicesLeadConversation + local_services_lead_conversation = 214; + + // The android privacy shared key google ad group referenced in the query. + google.ads.googleads.v15.resources.AndroidPrivacySharedKeyGoogleAdGroup + android_privacy_shared_key_google_ad_group = 217; + + // The android privacy shared key google campaign referenced in the query. + google.ads.googleads.v15.resources.AndroidPrivacySharedKeyGoogleCampaign + android_privacy_shared_key_google_campaign = 218; + + // The android privacy shared key google network type referenced in the query. + google.ads.googleads.v15.resources.AndroidPrivacySharedKeyGoogleNetworkType + android_privacy_shared_key_google_network_type = 219; + + // The metrics. + google.ads.googleads.v15.common.Metrics metrics = 4; + + // The segments. + google.ads.googleads.v15.common.Segments segments = 102; +} + +// Request message for +// [GoogleAdsService.Mutate][google.ads.googleads.v15.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.v15.enums.ResponseContentTypeEnum.ResponseContentType + response_content_type = 5; +} + +// Response message for +// [GoogleAdsService.Mutate][google.ads.googleads.v15.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/v15/services/invoice_service.proto b/third_party/googleapis/google/ads/googleads/v15/services/invoice_service.proto new file mode 100644 index 000000000..c5bd2ec2a --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/services/invoice_service.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/invoice_service.proto +package google.ads.googleads.v12.services; + +import "google/ads/googleads/v12/enums/month_of_year.proto"; +import "google/ads/googleads/v12/resources/invoice.proto"; +======== +package google.ads.googleads.v15.services; + +import "google/ads/googleads/v15/enums/month_of_year.proto"; +import "google/ads/googleads/v15/resources/invoice.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/invoice_service.proto +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/invoice_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/services;services"; +option java_multiple_files = true; +option java_outer_classname = "InvoiceServiceProto"; +option java_package = "com.google.ads.googleads.v12.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V12::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/services;services"; +option java_multiple_files = true; +option java_outer_classname = "InvoiceServiceProto"; +option java_package = "com.google.ads.googleads.v15.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V15::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/invoice_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/invoice_service.proto + get: "/v12/customers/{customer_id=*}/invoices" +======== + get: "/v15/customers/{customer_id=*}/invoices" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/invoice_service.proto + }; + 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/invoice_service.proto + google.ads.googleads.v12.enums.MonthOfYearEnum.MonthOfYear issue_month = 4 [(google.api.field_behavior) = REQUIRED]; +} + +// Response message for [InvoiceService.ListInvoices][google.ads.googleads.v12.services.InvoiceService.ListInvoices]. +message ListInvoicesResponse { + // The list of invoices that match the billing setup and time period. + repeated google.ads.googleads.v12.resources.Invoice invoices = 1; +======== + google.ads.googleads.v15.enums.MonthOfYearEnum.MonthOfYear issue_month = 4 + [(google.api.field_behavior) = REQUIRED]; +} + +// Response message for +// [InvoiceService.ListInvoices][google.ads.googleads.v15.services.InvoiceService.ListInvoices]. +message ListInvoicesResponse { + // The list of invoices that match the billing setup and time period. + repeated google.ads.googleads.v15.resources.Invoice invoices = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/invoice_service.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v15/services/keyword_plan_ad_group_keyword_service.proto b/third_party/googleapis/google/ads/googleads/v15/services/keyword_plan_ad_group_keyword_service.proto new file mode 100644 index 000000000..79afc67d2 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/services/keyword_plan_ad_group_keyword_service.proto @@ -0,0 +1,174 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/keyword_plan_ad_group_keyword_service.proto +package google.ads.googleads.v12.services; + +import "google/ads/googleads/v12/resources/keyword_plan_ad_group_keyword.proto"; +======== +package google.ads.googleads.v15.services; + +import "google/ads/googleads/v15/resources/keyword_plan_ad_group_keyword.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/keyword_plan_ad_group_keyword_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/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/keyword_plan_ad_group_keyword_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/services;services"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanAdGroupKeywordServiceProto"; +option java_package = "com.google.ads.googleads.v12.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V12::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/services;services"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanAdGroupKeywordServiceProto"; +option java_package = "com.google.ads.googleads.v15.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V15::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/keyword_plan_ad_group_keyword_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/keyword_plan_ad_group_keyword_service.proto + post: "/v12/customers/{customer_id=*}/keywordPlanAdGroupKeywords:mutate" +======== + post: "/v15/customers/{customer_id=*}/keywordPlanAdGroupKeywords:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/keyword_plan_ad_group_keyword_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/keyword_plan_ad_group_keyword_service.proto +// [KeywordPlanAdGroupKeywordService.MutateKeywordPlanAdGroupKeywords][google.ads.googleads.v12.services.KeywordPlanAdGroupKeywordService.MutateKeywordPlanAdGroupKeywords]. +======== +// [KeywordPlanAdGroupKeywordService.MutateKeywordPlanAdGroupKeywords][google.ads.googleads.v15.services.KeywordPlanAdGroupKeywordService.MutateKeywordPlanAdGroupKeywords]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/keyword_plan_ad_group_keyword_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/keyword_plan_ad_group_keyword_service.proto + google.ads.googleads.v12.resources.KeywordPlanAdGroupKeyword create = 1; + + // Update operation: The Keyword Plan ad group keyword is expected to have a + // valid resource name. + google.ads.googleads.v12.resources.KeywordPlanAdGroupKeyword update = 2; +======== + google.ads.googleads.v15.resources.KeywordPlanAdGroupKeyword create = 1; + + // Update operation: The Keyword Plan ad group keyword is expected to have a + // valid resource name. + google.ads.googleads.v15.resources.KeywordPlanAdGroupKeyword update = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/keyword_plan_ad_group_keyword_service.proto + + // 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/v15/services/keyword_plan_ad_group_service.proto b/third_party/googleapis/google/ads/googleads/v15/services/keyword_plan_ad_group_service.proto new file mode 100644 index 000000000..5097a1520 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/services/keyword_plan_ad_group_service.proto @@ -0,0 +1,172 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/keyword_plan_ad_group_service.proto +package google.ads.googleads.v12.services; + +import "google/ads/googleads/v12/resources/keyword_plan_ad_group.proto"; +======== +package google.ads.googleads.v15.services; + +import "google/ads/googleads/v15/resources/keyword_plan_ad_group.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/keyword_plan_ad_group_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/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/keyword_plan_ad_group_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/services;services"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanAdGroupServiceProto"; +option java_package = "com.google.ads.googleads.v12.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V12::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/services;services"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanAdGroupServiceProto"; +option java_package = "com.google.ads.googleads.v15.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V15::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/keyword_plan_ad_group_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/keyword_plan_ad_group_service.proto + post: "/v12/customers/{customer_id=*}/keywordPlanAdGroups:mutate" +======== + post: "/v15/customers/{customer_id=*}/keywordPlanAdGroups:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/keyword_plan_ad_group_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/keyword_plan_ad_group_service.proto +// Request message for [KeywordPlanAdGroupService.MutateKeywordPlanAdGroups][google.ads.googleads.v12.services.KeywordPlanAdGroupService.MutateKeywordPlanAdGroups]. +======== +// Request message for +// [KeywordPlanAdGroupService.MutateKeywordPlanAdGroups][google.ads.googleads.v15.services.KeywordPlanAdGroupService.MutateKeywordPlanAdGroups]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/keyword_plan_ad_group_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/keyword_plan_ad_group_service.proto + google.ads.googleads.v12.resources.KeywordPlanAdGroup create = 1; + + // Update operation: The Keyword Plan ad group is expected to have a valid + // resource name. + google.ads.googleads.v12.resources.KeywordPlanAdGroup update = 2; +======== + google.ads.googleads.v15.resources.KeywordPlanAdGroup create = 1; + + // Update operation: The Keyword Plan ad group is expected to have a valid + // resource name. + google.ads.googleads.v15.resources.KeywordPlanAdGroup update = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/keyword_plan_ad_group_service.proto + + // 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/v15/services/keyword_plan_campaign_keyword_service.proto b/third_party/googleapis/google/ads/googleads/v15/services/keyword_plan_campaign_keyword_service.proto new file mode 100644 index 000000000..943239c65 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/services/keyword_plan_campaign_keyword_service.proto @@ -0,0 +1,173 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/keyword_plan_campaign_keyword_service.proto +package google.ads.googleads.v12.services; + +import "google/ads/googleads/v12/resources/keyword_plan_campaign_keyword.proto"; +======== +package google.ads.googleads.v15.services; + +import "google/ads/googleads/v15/resources/keyword_plan_campaign_keyword.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/keyword_plan_campaign_keyword_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/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/keyword_plan_campaign_keyword_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/services;services"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanCampaignKeywordServiceProto"; +option java_package = "com.google.ads.googleads.v12.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V12::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/services;services"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanCampaignKeywordServiceProto"; +option java_package = "com.google.ads.googleads.v15.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V15::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/keyword_plan_campaign_keyword_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/keyword_plan_campaign_keyword_service.proto + post: "/v12/customers/{customer_id=*}/keywordPlanCampaignKeywords:mutate" +======== + post: "/v15/customers/{customer_id=*}/keywordPlanCampaignKeywords:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/keyword_plan_campaign_keyword_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/keyword_plan_campaign_keyword_service.proto +// [KeywordPlanCampaignKeywordService.MutateKeywordPlanCampaignKeywords][google.ads.googleads.v12.services.KeywordPlanCampaignKeywordService.MutateKeywordPlanCampaignKeywords]. +======== +// [KeywordPlanCampaignKeywordService.MutateKeywordPlanCampaignKeywords][google.ads.googleads.v15.services.KeywordPlanCampaignKeywordService.MutateKeywordPlanCampaignKeywords]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/keyword_plan_campaign_keyword_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/keyword_plan_campaign_keyword_service.proto + google.ads.googleads.v12.resources.KeywordPlanCampaignKeyword create = 1; + + // Update operation: The Keyword Plan campaign keyword expected to have a + // valid resource name. + google.ads.googleads.v12.resources.KeywordPlanCampaignKeyword update = 2; +======== + google.ads.googleads.v15.resources.KeywordPlanCampaignKeyword create = 1; + + // Update operation: The Keyword Plan campaign keyword expected to have a + // valid resource name. + google.ads.googleads.v15.resources.KeywordPlanCampaignKeyword update = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/keyword_plan_campaign_keyword_service.proto + + // 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/v15/services/keyword_plan_campaign_service.proto b/third_party/googleapis/google/ads/googleads/v15/services/keyword_plan_campaign_service.proto new file mode 100644 index 000000000..d6803df1f --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/services/keyword_plan_campaign_service.proto @@ -0,0 +1,172 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/keyword_plan_campaign_service.proto +package google.ads.googleads.v12.services; + +import "google/ads/googleads/v12/resources/keyword_plan_campaign.proto"; +======== +package google.ads.googleads.v15.services; + +import "google/ads/googleads/v15/resources/keyword_plan_campaign.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/keyword_plan_campaign_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/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/keyword_plan_campaign_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/services;services"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanCampaignServiceProto"; +option java_package = "com.google.ads.googleads.v12.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V12::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/services;services"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanCampaignServiceProto"; +option java_package = "com.google.ads.googleads.v15.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V15::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/keyword_plan_campaign_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/keyword_plan_campaign_service.proto + post: "/v12/customers/{customer_id=*}/keywordPlanCampaigns:mutate" +======== + post: "/v15/customers/{customer_id=*}/keywordPlanCampaigns:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/keyword_plan_campaign_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/keyword_plan_campaign_service.proto +// [KeywordPlanCampaignService.MutateKeywordPlanCampaigns][google.ads.googleads.v12.services.KeywordPlanCampaignService.MutateKeywordPlanCampaigns]. +======== +// [KeywordPlanCampaignService.MutateKeywordPlanCampaigns][google.ads.googleads.v15.services.KeywordPlanCampaignService.MutateKeywordPlanCampaigns]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/keyword_plan_campaign_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/keyword_plan_campaign_service.proto + google.ads.googleads.v12.resources.KeywordPlanCampaign create = 1; + + // Update operation: The Keyword Plan campaign is expected to have a valid + // resource name. + google.ads.googleads.v12.resources.KeywordPlanCampaign update = 2; +======== + google.ads.googleads.v15.resources.KeywordPlanCampaign create = 1; + + // Update operation: The Keyword Plan campaign is expected to have a valid + // resource name. + google.ads.googleads.v15.resources.KeywordPlanCampaign update = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/keyword_plan_campaign_service.proto + + // 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/v15/services/keyword_plan_idea_service.proto b/third_party/googleapis/google/ads/googleads/v15/services/keyword_plan_idea_service.proto new file mode 100644 index 000000000..313792811 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.v15.services; + +import "google/ads/googleads/v15/common/criteria.proto"; +import "google/ads/googleads/v15/common/dates.proto"; +import "google/ads/googleads/v15/common/keyword_plan_common.proto"; +import "google/ads/googleads/v15/enums/keyword_match_type.proto"; +import "google/ads/googleads/v15/enums/keyword_plan_keyword_annotation.proto"; +import "google/ads/googleads/v15/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.V15.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/services;services"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanIdeaServiceProto"; +option java_package = "com.google.ads.googleads.v15.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V15::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: "/v15/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: "/v15/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: "/v15/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: "/v15/customers/{customer_id=*}:generateKeywordForecastMetrics" + body: "*" + }; + } +} + +// Request message for +// [KeywordPlanIdeaService.GenerateKeywordIdeas][google.ads.googleads.v15.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.v15.enums.KeywordPlanNetworkEnum.KeywordPlanNetwork + keyword_plan_network = 9; + + // The keyword annotations to include in response. + repeated google.ads.googleads.v15.enums.KeywordPlanKeywordAnnotationEnum + .KeywordPlanKeywordAnnotation keyword_annotation = 17; + + // The aggregate fields to include in response. + google.ads.googleads.v15.common.KeywordPlanAggregateMetrics + aggregate_metrics = 16; + + // The options for historical metrics data. + google.ads.googleads.v15.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.v15.services.KeywordPlanIdeaService.GenerateKeywordIdeas]. +message GenerateKeywordIdeaResponse { + // Results of generating keyword ideas. + repeated GenerateKeywordIdeaResult results = 1; + + // The aggregate metrics for all keyword ideas. + google.ads.googleads.v15.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.v15.common.KeywordPlanHistoricalMetrics + keyword_idea_metrics = 3; + + // The annotations for the keyword. + // The annotation data is only provided if requested. + google.ads.googleads.v15.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.v15.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.v15.enums.KeywordPlanNetworkEnum.KeywordPlanNetwork + keyword_plan_network = 7; + + // The aggregate fields to include in response. + google.ads.googleads.v15.common.KeywordPlanAggregateMetrics + aggregate_metrics = 8; + + // The options for historical metrics data. + google.ads.googleads.v15.common.HistoricalMetricsOptions + historical_metrics_options = 3; +} + +// Response message for +// [KeywordPlanIdeaService.GenerateKeywordHistoricalMetrics][google.ads.googleads.v15.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.v15.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.v15.common.KeywordPlanHistoricalMetrics keyword_metrics = + 2; +} + +// Request message for +// [KeywordPlanIdeaService.GenerateAdGroupThemes][google.ads.googleads.v15.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.v15.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.v15.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.v15.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.v15.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.v15.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.v15.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.v15.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/v15/services/keyword_plan_service.proto b/third_party/googleapis/google/ads/googleads/v15/services/keyword_plan_service.proto new file mode 100644 index 000000000..c8cd1d675 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.v15.services; + +import "google/ads/googleads/v15/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.V15.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/services;services"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanServiceProto"; +option java_package = "com.google.ads.googleads.v15.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V15::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: "/v15/customers/{customer_id=*}/keywordPlans:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [KeywordPlanService.MutateKeywordPlans][google.ads.googleads.v15.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.v15.resources.KeywordPlan create = 1; + + // Update operation: The keyword plan is expected to have a valid resource + // name. + google.ads.googleads.v15.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/v15/services/keyword_theme_constant_service.proto b/third_party/googleapis/google/ads/googleads/v15/services/keyword_theme_constant_service.proto new file mode 100644 index 000000000..c284f0c60 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/services/keyword_theme_constant_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/keyword_theme_constant_service.proto +package google.ads.googleads.v12.services; + +import "google/ads/googleads/v12/resources/keyword_theme_constant.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/services;services"; +option java_multiple_files = true; +option java_outer_classname = "KeywordThemeConstantServiceProto"; +option java_package = "com.google.ads.googleads.v12.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V12::Services"; +======== +package google.ads.googleads.v15.services; + +import "google/ads/googleads/v15/resources/keyword_theme_constant.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/services;services"; +option java_multiple_files = true; +option java_outer_classname = "KeywordThemeConstantServiceProto"; +option java_package = "com.google.ads.googleads.v15.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V15::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/keyword_theme_constant_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/keyword_theme_constant_service.proto + post: "/v12/keywordThemeConstants:suggest" +======== + post: "/v15/keywordThemeConstants:suggest" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/keyword_theme_constant_service.proto + body: "*" + }; + } +} + +// Request message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/keyword_theme_constant_service.proto +// [KeywordThemeConstantService.SuggestKeywordThemeConstants][google.ads.googleads.v12.services.KeywordThemeConstantService.SuggestKeywordThemeConstants]. +======== +// [KeywordThemeConstantService.SuggestKeywordThemeConstants][google.ads.googleads.v15.services.KeywordThemeConstantService.SuggestKeywordThemeConstants]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/keyword_theme_constant_service.proto +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 +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/keyword_theme_constant_service.proto +// [KeywordThemeConstantService.SuggestKeywordThemeConstants][google.ads.googleads.v12.services.KeywordThemeConstantService.SuggestKeywordThemeConstants]. +message SuggestKeywordThemeConstantsResponse { + // Smart Campaign keyword theme suggestions. + repeated google.ads.googleads.v12.resources.KeywordThemeConstant keyword_theme_constants = 1; +======== +// [KeywordThemeConstantService.SuggestKeywordThemeConstants][google.ads.googleads.v15.services.KeywordThemeConstantService.SuggestKeywordThemeConstants]. +message SuggestKeywordThemeConstantsResponse { + // Smart Campaign keyword theme suggestions. + repeated google.ads.googleads.v15.resources.KeywordThemeConstant + keyword_theme_constants = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/keyword_theme_constant_service.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v15/services/label_service.proto b/third_party/googleapis/google/ads/googleads/v15/services/label_service.proto new file mode 100644 index 000000000..42f139468 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/services/label_service.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/label_service.proto +package google.ads.googleads.v12.services; + +import "google/ads/googleads/v12/enums/response_content_type.proto"; +import "google/ads/googleads/v12/resources/label.proto"; +======== +package google.ads.googleads.v15.services; + +import "google/ads/googleads/v15/enums/response_content_type.proto"; +import "google/ads/googleads/v15/resources/label.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/label_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/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/label_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/services;services"; +option java_multiple_files = true; +option java_outer_classname = "LabelServiceProto"; +option java_package = "com.google.ads.googleads.v12.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V12::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/services;services"; +option java_multiple_files = true; +option java_outer_classname = "LabelServiceProto"; +option java_package = "com.google.ads.googleads.v15.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V15::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/label_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/label_service.proto + post: "/v12/customers/{customer_id=*}/labels:mutate" +======== + post: "/v15/customers/{customer_id=*}/labels:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/label_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/label_service.proto +// Request message for [LabelService.MutateLabels][google.ads.googleads.v12.services.LabelService.MutateLabels]. +======== +// Request message for +// [LabelService.MutateLabels][google.ads.googleads.v15.services.LabelService.MutateLabels]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/label_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/label_service.proto + google.ads.googleads.v12.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +======== + google.ads.googleads.v15.enums.ResponseContentTypeEnum.ResponseContentType + response_content_type = 5; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/label_service.proto +} + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/label_service.proto + google.ads.googleads.v12.resources.Label create = 1; + + // Update operation: The label is expected to have a valid resource name. + google.ads.googleads.v12.resources.Label update = 2; +======== + google.ads.googleads.v15.resources.Label create = 1; + + // Update operation: The label is expected to have a valid resource name. + google.ads.googleads.v15.resources.Label update = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/label_service.proto + + // 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". +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/label_service.proto + google.ads.googleads.v12.resources.Label label = 2; +======== + google.ads.googleads.v15.resources.Label label = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/label_service.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v15/services/offline_user_data_job_service.proto b/third_party/googleapis/google/ads/googleads/v15/services/offline_user_data_job_service.proto new file mode 100644 index 000000000..f7932f83c --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/services/offline_user_data_job_service.proto @@ -0,0 +1,286 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/offline_user_data_job_service.proto +package google.ads.googleads.v12.services; + +import "google/ads/googleads/v12/common/offline_user_data.proto"; +import "google/ads/googleads/v12/resources/offline_user_data_job.proto"; +======== +package google.ads.googleads.v15.services; + +import "google/ads/googleads/v15/common/offline_user_data.proto"; +import "google/ads/googleads/v15/resources/offline_user_data_job.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/offline_user_data_job_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/offline_user_data_job_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/services;services"; +option java_multiple_files = true; +option java_outer_classname = "OfflineUserDataJobServiceProto"; +option java_package = "com.google.ads.googleads.v12.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V12::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/services;services"; +option java_multiple_files = true; +option java_outer_classname = "OfflineUserDataJobServiceProto"; +option java_package = "com.google.ads.googleads.v15.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V15::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/offline_user_data_job_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/offline_user_data_job_service.proto + post: "/v12/customers/{customer_id=*}/offlineUserDataJobs:create" +======== + post: "/v15/customers/{customer_id=*}/offlineUserDataJobs:create" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/offline_user_data_job_service.proto + 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/offline_user_data_job_service.proto + post: "/v12/{resource_name=customers/*/offlineUserDataJobs/*}:addOperations" +======== + post: "/v15/{resource_name=customers/*/offlineUserDataJobs/*}:addOperations" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/offline_user_data_job_service.proto + 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/offline_user_data_job_service.proto + post: "/v12/{resource_name=customers/*/offlineUserDataJobs/*}:run" +======== + post: "/v15/{resource_name=customers/*/offlineUserDataJobs/*}:run" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/offline_user_data_job_service.proto + body: "*" + }; + option (google.api.method_signature) = "resource_name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/offline_user_data_job_service.proto + metadata_type: "google.ads.googleads.v12.resources.OfflineUserDataJobMetadata" +======== + metadata_type: "google.ads.googleads.v15.resources.OfflineUserDataJobMetadata" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/offline_user_data_job_service.proto + }; + } +} + +// Request message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/offline_user_data_job_service.proto +// [OfflineUserDataJobService.CreateOfflineUserDataJob][google.ads.googleads.v12.services.OfflineUserDataJobService.CreateOfflineUserDataJob]. +======== +// [OfflineUserDataJobService.CreateOfflineUserDataJob][google.ads.googleads.v15.services.OfflineUserDataJobService.CreateOfflineUserDataJob]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/offline_user_data_job_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/offline_user_data_job_service.proto + google.ads.googleads.v12.resources.OfflineUserDataJob job = 2 [(google.api.field_behavior) = REQUIRED]; +======== + google.ads.googleads.v15.resources.OfflineUserDataJob job = 2 + [(google.api.field_behavior) = REQUIRED]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/offline_user_data_job_service.proto + + // 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 +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/offline_user_data_job_service.proto +// [OfflineUserDataJobService.CreateOfflineUserDataJob][google.ads.googleads.v12.services.OfflineUserDataJobService.CreateOfflineUserDataJob]. +======== +// [OfflineUserDataJobService.CreateOfflineUserDataJob][google.ads.googleads.v15.services.OfflineUserDataJobService.CreateOfflineUserDataJob]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/offline_user_data_job_service.proto +message CreateOfflineUserDataJobResponse { + // The resource name of the OfflineUserDataJob. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/OfflineUserDataJob" + }]; +} + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/offline_user_data_job_service.proto +// Request message for [OfflineUserDataJobService.RunOfflineUserDataJob][google.ads.googleads.v12.services.OfflineUserDataJobService.RunOfflineUserDataJob]. +======== +// Request message for +// [OfflineUserDataJobService.RunOfflineUserDataJob][google.ads.googleads.v15.services.OfflineUserDataJobService.RunOfflineUserDataJob]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/offline_user_data_job_service.proto +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 +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/offline_user_data_job_service.proto +// [OfflineUserDataJobService.AddOfflineUserDataJobOperations][google.ads.googleads.v12.services.OfflineUserDataJobService.AddOfflineUserDataJobOperations]. +======== +// [OfflineUserDataJobService.AddOfflineUserDataJobOperations][google.ads.googleads.v15.services.OfflineUserDataJobService.AddOfflineUserDataJobOperations]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/offline_user_data_job_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/offline_user_data_job_service.proto + google.ads.googleads.v12.common.UserData create = 1; + + // Remove the provided data from the transaction. Data cannot be retrieved + // after being uploaded. + google.ads.googleads.v12.common.UserData remove = 2; +======== + google.ads.googleads.v15.common.UserData create = 1; + + // Remove the provided data from the transaction. Data cannot be retrieved + // after being uploaded. + google.ads.googleads.v15.common.UserData remove = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/offline_user_data_job_service.proto + + // Remove all previously provided data. This is only supported for Customer + // Match. + bool remove_all = 3; + } +} + +// Response message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/offline_user_data_job_service.proto +// [OfflineUserDataJobService.AddOfflineUserDataJobOperations][google.ads.googleads.v12.services.OfflineUserDataJobService.AddOfflineUserDataJobOperations]. +======== +// [OfflineUserDataJobService.AddOfflineUserDataJobOperations][google.ads.googleads.v15.services.OfflineUserDataJobService.AddOfflineUserDataJobOperations]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/offline_user_data_job_service.proto +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/v15/services/payments_account_service.proto b/third_party/googleapis/google/ads/googleads/v15/services/payments_account_service.proto new file mode 100644 index 000000000..4448a1a73 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/services/payments_account_service.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/payments_account_service.proto +package google.ads.googleads.v12.services; + +import "google/ads/googleads/v12/resources/payments_account.proto"; +======== +package google.ads.googleads.v15.services; + +import "google/ads/googleads/v15/resources/payments_account.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/payments_account_service.proto +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/payments_account_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/services;services"; +option java_multiple_files = true; +option java_outer_classname = "PaymentsAccountServiceProto"; +option java_package = "com.google.ads.googleads.v12.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V12::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/services;services"; +option java_multiple_files = true; +option java_outer_classname = "PaymentsAccountServiceProto"; +option java_package = "com.google.ads.googleads.v15.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V15::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/payments_account_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/payments_account_service.proto + get: "/v12/customers/{customer_id=*}/paymentsAccounts" +======== + get: "/v15/customers/{customer_id=*}/paymentsAccounts" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/payments_account_service.proto + }; + 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]; +} + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/payments_account_service.proto +// Response message for [PaymentsAccountService.ListPaymentsAccounts][google.ads.googleads.v12.services.PaymentsAccountService.ListPaymentsAccounts]. +message ListPaymentsAccountsResponse { + // The list of accessible payments accounts. + repeated google.ads.googleads.v12.resources.PaymentsAccount payments_accounts = 1; +======== +// Response message for +// [PaymentsAccountService.ListPaymentsAccounts][google.ads.googleads.v15.services.PaymentsAccountService.ListPaymentsAccounts]. +message ListPaymentsAccountsResponse { + // The list of accessible payments accounts. + repeated google.ads.googleads.v15.resources.PaymentsAccount + payments_accounts = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/payments_account_service.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v15/services/product_link_invitation_service.proto b/third_party/googleapis/google/ads/googleads/v15/services/product_link_invitation_service.proto new file mode 100644 index 000000000..169283e95 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/services/product_link_invitation_service.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.v15.services; + +import "google/ads/googleads/v15/enums/product_link_invitation_status.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.V15.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/services;services"; +option java_multiple_files = true; +option java_outer_classname = "ProductLinkInvitationServiceProto"; +option java_package = "com.google.ads.googleads.v15.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V15::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"; + + // Update a product link invitation. + rpc UpdateProductLinkInvitation(UpdateProductLinkInvitationRequest) + returns (UpdateProductLinkInvitationResponse) { + option (google.api.http) = { + post: "/v15/customers/{customer_id=*}/productLinkInvitations:update" + body: "*" + }; + option (google.api.method_signature) = + "customer_id,product_link_invitation_status,resource_name"; + } +} + +// Request message for +// [ProductLinkInvitationService.UpdateProductLinkInvitation][google.ads.googleads.v15.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.v15.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" + }]; +} diff --git a/third_party/googleapis/google/ads/googleads/v15/services/product_link_service.proto b/third_party/googleapis/google/ads/googleads/v15/services/product_link_service.proto new file mode 100644 index 000000000..42b1026ec --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.v15.services; + +import "google/ads/googleads/v15/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.V15.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/services;services"; +option java_multiple_files = true; +option java_outer_classname = "ProductLinkServiceProto"; +option java_package = "com.google.ads.googleads.v15.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V15::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: "/v15/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: "/v15/customers/{customer_id=*}/productLinks:remove" + body: "*" + }; + option (google.api.method_signature) = "customer_id,resource_name"; + } +} + +// Request message for +// [ProductLinkService.CreateProductLink][google.ads.googleads.v15.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.v15.resources.ProductLink product_link = 2 + [(google.api.field_behavior) = REQUIRED]; +} + +// Response message for +// [ProductLinkService.CreateProductLink][google.ads.googleads.v15.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.v15.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/v15/services/reach_plan_service.proto b/third_party/googleapis/google/ads/googleads/v15/services/reach_plan_service.proto new file mode 100644 index 000000000..d9cd2dd6d --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/services/reach_plan_service.proto @@ -0,0 +1,824 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/reach_plan_service.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/reach_plan_service.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/reach_plan_service.proto +package google.ads.googleads.v13.services; + +import "google/ads/googleads/v13/common/criteria.proto"; +import "google/ads/googleads/v13/common/dates.proto"; +import "google/ads/googleads/v13/enums/frequency_cap_time_unit.proto"; +import "google/ads/googleads/v13/enums/reach_plan_age_range.proto"; +import "google/ads/googleads/v13/enums/reach_plan_network.proto"; +======== +package google.ads.googleads.v15.services; + +import "google/ads/googleads/v15/common/criteria.proto"; +import "google/ads/googleads/v15/common/dates.proto"; +import "google/ads/googleads/v15/enums/frequency_cap_time_unit.proto"; +import "google/ads/googleads/v15/enums/reach_plan_age_range.proto"; +import "google/ads/googleads/v15/enums/reach_plan_network.proto"; +import "google/ads/googleads/v15/enums/reach_plan_surface.proto"; +import "google/ads/googleads/v15/enums/target_frequency_time_unit.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/reach_plan_service.proto +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/reach_plan_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V13.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/services;services"; +option java_multiple_files = true; +option java_outer_classname = "ReachPlanServiceProto"; +option java_package = "com.google.ads.googleads.v13.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V13::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/services;services"; +option java_multiple_files = true; +option java_outer_classname = "ReachPlanServiceProto"; +option java_package = "com.google.ads.googleads.v15.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V15::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/reach_plan_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/reach_plan_service.proto + post: "/v13:listPlannableLocations" +======== + post: "/v15:listPlannableLocations" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/reach_plan_service.proto + 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/reach_plan_service.proto + post: "/v13:listPlannableProducts" +======== + post: "/v15:listPlannableProducts" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/reach_plan_service.proto + 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/reach_plan_service.proto + post: "/v13/customers/{customer_id=*}:generateReachForecast" +======== + post: "/v15/customers/{customer_id=*}:generateReachForecast" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/reach_plan_service.proto + body: "*" + }; + option (google.api.method_signature) = + "customer_id,campaign_duration,planned_products"; + } +} + +// Request message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/reach_plan_service.proto +// [ReachPlanService.ListPlannableLocations][google.ads.googleads.v13.services.ReachPlanService.ListPlannableLocations]. +======== +// [ReachPlanService.ListPlannableLocations][google.ads.googleads.v15.services.ReachPlanService.ListPlannableLocations]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/reach_plan_service.proto +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 +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/reach_plan_service.proto + // [ReachPlanService.ListPlannableLocations][google.ads.googleads.v13.services.ReachPlanService.ListPlannableLocations] + // or [GoogleAdsService.Search/SearchStream][]. +======== + // [ReachPlanService.ListPlannableLocations][google.ads.googleads.v15.services.ReachPlanService.ListPlannableLocations] + // or GoogleAdsService.Search/SearchStream. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/reach_plan_service.proto + 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 +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/reach_plan_service.proto + // searching location type in [GoogleAdsService.Search/SearchStream][]. +======== + // searching location type in GoogleAdsService.Search/SearchStream. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/reach_plan_service.proto + 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 +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/reach_plan_service.proto + // [ReachPlanService.ListPlannableLocations][google.ads.googleads.v13.services.ReachPlanService.ListPlannableLocations]. +======== + // [ReachPlanService.ListPlannableLocations][google.ads.googleads.v15.services.ReachPlanService.ListPlannableLocations]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/reach_plan_service.proto + 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 +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/reach_plan_service.proto + // [ReachPlanService.ListPlannableProducts][google.ads.googleads.v13.services.ReachPlanService.ListPlannableProducts]. +======== + // [ReachPlanService.ListPlannableProducts][google.ads.googleads.v15.services.ReachPlanService.ListPlannableProducts]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/reach_plan_service.proto + 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 +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/reach_plan_service.proto + google.ads.googleads.v13.enums.ReachPlanAgeRangeEnum.ReachPlanAgeRange + age_ranges = 1; + + // Targetable genders for the ad product. + repeated google.ads.googleads.v13.common.GenderInfo genders = 2; +======== + google.ads.googleads.v15.enums.ReachPlanAgeRangeEnum.ReachPlanAgeRange + age_ranges = 1; + + // Targetable genders for the ad product. + repeated google.ads.googleads.v15.common.GenderInfo genders = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/reach_plan_service.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/reach_plan_service.proto + repeated google.ads.googleads.v13.common.DeviceInfo devices = 3; + + // Targetable networks for the ad product. + repeated google.ads.googleads.v13.enums.ReachPlanNetworkEnum.ReachPlanNetwork +======== + repeated google.ads.googleads.v15.common.DeviceInfo devices = 3; + + // Targetable networks for the ad product. + repeated google.ads.googleads.v15.enums.ReachPlanNetworkEnum.ReachPlanNetwork +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/reach_plan_service.proto + networks = 4; + + // Targetable YouTube Select Lineups for the ad product. + repeated YouTubeSelectLineUp youtube_select_lineups = 5; +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/reach_plan_service.proto +} + +// Request message for +// [ReachPlanService.GenerateReachForecast][google.ads.googleads.v13.services.ReachPlanService.GenerateReachForecast]. +======== + + // Targetable surface combinations for the ad product. + SurfaceTargetingCombinations surface_targeting = 6; +} + +// Request message for +// [ReachPlanService.GenerateReachForecast][google.ads.googleads.v15.services.ReachPlanService.GenerateReachForecast]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/reach_plan_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/reach_plan_service.proto + // Required if targeting.audience_targeting is set. +======== +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/reach_plan_service.proto + 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/reach_plan_service.proto + google.ads.googleads.v13.enums.FrequencyCapTimeUnitEnum.FrequencyCapTimeUnit +======== + google.ads.googleads.v15.enums.FrequencyCapTimeUnitEnum.FrequencyCapTimeUnit +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/reach_plan_service.proto + 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 +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/reach_plan_service.proto + // [ReachPlanService.ListPlannableLocations][google.ads.googleads.v13.services.ReachPlanService.ListPlannableLocations]. +======== + // [ReachPlanService.ListPlannableLocations][google.ads.googleads.v15.services.ReachPlanService.ListPlannableLocations]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/reach_plan_service.proto + // + // 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 +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/reach_plan_service.proto + // [ReachPlanService.ListPlannableLocations][google.ads.googleads.v13.services.ReachPlanService.ListPlannableLocations]. +======== + // [ReachPlanService.ListPlannableLocations][google.ads.googleads.v15.services.ReachPlanService.ListPlannableLocations]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/reach_plan_service.proto + // + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/reach_plan_service.proto + google.ads.googleads.v13.enums.ReachPlanAgeRangeEnum.ReachPlanAgeRange +======== + google.ads.googleads.v15.enums.ReachPlanAgeRangeEnum.ReachPlanAgeRange +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/reach_plan_service.proto + age_range = 2; + + // Targeted genders. + // An unset value is equivalent to targeting MALE and FEMALE. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/reach_plan_service.proto + repeated google.ads.googleads.v13.common.GenderInfo genders = 3; +======== + repeated google.ads.googleads.v15.common.GenderInfo genders = 3; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/reach_plan_service.proto + + // Targeted devices. + // If not specified, targets all applicable devices. Applicable devices vary + // by product and region and can be obtained from +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/reach_plan_service.proto + // [ReachPlanService.ListPlannableProducts][google.ads.googleads.v13.services.ReachPlanService.ListPlannableProducts]. + repeated google.ads.googleads.v13.common.DeviceInfo devices = 4; +======== + // [ReachPlanService.ListPlannableProducts][google.ads.googleads.v15.services.ReachPlanService.ListPlannableProducts]. + repeated google.ads.googleads.v15.common.DeviceInfo devices = 4; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/reach_plan_service.proto + + // 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 +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/reach_plan_service.proto + // [ReachPlanService.ListPlannableProducts][google.ads.googleads.v13.services.ReachPlanService.ListPlannableProducts]. + google.ads.googleads.v13.enums.ReachPlanNetworkEnum.ReachPlanNetwork network = +======== + // [ReachPlanService.ListPlannableProducts][google.ads.googleads.v15.services.ReachPlanService.ListPlannableProducts]. + google.ads.googleads.v15.enums.ReachPlanNetworkEnum.ReachPlanNetwork network = +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/reach_plan_service.proto + 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/reach_plan_service.proto + google.ads.googleads.v13.common.DateRange date_range = 3; +======== + google.ads.googleads.v15.common.DateRange date_range = 3; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/reach_plan_service.proto +} + +// 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 +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/reach_plan_service.proto + // [ReachPlanService.ListPlannableProducts][google.ads.googleads.v13.services.ReachPlanService.ListPlannableProducts]. + optional string plannable_product_code = 3; +======== + // [ReachPlanService.ListPlannableProducts][google.ads.googleads.v15.services.ReachPlanService.ListPlannableProducts]. + optional string plannable_product_code = 3 + [(google.api.field_behavior) = REQUIRED]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/reach_plan_service.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/reach_plan_service.proto + optional int64 budget_micros = 4; + + // Targeting settings for the selected product. + // To list the available targeting for each product use + // [ReachPlanService.ListPlannableProducts][google.ads.googleads.v13.services.ReachPlanService.ListPlannableProducts]. +======== + 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.v15.services.ReachPlanService.ListPlannableProducts]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/reach_plan_service.proto + 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; +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/reach_plan_service.proto +======== + + // 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; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/reach_plan_service.proto +} + +// 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; +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/reach_plan_service.proto +======== + + // 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; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/reach_plan_service.proto +} + +// Audience metrics for the planned products. +// These metrics consider the following targeting dimensions: +// +// - Location +// - PlannableAgeRange +// - Gender +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/reach_plan_service.proto + repeated google.ads.googleads.v13.common.UserInterestInfo user_interest = 1; +======== + repeated google.ads.googleads.v15.common.UserInterestInfo user_interest = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/reach_plan_service.proto +} + +// Advanced targeting settings for products. +message AdvancedProductTargeting { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/reach_plan_service.proto +======== + // 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; + +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/reach_plan_service.proto + // 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; +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/services/reach_plan_service.proto +======== +} + +// 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.v15.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.v15.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]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/reach_plan_service.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v15/services/recommendation_service.proto b/third_party/googleapis/google/ads/googleads/v15/services/recommendation_service.proto new file mode 100644 index 000000000..06f3b4995 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/services/recommendation_service.proto @@ -0,0 +1,462 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.ads.googleads.v15.services; + +import "google/ads/googleads/v15/common/extensions.proto"; +import "google/ads/googleads/v15/enums/keyword_match_type.proto"; +import "google/ads/googleads/v15/resources/ad.proto"; +import "google/ads/googleads/v15/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/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V15.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/services;services"; +option java_multiple_files = true; +option java_outer_classname = "RecommendationServiceProto"; +option java_package = "com.google.ads.googleads.v15.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V15::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: "/v15/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: "/v15/customers/{customer_id=*}/recommendations:dismiss" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [RecommendationService.ApplyRecommendation][google.ads.googleads.v15.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.v15.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.v15.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.v15.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.v15.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.v15.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.v15.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.v15.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.v15.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.v15.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; + } + + // 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; + } +} + +// Response message for +// [RecommendationService.ApplyRecommendation][google.ads.googleads.v15.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.v15.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.v15.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; +} diff --git a/third_party/googleapis/google/ads/googleads/v15/services/recommendation_subscription_service.proto b/third_party/googleapis/google/ads/googleads/v15/services/recommendation_subscription_service.proto new file mode 100644 index 000000000..34c6a6beb --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.v15.services; + +import "google/ads/googleads/v15/enums/response_content_type.proto"; +import "google/ads/googleads/v15/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.V15.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/services;services"; +option java_multiple_files = true; +option java_outer_classname = "RecommendationSubscriptionServiceProto"; +option java_package = "com.google.ads.googleads.v15.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V15::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: "/v15/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.v15.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.v15.resources.RecommendationSubscription create = 1; + + // Update operation: The subscription is expected to have a valid + // resource name. + google.ads.googleads.v15.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.v15.resources.RecommendationSubscription + recommendation_subscription = 2; +} diff --git a/third_party/googleapis/google/ads/googleads/v15/services/remarketing_action_service.proto b/third_party/googleapis/google/ads/googleads/v15/services/remarketing_action_service.proto new file mode 100644 index 000000000..77528385b --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/services/remarketing_action_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/remarketing_action_service.proto +package google.ads.googleads.v12.services; + +import "google/ads/googleads/v12/resources/remarketing_action.proto"; +======== +package google.ads.googleads.v15.services; + +import "google/ads/googleads/v15/resources/remarketing_action.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/remarketing_action_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/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/remarketing_action_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/services;services"; +option java_multiple_files = true; +option java_outer_classname = "RemarketingActionServiceProto"; +option java_package = "com.google.ads.googleads.v12.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V12::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/services;services"; +option java_multiple_files = true; +option java_outer_classname = "RemarketingActionServiceProto"; +option java_package = "com.google.ads.googleads.v15.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V15::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/remarketing_action_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/remarketing_action_service.proto + post: "/v12/customers/{customer_id=*}/remarketingActions:mutate" +======== + post: "/v15/customers/{customer_id=*}/remarketingActions:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/remarketing_action_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/remarketing_action_service.proto +// Request message for [RemarketingActionService.MutateRemarketingActions][google.ads.googleads.v12.services.RemarketingActionService.MutateRemarketingActions]. +======== +// Request message for +// [RemarketingActionService.MutateRemarketingActions][google.ads.googleads.v15.services.RemarketingActionService.MutateRemarketingActions]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/remarketing_action_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/remarketing_action_service.proto + google.ads.googleads.v12.resources.RemarketingAction create = 1; + + // Update operation: The remarketing action is expected to have a valid + // resource name. + google.ads.googleads.v12.resources.RemarketingAction update = 2; +======== + google.ads.googleads.v15.resources.RemarketingAction create = 1; + + // Update operation: The remarketing action is expected to have a valid + // resource name. + google.ads.googleads.v15.resources.RemarketingAction update = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/remarketing_action_service.proto + } +} + +// 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/v15/services/shared_criterion_service.proto b/third_party/googleapis/google/ads/googleads/v15/services/shared_criterion_service.proto new file mode 100644 index 000000000..00bebda9a --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/services/shared_criterion_service.proto @@ -0,0 +1,181 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/shared_criterion_service.proto +package google.ads.googleads.v12.services; + +import "google/ads/googleads/v12/enums/response_content_type.proto"; +import "google/ads/googleads/v12/resources/shared_criterion.proto"; +======== +package google.ads.googleads.v15.services; + +import "google/ads/googleads/v15/enums/response_content_type.proto"; +import "google/ads/googleads/v15/resources/shared_criterion.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/shared_criterion_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/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/shared_criterion_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/services;services"; +option java_multiple_files = true; +option java_outer_classname = "SharedCriterionServiceProto"; +option java_package = "com.google.ads.googleads.v12.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V12::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/services;services"; +option java_multiple_files = true; +option java_outer_classname = "SharedCriterionServiceProto"; +option java_package = "com.google.ads.googleads.v15.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V15::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/shared_criterion_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/shared_criterion_service.proto + post: "/v12/customers/{customer_id=*}/sharedCriteria:mutate" +======== + post: "/v15/customers/{customer_id=*}/sharedCriteria:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/shared_criterion_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/shared_criterion_service.proto +// Request message for [SharedCriterionService.MutateSharedCriteria][google.ads.googleads.v12.services.SharedCriterionService.MutateSharedCriteria]. +======== +// Request message for +// [SharedCriterionService.MutateSharedCriteria][google.ads.googleads.v15.services.SharedCriterionService.MutateSharedCriteria]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/shared_criterion_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/shared_criterion_service.proto + google.ads.googleads.v12.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +======== + google.ads.googleads.v15.enums.ResponseContentTypeEnum.ResponseContentType + response_content_type = 5; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/shared_criterion_service.proto +} + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/shared_criterion_service.proto + google.ads.googleads.v12.resources.SharedCriterion create = 1; +======== + google.ads.googleads.v15.resources.SharedCriterion create = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/shared_criterion_service.proto + + // 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". +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/shared_criterion_service.proto + google.ads.googleads.v12.resources.SharedCriterion shared_criterion = 2; +======== + google.ads.googleads.v15.resources.SharedCriterion shared_criterion = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/shared_criterion_service.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v15/services/shared_set_service.proto b/third_party/googleapis/google/ads/googleads/v15/services/shared_set_service.proto new file mode 100644 index 000000000..fd0705c78 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/services/shared_set_service.proto @@ -0,0 +1,195 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/shared_set_service.proto +package google.ads.googleads.v12.services; + +import "google/ads/googleads/v12/enums/response_content_type.proto"; +import "google/ads/googleads/v12/resources/shared_set.proto"; +======== +package google.ads.googleads.v15.services; + +import "google/ads/googleads/v15/enums/response_content_type.proto"; +import "google/ads/googleads/v15/resources/shared_set.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/shared_set_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/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/shared_set_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/services;services"; +option java_multiple_files = true; +option java_outer_classname = "SharedSetServiceProto"; +option java_package = "com.google.ads.googleads.v12.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V12::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/services;services"; +option java_multiple_files = true; +option java_outer_classname = "SharedSetServiceProto"; +option java_package = "com.google.ads.googleads.v15.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V15::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/shared_set_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/shared_set_service.proto + post: "/v12/customers/{customer_id=*}/sharedSets:mutate" +======== + post: "/v15/customers/{customer_id=*}/sharedSets:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/shared_set_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/shared_set_service.proto +// Request message for [SharedSetService.MutateSharedSets][google.ads.googleads.v12.services.SharedSetService.MutateSharedSets]. +======== +// Request message for +// [SharedSetService.MutateSharedSets][google.ads.googleads.v15.services.SharedSetService.MutateSharedSets]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/shared_set_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/shared_set_service.proto + google.ads.googleads.v12.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +======== + google.ads.googleads.v15.enums.ResponseContentTypeEnum.ResponseContentType + response_content_type = 5; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/shared_set_service.proto +} + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/shared_set_service.proto + google.ads.googleads.v12.resources.SharedSet create = 1; + + // Update operation: The shared set is expected to have a valid resource + // name. + google.ads.googleads.v12.resources.SharedSet update = 2; +======== + google.ads.googleads.v15.resources.SharedSet create = 1; + + // Update operation: The shared set is expected to have a valid resource + // name. + google.ads.googleads.v15.resources.SharedSet update = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/shared_set_service.proto + + // 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". +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/shared_set_service.proto + google.ads.googleads.v12.resources.SharedSet shared_set = 2; +======== + google.ads.googleads.v15.resources.SharedSet shared_set = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/shared_set_service.proto +} diff --git a/third_party/googleapis/google/ads/googleads/v15/services/smart_campaign_setting_service.proto b/third_party/googleapis/google/ads/googleads/v15/services/smart_campaign_setting_service.proto new file mode 100644 index 000000000..ce665ca54 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.v15.services; + +import "google/ads/googleads/v15/enums/response_content_type.proto"; +import "google/ads/googleads/v15/enums/smart_campaign_not_eligible_reason.proto"; +import "google/ads/googleads/v15/enums/smart_campaign_status.proto"; +import "google/ads/googleads/v15/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.V15.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/services;services"; +option java_multiple_files = true; +option java_outer_classname = "SmartCampaignSettingServiceProto"; +option java_package = "com.google.ads.googleads.v15.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V15::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: "/v15/{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: "/v15/customers/{customer_id=*}/smartCampaignSettings:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [SmartCampaignSettingService.GetSmartCampaignStatus][google.ads.googleads.v15.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.v15.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.v15.services.SmartCampaignSettingService.GetSmartCampaignStatus]. +message GetSmartCampaignStatusResponse { + // The status of this Smart campaign. + google.ads.googleads.v15.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.v15.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.v15.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.v15.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.v15.resources.SmartCampaignSetting + smart_campaign_setting = 2; +} diff --git a/third_party/googleapis/google/ads/googleads/v15/services/smart_campaign_suggest_service.proto b/third_party/googleapis/google/ads/googleads/v15/services/smart_campaign_suggest_service.proto new file mode 100644 index 000000000..d5fbf6ba2 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/services/smart_campaign_suggest_service.proto @@ -0,0 +1,331 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/smart_campaign_suggest_service.proto +package google.ads.googleads.v12.services; + +import "google/ads/googleads/v12/common/ad_type_infos.proto"; +import "google/ads/googleads/v12/common/criteria.proto"; +import "google/ads/googleads/v12/resources/keyword_theme_constant.proto"; +======== +package google.ads.googleads.v15.services; + +import "google/ads/googleads/v15/common/ad_type_infos.proto"; +import "google/ads/googleads/v15/common/criteria.proto"; +import "google/ads/googleads/v15/resources/keyword_theme_constant.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/smart_campaign_suggest_service.proto +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/smart_campaign_suggest_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/services;services"; +option java_multiple_files = true; +option java_outer_classname = "SmartCampaignSuggestServiceProto"; +option java_package = "com.google.ads.googleads.v12.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V12::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/services;services"; +option java_multiple_files = true; +option java_outer_classname = "SmartCampaignSuggestServiceProto"; +option java_package = "com.google.ads.googleads.v15.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V15::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/smart_campaign_suggest_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/smart_campaign_suggest_service.proto + post: "/v12/customers/{customer_id=*}:suggestSmartCampaignBudgetOptions" +======== + post: "/v15/customers/{customer_id=*}:suggestSmartCampaignBudgetOptions" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/smart_campaign_suggest_service.proto + 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/smart_campaign_suggest_service.proto + post: "/v12/customers/{customer_id=*}:suggestSmartCampaignAd" +======== + post: "/v15/customers/{customer_id=*}:suggestSmartCampaignAd" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/smart_campaign_suggest_service.proto + body: "*" + }; + } + + // Suggests keyword themes to advertise on. + rpc SuggestKeywordThemes(SuggestKeywordThemesRequest) + returns (SuggestKeywordThemesResponse) { + option (google.api.http) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/smart_campaign_suggest_service.proto + post: "/v12/customers/{customer_id=*}:suggestKeywordThemes" +======== + post: "/v15/customers/{customer_id=*}:suggestKeywordThemes" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/smart_campaign_suggest_service.proto + body: "*" + }; + } +} + +// Request message for +// [SmartCampaignSuggestService.SuggestSmartCampaignBudgetOptions][google.ads.googleads.v15.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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/smart_campaign_suggest_service.proto + repeated google.ads.googleads.v12.common.LocationInfo locations = 1 [(google.api.field_behavior) = REQUIRED]; +======== + repeated google.ads.googleads.v15.common.LocationInfo locations = 1 + [(google.api.field_behavior) = REQUIRED]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/smart_campaign_suggest_service.proto + } + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/smart_campaign_suggest_service.proto + repeated google.ads.googleads.v12.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.v12.common.KeywordThemeInfo keyword_themes = 7 [(google.api.field_behavior) = OPTIONAL]; +======== + repeated google.ads.googleads.v15.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.v15.common.KeywordThemeInfo keyword_themes = 7 + [(google.api.field_behavior) = OPTIONAL]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/smart_campaign_suggest_service.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/smart_campaign_suggest_service.proto + string business_profile_location = 9 [(google.api.field_behavior) = OPTIONAL]; +======== + string business_profile_location = 9 + [(google.api.field_behavior) = OPTIONAL]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/smart_campaign_suggest_service.proto + } + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/smart_campaign_suggest_service.proto + google.ads.googleads.v12.common.ProximityInfo proximity = 5 [(google.api.field_behavior) = OPTIONAL]; +======== + google.ads.googleads.v15.common.ProximityInfo proximity = 5 + [(google.api.field_behavior) = OPTIONAL]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/smart_campaign_suggest_service.proto + } +} + +// Response message for +// [SmartCampaignSuggestService.SuggestSmartCampaignBudgetOptions][google.ads.googleads.v15.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 +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/smart_campaign_suggest_service.proto +// [SmartCampaignSuggestService.SuggestSmartCampaignAd][google.ads.googleads.v12.services.SmartCampaignSuggestService.SuggestSmartCampaignAd]. +======== +// [SmartCampaignSuggestService.SuggestSmartCampaignAd][google.ads.googleads.v15.services.SmartCampaignSuggestService.SuggestSmartCampaignAd]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/smart_campaign_suggest_service.proto +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 +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/smart_campaign_suggest_service.proto +// [SmartCampaignSuggestService.SuggestSmartCampaignAd][google.ads.googleads.v12.services.SmartCampaignSuggestService.SuggestSmartCampaignAd]. +message SuggestSmartCampaignAdResponse { + // Optional. Ad info includes 3 creative headlines and 2 creative descriptions. + google.ads.googleads.v12.common.SmartCampaignAdInfo ad_info = 1 [(google.api.field_behavior) = OPTIONAL]; +} + +// Request message for +// [SmartCampaignSuggestService.SuggestKeywordThemes][google.ads.googleads.v12.services.SmartCampaignSuggestService.SuggestKeywordThemes]. +======== +// [SmartCampaignSuggestService.SuggestSmartCampaignAd][google.ads.googleads.v15.services.SmartCampaignSuggestService.SuggestSmartCampaignAd]. +message SuggestSmartCampaignAdResponse { + // Optional. Ad info includes 3 creative headlines and 2 creative + // descriptions. + google.ads.googleads.v15.common.SmartCampaignAdInfo ad_info = 1 + [(google.api.field_behavior) = OPTIONAL]; +} + +// Request message for +// [SmartCampaignSuggestService.SuggestKeywordThemes][google.ads.googleads.v15.services.SmartCampaignSuggestService.SuggestKeywordThemes]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/smart_campaign_suggest_service.proto +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 +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/smart_campaign_suggest_service.proto +// [SmartCampaignSuggestService.SuggestKeywordThemes][google.ads.googleads.v12.services.SmartCampaignSuggestService.SuggestKeywordThemes]. +======== +// [SmartCampaignSuggestService.SuggestKeywordThemes][google.ads.googleads.v15.services.SmartCampaignSuggestService.SuggestKeywordThemes]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/smart_campaign_suggest_service.proto +message SuggestKeywordThemesResponse { + // A Smart campaign keyword theme suggestion. + message KeywordTheme { + // A keyword theme. + oneof keyword_theme { + // A Smart campaign keyword theme constant. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/smart_campaign_suggest_service.proto + google.ads.googleads.v12.resources.KeywordThemeConstant keyword_theme_constant = 1; +======== + google.ads.googleads.v15.resources.KeywordThemeConstant + keyword_theme_constant = 1; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/smart_campaign_suggest_service.proto + + // 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/v15/services/third_party_app_analytics_link_service.proto b/third_party/googleapis/google/ads/googleads/v15/services/third_party_app_analytics_link_service.proto new file mode 100644 index 000000000..41c5dce4c --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/services/third_party_app_analytics_link_service.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/third_party_app_analytics_link_service.proto +package google.ads.googleads.v12.services; +======== +package google.ads.googleads.v15.services; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/third_party_app_analytics_link_service.proto + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/resource.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/third_party_app_analytics_link_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/services;services"; +option java_multiple_files = true; +option java_outer_classname = "ThirdPartyAppAnalyticsLinkServiceProto"; +option java_package = "com.google.ads.googleads.v12.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V12::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/services;services"; +option java_multiple_files = true; +option java_outer_classname = "ThirdPartyAppAnalyticsLinkServiceProto"; +option java_package = "com.google.ads.googleads.v15.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V15::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/third_party_app_analytics_link_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/third_party_app_analytics_link_service.proto + post: "/v12/{resource_name=customers/*/thirdPartyAppAnalyticsLinks/*}:regenerateShareableLinkId" +======== + post: "/v15/{resource_name=customers/*/thirdPartyAppAnalyticsLinks/*}:regenerateShareableLinkId" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/third_party_app_analytics_link_service.proto + body: "*" + }; + } +} + +// Request message for +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/third_party_app_analytics_link_service.proto +// [ThirdPartyAppAnalyticsLinkService.RegenerateShareableLinkId][google.ads.googleads.v12.services.ThirdPartyAppAnalyticsLinkService.RegenerateShareableLinkId]. +======== +// [ThirdPartyAppAnalyticsLinkService.RegenerateShareableLinkId][google.ads.googleads.v15.services.ThirdPartyAppAnalyticsLinkService.RegenerateShareableLinkId]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/third_party_app_analytics_link_service.proto +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 +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/third_party_app_analytics_link_service.proto +// [ThirdPartyAppAnalyticsLinkService.RegenerateShareableLinkId][google.ads.googleads.v12.services.ThirdPartyAppAnalyticsLinkService.RegenerateShareableLinkId]. +message RegenerateShareableLinkIdResponse { + +} +======== +// [ThirdPartyAppAnalyticsLinkService.RegenerateShareableLinkId][google.ads.googleads.v15.services.ThirdPartyAppAnalyticsLinkService.RegenerateShareableLinkId]. +message RegenerateShareableLinkIdResponse {} +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/third_party_app_analytics_link_service.proto diff --git a/third_party/googleapis/google/ads/googleads/v15/services/travel_asset_suggestion_service.proto b/third_party/googleapis/google/ads/googleads/v15/services/travel_asset_suggestion_service.proto new file mode 100644 index 000000000..aa87a9af9 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/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.v15.services; + +import "google/ads/googleads/v15/enums/asset_field_type.proto"; +import "google/ads/googleads/v15/enums/call_to_action_type.proto"; +import "google/ads/googleads/v15/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.V15.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/services;services"; +option java_multiple_files = true; +option java_outer_classname = "TravelAssetSuggestionServiceProto"; +option java_package = "com.google.ads.googleads.v15.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V15::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: "/v15/customers/{customer_id=*}:suggestTravelAssets" + body: "*" + }; + option (google.api.method_signature) = "customer_id,language_option"; + } +} + +// Request message for +// [TravelAssetSuggestionService.SuggestTravelAssets][google.ads.googleads.v15.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.v15.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.v15.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.v15.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.v15.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.v15.enums.AssetFieldTypeEnum.AssetFieldType + asset_field_type = 2; +} diff --git a/third_party/googleapis/google/ads/googleads/v15/services/user_data_service.proto b/third_party/googleapis/google/ads/googleads/v15/services/user_data_service.proto new file mode 100644 index 000000000..5212ffb5a --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/services/user_data_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/user_data_service.proto +package google.ads.googleads.v12.services; + +import "google/ads/googleads/v12/common/offline_user_data.proto"; +======== +package google.ads.googleads.v15.services; + +import "google/ads/googleads/v15/common/offline_user_data.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/user_data_service.proto +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/user_data_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/services;services"; +option java_multiple_files = true; +option java_outer_classname = "UserDataServiceProto"; +option java_package = "com.google.ads.googleads.v12.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V12::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/services;services"; +option java_multiple_files = true; +option java_outer_classname = "UserDataServiceProto"; +option java_package = "com.google.ads.googleads.v15.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V15::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/user_data_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/user_data_service.proto + post: "/v12/customers/{customer_id=*}:uploadUserData" +======== + post: "/v15/customers/{customer_id=*}:uploadUserData" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/user_data_service.proto + body: "*" + }; + } +} + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/user_data_service.proto +// Request message for [UserDataService.UploadUserData][google.ads.googleads.v12.services.UserDataService.UploadUserData] +======== +// Request message for +// [UserDataService.UploadUserData][google.ads.googleads.v15.services.UserDataService.UploadUserData] +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/user_data_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/user_data_service.proto + google.ads.googleads.v12.common.CustomerMatchUserListMetadata customer_match_user_list_metadata = 2; +======== + google.ads.googleads.v15.common.CustomerMatchUserListMetadata + customer_match_user_list_metadata = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/user_data_service.proto + } +} + +// 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/user_data_service.proto + google.ads.googleads.v12.common.UserData create = 1; + + // The list of user data to be removed from the user list. + google.ads.googleads.v12.common.UserData remove = 2; + } +} + +// Response message for [UserDataService.UploadUserData][google.ads.googleads.v12.services.UserDataService.UploadUserData] +======== + google.ads.googleads.v15.common.UserData create = 1; + + // The list of user data to be removed from the user list. + google.ads.googleads.v15.common.UserData remove = 2; + } +} + +// Response message for +// [UserDataService.UploadUserData][google.ads.googleads.v15.services.UserDataService.UploadUserData] +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/user_data_service.proto +// 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/v15/services/user_list_service.proto b/third_party/googleapis/google/ads/googleads/v15/services/user_list_service.proto new file mode 100644 index 000000000..2edfe266b --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v15/services/user_list_service.proto @@ -0,0 +1,172 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/user_list_service.proto +package google.ads.googleads.v12.services; + +import "google/ads/googleads/v12/resources/user_list.proto"; +======== +package google.ads.googleads.v15.services; + +import "google/ads/googleads/v15/resources/user_list.proto"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/user_list_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/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/user_list_service.proto +option csharp_namespace = "Google.Ads.GoogleAds.V12.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/services;services"; +option java_multiple_files = true; +option java_outer_classname = "UserListServiceProto"; +option java_package = "com.google.ads.googleads.v12.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V12::Services"; +======== +option csharp_namespace = "Google.Ads.GoogleAds.V15.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/services;services"; +option java_multiple_files = true; +option java_outer_classname = "UserListServiceProto"; +option java_package = "com.google.ads.googleads.v15.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V15::Services"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/user_list_service.proto + +// 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) = { +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/user_list_service.proto + post: "/v12/customers/{customer_id=*}/userLists:mutate" +======== + post: "/v15/customers/{customer_id=*}/userLists:mutate" +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/user_list_service.proto + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/user_list_service.proto +// Request message for [UserListService.MutateUserLists][google.ads.googleads.v12.services.UserListService.MutateUserLists]. +======== +// Request message for +// [UserListService.MutateUserLists][google.ads.googleads.v15.services.UserListService.MutateUserLists]. +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/user_list_service.proto +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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/services/user_list_service.proto + google.ads.googleads.v12.resources.UserList create = 1; + + // Update operation: The user list is expected to have a valid resource + // name. + google.ads.googleads.v12.resources.UserList update = 2; +======== + google.ads.googleads.v15.resources.UserList create = 1; + + // Update operation: The user list is expected to have a valid resource + // name. + google.ads.googleads.v15.resources.UserList update = 2; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/googleads/v15/services/user_list_service.proto + + // 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/ads/searchads360/v0/common/ad_type_infos.proto b/third_party/googleapis/google/ads/searchads360/v0/common/ad_type_infos.proto new file mode 100644 index 000000000..c318c8097 --- /dev/null +++ b/third_party/googleapis/google/ads/searchads360/v0/common/ad_type_infos.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.searchads360.v0.common; + +option csharp_namespace = "Google.Ads.SearchAds360.V0.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/searchads360/v0/common;common"; +option java_multiple_files = true; +option java_outer_classname = "AdTypeInfosProto"; +option java_package = "com.google.ads.searchads360.v0.common"; +option objc_class_prefix = "GASA360"; +option php_namespace = "Google\\Ads\\SearchAds360\\V0\\Common"; +option ruby_package = "Google::Ads::SearchAds360::V0::Common"; + +// Proto file containing info messages for specific ad types. + +// A Search Ads 360 text ad. +message SearchAds360TextAdInfo { + // The headline of the ad. + optional string headline = 1; + + // The first line of the ad's description. + optional string description1 = 2; + + // The second line of the ad's description. + optional string description2 = 3; + + // The displayed URL of the ad. + optional string display_url = 4; + + // The displayed mobile URL of the ad. + optional string display_mobile_url = 5; + + // The tracking id of the ad. + optional int64 ad_tracking_id = 6; +} + +// A Search Ads 360 expanded text ad. +message SearchAds360ExpandedTextAdInfo { + // The headline of the ad. + optional string headline = 1; + + // The second headline of the ad. + optional string headline2 = 2; + + // The third headline of the ad. + optional string headline3 = 3; + + // The first line of the ad's description. + optional string description1 = 4; + + // The second line of the ad's description. + optional string description2 = 5; + + // Text appended to the auto-generated visible URL with a delimiter. + optional string path1 = 6; + + // Text appended to path1 with a delimiter. + optional string path2 = 7; + + // The tracking id of the ad. + optional int64 ad_tracking_id = 8; +} + +// An expanded dynamic search ad. +message SearchAds360ExpandedDynamicSearchAdInfo { + // The first line of the ad's description. + optional string description1 = 1; + + // The second line of the ad's description. + optional string description2 = 2; + + // The tracking id of the ad. + optional int64 ad_tracking_id = 3; +} + +// A Search Ads 360 product ad. +message SearchAds360ProductAdInfo {} + +// A Search Ads 360 responsive search ad. +message SearchAds360ResponsiveSearchAdInfo { + // Text appended to the auto-generated visible URL with a delimiter. + optional string path1 = 1; + + // Text appended to path1 with a delimiter. + optional string path2 = 2; + + // The tracking id of the ad. + optional int64 ad_tracking_id = 3; +} diff --git a/third_party/googleapis/google/ads/searchads360/v0/common/asset_types.proto b/third_party/googleapis/google/ads/searchads360/v0/common/asset_types.proto new file mode 100644 index 000000000..687c5788e --- /dev/null +++ b/third_party/googleapis/google/ads/searchads360/v0/common/asset_types.proto @@ -0,0 +1,258 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.ads.searchads360.v0.common; + +import "google/ads/searchads360/v0/common/criteria.proto"; +import "google/ads/searchads360/v0/enums/call_conversion_reporting_state.proto"; +import "google/ads/searchads360/v0/enums/call_to_action_type.proto"; +import "google/ads/searchads360/v0/enums/location_ownership_type.proto"; +import "google/ads/searchads360/v0/enums/mime_type.proto"; +import "google/ads/searchads360/v0/enums/mobile_app_vendor.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.SearchAds360.V0.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/searchads360/v0/common;common"; +option java_multiple_files = true; +option java_outer_classname = "AssetTypesProto"; +option java_package = "com.google.ads.searchads360.v0.common"; +option objc_class_prefix = "GASA360"; +option php_namespace = "Google\\Ads\\SearchAds360\\V0\\Common"; +option ruby_package = "Google::Ads::SearchAds360::V0::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; +} + +// An Image asset. +message ImageAsset { + // File size of the image asset in bytes. + optional int64 file_size = 6; + + // MIME type of the image asset. + google.ads.searchads360.v0.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 unified callout asset. +message UnifiedCalloutAsset { + // The callout text. + // The length of this string should be between 1 and 25, inclusive. + string callout_text = 1; + + // 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; + + // Whether to show the asset in search user's time zone. Applies to Microsoft + // Ads. + bool use_searcher_time_zone = 5; +} + +// A unified sitelink asset. +message UnifiedSitelinkAsset { + // URL display text for the sitelink. + // The length of this string should be between 1 and 25, inclusive. + string link_text = 1; + + // 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; + + // ID used for tracking clicks for the sitelink asset. This is a Yahoo! Japan + // only field. + int64 tracking_id = 7; + + // Whether to show the sitelink asset in search user's time zone. + // Applies to Microsoft Ads. + bool use_searcher_time_zone = 8; + + // Whether the preference is for the sitelink asset to be displayed on mobile + // devices. Applies to Microsoft Ads. + bool mobile_preferred = 9; +} + +// A Unified Page Feed asset. +message UnifiedPageFeedAsset { + // The webpage that advertisers want to target. + string page_url = 1; + + // Labels used to group the page urls. + repeated string labels = 2; +} + +// 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.searchads360.v0.enums.MobileAppVendorEnum.MobileAppVendor + app_store = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// A unified call asset. +message UnifiedCallAsset { + // Two-letter country code of the phone number. Examples: 'US', 'us'. + string country_code = 1; + + // The advertiser's raw phone number. Examples: '1234567890', '(123)456-7890' + string phone_number = 2; + + // Output only. Indicates whether this CallAsset should use its own call + // conversion setting, follow the account level setting, or disable call + // conversion. + google.ads.searchads360.v0.enums.CallConversionReportingStateEnum + .CallConversionReportingState call_conversion_reporting_state = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // 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: "searchads360.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; + + // Whether the call only shows the phone number without a link to the website. + // Applies to Microsoft Ads. + bool call_only = 7; + + // Whether the call should be enabled on call tracking. + // Applies to Microsoft Ads. + bool call_tracking_enabled = 8; + + // Whether to show the call extension in search user's time zone. + // Applies to Microsoft Ads. + bool use_searcher_time_zone = 9; + + // Start date of when this asset is effective and can begin serving, in + // yyyy-MM-dd format. + string start_date = 10; + + // Last date of when this asset is effective and still serving, in yyyy-MM-dd + // format. + string end_date = 11; +} + +// A call to action asset. +message CallToActionAsset { + // Call to action. + google.ads.searchads360.v0.enums.CallToActionTypeEnum.CallToActionType + call_to_action = 1; +} + +// A unified location asset. +message UnifiedLocationAsset { + // 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.searchads360.v0.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; +} diff --git a/third_party/googleapis/google/ads/searchads360/v0/common/asset_usage.proto b/third_party/googleapis/google/ads/searchads360/v0/common/asset_usage.proto new file mode 100644 index 000000000..fe3a828bc --- /dev/null +++ b/third_party/googleapis/google/ads/searchads360/v0/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.searchads360.v0.common; + +import "google/ads/searchads360/v0/enums/served_asset_field_type.proto"; + +option csharp_namespace = "Google.Ads.SearchAds360.V0.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/searchads360/v0/common;common"; +option java_multiple_files = true; +option java_outer_classname = "AssetUsageProto"; +option java_package = "com.google.ads.searchads360.v0.common"; +option objc_class_prefix = "GASA360"; +option php_namespace = "Google\\Ads\\SearchAds360\\V0\\Common"; +option ruby_package = "Google::Ads::SearchAds360::V0::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.searchads360.v0.enums.ServedAssetFieldTypeEnum.ServedAssetFieldType + served_asset_field_type = 2; +} diff --git a/third_party/googleapis/google/ads/searchads360/v0/common/targeting_setting.proto b/third_party/googleapis/google/ads/searchads360/v0/common/targeting_setting.proto new file mode 100644 index 000000000..711608de2 --- /dev/null +++ b/third_party/googleapis/google/ads/searchads360/v0/common/targeting_setting.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.searchads360.v0.common; + +import "google/ads/searchads360/v0/enums/targeting_dimension.proto"; + +option csharp_namespace = "Google.Ads.SearchAds360.V0.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/searchads360/v0/common;common"; +option java_multiple_files = true; +option java_outer_classname = "TargetingSettingProto"; +option java_package = "com.google.ads.searchads360.v0.common"; +option objc_class_prefix = "GASA360"; +option php_namespace = "Google\\Ads\\SearchAds360\\V0\\Common"; +option ruby_package = "Google::Ads::SearchAds360::V0::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 per-targeting-dimension targeting settings. +message TargetRestriction { + // The targeting dimension that these settings apply to. + google.ads.searchads360.v0.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; +} diff --git a/third_party/googleapis/google/ads/searchads360/v0/common/text_label.proto b/third_party/googleapis/google/ads/searchads360/v0/common/text_label.proto new file mode 100644 index 000000000..cc341bd57 --- /dev/null +++ b/third_party/googleapis/google/ads/searchads360/v0/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.searchads360.v0.common; + +option csharp_namespace = "Google.Ads.SearchAds360.V0.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/searchads360/v0/common;common"; +option java_multiple_files = true; +option java_outer_classname = "TextLabelProto"; +option java_package = "com.google.ads.searchads360.v0.common"; +option objc_class_prefix = "GASA360"; +option php_namespace = "Google\\Ads\\SearchAds360\\V0\\Common"; +option ruby_package = "Google::Ads::SearchAds360::V0::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/searchads360/v0/enums/ad_group_ad_engine_status.proto b/third_party/googleapis/google/ads/searchads360/v0/enums/ad_group_ad_engine_status.proto new file mode 100644 index 000000000..bcdf8c4db --- /dev/null +++ b/third_party/googleapis/google/ads/searchads360/v0/enums/ad_group_ad_engine_status.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.searchads360.v0.enums; + +option csharp_namespace = "Google.Ads.SearchAds360.V0.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/searchads360/v0/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupAdEngineStatusProto"; +option java_package = "com.google.ads.searchads360.v0.enums"; +option objc_class_prefix = "GASA360"; +option php_namespace = "Google\\Ads\\SearchAds360\\V0\\Enums"; +option ruby_package = "Google::Ads::SearchAds360::V0::Enums"; + +// Proto file describing engine status for the ad_group_ad. + +// Container for enum describing possible AdGroupAd engine statuses. +message AdGroupAdEngineStatusEnum { + // Enumerates AdGroupAd engine statuses. + enum AdGroupAdEngineStatus { + // No value has been specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Deprecated. Do not use. + AD_GROUP_AD_ELIGIBLE = 2 [deprecated = true]; + + // Baidu: Creative was not approved. + AD_GROUP_AD_INAPPROPRIATE_FOR_CAMPAIGN = 3; + + // Baidu: Mobile URL in process to be reviewed. + AD_GROUP_AD_MOBILE_URL_UNDER_REVIEW = 4; + + // Baidu: Creative is invalid on mobile device but valid on desktop. + AD_GROUP_AD_PARTIALLY_INVALID = 5; + + // Baidu: Creative is ready for activation. + AD_GROUP_AD_TO_BE_ACTIVATED = 6; + + // Baidu: Creative not reviewed. + AD_GROUP_AD_NOT_REVIEWED = 7; + + // Deprecated. Do not use. Previously used by Gemini + AD_GROUP_AD_ON_HOLD = 8 [deprecated = true]; + + // Creative has been paused. + AD_GROUP_AD_PAUSED = 9; + + // Creative has been removed. + AD_GROUP_AD_REMOVED = 10; + + // Creative is pending review. + AD_GROUP_AD_PENDING_REVIEW = 11; + + // Creative is under review. + AD_GROUP_AD_UNDER_REVIEW = 12; + + // Creative has been approved. + AD_GROUP_AD_APPROVED = 13; + + // Creative has been disapproved. + AD_GROUP_AD_DISAPPROVED = 14; + + // Creative is serving. + AD_GROUP_AD_SERVING = 15; + + // Creative has been paused because the account is paused. + AD_GROUP_AD_ACCOUNT_PAUSED = 16; + + // Creative has been paused because the campaign is paused. + AD_GROUP_AD_CAMPAIGN_PAUSED = 17; + + // Creative has been paused because the ad group is paused. + AD_GROUP_AD_AD_GROUP_PAUSED = 18; + } +} diff --git a/third_party/googleapis/google/ads/searchads360/v0/enums/ad_group_ad_status.proto b/third_party/googleapis/google/ads/searchads360/v0/enums/ad_group_ad_status.proto new file mode 100644 index 000000000..b5d6eabaa --- /dev/null +++ b/third_party/googleapis/google/ads/searchads360/v0/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.searchads360.v0.enums; + +option csharp_namespace = "Google.Ads.SearchAds360.V0.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/searchads360/v0/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupAdStatusProto"; +option java_package = "com.google.ads.searchads360.v0.enums"; +option objc_class_prefix = "GASA360"; +option php_namespace = "Google\\Ads\\SearchAds360\\V0\\Enums"; +option ruby_package = "Google::Ads::SearchAds360::V0::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/searchads360/v0/enums/ad_group_engine_status.proto b/third_party/googleapis/google/ads/searchads360/v0/enums/ad_group_engine_status.proto new file mode 100644 index 000000000..94b7ee4a1 --- /dev/null +++ b/third_party/googleapis/google/ads/searchads360/v0/enums/ad_group_engine_status.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.searchads360.v0.enums; + +option csharp_namespace = "Google.Ads.SearchAds360.V0.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/searchads360/v0/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupEngineStatusProto"; +option java_package = "com.google.ads.searchads360.v0.enums"; +option objc_class_prefix = "GASA360"; +option php_namespace = "Google\\Ads\\SearchAds360\\V0\\Enums"; +option ruby_package = "Google::Ads::SearchAds360::V0::Enums"; + +// Proto file describing engine status for the ad_group_criterion. + +// Container for enum describing possible AdGroup engine statuses. +message AdGroupEngineStatusEnum { + // Status of the ad group engine. + enum AdGroupEngineStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Deprecated. Do not use. + AD_GROUP_ELIGIBLE = 2 [deprecated = true]; + + // No ads are running for this ad group, because the ad group's end date has + // passed. + AD_GROUP_EXPIRED = 3; + + // The ad group has been deleted. + AD_GROUP_REMOVED = 4; + + // No ads are running for this ad group because the associated ad group is + // still in draft form. + AD_GROUP_DRAFT = 5; + + // The ad group has been paused. + AD_GROUP_PAUSED = 6; + + // The ad group is active and currently serving ads. + AD_GROUP_SERVING = 7; + + // The ad group has been submitted (Microsoft Bing Ads legacy status). + AD_GROUP_SUBMITTED = 8; + + // No ads are running for this ad group, because the campaign has been + // paused. + CAMPAIGN_PAUSED = 9; + + // No ads are running for this ad group, because the account has been + // paused. + ACCOUNT_PAUSED = 10; + } +} diff --git a/third_party/googleapis/google/ads/searchads360/v0/enums/ad_network_type.proto b/third_party/googleapis/google/ads/searchads360/v0/enums/ad_network_type.proto new file mode 100644 index 000000000..165322e1d --- /dev/null +++ b/third_party/googleapis/google/ads/searchads360/v0/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.searchads360.v0.enums; + +option csharp_namespace = "Google.Ads.SearchAds360.V0.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/searchads360/v0/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdNetworkTypeProto"; +option java_package = "com.google.ads.searchads360.v0.enums"; +option objc_class_prefix = "GASA360"; +option php_namespace = "Google\\Ads\\SearchAds360\\V0\\Enums"; +option ruby_package = "Google::Ads::SearchAds360::V0::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; + + // YouTube Search. + YOUTUBE_SEARCH = 5; + + // YouTube Videos + YOUTUBE_WATCH = 6; + + // Cross-network. + MIXED = 7; + } +} diff --git a/third_party/googleapis/google/ads/searchads360/v0/enums/ad_strength.proto b/third_party/googleapis/google/ads/searchads360/v0/enums/ad_strength.proto new file mode 100644 index 000000000..57077bef6 --- /dev/null +++ b/third_party/googleapis/google/ads/searchads360/v0/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.searchads360.v0.enums; + +option csharp_namespace = "Google.Ads.SearchAds360.V0.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/searchads360/v0/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdStrengthProto"; +option java_package = "com.google.ads.searchads360.v0.enums"; +option objc_class_prefix = "GASA360"; +option php_namespace = "Google\\Ads\\SearchAds360\\V0\\Enums"; +option ruby_package = "Google::Ads::SearchAds360::V0::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/searchads360/v0/enums/ad_type.proto b/third_party/googleapis/google/ads/searchads360/v0/enums/ad_type.proto new file mode 100644 index 000000000..4394f3559 --- /dev/null +++ b/third_party/googleapis/google/ads/searchads360/v0/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.searchads360.v0.enums; + +option csharp_namespace = "Google.Ads.SearchAds360.V0.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/searchads360/v0/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdTypeProto"; +option java_package = "com.google.ads.searchads360.v0.enums"; +option objc_class_prefix = "GASA360"; +option php_namespace = "Google\\Ads\\SearchAds360\\V0\\Enums"; +option ruby_package = "Google::Ads::SearchAds360::V0::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 a call only ad. + CALL_ONLY_AD = 6; + + // 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 a Gmail ad. + GMAIL_AD = 13; + + // 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-display ad. + VIDEO_TRUEVIEW_DISCOVERY_AD = 28; + + // 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; + + // Universal app pre-registration ad. + APP_PRE_REGISTRATION_AD = 33; + + // 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; + } +} diff --git a/third_party/googleapis/google/ads/searchads360/v0/enums/asset_engine_status.proto b/third_party/googleapis/google/ads/searchads360/v0/enums/asset_engine_status.proto new file mode 100644 index 000000000..ebe615b22 --- /dev/null +++ b/third_party/googleapis/google/ads/searchads360/v0/enums/asset_engine_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.searchads360.v0.enums; + +option csharp_namespace = "Google.Ads.SearchAds360.V0.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/searchads360/v0/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AssetEngineStatusProto"; +option java_package = "com.google.ads.searchads360.v0.enums"; +option objc_class_prefix = "GASA360"; +option php_namespace = "Google\\Ads\\SearchAds360\\V0\\Enums"; +option ruby_package = "Google::Ads::SearchAds360::V0::Enums"; + +// Proto file describing engine status for the asset. + +// Container for enum describing possible Asset engine statuses. +message AssetEngineStatusEnum { + // Next ID = 11 + enum AssetEngineStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The asset is active. + SERVING = 2; + + // The asset is active limited. + SERVING_LIMITED = 3; + + // The asset is disapproved (not eligible). + DISAPPROVED = 4; + + // The asset is inactive (pending). + DISABLED = 5; + + // The asset has been removed. + REMOVED = 6; + } +} diff --git a/third_party/googleapis/google/ads/searchads360/v0/enums/asset_group_status.proto b/third_party/googleapis/google/ads/searchads360/v0/enums/asset_group_status.proto new file mode 100644 index 000000000..e288b3e66 --- /dev/null +++ b/third_party/googleapis/google/ads/searchads360/v0/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.searchads360.v0.enums; + +option csharp_namespace = "Google.Ads.SearchAds360.V0.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/searchads360/v0/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AssetGroupStatusProto"; +option java_package = "com.google.ads.searchads360.v0.enums"; +option objc_class_prefix = "GASA360"; +option php_namespace = "Google\\Ads\\SearchAds360\\V0\\Enums"; +option ruby_package = "Google::Ads::SearchAds360::V0::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/searchads360/v0/enums/asset_link_status.proto b/third_party/googleapis/google/ads/searchads360/v0/enums/asset_link_status.proto new file mode 100644 index 000000000..9d270597b --- /dev/null +++ b/third_party/googleapis/google/ads/searchads360/v0/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.searchads360.v0.enums; + +option csharp_namespace = "Google.Ads.SearchAds360.V0.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/searchads360/v0/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AssetLinkStatusProto"; +option java_package = "com.google.ads.searchads360.v0.enums"; +option objc_class_prefix = "GASA360"; +option php_namespace = "Google\\Ads\\SearchAds360\\V0\\Enums"; +option ruby_package = "Google::Ads::SearchAds360::V0::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/searchads360/v0/enums/asset_set_asset_status.proto b/third_party/googleapis/google/ads/searchads360/v0/enums/asset_set_asset_status.proto new file mode 100644 index 000000000..4e435dbc5 --- /dev/null +++ b/third_party/googleapis/google/ads/searchads360/v0/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.searchads360.v0.enums; + +option csharp_namespace = "Google.Ads.SearchAds360.V0.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/searchads360/v0/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AssetSetAssetStatusProto"; +option java_package = "com.google.ads.searchads360.v0.enums"; +option objc_class_prefix = "GASA360"; +option php_namespace = "Google\\Ads\\SearchAds360\\V0\\Enums"; +option ruby_package = "Google::Ads::SearchAds360::V0::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/searchads360/v0/enums/asset_set_link_status.proto b/third_party/googleapis/google/ads/searchads360/v0/enums/asset_set_link_status.proto new file mode 100644 index 000000000..463cb767f --- /dev/null +++ b/third_party/googleapis/google/ads/searchads360/v0/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.searchads360.v0.enums; + +option csharp_namespace = "Google.Ads.SearchAds360.V0.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/searchads360/v0/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AssetSetLinkStatusProto"; +option java_package = "com.google.ads.searchads360.v0.enums"; +option objc_class_prefix = "GASA360"; +option php_namespace = "Google\\Ads\\SearchAds360\\V0\\Enums"; +option ruby_package = "Google::Ads::SearchAds360::V0::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/searchads360/v0/enums/asset_status.proto b/third_party/googleapis/google/ads/searchads360/v0/enums/asset_status.proto new file mode 100644 index 000000000..ec3c6469d --- /dev/null +++ b/third_party/googleapis/google/ads/searchads360/v0/enums/asset_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.searchads360.v0.enums; + +option csharp_namespace = "Google.Ads.SearchAds360.V0.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/searchads360/v0/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AssetStatusProto"; +option java_package = "com.google.ads.searchads360.v0.enums"; +option objc_class_prefix = "GASA360"; +option php_namespace = "Google\\Ads\\SearchAds360\\V0\\Enums"; +option ruby_package = "Google::Ads::SearchAds360::V0::Enums"; + +// Proto file describing asset status. + +// Container for enum describing possible statuses of an asset. +message AssetStatusEnum { + // The possible statuses of an asset. + enum AssetStatus { + // 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 is enabled. + ENABLED = 2; + + // The asset is removed. + REMOVED = 3; + + // The asset is archived. + ARCHIVED = 4; + + // The asset is system generated pending user review. + PENDING_SYSTEM_GENERATED = 5; + } +} diff --git a/third_party/googleapis/google/ads/searchads360/v0/enums/asset_type.proto b/third_party/googleapis/google/ads/searchads360/v0/enums/asset_type.proto new file mode 100644 index 000000000..59ba98fea --- /dev/null +++ b/third_party/googleapis/google/ads/searchads360/v0/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.searchads360.v0.enums; + +option csharp_namespace = "Google.Ads.SearchAds360.V0.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/searchads360/v0/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AssetTypeProto"; +option java_package = "com.google.ads.searchads360.v0.enums"; +option objc_class_prefix = "GASA360"; +option php_namespace = "Google\\Ads\\SearchAds360\\V0\\Enums"; +option ruby_package = "Google::Ads::SearchAds360::V0::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/searchads360/v0/enums/attribution_type.proto b/third_party/googleapis/google/ads/searchads360/v0/enums/attribution_type.proto new file mode 100644 index 000000000..85abef605 --- /dev/null +++ b/third_party/googleapis/google/ads/searchads360/v0/enums/attribution_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.searchads360.v0.enums; + +option csharp_namespace = "Google.Ads.SearchAds360.V0.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/searchads360/v0/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AttributionTypeProto"; +option java_package = "com.google.ads.searchads360.v0.enums"; +option objc_class_prefix = "GASA360"; +option php_namespace = "Google\\Ads\\SearchAds360\\V0\\Enums"; +option ruby_package = "Google::Ads::SearchAds360::V0::Enums"; + +// Container for enum describing conversion attribution type in SearchAds360 +message AttributionTypeEnum { + // Conversion attribution type in SearchAds360 + enum AttributionType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The conversion is attributed to a visit. + VISIT = 2; + + // The conversion is attributed to a criterion and ad pair. + CRITERION_AD = 3; + } +} diff --git a/third_party/googleapis/google/ads/searchads360/v0/enums/call_conversion_reporting_state.proto b/third_party/googleapis/google/ads/searchads360/v0/enums/call_conversion_reporting_state.proto new file mode 100644 index 000000000..39beffe00 --- /dev/null +++ b/third_party/googleapis/google/ads/searchads360/v0/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.searchads360.v0.enums; + +option csharp_namespace = "Google.Ads.SearchAds360.V0.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/searchads360/v0/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CallConversionReportingStateProto"; +option java_package = "com.google.ads.searchads360.v0.enums"; +option objc_class_prefix = "GASA360"; +option php_namespace = "Google\\Ads\\SearchAds360\\V0\\Enums"; +option ruby_package = "Google::Ads::SearchAds360::V0::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/searchads360/v0/enums/call_to_action_type.proto b/third_party/googleapis/google/ads/searchads360/v0/enums/call_to_action_type.proto new file mode 100644 index 000000000..dc109d828 --- /dev/null +++ b/third_party/googleapis/google/ads/searchads360/v0/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.searchads360.v0.enums; + +option csharp_namespace = "Google.Ads.SearchAds360.V0.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/searchads360/v0/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CallToActionTypeProto"; +option java_package = "com.google.ads.searchads360.v0.enums"; +option objc_class_prefix = "GASA360"; +option php_namespace = "Google\\Ads\\SearchAds360\\V0\\Enums"; +option ruby_package = "Google::Ads::SearchAds360::V0::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/searchads360/v0/enums/campaign_criterion_status.proto b/third_party/googleapis/google/ads/searchads360/v0/enums/campaign_criterion_status.proto new file mode 100644 index 000000000..d80b36f46 --- /dev/null +++ b/third_party/googleapis/google/ads/searchads360/v0/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.searchads360.v0.enums; + +option csharp_namespace = "Google.Ads.SearchAds360.V0.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/searchads360/v0/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CampaignCriterionStatusProto"; +option java_package = "com.google.ads.searchads360.v0.enums"; +option objc_class_prefix = "GASA360"; +option php_namespace = "Google\\Ads\\SearchAds360\\V0\\Enums"; +option ruby_package = "Google::Ads::SearchAds360::V0::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/searchads360/v0/enums/conversion_custom_variable_cardinality.proto b/third_party/googleapis/google/ads/searchads360/v0/enums/conversion_custom_variable_cardinality.proto new file mode 100644 index 000000000..2290a97d4 --- /dev/null +++ b/third_party/googleapis/google/ads/searchads360/v0/enums/conversion_custom_variable_cardinality.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.searchads360.v0.enums; + +option csharp_namespace = "Google.Ads.SearchAds360.V0.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/searchads360/v0/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionCustomVariableCardinalityProto"; +option java_package = "com.google.ads.searchads360.v0.enums"; +option objc_class_prefix = "GASA360"; +option php_namespace = "Google\\Ads\\SearchAds360\\V0\\Enums"; +option ruby_package = "Google::Ads::SearchAds360::V0::Enums"; + +// Proto file describing conversion custom variable status. + +// Container for enum describing the family of a conversion custom variable. +message ConversionCustomVariableCardinalityEnum { + // Cardinality of a conversion custom variable. + enum ConversionCustomVariableCardinality { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The conversion custom variable has cardinality below all limits. The + // variable can be used for segmentation, and stats can accrue for + // new values if the variable is enabled. + BELOW_ALL_LIMITS = 2; + + // The conversion custom variable has cardinality that exceeds the + // segmentation limit, but does not exceed the stats limit. Segmentation + // will be disabled, but stats can accrue for new values if the variable is + // enabled. + EXCEEDS_SEGMENTATION_LIMIT_BUT_NOT_STATS_LIMIT = 3; + + // The conversion custom variable has exceeded the segmentation limits, and + // is approaching the stats limits (> 90%). Segmentation will be disabled, + // but stats can accrue for new values if the variable is enabled. + APPROACHES_STATS_LIMIT = 4; + + // The conversion custom variable has exceeded both the segmentation limits + // and stats limits. Segmentation will be disabled, and stats for enabled + // variables can accrue only if the existing values do not increase the + // cardinality of the variable any further. + EXCEEDS_STATS_LIMIT = 5; + } +} diff --git a/third_party/googleapis/google/ads/searchads360/v0/enums/conversion_custom_variable_family.proto b/third_party/googleapis/google/ads/searchads360/v0/enums/conversion_custom_variable_family.proto new file mode 100644 index 000000000..6710fef69 --- /dev/null +++ b/third_party/googleapis/google/ads/searchads360/v0/enums/conversion_custom_variable_family.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.searchads360.v0.enums; + +option csharp_namespace = "Google.Ads.SearchAds360.V0.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/searchads360/v0/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionCustomVariableFamilyProto"; +option java_package = "com.google.ads.searchads360.v0.enums"; +option objc_class_prefix = "GASA360"; +option php_namespace = "Google\\Ads\\SearchAds360\\V0\\Enums"; +option ruby_package = "Google::Ads::SearchAds360::V0::Enums"; + +// Proto file describing conversion custom variable status. + +// Container for enum describing the family of a conversion custom variable. +message ConversionCustomVariableFamilyEnum { + // Family of a conversion custom variable. + enum ConversionCustomVariableFamily { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The standard conversion custom variable. Customers are required to + // activate before use. + STANDARD = 2; + + // The conversion custom variable imported from a custom floodlight + // variable. + FLOODLIGHT = 3; + } +} diff --git a/third_party/googleapis/google/ads/searchads360/v0/enums/conversion_custom_variable_status.proto b/third_party/googleapis/google/ads/searchads360/v0/enums/conversion_custom_variable_status.proto new file mode 100644 index 000000000..ae881ee2a --- /dev/null +++ b/third_party/googleapis/google/ads/searchads360/v0/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.searchads360.v0.enums; + +option csharp_namespace = "Google.Ads.SearchAds360.V0.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/searchads360/v0/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionCustomVariableStatusProto"; +option java_package = "com.google.ads.searchads360.v0.enums"; +option objc_class_prefix = "GASA360"; +option php_namespace = "Google\\Ads\\SearchAds360\\V0\\Enums"; +option ruby_package = "Google::Ads::SearchAds360::V0::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/searchads360/v0/enums/conversion_status.proto b/third_party/googleapis/google/ads/searchads360/v0/enums/conversion_status.proto new file mode 100644 index 000000000..c1e507fa0 --- /dev/null +++ b/third_party/googleapis/google/ads/searchads360/v0/enums/conversion_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.searchads360.v0.enums; + +option csharp_namespace = "Google.Ads.SearchAds360.V0.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/searchads360/v0/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionStatusProto"; +option java_package = "com.google.ads.searchads360.v0.enums"; +option objc_class_prefix = "GASA360"; +option php_namespace = "Google\\Ads\\SearchAds360\\V0\\Enums"; +option ruby_package = "Google::Ads::SearchAds360::V0::Enums"; + +// Proto file describing conversion status. + +// Container for enum describing possible statuses of a conversion. +message ConversionStatusEnum { + // Possible statuses of a conversion. + enum ConversionStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The conversion is enabled. + ENABLED = 2; + + // The conversion has been removed. + REMOVED = 3; + } +} diff --git a/third_party/googleapis/google/ads/searchads360/v0/enums/floodlight_variable_data_type.proto b/third_party/googleapis/google/ads/searchads360/v0/enums/floodlight_variable_data_type.proto new file mode 100644 index 000000000..f2c3b0f71 --- /dev/null +++ b/third_party/googleapis/google/ads/searchads360/v0/enums/floodlight_variable_data_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.searchads360.v0.enums; + +option csharp_namespace = "Google.Ads.SearchAds360.V0.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/searchads360/v0/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FloodlightVariableDataTypeProto"; +option java_package = "com.google.ads.searchads360.v0.enums"; +option objc_class_prefix = "GASA360"; +option php_namespace = "Google\\Ads\\SearchAds360\\V0\\Enums"; +option ruby_package = "Google::Ads::SearchAds360::V0::Enums"; + +// Proto file describing conversion custom variable status. + +// Container for enum describing Floodlight variable type defined in Search Ads +// 360. +message FloodlightVariableDataTypeEnum { + // The data type of the floodlight variable, as defined in Search Ads 360. See + // https://support.google.com/searchads/answer/4397154?hl=en to learn more. + enum FloodlightVariableDataType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Represents a floodlight variable of "Number" type. This variable may be + // assigned to floodlight variables of DIMENSION or METRIC types. + NUMBER = 2; + + // Represents a floodlight variable of "String" type. This variable may be + // assigned to floodlight variables of DIMENSION type. + STRING = 3; + } +} diff --git a/third_party/googleapis/google/ads/searchads360/v0/enums/floodlight_variable_type.proto b/third_party/googleapis/google/ads/searchads360/v0/enums/floodlight_variable_type.proto new file mode 100644 index 000000000..7312bd1f3 --- /dev/null +++ b/third_party/googleapis/google/ads/searchads360/v0/enums/floodlight_variable_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.searchads360.v0.enums; + +option csharp_namespace = "Google.Ads.SearchAds360.V0.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/searchads360/v0/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FloodlightVariableTypeProto"; +option java_package = "com.google.ads.searchads360.v0.enums"; +option objc_class_prefix = "GASA360"; +option php_namespace = "Google\\Ads\\SearchAds360\\V0\\Enums"; +option ruby_package = "Google::Ads::SearchAds360::V0::Enums"; + +// Proto file describing conversion custom variable status. + +// Container for enum describing Floodlight variable type defined in Search Ads +// 360. +message FloodlightVariableTypeEnum { + // Type of the floodlight variable, as defined in the Search Ads 360. See + // https://support.google.com/searchads/answer/4397154?hl=en to learn more. + enum FloodlightVariableType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Dimension floodlight variable type. + DIMENSION = 2; + + // Metric floodlight variable type. + METRIC = 3; + + // Floodlight variable type is unset. + UNSET = 4; + } +} diff --git a/third_party/googleapis/google/ads/searchads360/v0/enums/geo_target_constant_status.proto b/third_party/googleapis/google/ads/searchads360/v0/enums/geo_target_constant_status.proto new file mode 100644 index 000000000..d5456f719 --- /dev/null +++ b/third_party/googleapis/google/ads/searchads360/v0/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.searchads360.v0.enums; + +option csharp_namespace = "Google.Ads.SearchAds360.V0.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/searchads360/v0/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "GeoTargetConstantStatusProto"; +option java_package = "com.google.ads.searchads360.v0.enums"; +option objc_class_prefix = "GASA360"; +option php_namespace = "Google\\Ads\\SearchAds360\\V0\\Enums"; +option ruby_package = "Google::Ads::SearchAds360::V0::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/searchads360/v0/enums/label_status.proto b/third_party/googleapis/google/ads/searchads360/v0/enums/label_status.proto new file mode 100644 index 000000000..40e1fcc1b --- /dev/null +++ b/third_party/googleapis/google/ads/searchads360/v0/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.searchads360.v0.enums; + +option csharp_namespace = "Google.Ads.SearchAds360.V0.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/searchads360/v0/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LabelStatusProto"; +option java_package = "com.google.ads.searchads360.v0.enums"; +option objc_class_prefix = "GASA360"; +option php_namespace = "Google\\Ads\\SearchAds360\\V0\\Enums"; +option ruby_package = "Google::Ads::SearchAds360::V0::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/searchads360/v0/enums/listing_group_filter_bidding_category_level.proto b/third_party/googleapis/google/ads/searchads360/v0/enums/listing_group_filter_bidding_category_level.proto new file mode 100644 index 000000000..c4960680f --- /dev/null +++ b/third_party/googleapis/google/ads/searchads360/v0/enums/listing_group_filter_bidding_category_level.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/listing_group_filter_bidding_category_level.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ListingGroupFilterBiddingCategoryLevelProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.searchads360.v0.enums; + +option csharp_namespace = "Google.Ads.SearchAds360.V0.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/searchads360/v0/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ListingGroupFilterBiddingCategoryLevelProto"; +option java_package = "com.google.ads.searchads360.v0.enums"; +option objc_class_prefix = "GASA360"; +option php_namespace = "Google\\Ads\\SearchAds360\\V0\\Enums"; +option ruby_package = "Google::Ads::SearchAds360::V0::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/searchads360/v0/enums/listing_group_filter_bidding_category_level.proto + +// Proto file describing listing groups. + +// Container for enum describing the levels of bidding category used in +// ListingGroupFilterDimension. +message ListingGroupFilterBiddingCategoryLevelEnum { + // The level of the listing group filter bidding category. + enum ListingGroupFilterBiddingCategoryLevel { + // 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/searchads360/v0/enums/listing_group_filter_custom_attribute_index.proto b/third_party/googleapis/google/ads/searchads360/v0/enums/listing_group_filter_custom_attribute_index.proto new file mode 100644 index 000000000..a8e705849 --- /dev/null +++ b/third_party/googleapis/google/ads/searchads360/v0/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.searchads360.v0.enums; + +option csharp_namespace = "Google.Ads.SearchAds360.V0.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/searchads360/v0/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ListingGroupFilterCustomAttributeIndexProto"; +option java_package = "com.google.ads.searchads360.v0.enums"; +option objc_class_prefix = "GASA360"; +option php_namespace = "Google\\Ads\\SearchAds360\\V0\\Enums"; +option ruby_package = "Google::Ads::SearchAds360::V0::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/searchads360/v0/enums/listing_group_filter_product_channel.proto b/third_party/googleapis/google/ads/searchads360/v0/enums/listing_group_filter_product_channel.proto new file mode 100644 index 000000000..8b12d1536 --- /dev/null +++ b/third_party/googleapis/google/ads/searchads360/v0/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.searchads360.v0.enums; + +option csharp_namespace = "Google.Ads.SearchAds360.V0.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/searchads360/v0/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ListingGroupFilterProductChannelProto"; +option java_package = "com.google.ads.searchads360.v0.enums"; +option objc_class_prefix = "GASA360"; +option php_namespace = "Google\\Ads\\SearchAds360\\V0\\Enums"; +option ruby_package = "Google::Ads::SearchAds360::V0::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/searchads360/v0/enums/listing_group_filter_product_condition.proto b/third_party/googleapis/google/ads/searchads360/v0/enums/listing_group_filter_product_condition.proto new file mode 100644 index 000000000..7afb7b4c6 --- /dev/null +++ b/third_party/googleapis/google/ads/searchads360/v0/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.searchads360.v0.enums; + +option csharp_namespace = "Google.Ads.SearchAds360.V0.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/searchads360/v0/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ListingGroupFilterProductConditionProto"; +option java_package = "com.google.ads.searchads360.v0.enums"; +option objc_class_prefix = "GASA360"; +option php_namespace = "Google\\Ads\\SearchAds360\\V0\\Enums"; +option ruby_package = "Google::Ads::SearchAds360::V0::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/searchads360/v0/enums/listing_group_filter_product_type_level.proto b/third_party/googleapis/google/ads/searchads360/v0/enums/listing_group_filter_product_type_level.proto new file mode 100644 index 000000000..dd741abc4 --- /dev/null +++ b/third_party/googleapis/google/ads/searchads360/v0/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.searchads360.v0.enums; + +option csharp_namespace = "Google.Ads.SearchAds360.V0.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/searchads360/v0/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ListingGroupFilterProductTypeLevelProto"; +option java_package = "com.google.ads.searchads360.v0.enums"; +option objc_class_prefix = "GASA360"; +option php_namespace = "Google\\Ads\\SearchAds360\\V0\\Enums"; +option ruby_package = "Google::Ads::SearchAds360::V0::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/searchads360/v0/enums/listing_group_filter_type_enum.proto b/third_party/googleapis/google/ads/searchads360/v0/enums/listing_group_filter_type_enum.proto new file mode 100644 index 000000000..fdf59536f --- /dev/null +++ b/third_party/googleapis/google/ads/searchads360/v0/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.searchads360.v0.enums; + +option csharp_namespace = "Google.Ads.SearchAds360.V0.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/searchads360/v0/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ListingGroupFilterTypeEnumProto"; +option java_package = "com.google.ads.searchads360.v0.enums"; +option objc_class_prefix = "GASA360"; +option php_namespace = "Google\\Ads\\SearchAds360\\V0\\Enums"; +option ruby_package = "Google::Ads::SearchAds360::V0::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/searchads360/v0/enums/listing_group_filter_vertical.proto b/third_party/googleapis/google/ads/searchads360/v0/enums/listing_group_filter_vertical.proto new file mode 100644 index 000000000..db3048671 --- /dev/null +++ b/third_party/googleapis/google/ads/searchads360/v0/enums/listing_group_filter_vertical.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/listing_group_filter_vertical.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ListingGroupFilterVerticalProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.searchads360.v0.enums; + +option csharp_namespace = "Google.Ads.SearchAds360.V0.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/searchads360/v0/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ListingGroupFilterVerticalProto"; +option java_package = "com.google.ads.searchads360.v0.enums"; +option objc_class_prefix = "GASA360"; +option php_namespace = "Google\\Ads\\SearchAds360\\V0\\Enums"; +option ruby_package = "Google::Ads::SearchAds360::V0::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/searchads360/v0/enums/listing_group_filter_vertical.proto + +// Proto file describing listing groups. + +// Container for enum describing the type of the vertical a listing group filter +// tree represents. +message ListingGroupFilterVerticalEnum { + // The type of the listing group filter vertical. + enum ListingGroupFilterVertical { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Represents the shopping vertical. The vertical is allowed only in + // Performance Max for Retail campaigns. + SHOPPING = 2; + } +} diff --git a/third_party/googleapis/google/ads/searchads360/v0/enums/location_ownership_type.proto b/third_party/googleapis/google/ads/searchads360/v0/enums/location_ownership_type.proto new file mode 100644 index 000000000..bd98e2d96 --- /dev/null +++ b/third_party/googleapis/google/ads/searchads360/v0/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.searchads360.v0.enums; + +option csharp_namespace = "Google.Ads.SearchAds360.V0.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/searchads360/v0/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LocationOwnershipTypeProto"; +option java_package = "com.google.ads.searchads360.v0.enums"; +option objc_class_prefix = "GASA360"; +option php_namespace = "Google\\Ads\\SearchAds360\\V0\\Enums"; +option ruby_package = "Google::Ads::SearchAds360::V0::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/searchads360/v0/enums/mime_type.proto b/third_party/googleapis/google/ads/searchads360/v0/enums/mime_type.proto new file mode 100644 index 000000000..b74cebce3 --- /dev/null +++ b/third_party/googleapis/google/ads/searchads360/v0/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.searchads360.v0.enums; + +option csharp_namespace = "Google.Ads.SearchAds360.V0.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/searchads360/v0/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "MimeTypeProto"; +option java_package = "com.google.ads.searchads360.v0.enums"; +option objc_class_prefix = "GASA360"; +option php_namespace = "Google\\Ads\\SearchAds360\\V0\\Enums"; +option ruby_package = "Google::Ads::SearchAds360::V0::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/searchads360/v0/enums/minute_of_hour.proto b/third_party/googleapis/google/ads/searchads360/v0/enums/minute_of_hour.proto new file mode 100644 index 000000000..d96124cbd --- /dev/null +++ b/third_party/googleapis/google/ads/searchads360/v0/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.searchads360.v0.enums; + +option csharp_namespace = "Google.Ads.SearchAds360.V0.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/searchads360/v0/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "MinuteOfHourProto"; +option java_package = "com.google.ads.searchads360.v0.enums"; +option objc_class_prefix = "GASA360"; +option php_namespace = "Google\\Ads\\SearchAds360\\V0\\Enums"; +option ruby_package = "Google::Ads::SearchAds360::V0::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/searchads360/v0/enums/mobile_app_vendor.proto b/third_party/googleapis/google/ads/searchads360/v0/enums/mobile_app_vendor.proto new file mode 100644 index 000000000..4e13dd104 --- /dev/null +++ b/third_party/googleapis/google/ads/searchads360/v0/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.searchads360.v0.enums; + +option csharp_namespace = "Google.Ads.SearchAds360.V0.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/searchads360/v0/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "MobileAppVendorProto"; +option java_package = "com.google.ads.searchads360.v0.enums"; +option objc_class_prefix = "GASA360"; +option php_namespace = "Google\\Ads\\SearchAds360\\V0\\Enums"; +option ruby_package = "Google::Ads::SearchAds360::V0::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/searchads360/v0/enums/product_bidding_category_level.proto b/third_party/googleapis/google/ads/searchads360/v0/enums/product_bidding_category_level.proto new file mode 100644 index 000000000..46dc93b38 --- /dev/null +++ b/third_party/googleapis/google/ads/searchads360/v0/enums/product_bidding_category_level.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/product_bidding_category_level.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ProductBiddingCategoryLevelProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.searchads360.v0.enums; + +option csharp_namespace = "Google.Ads.SearchAds360.V0.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/searchads360/v0/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ProductBiddingCategoryLevelProto"; +option java_package = "com.google.ads.searchads360.v0.enums"; +option objc_class_prefix = "GASA360"; +option php_namespace = "Google\\Ads\\SearchAds360\\V0\\Enums"; +option ruby_package = "Google::Ads::SearchAds360::V0::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/searchads360/v0/enums/product_bidding_category_level.proto + +// Level of a product bidding category. +message ProductBiddingCategoryLevelEnum { + // Enum describing the level of the product bidding category. + enum ProductBiddingCategoryLevel { + // 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/searchads360/v0/enums/product_bidding_category_status.proto b/third_party/googleapis/google/ads/searchads360/v0/enums/product_bidding_category_status.proto new file mode 100644 index 000000000..c79e703c0 --- /dev/null +++ b/third_party/googleapis/google/ads/searchads360/v0/enums/product_bidding_category_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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/enums/product_bidding_category_status.proto +package google.ads.googleads.v13.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ProductBiddingCategoryStatusProto"; +option java_package = "com.google.ads.googleads.v13.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V13::Enums"; +======== +package google.ads.searchads360.v0.enums; + +option csharp_namespace = "Google.Ads.SearchAds360.V0.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/searchads360/v0/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ProductBiddingCategoryStatusProto"; +option java_package = "com.google.ads.searchads360.v0.enums"; +option objc_class_prefix = "GASA360"; +option php_namespace = "Google\\Ads\\SearchAds360\\V0\\Enums"; +option ruby_package = "Google::Ads::SearchAds360::V0::Enums"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/searchads360/v0/enums/product_bidding_category_status.proto + +// Proto file describing bidding schemes. + +// Status of the product bidding category. +message ProductBiddingCategoryStatusEnum { + // Enum describing the status of the product bidding category. + enum ProductBiddingCategoryStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The category is active and can be used for bidding. + ACTIVE = 2; + + // The category is obsolete. Used only for reporting purposes. + OBSOLETE = 3; + } +} diff --git a/third_party/googleapis/google/ads/searchads360/v0/enums/product_channel.proto b/third_party/googleapis/google/ads/searchads360/v0/enums/product_channel.proto new file mode 100644 index 000000000..f74c6fdc3 --- /dev/null +++ b/third_party/googleapis/google/ads/searchads360/v0/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.searchads360.v0.enums; + +option csharp_namespace = "Google.Ads.SearchAds360.V0.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/searchads360/v0/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ProductChannelProto"; +option java_package = "com.google.ads.searchads360.v0.enums"; +option objc_class_prefix = "GASA360"; +option php_namespace = "Google\\Ads\\SearchAds360\\V0\\Enums"; +option ruby_package = "Google::Ads::SearchAds360::V0::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/searchads360/v0/enums/product_channel_exclusivity.proto b/third_party/googleapis/google/ads/searchads360/v0/enums/product_channel_exclusivity.proto new file mode 100644 index 000000000..f83c780b7 --- /dev/null +++ b/third_party/googleapis/google/ads/searchads360/v0/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.searchads360.v0.enums; + +option csharp_namespace = "Google.Ads.SearchAds360.V0.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/searchads360/v0/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ProductChannelExclusivityProto"; +option java_package = "com.google.ads.searchads360.v0.enums"; +option objc_class_prefix = "GASA360"; +option php_namespace = "Google\\Ads\\SearchAds360\\V0\\Enums"; +option ruby_package = "Google::Ads::SearchAds360::V0::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/searchads360/v0/enums/product_condition.proto b/third_party/googleapis/google/ads/searchads360/v0/enums/product_condition.proto new file mode 100644 index 000000000..16306d468 --- /dev/null +++ b/third_party/googleapis/google/ads/searchads360/v0/enums/product_condition.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.searchads360.v0.enums; + +option csharp_namespace = "Google.Ads.SearchAds360.V0.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/searchads360/v0/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ProductConditionProto"; +option java_package = "com.google.ads.searchads360.v0.enums"; +option objc_class_prefix = "GASA360"; +option php_namespace = "Google\\Ads\\SearchAds360\\V0\\Enums"; +option ruby_package = "Google::Ads::SearchAds360::V0::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 old. + OLD = 2; + + // 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/searchads360/v0/enums/served_asset_field_type.proto b/third_party/googleapis/google/ads/searchads360/v0/enums/served_asset_field_type.proto new file mode 100644 index 000000000..18ac58cc3 --- /dev/null +++ b/third_party/googleapis/google/ads/searchads360/v0/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.searchads360.v0.enums; + +option csharp_namespace = "Google.Ads.SearchAds360.V0.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/searchads360/v0/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ServedAssetFieldTypeProto"; +option java_package = "com.google.ads.searchads360.v0.enums"; +option objc_class_prefix = "GASA360"; +option php_namespace = "Google\\Ads\\SearchAds360\\V0\\Enums"; +option ruby_package = "Google::Ads::SearchAds360::V0::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/searchads360/v0/enums/targeting_dimension.proto b/third_party/googleapis/google/ads/searchads360/v0/enums/targeting_dimension.proto new file mode 100644 index 000000000..83d9c0872 --- /dev/null +++ b/third_party/googleapis/google/ads/searchads360/v0/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.searchads360.v0.enums; + +option csharp_namespace = "Google.Ads.SearchAds360.V0.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/searchads360/v0/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "TargetingDimensionProto"; +option java_package = "com.google.ads.searchads360.v0.enums"; +option objc_class_prefix = "GASA360"; +option php_namespace = "Google\\Ads\\SearchAds360\\V0\\Enums"; +option ruby_package = "Google::Ads::SearchAds360::V0::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/searchads360/v0/enums/user_list_type.proto b/third_party/googleapis/google/ads/searchads360/v0/enums/user_list_type.proto new file mode 100644 index 000000000..9a0170429 --- /dev/null +++ b/third_party/googleapis/google/ads/searchads360/v0/enums/user_list_type.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.searchads360.v0.enums; + +option csharp_namespace = "Google.Ads.SearchAds360.V0.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/searchads360/v0/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserListTypeProto"; +option java_package = "com.google.ads.searchads360.v0.enums"; +option objc_class_prefix = "GASA360"; +option php_namespace = "Google\\Ads\\SearchAds360\\V0\\Enums"; +option ruby_package = "Google::Ads::SearchAds360::V0::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; + } +} diff --git a/third_party/googleapis/google/ads/searchads360/v0/resources/ad.proto b/third_party/googleapis/google/ads/searchads360/v0/resources/ad.proto new file mode 100644 index 000000000..c1c9b57f1 --- /dev/null +++ b/third_party/googleapis/google/ads/searchads360/v0/resources/ad.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.searchads360.v0.resources; + +import "google/ads/searchads360/v0/common/ad_type_infos.proto"; +import "google/ads/searchads360/v0/enums/ad_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.SearchAds360.V0.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/searchads360/v0/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdProto"; +option java_package = "com.google.ads.searchads360.v0.resources"; +option objc_class_prefix = "GASA360"; +option php_namespace = "Google\\Ads\\SearchAds360\\V0\\Resources"; +option ruby_package = "Google::Ads::SearchAds360::V0::Resources"; + +// Proto file describing the ad type. + +// An ad. +message Ad { + option (google.api.resource) = { + type: "searchads360.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: "searchads360.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; + + // 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.searchads360.v0.enums.AdTypeEnum.AdType type = 5 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // 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]; + + // Details pertinent to the ad type. Exactly one value must be set. + oneof ad_data { + // Immutable. Details pertaining to a text ad. + google.ads.searchads360.v0.common.SearchAds360TextAdInfo text_ad = 55 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Details pertaining to an expanded text ad. + google.ads.searchads360.v0.common.SearchAds360ExpandedTextAdInfo + expanded_text_ad = 56 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Details pertaining to a responsive search ad. + google.ads.searchads360.v0.common.SearchAds360ResponsiveSearchAdInfo + responsive_search_ad = 57 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Details pertaining to a product ad. + google.ads.searchads360.v0.common.SearchAds360ProductAdInfo product_ad = 58 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Details pertaining to an expanded dynamic search ad. + google.ads.searchads360.v0.common.SearchAds360ExpandedDynamicSearchAdInfo + expanded_dynamic_search_ad = 59 + [(google.api.field_behavior) = IMMUTABLE]; + } +} diff --git a/third_party/googleapis/google/ads/searchads360/v0/resources/ad_group_ad.proto b/third_party/googleapis/google/ads/searchads360/v0/resources/ad_group_ad.proto new file mode 100644 index 000000000..772430bc2 --- /dev/null +++ b/third_party/googleapis/google/ads/searchads360/v0/resources/ad_group_ad.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.searchads360.v0.resources; + +import "google/ads/searchads360/v0/enums/ad_group_ad_engine_status.proto"; +import "google/ads/searchads360/v0/enums/ad_group_ad_status.proto"; +import "google/ads/searchads360/v0/resources/ad.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.SearchAds360.V0.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/searchads360/v0/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupAdProto"; +option java_package = "com.google.ads.searchads360.v0.resources"; +option objc_class_prefix = "GASA360"; +option php_namespace = "Google\\Ads\\SearchAds360\\V0\\Resources"; +option ruby_package = "Google::Ads::SearchAds360::V0::Resources"; + +// Proto file describing the ad group ad resource. + +// An ad group ad. +message AdGroupAd { + option (google.api.resource) = { + type: "searchads360.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: "searchads360.googleapis.com/AdGroupAd" + } + ]; + + // The status of the ad. + google.ads.searchads360.v0.enums.AdGroupAdStatusEnum.AdGroupAdStatus status = + 3; + + // Immutable. The ad. + Ad ad = 5 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. The timestamp when this ad_group_ad was created. The datetime + // is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format. + string creation_time = 14 [(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: "searchads360.googleapis.com/AdGroupAdLabel" + } + ]; + + // Output only. ID of the ad in the external engine account. This field is for + // SearchAds 360 account only, for example, Yahoo Japan, Microsoft, Baidu etc. + // For non-SearchAds 360 entity, use "ad_group_ad.ad.id" instead. + string engine_id = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Additional status of the ad in the external engine account. + // Possible statuses (depending on the type of external account) include + // active, eligible, pending review, etc. + google.ads.searchads360.v0.enums.AdGroupAdEngineStatusEnum + .AdGroupAdEngineStatus engine_status = 15 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The datetime when this ad group ad was last modified. The + // datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" + // format. + string last_modified_time = 12 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/searchads360/v0/resources/ad_group_ad_label.proto b/third_party/googleapis/google/ads/searchads360/v0/resources/ad_group_ad_label.proto new file mode 100644 index 000000000..ae4a636c5 --- /dev/null +++ b/third_party/googleapis/google/ads/searchads360/v0/resources/ad_group_ad_label.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.searchads360.v0.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.SearchAds360.V0.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/searchads360/v0/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupAdLabelProto"; +option java_package = "com.google.ads.searchads360.v0.resources"; +option objc_class_prefix = "GASA360"; +option php_namespace = "Google\\Ads\\SearchAds360\\V0\\Resources"; +option ruby_package = "Google::Ads::SearchAds360::V0::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: "searchads360.googleapis.com/AdGroupAdLabel" + pattern: "customers/{customer_id}/adGroupAdLabels/{ad_group_id}~{ad_id}~{entity_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: "searchads360.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: "searchads360.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: "searchads360.googleapis.com/Label" + } + ]; +} diff --git a/third_party/googleapis/google/ads/searchads360/v0/resources/ad_group_asset.proto b/third_party/googleapis/google/ads/searchads360/v0/resources/ad_group_asset.proto new file mode 100644 index 000000000..dce03e550 --- /dev/null +++ b/third_party/googleapis/google/ads/searchads360/v0/resources/ad_group_asset.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/ad_group_asset.proto +package google.ads.googleads.v12.resources; + +import "google/ads/googleads/v12/enums/asset_field_type.proto"; +import "google/ads/googleads/v12/enums/asset_link_status.proto"; +import "google/ads/googleads/v12/enums/asset_source.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupAssetProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +package google.ads.searchads360.v0.resources; + +import "google/ads/searchads360/v0/enums/asset_link_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.SearchAds360.V0.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/searchads360/v0/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupAssetProto"; +option java_package = "com.google.ads.searchads360.v0.resources"; +option objc_class_prefix = "GASA360"; +option php_namespace = "Google\\Ads\\SearchAds360\\V0\\Resources"; +option ruby_package = "Google::Ads::SearchAds360::V0::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/searchads360/v0/resources/ad_group_asset.proto + +// Proto file describing the AdGroupAsset resource. + +// A link between an ad group and an asset. +message AdGroupAsset { + option (google.api.resource) = { + type: "searchads360.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: "searchads360.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: "searchads360.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: "searchads360.googleapis.com/Asset" + } + ]; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/ad_group_asset.proto + // Required. Immutable. Role that the asset takes under the linked ad group. + google.ads.googleads.v12.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.v12.enums.AssetSourceEnum.AssetSource source = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Status of the ad group asset. + google.ads.googleads.v12.enums.AssetLinkStatusEnum.AssetLinkStatus status = 5; +======== + // Status of the ad group asset. + google.ads.searchads360.v0.enums.AssetLinkStatusEnum.AssetLinkStatus status = + 5; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/searchads360/v0/resources/ad_group_asset.proto +} diff --git a/third_party/googleapis/google/ads/searchads360/v0/resources/ad_group_asset_set.proto b/third_party/googleapis/google/ads/searchads360/v0/resources/ad_group_asset_set.proto new file mode 100644 index 000000000..553804e9a --- /dev/null +++ b/third_party/googleapis/google/ads/searchads360/v0/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.searchads360.v0.resources; + +import "google/ads/searchads360/v0/enums/asset_set_link_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.SearchAds360.V0.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/searchads360/v0/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupAssetSetProto"; +option java_package = "com.google.ads.searchads360.v0.resources"; +option objc_class_prefix = "GASA360"; +option php_namespace = "Google\\Ads\\SearchAds360\\V0\\Resources"; +option ruby_package = "Google::Ads::SearchAds360::V0::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: "searchads360.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: "searchads360.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: "searchads360.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: "searchads360.googleapis.com/AssetSet" + } + ]; + + // Output only. The status of the ad group asset set. Read-only. + google.ads.searchads360.v0.enums.AssetSetLinkStatusEnum.AssetSetLinkStatus + status = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/searchads360/v0/resources/ad_group_audience_view.proto b/third_party/googleapis/google/ads/searchads360/v0/resources/ad_group_audience_view.proto new file mode 100644 index 000000000..daf24cfa4 --- /dev/null +++ b/third_party/googleapis/google/ads/searchads360/v0/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.searchads360.v0.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.SearchAds360.V0.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/searchads360/v0/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupAudienceViewProto"; +option java_package = "com.google.ads.searchads360.v0.resources"; +option objc_class_prefix = "GASA360"; +option php_namespace = "Google\\Ads\\SearchAds360\\V0\\Resources"; +option ruby_package = "Google::Ads::SearchAds360::V0::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: "searchads360.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: "searchads360.googleapis.com/AdGroupAudienceView" + } + ]; +} diff --git a/third_party/googleapis/google/ads/searchads360/v0/resources/ad_group_criterion_label.proto b/third_party/googleapis/google/ads/searchads360/v0/resources/ad_group_criterion_label.proto new file mode 100644 index 000000000..868b89f1e --- /dev/null +++ b/third_party/googleapis/google/ads/searchads360/v0/resources/ad_group_criterion_label.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.searchads360.v0.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.SearchAds360.V0.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/searchads360/v0/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupCriterionLabelProto"; +option java_package = "com.google.ads.searchads360.v0.resources"; +option objc_class_prefix = "GASA360"; +option php_namespace = "Google\\Ads\\SearchAds360\\V0\\Resources"; +option ruby_package = "Google::Ads::SearchAds360::V0::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: "searchads360.googleapis.com/AdGroupCriterionLabel" + pattern: "customers/{customer_id}/adGroupCriterionLabels/{ad_group_id}~{criterion_id}~{entity_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: "searchads360.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: "searchads360.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: "searchads360.googleapis.com/Label" + } + ]; +} diff --git a/third_party/googleapis/google/ads/searchads360/v0/resources/ad_group_label.proto b/third_party/googleapis/google/ads/searchads360/v0/resources/ad_group_label.proto new file mode 100644 index 000000000..b1aa69bad --- /dev/null +++ b/third_party/googleapis/google/ads/searchads360/v0/resources/ad_group_label.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.searchads360.v0.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.SearchAds360.V0.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/searchads360/v0/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupLabelProto"; +option java_package = "com.google.ads.searchads360.v0.resources"; +option objc_class_prefix = "GASA360"; +option php_namespace = "Google\\Ads\\SearchAds360\\V0\\Resources"; +option ruby_package = "Google::Ads::SearchAds360::V0::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: "searchads360.googleapis.com/AdGroupLabel" + pattern: "customers/{customer_id}/adGroupLabels/{ad_group_id}~{entity_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: "searchads360.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: "searchads360.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: "searchads360.googleapis.com/Label" + } + ]; +} diff --git a/third_party/googleapis/google/ads/searchads360/v0/resources/age_range_view.proto b/third_party/googleapis/google/ads/searchads360/v0/resources/age_range_view.proto new file mode 100644 index 000000000..b1d2af245 --- /dev/null +++ b/third_party/googleapis/google/ads/searchads360/v0/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.searchads360.v0.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.SearchAds360.V0.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/searchads360/v0/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AgeRangeViewProto"; +option java_package = "com.google.ads.searchads360.v0.resources"; +option objc_class_prefix = "GASA360"; +option php_namespace = "Google\\Ads\\SearchAds360\\V0\\Resources"; +option ruby_package = "Google::Ads::SearchAds360::V0::Resources"; + +// Proto file describing the age range view resource. + +// An age range view. +message AgeRangeView { + option (google.api.resource) = { + type: "searchads360.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: "searchads360.googleapis.com/AgeRangeView" + } + ]; +} diff --git a/third_party/googleapis/google/ads/searchads360/v0/resources/asset.proto b/third_party/googleapis/google/ads/searchads360/v0/resources/asset.proto new file mode 100644 index 000000000..8923bb587 --- /dev/null +++ b/third_party/googleapis/google/ads/searchads360/v0/resources/asset.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.searchads360.v0.resources; + +import "google/ads/searchads360/v0/common/asset_types.proto"; +import "google/ads/searchads360/v0/enums/asset_engine_status.proto"; +import "google/ads/searchads360/v0/enums/asset_status.proto"; +import "google/ads/searchads360/v0/enums/asset_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.SearchAds360.V0.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/searchads360/v0/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AssetProto"; +option java_package = "com.google.ads.searchads360.v0.resources"; +option objc_class_prefix = "GASA360"; +option php_namespace = "Google\\Ads\\SearchAds360\\V0\\Resources"; +option ruby_package = "Google::Ads::SearchAds360::V0::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: "searchads360.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: "searchads360.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.searchads360.v0.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; + + // URL template for constructing a tracking URL. + optional string tracking_url_template = 17; + + // Output only. The status of the asset. + google.ads.searchads360.v0.enums.AssetStatusEnum.AssetStatus status = 42 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The timestamp when this asset was created. The timestamp is in + // the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format. + string creation_time = 43 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The datetime when this asset was last modified. The datetime + // is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format. + string last_modified_time = 44 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The Engine Status for an asset. + optional + google.ads.searchads360.v0.enums.AssetEngineStatusEnum.AssetEngineStatus + engine_status = 61 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The specific type of the asset. + oneof asset_data { + // Immutable. A YouTube video asset. + google.ads.searchads360.v0.common.YoutubeVideoAsset youtube_video_asset = 5 + [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. An image asset. + google.ads.searchads360.v0.common.ImageAsset image_asset = 7 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. A text asset. + google.ads.searchads360.v0.common.TextAsset text_asset = 8 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. A unified callout asset. + google.ads.searchads360.v0.common.UnifiedCalloutAsset callout_asset = 48 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. A unified sitelink asset. + google.ads.searchads360.v0.common.UnifiedSitelinkAsset sitelink_asset = 45 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. A unified page feed asset. + google.ads.searchads360.v0.common.UnifiedPageFeedAsset page_feed_asset = 46 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // A mobile app asset. + google.ads.searchads360.v0.common.MobileAppAsset mobile_app_asset = 25; + + // Output only. A unified call asset. + google.ads.searchads360.v0.common.UnifiedCallAsset call_asset = 47 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. A call to action asset. + google.ads.searchads360.v0.common.CallToActionAsset call_to_action_asset = + 29 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. A unified location asset. + google.ads.searchads360.v0.common.UnifiedLocationAsset location_asset = 49 + [(google.api.field_behavior) = OUTPUT_ONLY]; + } +} diff --git a/third_party/googleapis/google/ads/searchads360/v0/resources/asset_group.proto b/third_party/googleapis/google/ads/searchads360/v0/resources/asset_group.proto new file mode 100644 index 000000000..c1c245363 --- /dev/null +++ b/third_party/googleapis/google/ads/searchads360/v0/resources/asset_group.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/asset_group.proto +package google.ads.googleads.v12.resources; + +import "google/ads/googleads/v12/enums/ad_strength.proto"; +import "google/ads/googleads/v12/enums/asset_group_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AssetGroupProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +package google.ads.searchads360.v0.resources; + +import "google/ads/searchads360/v0/enums/ad_strength.proto"; +import "google/ads/searchads360/v0/enums/asset_group_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.SearchAds360.V0.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/searchads360/v0/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AssetGroupProto"; +option java_package = "com.google.ads.searchads360.v0.resources"; +option objc_class_prefix = "GASA360"; +option php_namespace = "Google\\Ads\\SearchAds360\\V0\\Resources"; +option ruby_package = "Google::Ads::SearchAds360::V0::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/searchads360/v0/resources/asset_group.proto + +// 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: "searchads360.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: "searchads360.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: "searchads360.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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/asset_group.proto + google.ads.googleads.v12.enums.AssetGroupStatusEnum.AssetGroupStatus status = 6; +======== + google.ads.searchads360.v0.enums.AssetGroupStatusEnum.AssetGroupStatus + status = 6; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/searchads360/v0/resources/asset_group.proto + + // 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/asset_group.proto + google.ads.googleads.v12.enums.AdStrengthEnum.AdStrength ad_strength = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; +======== + google.ads.searchads360.v0.enums.AdStrengthEnum.AdStrength ad_strength = 10 + [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/searchads360/v0/resources/asset_group.proto +} diff --git a/third_party/googleapis/google/ads/searchads360/v0/resources/asset_group_asset.proto b/third_party/googleapis/google/ads/searchads360/v0/resources/asset_group_asset.proto new file mode 100644 index 000000000..2cd543865 --- /dev/null +++ b/third_party/googleapis/google/ads/searchads360/v0/resources/asset_group_asset.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/asset_group_asset.proto +package google.ads.googleads.v12.resources; + +import "google/ads/googleads/v12/common/policy_summary.proto"; +import "google/ads/googleads/v12/enums/asset_field_type.proto"; +import "google/ads/googleads/v12/enums/asset_link_status.proto"; +import "google/ads/googleads/v12/enums/asset_performance_label.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AssetGroupAssetProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +package google.ads.searchads360.v0.resources; + +import "google/ads/searchads360/v0/enums/asset_field_type.proto"; +import "google/ads/searchads360/v0/enums/asset_link_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.SearchAds360.V0.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/searchads360/v0/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AssetGroupAssetProto"; +option java_package = "com.google.ads.searchads360.v0.resources"; +option objc_class_prefix = "GASA360"; +option php_namespace = "Google\\Ads\\SearchAds360\\V0\\Resources"; +option ruby_package = "Google::Ads::SearchAds360::V0::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/searchads360/v0/resources/asset_group_asset.proto + +// 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: "searchads360.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: "searchads360.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: "searchads360.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: "searchads360.googleapis.com/Asset" + } + ]; + + // The description of the placement of the asset within the asset group. For + // example: HEADLINE, YOUTUBE_VIDEO etc +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/asset_group_asset.proto + google.ads.googleads.v12.enums.AssetFieldTypeEnum.AssetFieldType field_type = 4; + + // The status of the link between an asset and asset group. + google.ads.googleads.v12.enums.AssetLinkStatusEnum.AssetLinkStatus status = 5; + + // Output only. The performance of this asset group asset. + google.ads.googleads.v12.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.v12.common.PolicySummary policy_summary = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; +======== + google.ads.searchads360.v0.enums.AssetFieldTypeEnum.AssetFieldType + field_type = 4; + + // The status of the link between an asset and asset group. + google.ads.searchads360.v0.enums.AssetLinkStatusEnum.AssetLinkStatus status = + 5; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/searchads360/v0/resources/asset_group_asset.proto +} diff --git a/third_party/googleapis/google/ads/searchads360/v0/resources/asset_group_listing_group_filter.proto b/third_party/googleapis/google/ads/searchads360/v0/resources/asset_group_listing_group_filter.proto new file mode 100644 index 000000000..6535ffb7d --- /dev/null +++ b/third_party/googleapis/google/ads/searchads360/v0/resources/asset_group_listing_group_filter.proto @@ -0,0 +1,249 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/asset_group_listing_group_filter.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/searchads360/v0/resources/asset_group_listing_group_filter.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/asset_group_listing_group_filter.proto +package google.ads.googleads.v13.resources; + +import "google/ads/googleads/v13/enums/listing_group_filter_bidding_category_level.proto"; +import "google/ads/googleads/v13/enums/listing_group_filter_custom_attribute_index.proto"; +import "google/ads/googleads/v13/enums/listing_group_filter_product_channel.proto"; +import "google/ads/googleads/v13/enums/listing_group_filter_product_condition.proto"; +import "google/ads/googleads/v13/enums/listing_group_filter_product_type_level.proto"; +import "google/ads/googleads/v13/enums/listing_group_filter_type_enum.proto"; +import "google/ads/googleads/v13/enums/listing_group_filter_vertical.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AssetGroupListingGroupFilterProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +package google.ads.searchads360.v0.resources; + +import "google/ads/searchads360/v0/enums/listing_group_filter_bidding_category_level.proto"; +import "google/ads/searchads360/v0/enums/listing_group_filter_custom_attribute_index.proto"; +import "google/ads/searchads360/v0/enums/listing_group_filter_product_channel.proto"; +import "google/ads/searchads360/v0/enums/listing_group_filter_product_condition.proto"; +import "google/ads/searchads360/v0/enums/listing_group_filter_product_type_level.proto"; +import "google/ads/searchads360/v0/enums/listing_group_filter_type_enum.proto"; +import "google/ads/searchads360/v0/enums/listing_group_filter_vertical.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.SearchAds360.V0.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/searchads360/v0/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AssetGroupListingGroupFilterProto"; +option java_package = "com.google.ads.searchads360.v0.resources"; +option objc_class_prefix = "GASA360"; +option php_namespace = "Google\\Ads\\SearchAds360\\V0\\Resources"; +option ruby_package = "Google::Ads::SearchAds360::V0::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/searchads360/v0/resources/asset_group_listing_group_filter.proto + +// AssetGroupListingGroupFilter represents a listing group filter tree node in +// an asset group. +message AssetGroupListingGroupFilter { + option (google.api.resource) = { + type: "searchads360.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: "searchads360.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: "searchads360.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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/asset_group_listing_group_filter.proto + google.ads.googleads.v13.enums.ListingGroupFilterTypeEnum +======== + google.ads.searchads360.v0.enums.ListingGroupFilterTypeEnum +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/searchads360/v0/resources/asset_group_listing_group_filter.proto + .ListingGroupFilterType type = 4 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. The vertical the current node tree represents. All nodes in the + // same tree must belong to the same vertical. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/asset_group_listing_group_filter.proto + google.ads.googleads.v13.enums.ListingGroupFilterVerticalEnum +======== + google.ads.searchads360.v0.enums.ListingGroupFilterVerticalEnum +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/searchads360/v0/resources/asset_group_listing_group_filter.proto + .ListingGroupFilterVertical vertical = 5 + [(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: "searchads360.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 bidding 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 ProductBiddingCategory { + // ID of the product bidding 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 id = 1; + + // Indicates the level of the category in the taxonomy. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/asset_group_listing_group_filter.proto + google.ads.googleads.v13.enums.ListingGroupFilterBiddingCategoryLevelEnum +======== + google.ads.searchads360.v0.enums.ListingGroupFilterBiddingCategoryLevelEnum +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/searchads360/v0/resources/asset_group_listing_group_filter.proto + .ListingGroupFilterBiddingCategoryLevel 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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/asset_group_listing_group_filter.proto + google.ads.googleads.v13.enums.ListingGroupFilterProductChannelEnum +======== + google.ads.searchads360.v0.enums.ListingGroupFilterProductChannelEnum +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/searchads360/v0/resources/asset_group_listing_group_filter.proto + .ListingGroupFilterProductChannel channel = 1; + } + + // Condition of a product offer. + message ProductCondition { + // Value of the condition. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/asset_group_listing_group_filter.proto + google.ads.googleads.v13.enums.ListingGroupFilterProductConditionEnum +======== + google.ads.searchads360.v0.enums.ListingGroupFilterProductConditionEnum +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/searchads360/v0/resources/asset_group_listing_group_filter.proto + .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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/asset_group_listing_group_filter.proto + google.ads.googleads.v13.enums.ListingGroupFilterCustomAttributeIndexEnum +======== + google.ads.searchads360.v0.enums.ListingGroupFilterCustomAttributeIndexEnum +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/searchads360/v0/resources/asset_group_listing_group_filter.proto + .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. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/asset_group_listing_group_filter.proto + google.ads.googleads.v13.enums.ListingGroupFilterProductTypeLevelEnum +======== + google.ads.searchads360.v0.enums.ListingGroupFilterProductTypeLevelEnum +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/searchads360/v0/resources/asset_group_listing_group_filter.proto + .ListingGroupFilterProductTypeLevel level = 2; + } + + // Dimension of one of the types below is always present. + oneof dimension { + // Bidding category of a product offer. + ProductBiddingCategory product_bidding_category = 1; + + // 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; + } +} diff --git a/third_party/googleapis/google/ads/searchads360/v0/resources/asset_group_signal.proto b/third_party/googleapis/google/ads/searchads360/v0/resources/asset_group_signal.proto new file mode 100644 index 000000000..0ac8783fc --- /dev/null +++ b/third_party/googleapis/google/ads/searchads360/v0/resources/asset_group_signal.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.searchads360.v0.resources; + +import "google/ads/searchads360/v0/common/criteria.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.SearchAds360.V0.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/searchads360/v0/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AssetGroupSignalProto"; +option java_package = "com.google.ads.searchads360.v0.resources"; +option objc_class_prefix = "GASA360"; +option php_namespace = "Google\\Ads\\SearchAds360\\V0\\Resources"; +option ruby_package = "Google::Ads::SearchAds360::V0::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: "searchads360.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: "searchads360.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: "searchads360.googleapis.com/AssetGroup" + } + ]; + + // The signal of the asset group. + oneof signal { + // Immutable. The audience signal to be used by the performance max + // campaign. + google.ads.searchads360.v0.common.AudienceInfo audience = 4 + [(google.api.field_behavior) = IMMUTABLE]; + } +} diff --git a/third_party/googleapis/google/ads/searchads360/v0/resources/asset_group_top_combination_view.proto b/third_party/googleapis/google/ads/searchads360/v0/resources/asset_group_top_combination_view.proto new file mode 100644 index 000000000..281254d77 --- /dev/null +++ b/third_party/googleapis/google/ads/searchads360/v0/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.searchads360.v0.resources; + +import "google/ads/searchads360/v0/common/asset_usage.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.SearchAds360.V0.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/searchads360/v0/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AssetGroupTopCombinationViewProto"; +option java_package = "com.google.ads.searchads360.v0.resources"; +option objc_class_prefix = "GASA360"; +option php_namespace = "Google\\Ads\\SearchAds360\\V0\\Resources"; +option ruby_package = "Google::Ads::SearchAds360::V0::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: "searchads360.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: "searchads360.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.searchads360.v0.common.AssetUsage + asset_combination_served_assets = 1 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/searchads360/v0/resources/asset_set.proto b/third_party/googleapis/google/ads/searchads360/v0/resources/asset_set.proto new file mode 100644 index 000000000..cba6ec9f8 --- /dev/null +++ b/third_party/googleapis/google/ads/searchads360/v0/resources/asset_set.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.searchads360.v0.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.SearchAds360.V0.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/searchads360/v0/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AssetSetProto"; +option java_package = "com.google.ads.searchads360.v0.resources"; +option objc_class_prefix = "GASA360"; +option php_namespace = "Google\\Ads\\SearchAds360\\V0\\Resources"; +option ruby_package = "Google::Ads::SearchAds360::V0::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: "searchads360.googleapis.com/AssetSet" + pattern: "customers/{customer_id}/assetSets/{asset_set_id}" + }; + + // 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: "searchads360.googleapis.com/AssetSet" + } + ]; +} diff --git a/third_party/googleapis/google/ads/searchads360/v0/resources/asset_set_asset.proto b/third_party/googleapis/google/ads/searchads360/v0/resources/asset_set_asset.proto new file mode 100644 index 000000000..99baefd6e --- /dev/null +++ b/third_party/googleapis/google/ads/searchads360/v0/resources/asset_set_asset.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.searchads360.v0.resources; + +import "google/ads/searchads360/v0/enums/asset_set_asset_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.SearchAds360.V0.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/searchads360/v0/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AssetSetAssetProto"; +option java_package = "com.google.ads.searchads360.v0.resources"; +option objc_class_prefix = "GASA360"; +option php_namespace = "Google\\Ads\\SearchAds360\\V0\\Resources"; +option ruby_package = "Google::Ads::SearchAds360::V0::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: "searchads360.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: "searchads360.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: "searchads360.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: "searchads360.googleapis.com/Asset" + } + ]; + + // Output only. The status of the asset set asset. Read-only. + google.ads.searchads360.v0.enums.AssetSetAssetStatusEnum.AssetSetAssetStatus + status = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/searchads360/v0/resources/audience.proto b/third_party/googleapis/google/ads/searchads360/v0/resources/audience.proto new file mode 100644 index 000000000..d6c7eb395 --- /dev/null +++ b/third_party/googleapis/google/ads/searchads360/v0/resources/audience.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.searchads360.v0.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.SearchAds360.V0.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/searchads360/v0/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AudienceProto"; +option java_package = "com.google.ads.searchads360.v0.resources"; +option objc_class_prefix = "GASA360"; +option php_namespace = "Google\\Ads\\SearchAds360\\V0\\Resources"; +option ruby_package = "Google::Ads::SearchAds360::V0::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: "searchads360.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: "searchads360.googleapis.com/Audience" + } + ]; + + // Output only. ID of the audience. + int64 id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. Name of the audience. It should be unique across all + // audiences. It must have a minimum length of 1 and + // maximum length of 255. + string name = 4 [(google.api.field_behavior) = REQUIRED]; + + // Description of this audience. + string description = 5; +} diff --git a/third_party/googleapis/google/ads/searchads360/v0/resources/campaign_asset.proto b/third_party/googleapis/google/ads/searchads360/v0/resources/campaign_asset.proto new file mode 100644 index 000000000..de42d83a8 --- /dev/null +++ b/third_party/googleapis/google/ads/searchads360/v0/resources/campaign_asset.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/campaign_asset.proto +package google.ads.googleads.v12.resources; + +import "google/ads/googleads/v12/enums/asset_field_type.proto"; +import "google/ads/googleads/v12/enums/asset_link_status.proto"; +import "google/ads/googleads/v12/enums/asset_source.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignAssetProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +package google.ads.searchads360.v0.resources; + +import "google/ads/searchads360/v0/enums/asset_link_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.SearchAds360.V0.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/searchads360/v0/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignAssetProto"; +option java_package = "com.google.ads.searchads360.v0.resources"; +option objc_class_prefix = "GASA360"; +option php_namespace = "Google\\Ads\\SearchAds360\\V0\\Resources"; +option ruby_package = "Google::Ads::SearchAds360::V0::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/searchads360/v0/resources/campaign_asset.proto + +// Proto file describing the CampaignAsset resource. + +// A link between a Campaign and an Asset. +message CampaignAsset { + option (google.api.resource) = { + type: "searchads360.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: "searchads360.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: "searchads360.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: "searchads360.googleapis.com/Asset" + } + ]; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/campaign_asset.proto + // Immutable. Role that the asset takes under the linked campaign. + // Required. + google.ads.googleads.v12.enums.AssetFieldTypeEnum.AssetFieldType field_type = 4 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. Source of the campaign asset link. + google.ads.googleads.v12.enums.AssetSourceEnum.AssetSource source = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Status of the campaign asset. + google.ads.googleads.v12.enums.AssetLinkStatusEnum.AssetLinkStatus status = 5; +======== + // Output only. Status of the campaign asset. + google.ads.searchads360.v0.enums.AssetLinkStatusEnum.AssetLinkStatus status = + 5 [(google.api.field_behavior) = OUTPUT_ONLY]; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/searchads360/v0/resources/campaign_asset.proto +} diff --git a/third_party/googleapis/google/ads/searchads360/v0/resources/campaign_asset_set.proto b/third_party/googleapis/google/ads/searchads360/v0/resources/campaign_asset_set.proto new file mode 100644 index 000000000..e84552e67 --- /dev/null +++ b/third_party/googleapis/google/ads/searchads360/v0/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.searchads360.v0.resources; + +import "google/ads/searchads360/v0/enums/asset_set_link_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.SearchAds360.V0.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/searchads360/v0/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignAssetSetProto"; +option java_package = "com.google.ads.searchads360.v0.resources"; +option objc_class_prefix = "GASA360"; +option php_namespace = "Google\\Ads\\SearchAds360\\V0\\Resources"; +option ruby_package = "Google::Ads::SearchAds360::V0::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: "searchads360.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: "searchads360.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: "searchads360.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: "searchads360.googleapis.com/AssetSet" + } + ]; + + // Output only. The status of the campaign asset set asset. Read-only. + google.ads.searchads360.v0.enums.AssetSetLinkStatusEnum.AssetSetLinkStatus + status = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/searchads360/v0/resources/campaign_audience_view.proto b/third_party/googleapis/google/ads/searchads360/v0/resources/campaign_audience_view.proto new file mode 100644 index 000000000..61291c091 --- /dev/null +++ b/third_party/googleapis/google/ads/searchads360/v0/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.searchads360.v0.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.SearchAds360.V0.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/searchads360/v0/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignAudienceViewProto"; +option java_package = "com.google.ads.searchads360.v0.resources"; +option objc_class_prefix = "GASA360"; +option php_namespace = "Google\\Ads\\SearchAds360\\V0\\Resources"; +option ruby_package = "Google::Ads::SearchAds360::V0::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: "searchads360.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: "searchads360.googleapis.com/CampaignAudienceView" + } + ]; +} diff --git a/third_party/googleapis/google/ads/searchads360/v0/resources/campaign_label.proto b/third_party/googleapis/google/ads/searchads360/v0/resources/campaign_label.proto new file mode 100644 index 000000000..45207bee0 --- /dev/null +++ b/third_party/googleapis/google/ads/searchads360/v0/resources/campaign_label.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.searchads360.v0.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.SearchAds360.V0.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/searchads360/v0/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignLabelProto"; +option java_package = "com.google.ads.searchads360.v0.resources"; +option objc_class_prefix = "GASA360"; +option php_namespace = "Google\\Ads\\SearchAds360\\V0\\Resources"; +option ruby_package = "Google::Ads::SearchAds360::V0::Resources"; + +// Proto file describing the campaign label resource. + +// Represents a relationship between a campaign and a label. +message CampaignLabel { + option (google.api.resource) = { + type: "searchads360.googleapis.com/CampaignLabel" + pattern: "customers/{customer_id}/campaignLabels/{campaign_id}~{entity_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: "searchads360.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: "searchads360.googleapis.com/Campaign" + } + ]; + + // Immutable. The label assigned to the campaign. + optional string label = 5 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "searchads360.googleapis.com/Label" + } + ]; +} diff --git a/third_party/googleapis/google/ads/searchads360/v0/resources/cart_data_sales_view.proto b/third_party/googleapis/google/ads/searchads360/v0/resources/cart_data_sales_view.proto new file mode 100644 index 000000000..e9d4286f7 --- /dev/null +++ b/third_party/googleapis/google/ads/searchads360/v0/resources/cart_data_sales_view.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.searchads360.v0.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.SearchAds360.V0.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/searchads360/v0/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CartDataSalesViewProto"; +option java_package = "com.google.ads.searchads360.v0.resources"; +option objc_class_prefix = "GASA360"; +option php_namespace = "Google\\Ads\\SearchAds360\\V0\\Resources"; +option ruby_package = "Google::Ads::SearchAds360::V0::Resources"; + +// Proto file describing the CartDataSalesView resource. + +// Cart data sales view. +message CartDataSalesView { + option (google.api.resource) = { + type: "searchads360.googleapis.com/CartDataSalesView" + pattern: "customers/{customer_id}/cartDataSalesView" + }; + + // Output only. The resource name of the Cart data sales view. + // Cart data sales view resource names have the form: + // `customers/{customer_id}/cartDataSalesView` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "searchads360.googleapis.com/CartDataSalesView" + } + ]; +} diff --git a/third_party/googleapis/google/ads/searchads360/v0/resources/conversion.proto b/third_party/googleapis/google/ads/searchads360/v0/resources/conversion.proto new file mode 100644 index 000000000..9d860deb6 --- /dev/null +++ b/third_party/googleapis/google/ads/searchads360/v0/resources/conversion.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.searchads360.v0.resources; + +import "google/ads/searchads360/v0/enums/asset_field_type.proto"; +import "google/ads/searchads360/v0/enums/attribution_type.proto"; +import "google/ads/searchads360/v0/enums/conversion_status.proto"; +import "google/ads/searchads360/v0/enums/product_channel.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.SearchAds360.V0.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/searchads360/v0/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ConversionProto"; +option java_package = "com.google.ads.searchads360.v0.resources"; +option objc_class_prefix = "GASA360"; +option php_namespace = "Google\\Ads\\SearchAds360\\V0\\Resources"; +option ruby_package = "Google::Ads::SearchAds360::V0::Resources"; + +// Proto file describing the Conversion resource. + +// A conversion. +message Conversion { + option (google.api.resource) = { + type: "searchads360.googleapis.com/Conversion" + pattern: "customers/{customer_id}/conversions/{ad_group_id}~{criteria_id}~{ds_conversion_id}" + }; + + // Output only. The resource name of the conversion. + // Conversion resource names have the form: + // + // `customers/{customer_id}/conversions/{ad_group_id}~{criterion_id}~{ds_conversion_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "searchads360.googleapis.com/Conversion" + } + ]; + + // Output only. The ID of the conversion + optional int64 id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Search Ads 360 criterion ID. A value of 0 indicates that the + // criterion is unattributed. + optional int64 criterion_id = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The SearchAds360 inventory account ID containing the product + // that was clicked on. SearchAds360 generates this ID when you link an + // inventory account in SearchAds360. + optional int64 merchant_id = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Ad ID. A value of 0 indicates that the ad is unattributed. + optional int64 ad_id = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. A unique string, for the visit that the conversion is + // attributed to, that is passed to the landing page as the click id URL + // parameter. + optional string click_id = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The SearchAds360 visit ID that the conversion is attributed + // to. + optional int64 visit_id = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. For offline conversions, this is an ID provided by + // advertisers. If an advertiser doesn't specify such an ID, Search Ads 360 + // generates one. For online conversions, this is equal to the id column or + // the floodlight_order_id column depending on the advertiser's Floodlight + // instructions. + optional string advertiser_conversion_id = 8 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The ID of the product clicked on. + optional string product_id = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The sales channel of the product that was clicked on: Online + // or Local. + optional google.ads.searchads360.v0.enums.ProductChannelEnum.ProductChannel + product_channel = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The language (ISO-639-1) that has been set for the Merchant + // Center feed containing data about the product. + optional string product_language_code = 11 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The store in the Local Inventory Ad that was clicked on. This + // should match the store IDs used in your local products feed. + optional string product_store_id = 12 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The country (ISO-3166-format) registered for the inventory + // feed that contains the product clicked on. + optional string product_country_code = 13 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. What the conversion is attributed to: Visit or Keyword+Ad. + optional google.ads.searchads360.v0.enums.AttributionTypeEnum.AttributionType + attribution_type = 14 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The timestamp of the conversion event. + optional string conversion_date_time = 15 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The timestamp of the last time the conversion was modified. + optional string conversion_last_modified_date_time = 16 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The timestamp of the visit that the conversion is attributed + // to. + optional string conversion_visit_date_time = 17 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The quantity of items recorded by the conversion, as + // determined by the qty url parameter. The advertiser is responsible for + // dynamically populating the parameter (such as number of items sold in the + // conversion), otherwise it defaults to 1. + optional int64 conversion_quantity = 18 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The adjusted revenue in micros for the conversion event. This + // will always be in the currency of the serving account. + optional int64 conversion_revenue_micros = 19 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The original, unchanged revenue associated with the Floodlight + // event (in the currency of the current report), before Floodlight currency + // instruction modifications. + optional int64 floodlight_original_revenue = 20 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The Floodlight order ID provided by the advertiser for the + // conversion. + optional string floodlight_order_id = 21 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The status of the conversion, either ENABLED or REMOVED.. + optional + google.ads.searchads360.v0.enums.ConversionStatusEnum.ConversionStatus + status = 22 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. ID of the asset which was interacted with during the + // conversion event. + optional int64 asset_id = 23 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Asset field type of the conversion event. + optional google.ads.searchads360.v0.enums.AssetFieldTypeEnum.AssetFieldType + asset_field_type = 24 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/searchads360/v0/resources/conversion_custom_variable.proto b/third_party/googleapis/google/ads/searchads360/v0/resources/conversion_custom_variable.proto new file mode 100644 index 000000000..35c5170c0 --- /dev/null +++ b/third_party/googleapis/google/ads/searchads360/v0/resources/conversion_custom_variable.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.searchads360.v0.resources; + +import "google/ads/searchads360/v0/enums/conversion_custom_variable_cardinality.proto"; +import "google/ads/searchads360/v0/enums/conversion_custom_variable_family.proto"; +import "google/ads/searchads360/v0/enums/conversion_custom_variable_status.proto"; +import "google/ads/searchads360/v0/enums/floodlight_variable_data_type.proto"; +import "google/ads/searchads360/v0/enums/floodlight_variable_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.SearchAds360.V0.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/searchads360/v0/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ConversionCustomVariableProto"; +option java_package = "com.google.ads.searchads360.v0.resources"; +option objc_class_prefix = "GASA360"; +option php_namespace = "Google\\Ads\\SearchAds360\\V0\\Resources"; +option ruby_package = "Google::Ads::SearchAds360::V0::Resources"; + +// Proto file describing the Conversion Custom Variable resource. + +// A conversion custom variable. +// See "About custom Floodlight metrics and dimensions in the new +// Search Ads 360" at https://support.google.com/sa360/answer/13567857 +message ConversionCustomVariable { + option (google.api.resource) = { + type: "searchads360.googleapis.com/ConversionCustomVariable" + pattern: "customers/{customer_id}/conversionCustomVariables/{conversion_custom_variable_id}" + }; + + // Information for Search Ads 360 Floodlight Conversion Custom Variables. + message FloodlightConversionCustomVariableInfo { + // Output only. Floodlight variable type defined in Search Ads 360. + optional google.ads.searchads360.v0.enums.FloodlightVariableTypeEnum + .FloodlightVariableType floodlight_variable_type = 1 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Floodlight variable data type defined in Search Ads 360. + optional google.ads.searchads360.v0.enums.FloodlightVariableDataTypeEnum + .FloodlightVariableDataType floodlight_variable_data_type = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // 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: "searchads360.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. + // Tag should be unique and consist of a "u" character directly followed with + // a number less than ormequal to 100. For example: "u4". + 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.searchads360.v0.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: "searchads360.googleapis.com/Customer" + } + ]; + + // Output only. Family of the conversion custom variable. + google.ads.searchads360.v0.enums.ConversionCustomVariableFamilyEnum + .ConversionCustomVariableFamily family = 7 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Cardinality of the conversion custom variable. + google.ads.searchads360.v0.enums.ConversionCustomVariableCardinalityEnum + .ConversionCustomVariableCardinality cardinality = 8 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Fields for Search Ads 360 floodlight conversion custom + // variables. + FloodlightConversionCustomVariableInfo + floodlight_conversion_custom_variable_info = 9 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The IDs of custom columns that use this conversion custom + // variable. + repeated int64 custom_column_ids = 10 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/searchads360/v0/resources/customer_asset.proto b/third_party/googleapis/google/ads/searchads360/v0/resources/customer_asset.proto new file mode 100644 index 000000000..d7af6bfbe --- /dev/null +++ b/third_party/googleapis/google/ads/searchads360/v0/resources/customer_asset.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"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/customer_asset.proto +package google.ads.googleads.v12.resources; + +import "google/ads/googleads/v12/enums/asset_field_type.proto"; +import "google/ads/googleads/v12/enums/asset_link_status.proto"; +import "google/ads/googleads/v12/enums/asset_source.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomerAssetProto"; +option java_package = "com.google.ads.googleads.v12.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; +======== +package google.ads.searchads360.v0.resources; + +import "google/ads/searchads360/v0/enums/asset_link_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.SearchAds360.V0.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/searchads360/v0/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomerAssetProto"; +option java_package = "com.google.ads.searchads360.v0.resources"; +option objc_class_prefix = "GASA360"; +option php_namespace = "Google\\Ads\\SearchAds360\\V0\\Resources"; +option ruby_package = "Google::Ads::SearchAds360::V0::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/searchads360/v0/resources/customer_asset.proto + +// Proto file describing the CustomerAsset resource. + +// A link between a customer and an asset. +message CustomerAsset { + option (google.api.resource) = { + type: "searchads360.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: "searchads360.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: "searchads360.googleapis.com/Asset" + } + ]; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v12/resources/customer_asset.proto + // Required. Immutable. Role that the asset takes for the customer link. + google.ads.googleads.v12.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.v12.enums.AssetSourceEnum.AssetSource source = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Status of the customer asset. + google.ads.googleads.v12.enums.AssetLinkStatusEnum.AssetLinkStatus status = 4; +======== + // Status of the customer asset. + google.ads.searchads360.v0.enums.AssetLinkStatusEnum.AssetLinkStatus status = + 4; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/searchads360/v0/resources/customer_asset.proto +} diff --git a/third_party/googleapis/google/ads/searchads360/v0/resources/customer_asset_set.proto b/third_party/googleapis/google/ads/searchads360/v0/resources/customer_asset_set.proto new file mode 100644 index 000000000..5c14aaff2 --- /dev/null +++ b/third_party/googleapis/google/ads/searchads360/v0/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.searchads360.v0.resources; + +import "google/ads/searchads360/v0/enums/asset_set_link_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.SearchAds360.V0.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/searchads360/v0/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomerAssetSetProto"; +option java_package = "com.google.ads.searchads360.v0.resources"; +option objc_class_prefix = "GASA360"; +option php_namespace = "Google\\Ads\\SearchAds360\\V0\\Resources"; +option ruby_package = "Google::Ads::SearchAds360::V0::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: "searchads360.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: "searchads360.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: "searchads360.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: "searchads360.googleapis.com/Customer" + } + ]; + + // Output only. The status of the customer asset set asset. Read-only. + google.ads.searchads360.v0.enums.AssetSetLinkStatusEnum.AssetSetLinkStatus + status = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/searchads360/v0/resources/dynamic_search_ads_search_term_view.proto b/third_party/googleapis/google/ads/searchads360/v0/resources/dynamic_search_ads_search_term_view.proto new file mode 100644 index 000000000..ffa2672d0 --- /dev/null +++ b/third_party/googleapis/google/ads/searchads360/v0/resources/dynamic_search_ads_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.searchads360.v0.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.SearchAds360.V0.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/searchads360/v0/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "DynamicSearchAdsSearchTermViewProto"; +option java_package = "com.google.ads.searchads360.v0.resources"; +option objc_class_prefix = "GASA360"; +option php_namespace = "Google\\Ads\\SearchAds360\\V0\\Resources"; +option ruby_package = "Google::Ads::SearchAds360::V0::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: "searchads360.googleapis.com/DynamicSearchAdsSearchTermView" + pattern: "customers/{customer_id}/dynamicSearchAdsSearchTermViews/{ad_group_id}~{query_fp}~{line1_fp}~{url_fp}~{feed_item_lp_url_fp}" + }; + + // 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: "searchads360.googleapis.com/DynamicSearchAdsSearchTermView" + } + ]; + + // 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]; +} diff --git a/third_party/googleapis/google/ads/searchads360/v0/resources/gender_view.proto b/third_party/googleapis/google/ads/searchads360/v0/resources/gender_view.proto new file mode 100644 index 000000000..0d692a8c8 --- /dev/null +++ b/third_party/googleapis/google/ads/searchads360/v0/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.searchads360.v0.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.SearchAds360.V0.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/searchads360/v0/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "GenderViewProto"; +option java_package = "com.google.ads.searchads360.v0.resources"; +option objc_class_prefix = "GASA360"; +option php_namespace = "Google\\Ads\\SearchAds360\\V0\\Resources"; +option ruby_package = "Google::Ads::SearchAds360::V0::Resources"; + +// Proto file describing the gender view resource. + +// A gender view. +message GenderView { + option (google.api.resource) = { + type: "searchads360.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: "searchads360.googleapis.com/GenderView" + } + ]; +} diff --git a/third_party/googleapis/google/ads/searchads360/v0/resources/geo_target_constant.proto b/third_party/googleapis/google/ads/searchads360/v0/resources/geo_target_constant.proto new file mode 100644 index 000000000..8025d056f --- /dev/null +++ b/third_party/googleapis/google/ads/searchads360/v0/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.searchads360.v0.resources; + +import "google/ads/searchads360/v0/enums/geo_target_constant_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.SearchAds360.V0.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/searchads360/v0/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "GeoTargetConstantProto"; +option java_package = "com.google.ads.searchads360.v0.resources"; +option objc_class_prefix = "GASA360"; +option php_namespace = "Google\\Ads\\SearchAds360\\V0\\Resources"; +option ruby_package = "Google::Ads::SearchAds360::V0::Resources"; + +// Proto file describing the geo target constant resource. + +// A geo target constant. +message GeoTargetConstant { + option (google.api.resource) = { + type: "searchads360.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: "searchads360.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.searchads360.v0.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: "searchads360.googleapis.com/GeoTargetConstant" + } + ]; +} diff --git a/third_party/googleapis/google/ads/searchads360/v0/resources/label.proto b/third_party/googleapis/google/ads/searchads360/v0/resources/label.proto new file mode 100644 index 000000000..facc77961 --- /dev/null +++ b/third_party/googleapis/google/ads/searchads360/v0/resources/label.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.searchads360.v0.resources; + +import "google/ads/searchads360/v0/common/text_label.proto"; +import "google/ads/searchads360/v0/enums/label_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.SearchAds360.V0.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/searchads360/v0/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "LabelProto"; +option java_package = "com.google.ads.searchads360.v0.resources"; +option objc_class_prefix = "GASA360"; +option php_namespace = "Google\\Ads\\SearchAds360\\V0\\Resources"; +option ruby_package = "Google::Ads::SearchAds360::V0::Resources"; + +// A label. +message Label { + option (google.api.resource) = { + type: "searchads360.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: "searchads360.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.searchads360.v0.enums.LabelStatusEnum.LabelStatus status = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // A type of label displaying text on a colored background. + google.ads.searchads360.v0.common.TextLabel text_label = 5; +} diff --git a/third_party/googleapis/google/ads/searchads360/v0/resources/language_constant.proto b/third_party/googleapis/google/ads/searchads360/v0/resources/language_constant.proto new file mode 100644 index 000000000..16b16acb3 --- /dev/null +++ b/third_party/googleapis/google/ads/searchads360/v0/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.searchads360.v0.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.SearchAds360.V0.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/searchads360/v0/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "LanguageConstantProto"; +option java_package = "com.google.ads.searchads360.v0.resources"; +option objc_class_prefix = "GASA360"; +option php_namespace = "Google\\Ads\\SearchAds360\\V0\\Resources"; +option ruby_package = "Google::Ads::SearchAds360::V0::Resources"; + +// Proto file describing the language constant resource. + +// A language. +message LanguageConstant { + option (google.api.resource) = { + type: "searchads360.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: "searchads360.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/searchads360/v0/resources/location_view.proto b/third_party/googleapis/google/ads/searchads360/v0/resources/location_view.proto new file mode 100644 index 000000000..189e547ef --- /dev/null +++ b/third_party/googleapis/google/ads/searchads360/v0/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.searchads360.v0.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.SearchAds360.V0.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/searchads360/v0/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "LocationViewProto"; +option java_package = "com.google.ads.searchads360.v0.resources"; +option objc_class_prefix = "GASA360"; +option php_namespace = "Google\\Ads\\SearchAds360\\V0\\Resources"; +option ruby_package = "Google::Ads::SearchAds360::V0::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: "searchads360.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: "searchads360.googleapis.com/LocationView" + } + ]; +} diff --git a/third_party/googleapis/google/ads/searchads360/v0/resources/product_bidding_category_constant.proto b/third_party/googleapis/google/ads/searchads360/v0/resources/product_bidding_category_constant.proto new file mode 100644 index 000000000..95bbaf64d --- /dev/null +++ b/third_party/googleapis/google/ads/searchads360/v0/resources/product_bidding_category_constant.proto @@ -0,0 +1,119 @@ +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/product_bidding_category_constant.proto +// Copyright 2022 Google LLC +======== +// Copyright 2023 Google LLC +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/searchads360/v0/resources/product_bidding_category_constant.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/product_bidding_category_constant.proto +package google.ads.googleads.v13.resources; + +import "google/ads/googleads/v13/enums/product_bidding_category_level.proto"; +import "google/ads/googleads/v13/enums/product_bidding_category_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V13.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v13/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ProductBiddingCategoryConstantProto"; +option java_package = "com.google.ads.googleads.v13.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V13\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V13::Resources"; +======== +package google.ads.searchads360.v0.resources; + +import "google/ads/searchads360/v0/enums/product_bidding_category_level.proto"; +import "google/ads/searchads360/v0/enums/product_bidding_category_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.SearchAds360.V0.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/searchads360/v0/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ProductBiddingCategoryConstantProto"; +option java_package = "com.google.ads.searchads360.v0.resources"; +option objc_class_prefix = "GASA360"; +option php_namespace = "Google\\Ads\\SearchAds360\\V0\\Resources"; +option ruby_package = "Google::Ads::SearchAds360::V0::Resources"; +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/searchads360/v0/resources/product_bidding_category_constant.proto + +// Proto file describing the ProductBiddingCategoryConstant resource. + +// A Product Bidding Category. +message ProductBiddingCategoryConstant { + option (google.api.resource) = { + type: "searchads360.googleapis.com/ProductBiddingCategoryConstant" + pattern: "productBiddingCategoryConstants/{country_code}~{level}~{canonical_value}" + }; + + // Output only. The resource name of the product bidding category. + // Product bidding category resource names have the form: + // + // `productBiddingCategoryConstants/{country_code}~{level}~{id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "searchads360.googleapis.com/ProductBiddingCategoryConstant" + } + ]; + + // Output only. ID of the product bidding 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 id = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Two-letter upper-case country code of the product bidding + // category. + optional string country_code = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Resource name of the parent product bidding category. + optional string product_bidding_category_constant_parent = 12 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "searchads360.googleapis.com/ProductBiddingCategoryConstant" + } + ]; + + // Output only. Level of the product bidding category. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/product_bidding_category_constant.proto + google.ads.googleads.v13.enums.ProductBiddingCategoryLevelEnum +======== + google.ads.searchads360.v0.enums.ProductBiddingCategoryLevelEnum +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/searchads360/v0/resources/product_bidding_category_constant.proto + .ProductBiddingCategoryLevel level = 5 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Status of the product bidding category. +<<<<<<<< HEAD:third_party/googleapis/google/ads/googleads/v13/resources/product_bidding_category_constant.proto + google.ads.googleads.v13.enums.ProductBiddingCategoryStatusEnum +======== + google.ads.searchads360.v0.enums.ProductBiddingCategoryStatusEnum +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/ads/searchads360/v0/resources/product_bidding_category_constant.proto + .ProductBiddingCategoryStatus status = 6 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Language code of the product bidding category. + optional string language_code = 13 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Display value of the product bidding category localized + // according to language_code. + optional string localized_name = 14 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/searchads360/v0/resources/shopping_performance_view.proto b/third_party/googleapis/google/ads/searchads360/v0/resources/shopping_performance_view.proto new file mode 100644 index 000000000..81ae296b5 --- /dev/null +++ b/third_party/googleapis/google/ads/searchads360/v0/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.searchads360.v0.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.SearchAds360.V0.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/searchads360/v0/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ShoppingPerformanceViewProto"; +option java_package = "com.google.ads.searchads360.v0.resources"; +option objc_class_prefix = "GASA360"; +option php_namespace = "Google\\Ads\\SearchAds360\\V0\\Resources"; +option ruby_package = "Google::Ads::SearchAds360::V0::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: "searchads360.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: "searchads360.googleapis.com/ShoppingPerformanceView" + } + ]; +} diff --git a/third_party/googleapis/google/ads/searchads360/v0/resources/user_list.proto b/third_party/googleapis/google/ads/searchads360/v0/resources/user_list.proto new file mode 100644 index 000000000..5cdfa52e6 --- /dev/null +++ b/third_party/googleapis/google/ads/searchads360/v0/resources/user_list.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.searchads360.v0.resources; + +import "google/ads/searchads360/v0/enums/user_list_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.SearchAds360.V0.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/searchads360/v0/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "UserListProto"; +option java_package = "com.google.ads.searchads360.v0.resources"; +option objc_class_prefix = "GASA360"; +option php_namespace = "Google\\Ads\\SearchAds360\\V0\\Resources"; +option ruby_package = "Google::Ads::SearchAds360::V0::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: "searchads360.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: "searchads360.googleapis.com/UserList" + } + ]; + + // Output only. Id of the user list. + optional int64 id = 25 [(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; + + // Output only. Type of this list. + // + // This field is read-only. + google.ads.searchads360.v0.enums.UserListTypeEnum.UserListType type = 13 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/searchads360/v0/resources/visit.proto b/third_party/googleapis/google/ads/searchads360/v0/resources/visit.proto new file mode 100644 index 000000000..84c885fb2 --- /dev/null +++ b/third_party/googleapis/google/ads/searchads360/v0/resources/visit.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.searchads360.v0.resources; + +import "google/ads/searchads360/v0/enums/asset_field_type.proto"; +import "google/ads/searchads360/v0/enums/product_channel.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.SearchAds360.V0.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/searchads360/v0/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "VisitProto"; +option java_package = "com.google.ads.searchads360.v0.resources"; +option objc_class_prefix = "GASA360"; +option php_namespace = "Google\\Ads\\SearchAds360\\V0\\Resources"; +option ruby_package = "Google::Ads::SearchAds360::V0::Resources"; + +// Proto file describing the Visit resource. + +// A visit. +message Visit { + option (google.api.resource) = { + type: "searchads360.googleapis.com/Visit" + pattern: "customers/{customer_id}/visits/{ad_group_id}~{criteria_id}~{ds_visit_id}" + }; + + // Output only. The resource name of the visit. + // Visit resource names have the form: + // + // `customers/{customer_id}/visits/{ad_group_id}~{criterion_id}~{ds_visit_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "searchads360.googleapis.com/Visit" + } + ]; + + // Output only. The ID of the visit. + optional int64 id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Search Ads 360 keyword ID. A value of 0 indicates that the + // keyword is unattributed. + optional int64 criterion_id = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The Search Ads 360 inventory account ID containing the product + // that was clicked on. Search Ads 360 generates this ID when you link an + // inventory account in Search Ads 360. + optional int64 merchant_id = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Ad ID. A value of 0 indicates that the ad is unattributed. + optional int64 ad_id = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. A unique string for each visit that is passed to the landing + // page as the click id URL parameter. + optional string click_id = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The timestamp of the visit event. The timestamp is in the + // customer's time zone and in "yyyy-MM-dd HH:mm:ss" format. + optional string visit_date_time = 7 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The ID of the product clicked on. + optional string product_id = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The sales channel of the product that was clicked on: Online + // or Local. + optional google.ads.searchads360.v0.enums.ProductChannelEnum.ProductChannel + product_channel = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The language (ISO-639-1) that has been set for the Merchant + // Center feed containing data about the product. + optional string product_language_code = 10 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The store in the Local Inventory Ad that was clicked on. This + // should match the store IDs used in your local products feed. + optional string product_store_id = 11 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The country (ISO-3166 format) registered for the inventory + // feed that contains the product clicked on. + optional string product_country_code = 12 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. ID of the asset which was interacted with during the visit + // event. + optional int64 asset_id = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Asset field type of the visit event. + optional google.ads.searchads360.v0.enums.AssetFieldTypeEnum.AssetFieldType + asset_field_type = 14 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/searchads360/v0/resources/webpage_view.proto b/third_party/googleapis/google/ads/searchads360/v0/resources/webpage_view.proto new file mode 100644 index 000000000..b7fdf91e2 --- /dev/null +++ b/third_party/googleapis/google/ads/searchads360/v0/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.searchads360.v0.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.SearchAds360.V0.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/searchads360/v0/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "WebpageViewProto"; +option java_package = "com.google.ads.searchads360.v0.resources"; +option objc_class_prefix = "GASA360"; +option php_namespace = "Google\\Ads\\SearchAds360\\V0\\Resources"; +option ruby_package = "Google::Ads::SearchAds360::V0::Resources"; + +// Proto file describing the webpage view resource. + +// A webpage view. +message WebpageView { + option (google.api.resource) = { + type: "searchads360.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: "searchads360.googleapis.com/WebpageView" + } + ]; +} diff --git a/third_party/googleapis/google/ads/searchads360/v0/services/customer_service.proto b/third_party/googleapis/google/ads/searchads360/v0/services/customer_service.proto new file mode 100644 index 000000000..41394d689 --- /dev/null +++ b/third_party/googleapis/google/ads/searchads360/v0/services/customer_service.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.searchads360.v0.services; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; + +option csharp_namespace = "Google.Ads.SearchAds360.V0.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/searchads360/v0/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomerServiceProto"; +option java_package = "com.google.ads.searchads360.v0.services"; +option objc_class_prefix = "GASA360"; +option php_namespace = "Google\\Ads\\SearchAds360\\V0\\Services"; +option ruby_package = "Google::Ads::SearchAds360::V0::Services"; + +// Proto file describing the Customer service. + +// Service to manage customers. +service CustomerService { + option (google.api.default_host) = "searchads360.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/doubleclicksearch"; + + // 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: "/v0/customers:listAccessibleCustomers" + }; + } +} + +// Request message for +// [CustomerService.ListAccessibleCustomers][google.ads.searchads360.v0.services.CustomerService.ListAccessibleCustomers]. +message ListAccessibleCustomersRequest {} + +// Response message for +// [CustomerService.ListAccessibleCustomers][google.ads.searchads360.v0.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/ai/generativelanguage/BUILD.bazel b/third_party/googleapis/google/ai/generativelanguage/BUILD.bazel new file mode 100644 index 000000000..a87c57fec --- /dev/null +++ b/third_party/googleapis/google/ai/generativelanguage/BUILD.bazel @@ -0,0 +1 @@ +exports_files(glob(["*.yaml"])) diff --git a/third_party/googleapis/google/ai/generativelanguage/v1/BUILD.bazel b/third_party/googleapis/google/ai/generativelanguage/v1/BUILD.bazel new file mode 100644 index 000000000..4070644b2 --- /dev/null +++ b/third_party/googleapis/google/ai/generativelanguage/v1/BUILD.bazel @@ -0,0 +1,380 @@ +# 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 = "generativelanguage_proto", + srcs = [ + "citation.proto", + "content.proto", + "generative_service.proto", + "model.proto", + "model_service.proto", + "safety.proto", + ], + deps = [ + "//google/api:annotations_proto", + "//google/api:client_proto", + "//google/api:field_behavior_proto", + "//google/api:resource_proto", + "//google/longrunning:operations_proto", + ], +) + +proto_library_with_info( + name = "generativelanguage_proto_with_info", + deps = [ + ":generativelanguage_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 = "generativelanguage_java_proto", + deps = [":generativelanguage_proto"], +) + +java_grpc_library( + name = "generativelanguage_java_grpc", + srcs = [":generativelanguage_proto"], + deps = [":generativelanguage_java_proto"], +) + +java_gapic_library( + name = "generativelanguage_java_gapic", + srcs = [":generativelanguage_proto_with_info"], + gapic_yaml = None, + grpc_service_config = "generativeai_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "generativelanguage_v1.yaml", + test_deps = [ + ":generativelanguage_java_grpc", + ], + transport = "grpc+rest", + deps = [ + ":generativelanguage_java_proto", + "//google/api:api_java_proto", + ], +) + +java_gapic_test( + name = "generativelanguage_java_gapic_test_suite", + test_classes = [ + "com.google.ai.generativelanguage.v1.GenerativeServiceClientHttpJsonTest", + "com.google.ai.generativelanguage.v1.GenerativeServiceClientTest", + "com.google.ai.generativelanguage.v1.ModelServiceClientHttpJsonTest", + "com.google.ai.generativelanguage.v1.ModelServiceClientTest", + ], + runtime_deps = [":generativelanguage_java_gapic_test"], +) + +# Open Source Packages +java_gapic_assembly_gradle_pkg( + name = "google-cloud-ai-generativelanguage-v1-java", + include_samples = True, + transport = "grpc+rest", + deps = [ + ":generativelanguage_java_gapic", + ":generativelanguage_java_grpc", + ":generativelanguage_java_proto", + ":generativelanguage_proto", + ], +) + +############################################################################## +# Go +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "go_gapic_assembly_pkg", + "go_gapic_library", + "go_proto_library", +) + +go_proto_library( + name = "generativelanguage_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "cloud.google.com/go/ai/generativelanguage/apiv1/generativelanguagepb", + protos = [":generativelanguage_proto"], + deps = [ + "//google/api:annotations_go_proto", + "//google/longrunning:longrunning_go_proto", + ], +) + +go_gapic_library( + name = "generativelanguage_go_gapic", + srcs = [":generativelanguage_proto_with_info"], + grpc_service_config = "generativeai_grpc_service_config.json", + importpath = "cloud.google.com/go/ai/generativelanguage/apiv1;generativelanguage", + metadata = True, + release_level = "beta", + rest_numeric_enums = True, + service_yaml = "generativelanguage_v1.yaml", + transport = "grpc+rest", + deps = [ + ":generativelanguage_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-ai-generativelanguage-v1-go", + deps = [ + ":generativelanguage_go_gapic", + ":generativelanguage_go_gapic_srcjar-metadata.srcjar", + ":generativelanguage_go_gapic_srcjar-snippets.srcjar", + ":generativelanguage_go_gapic_srcjar-test.srcjar", + ":generativelanguage_go_proto", + ], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "py_gapic_assembly_pkg", + "py_gapic_library", + "py_test", +) + +py_gapic_library( + name = "generativelanguage_py_gapic", + srcs = [":generativelanguage_proto"], + grpc_service_config = "generativeai_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "generativelanguage_v1.yaml", + transport = "grpc+rest", + deps = [ + ], +) + +py_test( + name = "generativelanguage_py_gapic_test", + srcs = [ + "generativelanguage_py_gapic_pytest.py", + "generativelanguage_py_gapic_test.py", + ], + legacy_create_init = False, + deps = [":generativelanguage_py_gapic"], +) + +# Open Source Packages +py_gapic_assembly_pkg( + name = "ai-generativelanguage-v1-py", + deps = [ + ":generativelanguage_py_gapic", + ], +) + +############################################################################## +# PHP +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "php_gapic_assembly_pkg", + "php_gapic_library", + "php_proto_library", +) + +php_proto_library( + name = "generativelanguage_php_proto", + deps = [":generativelanguage_proto"], +) + +php_gapic_library( + name = "generativelanguage_php_gapic", + srcs = [":generativelanguage_proto_with_info"], + grpc_service_config = "generativeai_grpc_service_config.json", + migration_mode = "NEW_SURFACE_ONLY", + rest_numeric_enums = True, + service_yaml = "generativelanguage_v1.yaml", + transport = "grpc+rest", + deps = [ + ":generativelanguage_php_proto", + ], +) + +# Open Source Packages +php_gapic_assembly_pkg( + name = "google-cloud-ai-generativelanguage-v1-php", + deps = [ + ":generativelanguage_php_gapic", + ":generativelanguage_php_proto", + ], +) + +############################################################################## +# Node.js +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "nodejs_gapic_assembly_pkg", + "nodejs_gapic_library", +) + +nodejs_gapic_library( + name = "generativelanguage_nodejs_gapic", + package_name = "@google-ai/generativelanguage", + src = ":generativelanguage_proto_with_info", + extra_protoc_parameters = ["metadata"], + grpc_service_config = "generativeai_grpc_service_config.json", + package = "google.ai.generativelanguage.v1", + rest_numeric_enums = True, + service_yaml = "generativelanguage_v1.yaml", + transport = "grpc+rest", + deps = [], +) + +nodejs_gapic_assembly_pkg( + name = "ai-generativelanguage-v1-nodejs", + deps = [ + ":generativelanguage_nodejs_gapic", + ":generativelanguage_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 = "generativelanguage_ruby_proto", + deps = [":generativelanguage_proto"], +) + +ruby_grpc_library( + name = "generativelanguage_ruby_grpc", + srcs = [":generativelanguage_proto"], + deps = [":generativelanguage_ruby_proto"], +) + +ruby_cloud_gapic_library( + name = "generativelanguage_ruby_gapic", + srcs = [":generativelanguage_proto_with_info"], + extra_protoc_parameters = ["ruby-cloud-gem-name=google-cloud-ai-generativelanguage-v1"], + grpc_service_config = "generativeai_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "generativelanguage_v1.yaml", + transport = "grpc+rest", + deps = [ + ":generativelanguage_ruby_grpc", + ":generativelanguage_ruby_proto", + ], +) + +# Open Source Packages +ruby_gapic_assembly_pkg( + name = "google-cloud-ai-generativelanguage-v1-ruby", + deps = [ + ":generativelanguage_ruby_gapic", + ":generativelanguage_ruby_grpc", + ":generativelanguage_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 = "generativelanguage_csharp_proto", + deps = [":generativelanguage_proto"], +) + +csharp_grpc_library( + name = "generativelanguage_csharp_grpc", + srcs = [":generativelanguage_proto"], + deps = [":generativelanguage_csharp_proto"], +) + +csharp_gapic_library( + name = "generativelanguage_csharp_gapic", + srcs = [":generativelanguage_proto_with_info"], + common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json", + grpc_service_config = "generativeai_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "generativelanguage_v1.yaml", + transport = "grpc+rest", + deps = [ + ":generativelanguage_csharp_grpc", + ":generativelanguage_csharp_proto", + ], +) + +# Open Source Packages +csharp_gapic_assembly_pkg( + name = "google-cloud-ai-generativelanguage-v1-csharp", + deps = [ + ":generativelanguage_csharp_gapic", + ":generativelanguage_csharp_grpc", + ":generativelanguage_csharp_proto", + ], +) + +############################################################################## +# C++ +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "cc_grpc_library", + "cc_proto_library", +) + +cc_proto_library( + name = "generativelanguage_cc_proto", + deps = [":generativelanguage_proto"], +) + +cc_grpc_library( + name = "generativelanguage_cc_grpc", + srcs = [":generativelanguage_proto"], + grpc_only = True, + deps = [":generativelanguage_cc_proto"], +) diff --git a/third_party/googleapis/google/ai/generativelanguage/v1/citation.proto b/third_party/googleapis/google/ai/generativelanguage/v1/citation.proto new file mode 100644 index 000000000..f3886df0c --- /dev/null +++ b/third_party/googleapis/google/ai/generativelanguage/v1/citation.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.ai.generativelanguage.v1; + +import "google/api/field_behavior.proto"; + +option go_package = "cloud.google.com/go/ai/generativelanguage/apiv1/generativelanguagepb;generativelanguagepb"; +option java_multiple_files = true; +option java_outer_classname = "CitationProto"; +option java_package = "com.google.ai.generativelanguage.v1"; + +// A collection of source attributions for a piece of content. +message CitationMetadata { + // Citations to sources for a specific response. + repeated CitationSource citation_sources = 1; +} + +// A citation to a source for a portion of a specific response. +message CitationSource { + // Optional. Start of segment of the response that is attributed to this + // source. + // + // Index indicates the start of the segment, measured in bytes. + optional int32 start_index = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. End of the attributed segment, exclusive. + optional int32 end_index = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. URI that is attributed as a source for a portion of the text. + optional string uri = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. License for the GitHub project that is attributed as a source for + // segment. + // + // License info is required for code citations. + optional string license = 4 [(google.api.field_behavior) = OPTIONAL]; +} diff --git a/third_party/googleapis/google/ai/generativelanguage/v1/content.proto b/third_party/googleapis/google/ai/generativelanguage/v1/content.proto new file mode 100644 index 000000000..2beaf60aa --- /dev/null +++ b/third_party/googleapis/google/ai/generativelanguage/v1/content.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.ai.generativelanguage.v1; + +import "google/api/field_behavior.proto"; + +option go_package = "cloud.google.com/go/ai/generativelanguage/apiv1/generativelanguagepb;generativelanguagepb"; +option java_multiple_files = true; +option java_outer_classname = "ContentProto"; +option java_package = "com.google.ai.generativelanguage.v1"; + +// The base structured datatype containing multi-part content of a message. +// +// A `Content` includes a `role` field designating the producer of the `Content` +// and a `parts` field containing multi-part data that contains the content of +// the message turn. +message Content { + // Ordered `Parts` that constitute a single message. Parts may have different + // MIME types. + repeated Part parts = 1; + + // Optional. The producer of the content. Must be either 'user' or 'model'. + // + // Useful to set for multi-turn conversations, otherwise can be left blank + // or unset. + string role = 2 [(google.api.field_behavior) = OPTIONAL]; +} + +// A datatype containing media that is part of a multi-part `Content` message. +// +// A `Part` consists of data which has an associated datatype. A `Part` can only +// contain one of the accepted types in `Part.data`. +// +// A `Part` must have a fixed IANA MIME type identifying the type and subtype +// of the media if the `inline_data` field is filled with raw bytes. +message Part { + oneof data { + // Inline text. + string text = 2; + + // Inline media bytes. + Blob inline_data = 3; + } +} + +// Raw media bytes. +// +// Text should not be sent as raw bytes, use the 'text' field. +message Blob { + // The IANA standard MIME type of the source data. + // Accepted types include: "image/png", "image/jpeg", "image/heic", + // "image/heif", "image/webp". + string mime_type = 1; + + // Raw bytes for media formats. + bytes data = 2; +} diff --git a/third_party/googleapis/google/ai/generativelanguage/v1/generative_service.proto b/third_party/googleapis/google/ai/generativelanguage/v1/generative_service.proto new file mode 100644 index 000000000..45343fac2 --- /dev/null +++ b/third_party/googleapis/google/ai/generativelanguage/v1/generative_service.proto @@ -0,0 +1,406 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.ai.generativelanguage.v1; + +import "google/ai/generativelanguage/v1/citation.proto"; +import "google/ai/generativelanguage/v1/content.proto"; +import "google/ai/generativelanguage/v1/safety.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option go_package = "cloud.google.com/go/ai/generativelanguage/apiv1/generativelanguagepb;generativelanguagepb"; +option java_multiple_files = true; +option java_outer_classname = "GenerativeServiceProto"; +option java_package = "com.google.ai.generativelanguage.v1"; + +// API for using Large Models that generate multimodal content and have +// additional capabilities beyond text generation. +service GenerativeService { + option (google.api.default_host) = "generativelanguage.googleapis.com"; + + // Generates a response from the model given an input + // `GenerateContentRequest`. + rpc GenerateContent(GenerateContentRequest) + returns (GenerateContentResponse) { + option (google.api.http) = { + post: "/v1/{model=models/*}:generateContent" + body: "*" + }; + option (google.api.method_signature) = "model,contents"; + } + + // Generates a streamed response from the model given an input + // `GenerateContentRequest`. + rpc StreamGenerateContent(GenerateContentRequest) + returns (stream GenerateContentResponse) { + option (google.api.http) = { + post: "/v1/{model=models/*}:streamGenerateContent" + body: "*" + }; + option (google.api.method_signature) = "model,contents"; + } + + // Generates an embedding from the model given an input `Content`. + rpc EmbedContent(EmbedContentRequest) returns (EmbedContentResponse) { + option (google.api.http) = { + post: "/v1/{model=models/*}:embedContent" + body: "*" + }; + option (google.api.method_signature) = "model,content"; + } + + // Generates multiple embeddings from the model given input text in a + // synchronous call. + rpc BatchEmbedContents(BatchEmbedContentsRequest) + returns (BatchEmbedContentsResponse) { + option (google.api.http) = { + post: "/v1/{model=models/*}:batchEmbedContents" + body: "*" + }; + option (google.api.method_signature) = "model,requests"; + } + + // Runs a model's tokenizer on input content and returns the token count. + rpc CountTokens(CountTokensRequest) returns (CountTokensResponse) { + option (google.api.http) = { + post: "/v1/{model=models/*}:countTokens" + body: "*" + }; + option (google.api.method_signature) = "model,contents"; + } +} + +// Type of task for which the embedding will be used. +enum TaskType { + // Unset value, which will default to one of the other enum values. + TASK_TYPE_UNSPECIFIED = 0; + + // Specifies the given text is a query in a search/retrieval setting. + RETRIEVAL_QUERY = 1; + + // Specifies the given text is a document from the corpus being searched. + RETRIEVAL_DOCUMENT = 2; + + // Specifies the given text will be used for STS. + SEMANTIC_SIMILARITY = 3; + + // Specifies that the given text will be classified. + CLASSIFICATION = 4; + + // Specifies that the embeddings will be used for clustering. + CLUSTERING = 5; +} + +// Request to generate a completion from the model. +message GenerateContentRequest { + // Required. The name of the `Model` to use for generating the completion. + // + // Format: `name=models/{model}`. + string model = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "generativelanguage.googleapis.com/Model" + } + ]; + + // Required. The content of the current conversation with the model. + // + // For single-turn queries, this is a single instance. For multi-turn queries, + // this is a repeated field that contains conversation history + latest + // request. + repeated Content contents = 2 [(google.api.field_behavior) = REQUIRED]; + + // Optional. A list of unique `SafetySetting` instances for blocking unsafe + // content. + // + // This will be enforced on the `GenerateContentRequest.contents` and + // `GenerateContentResponse.candidates`. There should not be more than one + // setting for each `SafetyCategory` type. The API will block any contents and + // responses that fail to meet the thresholds set by these settings. This list + // overrides the default settings for each `SafetyCategory` specified in the + // safety_settings. If there is no `SafetySetting` for a given + // `SafetyCategory` provided in the list, the API will use the default safety + // setting for that category. Harm categories HARM_CATEGORY_HATE_SPEECH, + // HARM_CATEGORY_SEXUALLY_EXPLICIT, HARM_CATEGORY_DANGEROUS_CONTENT, + // HARM_CATEGORY_HARASSMENT are supported. + repeated SafetySetting safety_settings = 3 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Configuration options for model generation and outputs. + optional GenerationConfig generation_config = 4 + [(google.api.field_behavior) = OPTIONAL]; +} + +// Configuration options for model generation and outputs. Not all parameters +// may be configurable for every model. +message GenerationConfig { + // Optional. Number of generated responses to return. + // + // This value must be between [1, 8], inclusive. If unset, this will default + // to 1. + optional int32 candidate_count = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The set of character sequences (up to 5) that will stop output + // generation. If specified, the API will stop at the first appearance of a + // stop sequence. The stop sequence will not be included as part of the + // response. + repeated string stop_sequences = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The maximum number of tokens to include in a candidate. + // + // If unset, this will default to output_token_limit specified in the `Model` + // specification. + optional int32 max_output_tokens = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Controls the randomness of the output. + // Note: The default value varies by model, see the `Model.temperature` + // attribute of the `Model` returned the `getModel` function. + // + // Values can range from [0.0,1.0], + // inclusive. A value closer to 1.0 will produce responses that are more + // varied and creative, while a value closer to 0.0 will typically result in + // more straightforward responses from the model. + optional float temperature = 5 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The maximum cumulative probability of tokens to consider when + // sampling. + // + // The model uses combined Top-k and nucleus sampling. + // + // Tokens are sorted based on their assigned probabilities so that only the + // most likely tokens are considered. Top-k sampling directly limits the + // maximum number of tokens to consider, while Nucleus sampling limits number + // of tokens based on the cumulative probability. + // + // Note: The default value varies by model, see the `Model.top_p` + // attribute of the `Model` returned the `getModel` function. + optional float top_p = 6 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The maximum number of tokens to consider when sampling. + // + // The model uses combined Top-k and nucleus sampling. + // + // Top-k sampling considers the set of `top_k` most probable tokens. + // Defaults to 40. + // + // Note: The default value varies by model, see the `Model.top_k` + // attribute of the `Model` returned the `getModel` function. + optional int32 top_k = 7 [(google.api.field_behavior) = OPTIONAL]; +} + +// Response from the model supporting multiple candidates. +// +// Note on safety ratings and content filtering. They are reported for both +// prompt in `GenerateContentResponse.prompt_feedback` and for each candidate +// in `finish_reason` and in `safety_ratings`. The API contract is that: +// - either all requested candidates are returned or no candidates at all +// - no candidates are returned only if there was something wrong with the +// prompt (see `prompt_feedback`) +// - feedback on each candidate is reported on `finish_reason` and +// `safety_ratings`. +message GenerateContentResponse { + // A set of the feedback metadata the prompt specified in + // `GenerateContentRequest.content`. + message PromptFeedback { + // Specifies what was the reason why prompt was blocked. + enum BlockReason { + // Default value. This value is unused. + BLOCK_REASON_UNSPECIFIED = 0; + + // Prompt was blocked due to safety reasons. You can inspect + // `safety_ratings` to understand which safety category blocked it. + SAFETY = 1; + + // Prompt was blocked due to unknown reaasons. + OTHER = 2; + } + + // Optional. If set, the prompt was blocked and no candidates are returned. + // Rephrase your prompt. + BlockReason block_reason = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Ratings for safety of the prompt. + // There is at most one rating per category. + repeated SafetyRating safety_ratings = 2; + } + + // Candidate responses from the model. + repeated Candidate candidates = 1; + + // Returns the prompt's feedback related to the content filters. + PromptFeedback prompt_feedback = 2; +} + +// A response candidate generated from the model. +message Candidate { + // Defines the reason why the model stopped generating tokens. + enum FinishReason { + // Default value. This value is unused. + FINISH_REASON_UNSPECIFIED = 0; + + // Natural stop point of the model or provided stop sequence. + STOP = 1; + + // The maximum number of tokens as specified in the request was reached. + MAX_TOKENS = 2; + + // The candidate content was flagged for safety reasons. + SAFETY = 3; + + // The candidate content was flagged for recitation reasons. + RECITATION = 4; + + // Unknown reason. + OTHER = 5; + } + + // Output only. Index of the candidate in the list of candidates. + optional int32 index = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Generated content returned from the model. + Content content = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Optional. Output only. The reason why the model stopped generating tokens. + // + // If empty, the model has not stopped generating the tokens. + FinishReason finish_reason = 2 [ + (google.api.field_behavior) = OPTIONAL, + (google.api.field_behavior) = OUTPUT_ONLY + ]; + + // List of ratings for the safety of a response candidate. + // + // There is at most one rating per category. + repeated SafetyRating safety_ratings = 5; + + // Output only. Citation information for model-generated candidate. + // + // This field may be populated with recitation information for any text + // included in the `content`. These are passages that are "recited" from + // copyrighted material in the foundational LLM's training data. + CitationMetadata citation_metadata = 6 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Token count for this candidate. + int32 token_count = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Request containing the `Content` for the model to embed. +message EmbedContentRequest { + // Required. The model's resource name. This serves as an ID for the Model to + // use. + // + // This name should match a model name returned by the `ListModels` method. + // + // Format: `models/{model}` + string model = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "generativelanguage.googleapis.com/Model" + } + ]; + + // Required. The content to embed. Only the `parts.text` fields will be + // counted. + Content content = 2 [(google.api.field_behavior) = REQUIRED]; + + // Optional. Optional task type for which the embeddings will be used. Can + // only be set for `models/embedding-001`. + optional TaskType task_type = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. An optional title for the text. Only applicable when TaskType is + // `RETRIEVAL_DOCUMENT`. + // + // Note: Specifying a `title` for `RETRIEVAL_DOCUMENT` provides better quality + // embeddings for retrieval. + optional string title = 4 [(google.api.field_behavior) = OPTIONAL]; +} + +// A list of floats representing an embedding. +message ContentEmbedding { + // The embedding values. + repeated float values = 1; +} + +// The response to an `EmbedContentRequest`. +message EmbedContentResponse { + // Output only. The embedding generated from the input content. + ContentEmbedding embedding = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Batch request to get embeddings from the model for a list of prompts. +message BatchEmbedContentsRequest { + // Required. The model's resource name. This serves as an ID for the Model to + // use. + // + // This name should match a model name returned by the `ListModels` method. + // + // Format: `models/{model}` + string model = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "generativelanguage.googleapis.com/Model" + } + ]; + + // Required. Embed requests for the batch. The model in each of these requests + // must match the model specified `BatchEmbedContentsRequest.model`. + repeated EmbedContentRequest requests = 2 + [(google.api.field_behavior) = REQUIRED]; +} + +// The response to a `BatchEmbedContentsRequest`. +message BatchEmbedContentsResponse { + // Output only. The embeddings for each request, in the same order as provided + // in the batch request. + repeated ContentEmbedding embeddings = 1 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Counts the number of tokens in the `prompt` sent to a model. +// +// Models may tokenize text differently, so each model may return a different +// `token_count`. +message CountTokensRequest { + // Required. The model's resource name. This serves as an ID for the Model to + // use. + // + // This name should match a model name returned by the `ListModels` method. + // + // Format: `models/{model}` + string model = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "generativelanguage.googleapis.com/Model" + } + ]; + + // Required. The input given to the model as a prompt. + repeated Content contents = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// A response from `CountTokens`. +// +// It returns the model's `token_count` for the `prompt`. +message CountTokensResponse { + // The number of tokens that the `model` tokenizes the `prompt` into. + // + // Always non-negative. + int32 total_tokens = 1; +} diff --git a/third_party/googleapis/google/ai/generativelanguage/v1/generativeai_grpc_service_config.json b/third_party/googleapis/google/ai/generativelanguage/v1/generativeai_grpc_service_config.json new file mode 100644 index 000000000..7f5f8e43f --- /dev/null +++ b/third_party/googleapis/google/ai/generativelanguage/v1/generativeai_grpc_service_config.json @@ -0,0 +1,74 @@ +{ + "methodConfig": [{ + "name": [ + { "service": "google.ai.generativelanguage.v1beta1.DiscussService", "method": "GenerateMessage" }, + { "service": "google.ai.generativelanguage.v1beta1.DiscussService", "method": "CountMessageTokens" }, + { "service": "google.ai.generativelanguage.v1beta1.ModelService", "method": "GetModel" }, + { "service": "google.ai.generativelanguage.v1beta1.ModelService", "method": "ListModels" }, + { "service": "google.ai.generativelanguage.v1beta2.DiscussService", "method": "GenerateMessage" }, + { "service": "google.ai.generativelanguage.v1beta2.DiscussService", "method": "CountMessageTokens" }, + { "service": "google.ai.generativelanguage.v1beta2.ModelService", "method": "GetModel" }, + { "service": "google.ai.generativelanguage.v1beta2.ModelService", "method": "ListModels" }, + { "service": "google.ai.generativelanguage.v1beta2.TextService", "method": "GenerateText" }, + { "service": "google.ai.generativelanguage.v1beta2.TextService", "method": "EmbedText" }, + { "service": "google.ai.generativelanguage.v1beta.DiscussService", "method": "GenerateMessage" }, + { "service": "google.ai.generativelanguage.v1beta.DiscussService", "method": "CountMessageTokens" }, + { "service": "google.ai.generativelanguage.v1beta.GenerativeService", "method": "GenerateContent" }, + { "service": "google.ai.generativelanguage.v1beta.GenerativeService", "method": "GenerateAnswer" }, + { "service": "google.ai.generativelanguage.v1beta.GenerativeService", "method": "StreamGenerateContent" }, + { "service": "google.ai.generativelanguage.v1beta.GenerativeService", "method": "EmbedContent" }, + { "service": "google.ai.generativelanguage.v1beta.GenerativeService", "method": "BatchEmbedContents" }, + { "service": "google.ai.generativelanguage.v1beta.GenerativeService", "method": "CountTokens" }, + { "service": "google.ai.generativelanguage.v1beta.ModelService", "method": "GetModel" }, + { "service": "google.ai.generativelanguage.v1beta.ModelService", "method": "ListModels" }, + { "service": "google.ai.generativelanguage.v1beta.ModelService", "method": "CreateTunedModel" }, + { "service": "google.ai.generativelanguage.v1beta.ModelService", "method": "DeleteTunedModel" }, + { "service": "google.ai.generativelanguage.v1beta.ModelService", "method": "GetTunedModel" }, + { "service": "google.ai.generativelanguage.v1beta.ModelService", "method": "ListTunedModels" }, + { "service": "google.ai.generativelanguage.v1beta.ModelService", "method": "UpdateTunedModel" }, + { "service": "google.ai.generativelanguage.v1beta.PermissionService", "method": "CreatePermission" }, + { "service": "google.ai.generativelanguage.v1beta.PermissionService", "method": "ListPermission" }, + { "service": "google.ai.generativelanguage.v1beta.PermissionService", "method": "GetPermission" }, + { "service": "google.ai.generativelanguage.v1beta.PermissionService", "method": "UpdatePermission" }, + { "service": "google.ai.generativelanguage.v1beta.PermissionService", "method": "DeletePermission" }, + { "service": "google.ai.generativelanguage.v1beta.PermissionService", "method": "TransferOwnership" }, + { "service": "google.ai.generativelanguage.v1beta.RetrieverService", "method": "CreateCorpus" }, + { "service": "google.ai.generativelanguage.v1beta.RetrieverService", "method": "ListCorpora" }, + { "service": "google.ai.generativelanguage.v1beta.RetrieverService", "method": "GetCorpus" }, + { "service": "google.ai.generativelanguage.v1beta.RetrieverService", "method": "UpdateCorpus" }, + { "service": "google.ai.generativelanguage.v1beta.RetrieverService", "method": "DeleteCorpus" }, + { "service": "google.ai.generativelanguage.v1beta.RetrieverService", "method": "QueryCorpus" }, + { "service": "google.ai.generativelanguage.v1beta.RetrieverService", "method": "CreateDocument" }, + { "service": "google.ai.generativelanguage.v1beta.RetrieverService", "method": "ListDocuments" }, + { "service": "google.ai.generativelanguage.v1beta.RetrieverService", "method": "GetDocument" }, + { "service": "google.ai.generativelanguage.v1beta.RetrieverService", "method": "UpdateDocument" }, + { "service": "google.ai.generativelanguage.v1beta.RetrieverService", "method": "DeleteDocument" }, + { "service": "google.ai.generativelanguage.v1beta.RetrieverService", "method": "QueryDocument" }, + { "service": "google.ai.generativelanguage.v1beta.RetrieverService", "method": "CreateChunk" }, + { "service": "google.ai.generativelanguage.v1beta.RetrieverService", "method": "BatchCreateChunk" }, + { "service": "google.ai.generativelanguage.v1beta.RetrieverService", "method": "ListChunk" }, + { "service": "google.ai.generativelanguage.v1beta.RetrieverService", "method": "GetChunk" }, + { "service": "google.ai.generativelanguage.v1beta.RetrieverService", "method": "UpdateChunk" }, + { "service": "google.ai.generativelanguage.v1beta.RetrieverService", "method": "BatchUpdateChunk" }, + { "service": "google.ai.generativelanguage.v1beta.RetrieverService", "method": "DeleteChunk" }, + { "service": "google.ai.generativelanguage.v1beta.RetrieverService", "method": "BatchDeleteChunk" }, + { "service": "google.ai.generativelanguage.v1beta.TextService", "method": "GenerateText" }, + { "service": "google.ai.generativelanguage.v1beta.TextService", "method": "EmbedText" }, + { "service": "google.ai.generativelanguage.v1beta.TextService", "method": "BatchEmbedText" }, + { "service": "google.ai.generativelanguage.v1beta.TextService", "method": "CountTextTokens" }, + { "service": "google.ai.generativelanguage.v1.GenerativeService", "method": "GenerateContent" }, + { "service": "google.ai.generativelanguage.v1.GenerativeService", "method": "StreamGenerateContent" }, + { "service": "google.ai.generativelanguage.v1.GenerativeService", "method": "EmbedContent" }, + { "service": "google.ai.generativelanguage.v1.GenerativeService", "method": "BatchEmbedContents" }, + { "service": "google.ai.generativelanguage.v1.GenerativeService", "method": "CountTokens" } + ], + "timeout": "60s", + "retryPolicy": { + "maxAttempts": 5, + "initialBackoff": "1s", + "maxBackoff": "10s", + "backoffMultiplier": 1.3, + "retryableStatusCodes": ["UNAVAILABLE"] + } + }] +} \ No newline at end of file diff --git a/third_party/googleapis/google/ai/generativelanguage/v1/generativelanguage_v1.yaml b/third_party/googleapis/google/ai/generativelanguage/v1/generativelanguage_v1.yaml new file mode 100644 index 000000000..d89f66c32 --- /dev/null +++ b/third_party/googleapis/google/ai/generativelanguage/v1/generativelanguage_v1.yaml @@ -0,0 +1,65 @@ +type: google.api.Service +config_version: 3 +name: generativelanguage.googleapis.com +title: Generative Language API + +apis: +- name: google.ai.generativelanguage.v1.GenerativeService +- name: google.ai.generativelanguage.v1.ModelService +- name: google.longrunning.Operations + +documentation: + summary: |- + The Gemini API allows developers to build generative AI applications using + Gemini models. Gemini is our most capable model in the world, built from + the ground up to be multimodal. It can generalize and seamlessly + understand, operate across, and combine different types of information. + You can use the Gemini + API for use cases like reasoning across text and images, content + generation, dialogue agents, summarization and classification systems, and + more. + +http: + rules: + - selector: google.longrunning.Operations.CancelOperation + post: '/v1/{name=tunedModels/*/operations/*}:cancel' + body: '*' + - selector: google.longrunning.Operations.GetOperation + get: '/v1/{name=tunedModels/*/operations/*}' + - selector: google.longrunning.Operations.ListOperations + get: '/v1/{name=operations}' + additional_bindings: + - get: '/v1/{name=tunedModels/*}/operations' + +publishing: + new_issue_uri: https://github.com/google/generative-ai-python/issues/new + documentation_uri: https://developers.generativeai.google/ + api_short_name: generativelanguage + github_label: 'api: ai' + doc_tag_prefix: generativelanguage + organization: GENERATIVE_AI + library_settings: + - version: google.ai.generativelanguage.v1 + launch_stage: EARLY_ACCESS + java_settings: + common: {} + cpp_settings: + common: {} + php_settings: + common: {} + python_settings: + common: + destinations: + - PACKAGE_MANAGER + node_settings: + common: + destinations: + - PACKAGE_MANAGER + dotnet_settings: + common: {} + ruby_settings: + common: {} + go_settings: + common: + destinations: + - PACKAGE_MANAGER diff --git a/third_party/googleapis/google/ai/generativelanguage/v1/model.proto b/third_party/googleapis/google/ai/generativelanguage/v1/model.proto new file mode 100644 index 000000000..dc442d057 --- /dev/null +++ b/third_party/googleapis/google/ai/generativelanguage/v1/model.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.ai.generativelanguage.v1; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option go_package = "cloud.google.com/go/ai/generativelanguage/apiv1/generativelanguagepb;generativelanguagepb"; +option java_multiple_files = true; +option java_outer_classname = "ModelProto"; +option java_package = "com.google.ai.generativelanguage.v1"; + +// Information about a Generative Language Model. +message Model { + option (google.api.resource) = { + type: "generativelanguage.googleapis.com/Model" + pattern: "models/{model}" + }; + + // Required. The resource name of the `Model`. + // + // Format: `models/{model}` with a `{model}` naming convention of: + // + // * "{base_model_id}-{version}" + // + // Examples: + // + // * `models/chat-bison-001` + string name = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The name of the base model, pass this to the generation request. + // + // Examples: + // + // * `chat-bison` + string base_model_id = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The version number of the model. + // + // This represents the major version + string version = 3 [(google.api.field_behavior) = REQUIRED]; + + // The human-readable name of the model. E.g. "Chat Bison". + // + // The name can be up to 128 characters long and can consist of any UTF-8 + // characters. + string display_name = 4; + + // A short description of the model. + string description = 5; + + // Maximum number of input tokens allowed for this model. + int32 input_token_limit = 6; + + // Maximum number of output tokens available for this model. + int32 output_token_limit = 7; + + // The model's supported generation methods. + // + // The method names are defined as Pascal case + // strings, such as `generateMessage` which correspond to API methods. + repeated string supported_generation_methods = 8; + + // Controls the randomness of the output. + // + // Values can range over `[0.0,1.0]`, inclusive. A value closer to `1.0` will + // produce responses that are more varied, while a value closer to `0.0` will + // typically result in less surprising responses from the model. + // This value specifies default to be used by the backend while making the + // call to the model. + optional float temperature = 9; + + // For Nucleus sampling. + // + // Nucleus sampling considers the smallest set of tokens whose probability + // sum is at least `top_p`. + // This value specifies default to be used by the backend while making the + // call to the model. + optional float top_p = 10; + + // For Top-k sampling. + // + // Top-k sampling considers the set of `top_k` most probable tokens. + // This value specifies default to be used by the backend while making the + // call to the model. + optional int32 top_k = 11; +} diff --git a/third_party/googleapis/google/ai/generativelanguage/v1/model_service.proto b/third_party/googleapis/google/ai/generativelanguage/v1/model_service.proto new file mode 100644 index 000000000..91b033e16 --- /dev/null +++ b/third_party/googleapis/google/ai/generativelanguage/v1/model_service.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.ai.generativelanguage.v1; + +import "google/ai/generativelanguage/v1/model.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option go_package = "cloud.google.com/go/ai/generativelanguage/apiv1/generativelanguagepb;generativelanguagepb"; +option java_multiple_files = true; +option java_outer_classname = "ModelServiceProto"; +option java_package = "com.google.ai.generativelanguage.v1"; + +// Provides methods for getting metadata information about Generative Models. +service ModelService { + option (google.api.default_host) = "generativelanguage.googleapis.com"; + + // Gets information about a specific Model. + rpc GetModel(GetModelRequest) returns (Model) { + option (google.api.http) = { + get: "/v1/{name=models/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Lists models available through the API. + rpc ListModels(ListModelsRequest) returns (ListModelsResponse) { + option (google.api.http) = { + get: "/v1/models" + }; + option (google.api.method_signature) = "page_size,page_token"; + } +} + +// Request for getting information about a specific Model. +message GetModelRequest { + // Required. The resource name of the model. + // + // This name should match a model name returned by the `ListModels` method. + // + // Format: `models/{model}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "generativelanguage.googleapis.com/Model" + } + ]; +} + +// Request for listing all Models. +message ListModelsRequest { + // The maximum number of `Models` to return (per page). + // + // The service may return fewer models. + // If unspecified, at most 50 models will be returned per page. + // This method returns at most 1000 models per page, even if you pass a larger + // page_size. + int32 page_size = 2; + + // A page token, received from a previous `ListModels` call. + // + // Provide the `page_token` returned by one request as an argument to the next + // request to retrieve the next page. + // + // When paginating, all other parameters provided to `ListModels` must match + // the call that provided the page token. + string page_token = 3; +} + +// Response from `ListModel` containing a paginated list of Models. +message ListModelsResponse { + // The returned Models. + repeated Model models = 1; + + // A token, which can be sent as `page_token` to retrieve the next page. + // + // If this field is omitted, there are no more pages. + string next_page_token = 2; +} diff --git a/third_party/googleapis/google/ai/generativelanguage/v1/safety.proto b/third_party/googleapis/google/ai/generativelanguage/v1/safety.proto new file mode 100644 index 000000000..5362c5d6e --- /dev/null +++ b/third_party/googleapis/google/ai/generativelanguage/v1/safety.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.ai.generativelanguage.v1; + +import "google/api/field_behavior.proto"; + +option go_package = "cloud.google.com/go/ai/generativelanguage/apiv1/generativelanguagepb;generativelanguagepb"; +option java_multiple_files = true; +option java_outer_classname = "SafetyProto"; +option java_package = "com.google.ai.generativelanguage.v1"; + +// The category of a rating. +// +// These categories cover various kinds of harms that developers +// may wish to adjust. +enum HarmCategory { + // Category is unspecified. + HARM_CATEGORY_UNSPECIFIED = 0; + + // Negative or harmful comments targeting identity and/or protected attribute. + HARM_CATEGORY_DEROGATORY = 1; + + // Content that is rude, disrepspectful, or profane. + HARM_CATEGORY_TOXICITY = 2; + + // Describes scenarios depictng violence against an individual or group, or + // general descriptions of gore. + HARM_CATEGORY_VIOLENCE = 3; + + // Contains references to sexual acts or other lewd content. + HARM_CATEGORY_SEXUAL = 4; + + // Promotes unchecked medical advice. + HARM_CATEGORY_MEDICAL = 5; + + // Dangerous content that promotes, facilitates, or encourages harmful acts. + HARM_CATEGORY_DANGEROUS = 6; + + // Harasment content. + HARM_CATEGORY_HARASSMENT = 7; + + // Hate speech and content. + HARM_CATEGORY_HATE_SPEECH = 8; + + // Sexually explicit content. + HARM_CATEGORY_SEXUALLY_EXPLICIT = 9; + + // Dangerous content. + HARM_CATEGORY_DANGEROUS_CONTENT = 10; +} + +// Safety rating for a piece of content. +// +// The safety rating contains the category of harm and the +// harm probability level in that category for a piece of content. +// Content is classified for safety across a number of +// harm categories and the probability of the harm classification is included +// here. +message SafetyRating { + // The probability that a piece of content is harmful. + // + // The classification system gives the probability of the content being + // unsafe. This does not indicate the severity of harm for a piece of content. + enum HarmProbability { + // Probability is unspecified. + HARM_PROBABILITY_UNSPECIFIED = 0; + + // Content has a negligible chance of being unsafe. + NEGLIGIBLE = 1; + + // Content has a low chance of being unsafe. + LOW = 2; + + // Content has a medium chance of being unsafe. + MEDIUM = 3; + + // Content has a high chance of being unsafe. + HIGH = 4; + } + + // Required. The category for this rating. + HarmCategory category = 3 [(google.api.field_behavior) = REQUIRED]; + + // Required. The probability of harm for this content. + HarmProbability probability = 4 [(google.api.field_behavior) = REQUIRED]; + + // Was this content blocked because of this rating? + bool blocked = 5; +} + +// Safety setting, affecting the safety-blocking behavior. +// +// Passing a safety setting for a category changes the allowed proability that +// content is blocked. +message SafetySetting { + // Block at and beyond a specified harm probability. + enum HarmBlockThreshold { + // Threshold is unspecified. + HARM_BLOCK_THRESHOLD_UNSPECIFIED = 0; + + // Content with NEGLIGIBLE will be allowed. + BLOCK_LOW_AND_ABOVE = 1; + + // Content with NEGLIGIBLE and LOW will be allowed. + BLOCK_MEDIUM_AND_ABOVE = 2; + + // Content with NEGLIGIBLE, LOW, and MEDIUM will be allowed. + BLOCK_ONLY_HIGH = 3; + + // All content will be allowed. + BLOCK_NONE = 4; + } + + // Required. The category for this setting. + HarmCategory category = 3 [(google.api.field_behavior) = REQUIRED]; + + // Required. Controls the probability threshold at which harm is blocked. + HarmBlockThreshold threshold = 4 [(google.api.field_behavior) = REQUIRED]; +} diff --git a/third_party/googleapis/google/ai/generativelanguage/v1beta/BUILD.bazel b/third_party/googleapis/google/ai/generativelanguage/v1beta/BUILD.bazel new file mode 100644 index 000000000..3ac256b1e --- /dev/null +++ b/third_party/googleapis/google/ai/generativelanguage/v1beta/BUILD.bazel @@ -0,0 +1,400 @@ +# 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 = "generativelanguage_proto", + srcs = [ + "citation.proto", + "content.proto", + "discuss_service.proto", + "generative_service.proto", + "model.proto", + "model_service.proto", + "permission.proto", + "permission_service.proto", + "retriever.proto", + "retriever_service.proto", + "safety.proto", + "text_service.proto", + "tuned_model.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//:struct_proto", + "@com_google_protobuf//:timestamp_proto", + ], +) + +proto_library_with_info( + name = "generativelanguage_proto_with_info", + deps = [ + ":generativelanguage_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 = "generativelanguage_java_proto", + deps = [":generativelanguage_proto"], +) + +java_grpc_library( + name = "generativelanguage_java_grpc", + srcs = [":generativelanguage_proto"], + deps = [":generativelanguage_java_proto"], +) + +java_gapic_library( + name = "generativelanguage_java_gapic", + srcs = [":generativelanguage_proto_with_info"], + gapic_yaml = None, + grpc_service_config = "generativeai_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "generativelanguage_v1beta.yaml", + test_deps = [ + ":generativelanguage_java_grpc", + ], + transport = "grpc+rest", + deps = [ + ":generativelanguage_java_proto", + "//google/api:api_java_proto", + ], +) + +java_gapic_test( + name = "generativelanguage_java_gapic_test_suite", + test_classes = [ + "com.google.ai.generativelanguage.v1beta.DiscussServiceClientHttpJsonTest", + "com.google.ai.generativelanguage.v1beta.DiscussServiceClientTest", + "com.google.ai.generativelanguage.v1beta.GenerativeServiceClientHttpJsonTest", + "com.google.ai.generativelanguage.v1beta.GenerativeServiceClientTest", + "com.google.ai.generativelanguage.v1beta.ModelServiceClientHttpJsonTest", + "com.google.ai.generativelanguage.v1beta.ModelServiceClientTest", + "com.google.ai.generativelanguage.v1beta.PermissionServiceClientHttpJsonTest", + "com.google.ai.generativelanguage.v1beta.PermissionServiceClientTest", + "com.google.ai.generativelanguage.v1beta.RetrieverServiceClientHttpJsonTest", + "com.google.ai.generativelanguage.v1beta.RetrieverServiceClientTest", + "com.google.ai.generativelanguage.v1beta.TextServiceClientHttpJsonTest", + "com.google.ai.generativelanguage.v1beta.TextServiceClientTest", + ], + runtime_deps = [":generativelanguage_java_gapic_test"], +) + +# Open Source Packages +java_gapic_assembly_gradle_pkg( + name = "google-cloud-ai-generativelanguage-v1beta-java", + include_samples = True, + transport = "grpc+rest", + deps = [ + ":generativelanguage_java_gapic", + ":generativelanguage_java_grpc", + ":generativelanguage_java_proto", + ":generativelanguage_proto", + ], +) + +############################################################################## +# Go +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "go_gapic_assembly_pkg", + "go_gapic_library", + "go_proto_library", +) + +go_proto_library( + name = "generativelanguage_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "cloud.google.com/go/ai/generativelanguage/apiv1beta/generativelanguagepb", + protos = [":generativelanguage_proto"], + deps = [ + "//google/api:annotations_go_proto", + "//google/longrunning:longrunning_go_proto", + ], +) + +go_gapic_library( + name = "generativelanguage_go_gapic", + srcs = [":generativelanguage_proto_with_info"], + grpc_service_config = "generativeai_grpc_service_config.json", + importpath = "cloud.google.com/go/ai/generativelanguage/apiv1beta;generativelanguage", + metadata = True, + release_level = "beta", + rest_numeric_enums = True, + service_yaml = "generativelanguage_v1beta.yaml", + transport = "grpc+rest", + deps = [ + ":generativelanguage_go_proto", + "//google/longrunning:longrunning_go_proto", + "@com_google_cloud_go_longrunning//:go_default_library", + "@com_google_cloud_go_longrunning//autogen:go_default_library", + "@io_bazel_rules_go//proto/wkt:struct_go_proto", + ], +) + +# Open Source Packages +go_gapic_assembly_pkg( + name = "gapi-cloud-ai-generativelanguage-v1beta-go", + deps = [ + ":generativelanguage_go_gapic", + ":generativelanguage_go_gapic_srcjar-metadata.srcjar", + ":generativelanguage_go_gapic_srcjar-snippets.srcjar", + ":generativelanguage_go_gapic_srcjar-test.srcjar", + ":generativelanguage_go_proto", + ], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "py_gapic_assembly_pkg", + "py_gapic_library", + "py_test", +) + +py_gapic_library( + name = "generativelanguage_py_gapic", + srcs = [":generativelanguage_proto"], + grpc_service_config = "generativeai_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "generativelanguage_v1beta.yaml", + transport = "grpc+rest", + deps = [ + ], +) + +py_test( + name = "generativelanguage_py_gapic_test", + srcs = [ + "generativelanguage_py_gapic_pytest.py", + "generativelanguage_py_gapic_test.py", + ], + legacy_create_init = False, + deps = [":generativelanguage_py_gapic"], +) + +# Open Source Packages +py_gapic_assembly_pkg( + name = "ai-generativelanguage-v1beta-py", + deps = [ + ":generativelanguage_py_gapic", + ], +) + +############################################################################## +# PHP +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "php_gapic_assembly_pkg", + "php_gapic_library", + "php_proto_library", +) + +php_proto_library( + name = "generativelanguage_php_proto", + deps = [":generativelanguage_proto"], +) + +php_gapic_library( + name = "generativelanguage_php_gapic", + srcs = [":generativelanguage_proto_with_info"], + grpc_service_config = "generativeai_grpc_service_config.json", + migration_mode = "NEW_SURFACE_ONLY", + rest_numeric_enums = True, + service_yaml = "generativelanguage_v1beta.yaml", + transport = "grpc+rest", + deps = [ + ":generativelanguage_php_proto", + ], +) + +# Open Source Packages +php_gapic_assembly_pkg( + name = "google-cloud-ai-generativelanguage-v1beta-php", + deps = [ + ":generativelanguage_php_gapic", + ":generativelanguage_php_proto", + ], +) + +############################################################################## +# Node.js +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "nodejs_gapic_assembly_pkg", + "nodejs_gapic_library", +) + +nodejs_gapic_library( + name = "generativelanguage_nodejs_gapic", + package_name = "@google-ai/generativelanguage", + src = ":generativelanguage_proto_with_info", + extra_protoc_parameters = ["metadata"], + grpc_service_config = "generativeai_grpc_service_config.json", + package = "google.ai.generativelanguage.v1beta", + rest_numeric_enums = True, + service_yaml = "generativelanguage_v1beta.yaml", + transport = "grpc+rest", + deps = [], +) + +nodejs_gapic_assembly_pkg( + name = "ai-generativelanguage-v1beta-nodejs", + deps = [ + ":generativelanguage_nodejs_gapic", + ":generativelanguage_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 = "generativelanguage_ruby_proto", + deps = [":generativelanguage_proto"], +) + +ruby_grpc_library( + name = "generativelanguage_ruby_grpc", + srcs = [":generativelanguage_proto"], + deps = [":generativelanguage_ruby_proto"], +) + +ruby_cloud_gapic_library( + name = "generativelanguage_ruby_gapic", + srcs = [":generativelanguage_proto_with_info"], + extra_protoc_parameters = ["ruby-cloud-gem-name=google-cloud-ai-generativelanguage-v1beta"], + grpc_service_config = "generativeai_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "generativelanguage_v1beta.yaml", + transport = "grpc+rest", + deps = [ + ":generativelanguage_ruby_grpc", + ":generativelanguage_ruby_proto", + ], +) + +# Open Source Packages +ruby_gapic_assembly_pkg( + name = "google-cloud-ai-generativelanguage-v1beta-ruby", + deps = [ + ":generativelanguage_ruby_gapic", + ":generativelanguage_ruby_grpc", + ":generativelanguage_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 = "generativelanguage_csharp_proto", + deps = [":generativelanguage_proto"], +) + +csharp_grpc_library( + name = "generativelanguage_csharp_grpc", + srcs = [":generativelanguage_proto"], + deps = [":generativelanguage_csharp_proto"], +) + +csharp_gapic_library( + name = "generativelanguage_csharp_gapic", + srcs = [":generativelanguage_proto_with_info"], + common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json", + grpc_service_config = "generativeai_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "generativelanguage_v1beta.yaml", + transport = "grpc+rest", + deps = [ + ":generativelanguage_csharp_grpc", + ":generativelanguage_csharp_proto", + ], +) + +# Open Source Packages +csharp_gapic_assembly_pkg( + name = "google-cloud-ai-generativelanguage-v1beta-csharp", + deps = [ + ":generativelanguage_csharp_gapic", + ":generativelanguage_csharp_grpc", + ":generativelanguage_csharp_proto", + ], +) + +############################################################################## +# C++ +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "cc_grpc_library", + "cc_proto_library", +) + +cc_proto_library( + name = "generativelanguage_cc_proto", + deps = [":generativelanguage_proto"], +) + +cc_grpc_library( + name = "generativelanguage_cc_grpc", + srcs = [":generativelanguage_proto"], + grpc_only = True, + deps = [":generativelanguage_cc_proto"], +) diff --git a/third_party/googleapis/google/ai/generativelanguage/v1beta/citation.proto b/third_party/googleapis/google/ai/generativelanguage/v1beta/citation.proto new file mode 100644 index 000000000..d524213fe --- /dev/null +++ b/third_party/googleapis/google/ai/generativelanguage/v1beta/citation.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.ai.generativelanguage.v1beta; + +import "google/api/field_behavior.proto"; + +option go_package = "cloud.google.com/go/ai/generativelanguage/apiv1beta/generativelanguagepb;generativelanguagepb"; +option java_multiple_files = true; +option java_outer_classname = "CitationProto"; +option java_package = "com.google.ai.generativelanguage.v1beta"; + +// A collection of source attributions for a piece of content. +message CitationMetadata { + // Citations to sources for a specific response. + repeated CitationSource citation_sources = 1; +} + +// A citation to a source for a portion of a specific response. +message CitationSource { + // Optional. Start of segment of the response that is attributed to this + // source. + // + // Index indicates the start of the segment, measured in bytes. + optional int32 start_index = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. End of the attributed segment, exclusive. + optional int32 end_index = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. URI that is attributed as a source for a portion of the text. + optional string uri = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. License for the GitHub project that is attributed as a source for + // segment. + // + // License info is required for code citations. + optional string license = 4 [(google.api.field_behavior) = OPTIONAL]; +} diff --git a/third_party/googleapis/google/ai/generativelanguage/v1beta/content.proto b/third_party/googleapis/google/ai/generativelanguage/v1beta/content.proto new file mode 100644 index 000000000..4df3e7e8a --- /dev/null +++ b/third_party/googleapis/google/ai/generativelanguage/v1beta/content.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.ai.generativelanguage.v1beta; + +import "google/api/field_behavior.proto"; +import "google/protobuf/struct.proto"; + +option go_package = "cloud.google.com/go/ai/generativelanguage/apiv1beta/generativelanguagepb;generativelanguagepb"; +option java_multiple_files = true; +option java_outer_classname = "ContentProto"; +option java_package = "com.google.ai.generativelanguage.v1beta"; + +// Type contains the list of OpenAPI data types as defined by +// https://spec.openapis.org/oas/v3.0.3#data-types +enum Type { + // Not specified, should not be used. + TYPE_UNSPECIFIED = 0; + + // String type. + STRING = 1; + + // Number type. + NUMBER = 2; + + // Integer type. + INTEGER = 3; + + // Boolean type. + BOOLEAN = 4; + + // Array type. + ARRAY = 5; + + // Object type. + OBJECT = 6; +} + +// The base structured datatype containing multi-part content of a message. +// +// A `Content` includes a `role` field designating the producer of the `Content` +// and a `parts` field containing multi-part data that contains the content of +// the message turn. +message Content { + // Ordered `Parts` that constitute a single message. Parts may have different + // MIME types. + repeated Part parts = 1; + + // Optional. The producer of the content. Must be either 'user' or 'model'. + // + // Useful to set for multi-turn conversations, otherwise can be left blank + // or unset. + string role = 2 [(google.api.field_behavior) = OPTIONAL]; +} + +// A datatype containing media that is part of a multi-part `Content` message. +// +// A `Part` consists of data which has an associated datatype. A `Part` can only +// contain one of the accepted types in `Part.data`. +// +// A `Part` must have a fixed IANA MIME type identifying the type and subtype +// of the media if the `inline_data` field is filled with raw bytes. +message Part { + oneof data { + // Inline text. + string text = 2; + + // Inline media bytes. + Blob inline_data = 3; + + // A predicted `FunctionCall` returned from the model that contains + // a string representing the `FunctionDeclaration.name` with the + // arguments and their values. + FunctionCall function_call = 4; + + // The result output of a `FunctionCall` that contains a string + // representing the `FunctionDeclaration.name` and a structured JSON + // object containing any output from the function is used as context to + // the model. + FunctionResponse function_response = 5; + } +} + +// Raw media bytes. +// +// Text should not be sent as raw bytes, use the 'text' field. +message Blob { + // The IANA standard MIME type of the source data. + // Accepted types include: "image/png", "image/jpeg", "image/heic", + // "image/heif", "image/webp". + string mime_type = 1; + + // Raw bytes for media formats. + bytes data = 2; +} + +// Tool details that the model may use to generate response. +// +// A `Tool` is a piece of code that enables the system to interact with +// external systems to perform an action, or set of actions, outside of +// knowledge and scope of the model. +message Tool { + // Optional. A list of `FunctionDeclarations` available to the model that can + // be used for function calling. + // + // The model or system does not execute the function. Instead the defined + // function may be returned as a [FunctionCall][content.part.function_call] + // with arguments to the client side for execution. The model may decide to + // call a subset of these functions by populating + // [FunctionCall][content.part.function_call] in the response. The next + // conversation turn may contain a + // [FunctionResponse][content.part.function_response] + // with the [content.role] "function" generation context for the next model + // turn. + repeated FunctionDeclaration function_declarations = 1 + [(google.api.field_behavior) = OPTIONAL]; +} + +// Structured representation of a function declaration as defined by the +// [OpenAPI 3.03 specification](https://spec.openapis.org/oas/v3.0.3). Included +// in this declaration are the function name and parameters. This +// FunctionDeclaration is a representation of a block of code that can be used +// as a `Tool` by the model and executed by the client. +message FunctionDeclaration { + // Required. The name of the function. + // Must be a-z, A-Z, 0-9, or contain underscores and dashes, with a maximum + // length of 63. + string name = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. A brief description of the function. + string description = 2 [(google.api.field_behavior) = REQUIRED]; + + // Optional. Describes the parameters to this function. Reflects the Open + // API 3.03 Parameter Object string Key: the name of the parameter. Parameter + // names are case sensitive. Schema Value: the Schema defining the type used + // for the parameter. + optional Schema parameters = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// A predicted `FunctionCall` returned from the model that contains +// a string representing the `FunctionDeclaration.name` with the +// arguments and their values. +message FunctionCall { + // Required. The name of the function to call. + // Must be a-z, A-Z, 0-9, or contain underscores and dashes, with a maximum + // length of 63. + string name = 1 [(google.api.field_behavior) = REQUIRED]; + + // Optional. The function parameters and values in JSON object format. + optional google.protobuf.Struct args = 2 + [(google.api.field_behavior) = OPTIONAL]; +} + +// The result output from a `FunctionCall` that contains a string +// representing the `FunctionDeclaration.name` and a structured JSON +// object containing any output from the function is used as context to +// the model. This should contain the result of a`FunctionCall` made +// based on model prediction. +message FunctionResponse { + // Required. The name of the function to call. + // Must be a-z, A-Z, 0-9, or contain underscores and dashes, with a maximum + // length of 63. + string name = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The function response in JSON object format. + google.protobuf.Struct response = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// The `Schema` object allows the definition of input and output data types. +// These types can be objects, but also primitives and arrays. +// Represents a select subset of an [OpenAPI 3.0 schema +// object](https://spec.openapis.org/oas/v3.0.3#schema). +message Schema { + // Required. Data type. + Type type = 1 [(google.api.field_behavior) = REQUIRED]; + + // Optional. The format of the data. This is used only for primitive + // datatypes. Supported formats: + // for NUMBER type: float, double + // for INTEGER type: int32, int64 + string format = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A brief description of the parameter. This could contain examples + // of use. Parameter description may be formatted as Markdown. + string description = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Indicates if the value may be null. + bool nullable = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Possible values of the element of Type.STRING with enum format. + // For example we can define an Enum Direction as : + // {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]} + repeated string enum = 5 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Schema of the elements of Type.ARRAY. + optional Schema items = 6 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Properties of Type.OBJECT. + map properties = 7 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Required properties of Type.OBJECT. + repeated string required = 8 [(google.api.field_behavior) = OPTIONAL]; +} + +// Passage included inline with a grounding configuration. +message GroundingPassage { + // Identifier for the passage for attributing this passage in grounded + // answers. + string id = 1; + + // Content of the passage. + Content content = 2; +} + +// A repeated list of passages. +message GroundingPassages { + // List of passages. + repeated GroundingPassage passages = 1; +} diff --git a/third_party/googleapis/google/ai/generativelanguage/v1beta/discuss_service.proto b/third_party/googleapis/google/ai/generativelanguage/v1beta/discuss_service.proto new file mode 100644 index 000000000..19ee3ddb3 --- /dev/null +++ b/third_party/googleapis/google/ai/generativelanguage/v1beta/discuss_service.proto @@ -0,0 +1,246 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.ai.generativelanguage.v1beta; + +import "google/ai/generativelanguage/v1beta/citation.proto"; +import "google/ai/generativelanguage/v1beta/safety.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option go_package = "cloud.google.com/go/ai/generativelanguage/apiv1beta/generativelanguagepb;generativelanguagepb"; +option java_multiple_files = true; +option java_outer_classname = "DiscussServiceProto"; +option java_package = "com.google.ai.generativelanguage.v1beta"; + +// An API for using Generative Language Models (GLMs) in dialog applications. +// +// Also known as large language models (LLMs), this API provides models that +// are trained for multi-turn dialog. +service DiscussService { + option (google.api.default_host) = "generativelanguage.googleapis.com"; + + // Generates a response from the model given an input `MessagePrompt`. + rpc GenerateMessage(GenerateMessageRequest) + returns (GenerateMessageResponse) { + option (google.api.http) = { + post: "/v1beta/{model=models/*}:generateMessage" + body: "*" + }; + option (google.api.method_signature) = + "model,prompt,temperature,candidate_count,top_p,top_k"; + } + + // Runs a model's tokenizer on a string and returns the token count. + rpc CountMessageTokens(CountMessageTokensRequest) + returns (CountMessageTokensResponse) { + option (google.api.http) = { + post: "/v1beta/{model=models/*}:countMessageTokens" + body: "*" + }; + option (google.api.method_signature) = "model,prompt"; + } +} + +// Request to generate a message response from the model. +message GenerateMessageRequest { + // Required. The name of the model to use. + // + // Format: `name=models/{model}`. + string model = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "generativelanguage.googleapis.com/Model" + } + ]; + + // Required. The structured textual input given to the model as a prompt. + // + // Given a + // prompt, the model will return what it predicts is the next message in the + // discussion. + MessagePrompt prompt = 2 [(google.api.field_behavior) = REQUIRED]; + + // Optional. Controls the randomness of the output. + // + // Values can range over `[0.0,1.0]`, + // inclusive. A value closer to `1.0` will produce responses that are more + // varied, while a value closer to `0.0` will typically result in + // less surprising responses from the model. + optional float temperature = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The number of generated response messages to return. + // + // This value must be between + // `[1, 8]`, inclusive. If unset, this will default to `1`. + optional int32 candidate_count = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The maximum cumulative probability of tokens to consider when + // sampling. + // + // The model uses combined Top-k and nucleus sampling. + // + // Nucleus sampling considers the smallest set of tokens whose probability + // sum is at least `top_p`. + optional float top_p = 5 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The maximum number of tokens to consider when sampling. + // + // The model uses combined Top-k and nucleus sampling. + // + // Top-k sampling considers the set of `top_k` most probable tokens. + optional int32 top_k = 6 [(google.api.field_behavior) = OPTIONAL]; +} + +// The response from the model. +// +// This includes candidate messages and +// conversation history in the form of chronologically-ordered messages. +message GenerateMessageResponse { + // Candidate response messages from the model. + repeated Message candidates = 1; + + // The conversation history used by the model. + repeated Message messages = 2; + + // A set of content filtering metadata for the prompt and response + // text. + // + // This indicates which `SafetyCategory`(s) blocked a + // candidate from this response, the lowest `HarmProbability` + // that triggered a block, and the HarmThreshold setting for that category. + repeated ContentFilter filters = 3; +} + +// The base unit of structured text. +// +// A `Message` includes an `author` and the `content` of +// the `Message`. +// +// The `author` is used to tag messages when they are fed to the +// model as text. +message Message { + // Optional. The author of this Message. + // + // This serves as a key for tagging + // the content of this Message when it is fed to the model as text. + // + // The author can be any alphanumeric string. + string author = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Required. The text content of the structured `Message`. + string content = 2 [(google.api.field_behavior) = REQUIRED]; + + // Output only. Citation information for model-generated `content` in this + // `Message`. + // + // If this `Message` was generated as output from the model, this field may be + // populated with attribution information for any text included in the + // `content`. This field is used only on output. + optional CitationMetadata citation_metadata = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// All of the structured input text passed to the model as a prompt. +// +// A `MessagePrompt` contains a structured set of fields that provide context +// for the conversation, examples of user input/model output message pairs that +// prime the model to respond in different ways, and the conversation history +// or list of messages representing the alternating turns of the conversation +// between the user and the model. +message MessagePrompt { + // Optional. Text that should be provided to the model first to ground the + // response. + // + // If not empty, this `context` will be given to the model first before the + // `examples` and `messages`. When using a `context` be sure to provide it + // with every request to maintain continuity. + // + // This field can be a description of your prompt to the model to help provide + // context and guide the responses. Examples: "Translate the phrase from + // English to French." or "Given a statement, classify the sentiment as happy, + // sad or neutral." + // + // Anything included in this field will take precedence over message history + // if the total input size exceeds the model's `input_token_limit` and the + // input request is truncated. + string context = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Examples of what the model should generate. + // + // This includes both user input and the response that the model should + // emulate. + // + // These `examples` are treated identically to conversation messages except + // that they take precedence over the history in `messages`: + // If the total input size exceeds the model's `input_token_limit` the input + // will be truncated. Items will be dropped from `messages` before `examples`. + repeated Example examples = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Required. A snapshot of the recent conversation history sorted + // chronologically. + // + // Turns alternate between two authors. + // + // If the total input size exceeds the model's `input_token_limit` the input + // will be truncated: The oldest items will be dropped from `messages`. + repeated Message messages = 3 [(google.api.field_behavior) = REQUIRED]; +} + +// An input/output example used to instruct the Model. +// +// It demonstrates how the model should respond or format its response. +message Example { + // Required. An example of an input `Message` from the user. + Message input = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. An example of what the model should output given the input. + Message output = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Counts the number of tokens in the `prompt` sent to a model. +// +// Models may tokenize text differently, so each model may return a different +// `token_count`. +message CountMessageTokensRequest { + // Required. The model's resource name. This serves as an ID for the Model to + // use. + // + // This name should match a model name returned by the `ListModels` method. + // + // Format: `models/{model}` + string model = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "generativelanguage.googleapis.com/Model" + } + ]; + + // Required. The prompt, whose token count is to be returned. + MessagePrompt prompt = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// A response from `CountMessageTokens`. +// +// It returns the model's `token_count` for the `prompt`. +message CountMessageTokensResponse { + // The number of tokens that the `model` tokenizes the `prompt` into. + // + // Always non-negative. + int32 token_count = 1; +} diff --git a/third_party/googleapis/google/ai/generativelanguage/v1beta/generative_service.proto b/third_party/googleapis/google/ai/generativelanguage/v1beta/generative_service.proto new file mode 100644 index 000000000..7a0dcc0d2 --- /dev/null +++ b/third_party/googleapis/google/ai/generativelanguage/v1beta/generative_service.proto @@ -0,0 +1,642 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.ai.generativelanguage.v1beta; + +import "google/ai/generativelanguage/v1beta/citation.proto"; +import "google/ai/generativelanguage/v1beta/content.proto"; +import "google/ai/generativelanguage/v1beta/retriever.proto"; +import "google/ai/generativelanguage/v1beta/safety.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option go_package = "cloud.google.com/go/ai/generativelanguage/apiv1beta/generativelanguagepb;generativelanguagepb"; +option java_multiple_files = true; +option java_outer_classname = "GenerativeServiceProto"; +option java_package = "com.google.ai.generativelanguage.v1beta"; + +// API for using Large Models that generate multimodal content and have +// additional capabilities beyond text generation. +service GenerativeService { + option (google.api.default_host) = "generativelanguage.googleapis.com"; + + // Generates a response from the model given an input + // `GenerateContentRequest`. + rpc GenerateContent(GenerateContentRequest) + returns (GenerateContentResponse) { + option (google.api.http) = { + post: "/v1beta/{model=models/*}:generateContent" + body: "*" + }; + option (google.api.method_signature) = "model,contents"; + } + + // Generates a grounded answer from the model given an input + // `GenerateAnswerRequest`. + rpc GenerateAnswer(GenerateAnswerRequest) returns (GenerateAnswerResponse) { + option (google.api.http) = { + post: "/v1beta/{model=models/*}:generateAnswer" + body: "*" + }; + option (google.api.method_signature) = + "model,contents,safety_settings,answer_style"; + } + + // Generates a streamed response from the model given an input + // `GenerateContentRequest`. + rpc StreamGenerateContent(GenerateContentRequest) + returns (stream GenerateContentResponse) { + option (google.api.http) = { + post: "/v1beta/{model=models/*}:streamGenerateContent" + body: "*" + }; + option (google.api.method_signature) = "model,contents"; + } + + // Generates an embedding from the model given an input `Content`. + rpc EmbedContent(EmbedContentRequest) returns (EmbedContentResponse) { + option (google.api.http) = { + post: "/v1beta/{model=models/*}:embedContent" + body: "*" + }; + option (google.api.method_signature) = "model,content"; + } + + // Generates multiple embeddings from the model given input text in a + // synchronous call. + rpc BatchEmbedContents(BatchEmbedContentsRequest) + returns (BatchEmbedContentsResponse) { + option (google.api.http) = { + post: "/v1beta/{model=models/*}:batchEmbedContents" + body: "*" + }; + option (google.api.method_signature) = "model,requests"; + } + + // Runs a model's tokenizer on input content and returns the token count. + rpc CountTokens(CountTokensRequest) returns (CountTokensResponse) { + option (google.api.http) = { + post: "/v1beta/{model=models/*}:countTokens" + body: "*" + }; + option (google.api.method_signature) = "model,contents"; + } +} + +// Type of task for which the embedding will be used. +enum TaskType { + // Unset value, which will default to one of the other enum values. + TASK_TYPE_UNSPECIFIED = 0; + + // Specifies the given text is a query in a search/retrieval setting. + RETRIEVAL_QUERY = 1; + + // Specifies the given text is a document from the corpus being searched. + RETRIEVAL_DOCUMENT = 2; + + // Specifies the given text will be used for STS. + SEMANTIC_SIMILARITY = 3; + + // Specifies that the given text will be classified. + CLASSIFICATION = 4; + + // Specifies that the embeddings will be used for clustering. + CLUSTERING = 5; +} + +// Request to generate a completion from the model. +message GenerateContentRequest { + // Required. The name of the `Model` to use for generating the completion. + // + // Format: `name=models/{model}`. + string model = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "generativelanguage.googleapis.com/Model" + } + ]; + + // Required. The content of the current conversation with the model. + // + // For single-turn queries, this is a single instance. For multi-turn queries, + // this is a repeated field that contains conversation history + latest + // request. + repeated Content contents = 2 [(google.api.field_behavior) = REQUIRED]; + + // Optional. A list of `Tools` the model may use to generate the next + // response. + // + // A `Tool` is a piece of code that enables the system to interact with + // external systems to perform an action, or set of actions, outside of + // knowledge and scope of the model. The only supported tool is currently + // `Function`. + repeated Tool tools = 5 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A list of unique `SafetySetting` instances for blocking unsafe + // content. + // + // This will be enforced on the `GenerateContentRequest.contents` and + // `GenerateContentResponse.candidates`. There should not be more than one + // setting for each `SafetyCategory` type. The API will block any contents and + // responses that fail to meet the thresholds set by these settings. This list + // overrides the default settings for each `SafetyCategory` specified in the + // safety_settings. If there is no `SafetySetting` for a given + // `SafetyCategory` provided in the list, the API will use the default safety + // setting for that category. Harm categories HARM_CATEGORY_HATE_SPEECH, + // HARM_CATEGORY_SEXUALLY_EXPLICIT, HARM_CATEGORY_DANGEROUS_CONTENT, + // HARM_CATEGORY_HARASSMENT are supported. + repeated SafetySetting safety_settings = 3 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Configuration options for model generation and outputs. + optional GenerationConfig generation_config = 4 + [(google.api.field_behavior) = OPTIONAL]; +} + +// Configuration options for model generation and outputs. Not all parameters +// may be configurable for every model. +message GenerationConfig { + // Optional. Number of generated responses to return. + // + // This value must be between [1, 8], inclusive. If unset, this will default + // to 1. + optional int32 candidate_count = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The set of character sequences (up to 5) that will stop output + // generation. If specified, the API will stop at the first appearance of a + // stop sequence. The stop sequence will not be included as part of the + // response. + repeated string stop_sequences = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The maximum number of tokens to include in a candidate. + // + // If unset, this will default to output_token_limit specified in the `Model` + // specification. + optional int32 max_output_tokens = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Controls the randomness of the output. + // Note: The default value varies by model, see the `Model.temperature` + // attribute of the `Model` returned the `getModel` function. + // + // Values can range from [0.0,1.0], + // inclusive. A value closer to 1.0 will produce responses that are more + // varied and creative, while a value closer to 0.0 will typically result in + // more straightforward responses from the model. + optional float temperature = 5 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The maximum cumulative probability of tokens to consider when + // sampling. + // + // The model uses combined Top-k and nucleus sampling. + // + // Tokens are sorted based on their assigned probabilities so that only the + // most likely tokens are considered. Top-k sampling directly limits the + // maximum number of tokens to consider, while Nucleus sampling limits number + // of tokens based on the cumulative probability. + // + // Note: The default value varies by model, see the `Model.top_p` + // attribute of the `Model` returned the `getModel` function. + optional float top_p = 6 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The maximum number of tokens to consider when sampling. + // + // The model uses combined Top-k and nucleus sampling. + // + // Top-k sampling considers the set of `top_k` most probable tokens. + // Defaults to 40. + // + // Note: The default value varies by model, see the `Model.top_k` + // attribute of the `Model` returned the `getModel` function. + optional int32 top_k = 7 [(google.api.field_behavior) = OPTIONAL]; +} + +// Configuration for retrieving grounding content from a `Corpus` or +// `Document` created using the Semantic Retriever API. +message SemanticRetrieverConfig { + // Required. Name of the resource for retrieval, e.g. corpora/123 or + // corpora/123/documents/abc. + string source = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. Query to use for similarity matching `Chunk`s in the given + // resource. + Content query = 2 [(google.api.field_behavior) = REQUIRED]; + + // Optional. Filters for selecting `Document`s and/or `Chunk`s from the + // resource. + repeated MetadataFilter metadata_filters = 3 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Maximum number of relevant `Chunk`s to retrieve. + optional int32 max_chunks_count = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Minimum relevance score for retrieved relevant `Chunk`s. + optional float minimum_relevance_score = 5 + [(google.api.field_behavior) = OPTIONAL]; +} + +// Response from the model supporting multiple candidates. +// +// Note on safety ratings and content filtering. They are reported for both +// prompt in `GenerateContentResponse.prompt_feedback` and for each candidate +// in `finish_reason` and in `safety_ratings`. The API contract is that: +// - either all requested candidates are returned or no candidates at all +// - no candidates are returned only if there was something wrong with the +// prompt (see `prompt_feedback`) +// - feedback on each candidate is reported on `finish_reason` and +// `safety_ratings`. +message GenerateContentResponse { + // A set of the feedback metadata the prompt specified in + // `GenerateContentRequest.content`. + message PromptFeedback { + // Specifies what was the reason why prompt was blocked. + enum BlockReason { + // Default value. This value is unused. + BLOCK_REASON_UNSPECIFIED = 0; + + // Prompt was blocked due to safety reasons. You can inspect + // `safety_ratings` to understand which safety category blocked it. + SAFETY = 1; + + // Prompt was blocked due to unknown reaasons. + OTHER = 2; + } + + // Optional. If set, the prompt was blocked and no candidates are returned. + // Rephrase your prompt. + BlockReason block_reason = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Ratings for safety of the prompt. + // There is at most one rating per category. + repeated SafetyRating safety_ratings = 2; + } + + // Candidate responses from the model. + repeated Candidate candidates = 1; + + // Returns the prompt's feedback related to the content filters. + PromptFeedback prompt_feedback = 2; +} + +// A response candidate generated from the model. +message Candidate { + // Defines the reason why the model stopped generating tokens. + enum FinishReason { + // Default value. This value is unused. + FINISH_REASON_UNSPECIFIED = 0; + + // Natural stop point of the model or provided stop sequence. + STOP = 1; + + // The maximum number of tokens as specified in the request was reached. + MAX_TOKENS = 2; + + // The candidate content was flagged for safety reasons. + SAFETY = 3; + + // The candidate content was flagged for recitation reasons. + RECITATION = 4; + + // Unknown reason. + OTHER = 5; + } + + // Output only. Index of the candidate in the list of candidates. + optional int32 index = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Generated content returned from the model. + Content content = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Optional. Output only. The reason why the model stopped generating tokens. + // + // If empty, the model has not stopped generating the tokens. + FinishReason finish_reason = 2 [ + (google.api.field_behavior) = OPTIONAL, + (google.api.field_behavior) = OUTPUT_ONLY + ]; + + // List of ratings for the safety of a response candidate. + // + // There is at most one rating per category. + repeated SafetyRating safety_ratings = 5; + + // Output only. Citation information for model-generated candidate. + // + // This field may be populated with recitation information for any text + // included in the `content`. These are passages that are "recited" from + // copyrighted material in the foundational LLM's training data. + CitationMetadata citation_metadata = 6 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Token count for this candidate. + int32 token_count = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Attribution information for sources that contributed to a + // grounded answer. + // + // This field is populated for `GenerateAnswer` calls. + repeated GroundingAttribution grounding_attributions = 8 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Identifier for the source contributing to this attribution. +message AttributionSourceId { + // Identifier for a part within a `GroundingPassage`. + message GroundingPassageId { + // Output only. ID of the passage matching the `GenerateAnswerRequest`'s + // `GroundingPassage.id`. + string passage_id = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Index of the part within the `GenerateAnswerRequest`'s + // `GroundingPassage.content`. + int32 part_index = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Identifier for a `Chunk` retrieved via Semantic Retriever specified in the + // `GenerateAnswerRequest` using `SemanticRetrieverConfig`. + message SemanticRetrieverChunk { + // Output only. Name of the source matching the request's + // `SemanticRetrieverConfig.source`. Example: `corpora/123` or + // `corpora/123/documents/abc` + string source = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Name of the `Chunk` containing the attributed text. + // Example: `corpora/123/documents/abc/chunks/xyz` + string chunk = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + oneof source { + // Identifier for an inline passage. + GroundingPassageId grounding_passage = 1; + + // Identifier for a `Chunk` fetched via Semantic Retriever. + SemanticRetrieverChunk semantic_retriever_chunk = 2; + } +} + +// Attribution for a source that contributed to an answer. +message GroundingAttribution { + // Output only. Identifier for the source contributing to this attribution. + AttributionSourceId source_id = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Grounding source content that makes up this attribution. + Content content = 2; +} + +// Request to generate a grounded answer from the model. +message GenerateAnswerRequest { + // Style for grounded answers. + enum AnswerStyle { + // Unspecified answer style. + ANSWER_STYLE_UNSPECIFIED = 0; + + // Succint but abstract style. + ABSTRACTIVE = 1; + + // Very brief and extractive style. + EXTRACTIVE = 2; + + // Verbose style including extra details. The response may be formatted as a + // sentence, paragraph, multiple paragraphs, or bullet points, etc. + VERBOSE = 3; + } + + // The sources in which to ground the answer. + oneof grounding_source { + // Passages provided inline with the request. + GroundingPassages inline_passages = 6; + + // Content retrieved from resources created via the Semantic Retriever + // API. + SemanticRetrieverConfig semantic_retriever = 7; + } + + // Required. The name of the `Model` to use for generating the grounded + // response. + // + // Format: `model=models/{model}`. + string model = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "generativelanguage.googleapis.com/Model" + } + ]; + + // Required. The content of the current conversation with the model. For + // single-turn queries, this is a single question to answer. For multi-turn + // queries, this is a repeated field that contains conversation history and + // the last `Content` in the list containing the question. + // + // Note: GenerateAnswer currently only supports queries in English. + repeated Content contents = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. Style in which answers should be returned. + AnswerStyle answer_style = 5 [(google.api.field_behavior) = REQUIRED]; + + // Optional. A list of unique `SafetySetting` instances for blocking unsafe + // content. + // + // This will be enforced on the `GenerateAnswerRequest.contents` and + // `GenerateAnswerResponse.candidate`. There should not be more than one + // setting for each `SafetyCategory` type. The API will block any contents and + // responses that fail to meet the thresholds set by these settings. This list + // overrides the default settings for each `SafetyCategory` specified in the + // safety_settings. If there is no `SafetySetting` for a given + // `SafetyCategory` provided in the list, the API will use the default safety + // setting for that category. + repeated SafetySetting safety_settings = 3 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Controls the randomness of the output. + // + // Values can range from [0.0,1.0], inclusive. A value closer to 1.0 will + // produce responses that are more varied and creative, while a value closer + // to 0.0 will typically result in more straightforward responses from the + // model. A low temperature (~0.2) is usually recommended for + // Attributed-Question-Answering use cases. + optional float temperature = 4 [(google.api.field_behavior) = OPTIONAL]; +} + +// Response from the model for a grounded answer. +message GenerateAnswerResponse { + // Feedback related to the input data used to answer the question, as opposed + // to model-generated response to the question. + message InputFeedback { + // Specifies what was the reason why input was blocked. + enum BlockReason { + // Default value. This value is unused. + BLOCK_REASON_UNSPECIFIED = 0; + + // Input was blocked due to safety reasons. You can inspect + // `safety_ratings` to understand which safety category blocked it. + SAFETY = 1; + + // Input was blocked due to other reasons. + OTHER = 2; + } + + // Optional. If set, the input was blocked and no candidates are returned. + // Rephrase your input. + optional BlockReason block_reason = 1 + [(google.api.field_behavior) = OPTIONAL]; + + // Ratings for safety of the input. + // There is at most one rating per category. + repeated SafetyRating safety_ratings = 2; + } + + // Candidate answer from the model. + // + // Note: The model *always* attempts to provide a grounded answer, even when + // the answer is unlikely to be answerable from the given passages. + // In that case, a low-quality or ungrounded answer may be provided, along + // with a low `answerable_probability`. + Candidate answer = 1; + + // Output only. The model's estimate of the probability that its answer is + // correct and grounded in the input passages. + // + // A low answerable_probability indicates that the answer might not be + // grounded in the sources. + // + // When `answerable_probability` is low, some clients may wish to: + // + // * Display a message to the effect of "We couldn’t answer that question" to + // the user. + // * Fall back to a general-purpose LLM that answers the question from world + // knowledge. The threshold and nature of such fallbacks will depend on + // individual clients’ use cases. 0.5 is a good starting threshold. + optional float answerable_probability = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Feedback related to the input data used to answer the + // question, as opposed to model-generated response to the question. + // + // "Input data" can be one or more of the following: + // + // - Question specified by the last entry in `GenerateAnswerRequest.content` + // - Conversation history specified by the other entries in + // `GenerateAnswerRequest.content` + // - Grounding sources (`GenerateAnswerRequest.semantic_retriever` or + // `GenerateAnswerRequest.inline_passages`) + optional InputFeedback input_feedback = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Request containing the `Content` for the model to embed. +message EmbedContentRequest { + // Required. The model's resource name. This serves as an ID for the Model to + // use. + // + // This name should match a model name returned by the `ListModels` method. + // + // Format: `models/{model}` + string model = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "generativelanguage.googleapis.com/Model" + } + ]; + + // Required. The content to embed. Only the `parts.text` fields will be + // counted. + Content content = 2 [(google.api.field_behavior) = REQUIRED]; + + // Optional. Optional task type for which the embeddings will be used. Can + // only be set for `models/embedding-001`. + optional TaskType task_type = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. An optional title for the text. Only applicable when TaskType is + // `RETRIEVAL_DOCUMENT`. + // + // Note: Specifying a `title` for `RETRIEVAL_DOCUMENT` provides better quality + // embeddings for retrieval. + optional string title = 4 [(google.api.field_behavior) = OPTIONAL]; +} + +// A list of floats representing an embedding. +message ContentEmbedding { + // The embedding values. + repeated float values = 1; +} + +// The response to an `EmbedContentRequest`. +message EmbedContentResponse { + // Output only. The embedding generated from the input content. + ContentEmbedding embedding = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Batch request to get embeddings from the model for a list of prompts. +message BatchEmbedContentsRequest { + // Required. The model's resource name. This serves as an ID for the Model to + // use. + // + // This name should match a model name returned by the `ListModels` method. + // + // Format: `models/{model}` + string model = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "generativelanguage.googleapis.com/Model" + } + ]; + + // Required. Embed requests for the batch. The model in each of these requests + // must match the model specified `BatchEmbedContentsRequest.model`. + repeated EmbedContentRequest requests = 2 + [(google.api.field_behavior) = REQUIRED]; +} + +// The response to a `BatchEmbedContentsRequest`. +message BatchEmbedContentsResponse { + // Output only. The embeddings for each request, in the same order as provided + // in the batch request. + repeated ContentEmbedding embeddings = 1 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Counts the number of tokens in the `prompt` sent to a model. +// +// Models may tokenize text differently, so each model may return a different +// `token_count`. +message CountTokensRequest { + // Required. The model's resource name. This serves as an ID for the Model to + // use. + // + // This name should match a model name returned by the `ListModels` method. + // + // Format: `models/{model}` + string model = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "generativelanguage.googleapis.com/Model" + } + ]; + + // Required. The input given to the model as a prompt. + repeated Content contents = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// A response from `CountTokens`. +// +// It returns the model's `token_count` for the `prompt`. +message CountTokensResponse { + // The number of tokens that the `model` tokenizes the `prompt` into. + // + // Always non-negative. + int32 total_tokens = 1; +} diff --git a/third_party/googleapis/google/ai/generativelanguage/v1beta/generativeai_grpc_service_config.json b/third_party/googleapis/google/ai/generativelanguage/v1beta/generativeai_grpc_service_config.json new file mode 100644 index 000000000..7f5f8e43f --- /dev/null +++ b/third_party/googleapis/google/ai/generativelanguage/v1beta/generativeai_grpc_service_config.json @@ -0,0 +1,74 @@ +{ + "methodConfig": [{ + "name": [ + { "service": "google.ai.generativelanguage.v1beta1.DiscussService", "method": "GenerateMessage" }, + { "service": "google.ai.generativelanguage.v1beta1.DiscussService", "method": "CountMessageTokens" }, + { "service": "google.ai.generativelanguage.v1beta1.ModelService", "method": "GetModel" }, + { "service": "google.ai.generativelanguage.v1beta1.ModelService", "method": "ListModels" }, + { "service": "google.ai.generativelanguage.v1beta2.DiscussService", "method": "GenerateMessage" }, + { "service": "google.ai.generativelanguage.v1beta2.DiscussService", "method": "CountMessageTokens" }, + { "service": "google.ai.generativelanguage.v1beta2.ModelService", "method": "GetModel" }, + { "service": "google.ai.generativelanguage.v1beta2.ModelService", "method": "ListModels" }, + { "service": "google.ai.generativelanguage.v1beta2.TextService", "method": "GenerateText" }, + { "service": "google.ai.generativelanguage.v1beta2.TextService", "method": "EmbedText" }, + { "service": "google.ai.generativelanguage.v1beta.DiscussService", "method": "GenerateMessage" }, + { "service": "google.ai.generativelanguage.v1beta.DiscussService", "method": "CountMessageTokens" }, + { "service": "google.ai.generativelanguage.v1beta.GenerativeService", "method": "GenerateContent" }, + { "service": "google.ai.generativelanguage.v1beta.GenerativeService", "method": "GenerateAnswer" }, + { "service": "google.ai.generativelanguage.v1beta.GenerativeService", "method": "StreamGenerateContent" }, + { "service": "google.ai.generativelanguage.v1beta.GenerativeService", "method": "EmbedContent" }, + { "service": "google.ai.generativelanguage.v1beta.GenerativeService", "method": "BatchEmbedContents" }, + { "service": "google.ai.generativelanguage.v1beta.GenerativeService", "method": "CountTokens" }, + { "service": "google.ai.generativelanguage.v1beta.ModelService", "method": "GetModel" }, + { "service": "google.ai.generativelanguage.v1beta.ModelService", "method": "ListModels" }, + { "service": "google.ai.generativelanguage.v1beta.ModelService", "method": "CreateTunedModel" }, + { "service": "google.ai.generativelanguage.v1beta.ModelService", "method": "DeleteTunedModel" }, + { "service": "google.ai.generativelanguage.v1beta.ModelService", "method": "GetTunedModel" }, + { "service": "google.ai.generativelanguage.v1beta.ModelService", "method": "ListTunedModels" }, + { "service": "google.ai.generativelanguage.v1beta.ModelService", "method": "UpdateTunedModel" }, + { "service": "google.ai.generativelanguage.v1beta.PermissionService", "method": "CreatePermission" }, + { "service": "google.ai.generativelanguage.v1beta.PermissionService", "method": "ListPermission" }, + { "service": "google.ai.generativelanguage.v1beta.PermissionService", "method": "GetPermission" }, + { "service": "google.ai.generativelanguage.v1beta.PermissionService", "method": "UpdatePermission" }, + { "service": "google.ai.generativelanguage.v1beta.PermissionService", "method": "DeletePermission" }, + { "service": "google.ai.generativelanguage.v1beta.PermissionService", "method": "TransferOwnership" }, + { "service": "google.ai.generativelanguage.v1beta.RetrieverService", "method": "CreateCorpus" }, + { "service": "google.ai.generativelanguage.v1beta.RetrieverService", "method": "ListCorpora" }, + { "service": "google.ai.generativelanguage.v1beta.RetrieverService", "method": "GetCorpus" }, + { "service": "google.ai.generativelanguage.v1beta.RetrieverService", "method": "UpdateCorpus" }, + { "service": "google.ai.generativelanguage.v1beta.RetrieverService", "method": "DeleteCorpus" }, + { "service": "google.ai.generativelanguage.v1beta.RetrieverService", "method": "QueryCorpus" }, + { "service": "google.ai.generativelanguage.v1beta.RetrieverService", "method": "CreateDocument" }, + { "service": "google.ai.generativelanguage.v1beta.RetrieverService", "method": "ListDocuments" }, + { "service": "google.ai.generativelanguage.v1beta.RetrieverService", "method": "GetDocument" }, + { "service": "google.ai.generativelanguage.v1beta.RetrieverService", "method": "UpdateDocument" }, + { "service": "google.ai.generativelanguage.v1beta.RetrieverService", "method": "DeleteDocument" }, + { "service": "google.ai.generativelanguage.v1beta.RetrieverService", "method": "QueryDocument" }, + { "service": "google.ai.generativelanguage.v1beta.RetrieverService", "method": "CreateChunk" }, + { "service": "google.ai.generativelanguage.v1beta.RetrieverService", "method": "BatchCreateChunk" }, + { "service": "google.ai.generativelanguage.v1beta.RetrieverService", "method": "ListChunk" }, + { "service": "google.ai.generativelanguage.v1beta.RetrieverService", "method": "GetChunk" }, + { "service": "google.ai.generativelanguage.v1beta.RetrieverService", "method": "UpdateChunk" }, + { "service": "google.ai.generativelanguage.v1beta.RetrieverService", "method": "BatchUpdateChunk" }, + { "service": "google.ai.generativelanguage.v1beta.RetrieverService", "method": "DeleteChunk" }, + { "service": "google.ai.generativelanguage.v1beta.RetrieverService", "method": "BatchDeleteChunk" }, + { "service": "google.ai.generativelanguage.v1beta.TextService", "method": "GenerateText" }, + { "service": "google.ai.generativelanguage.v1beta.TextService", "method": "EmbedText" }, + { "service": "google.ai.generativelanguage.v1beta.TextService", "method": "BatchEmbedText" }, + { "service": "google.ai.generativelanguage.v1beta.TextService", "method": "CountTextTokens" }, + { "service": "google.ai.generativelanguage.v1.GenerativeService", "method": "GenerateContent" }, + { "service": "google.ai.generativelanguage.v1.GenerativeService", "method": "StreamGenerateContent" }, + { "service": "google.ai.generativelanguage.v1.GenerativeService", "method": "EmbedContent" }, + { "service": "google.ai.generativelanguage.v1.GenerativeService", "method": "BatchEmbedContents" }, + { "service": "google.ai.generativelanguage.v1.GenerativeService", "method": "CountTokens" } + ], + "timeout": "60s", + "retryPolicy": { + "maxAttempts": 5, + "initialBackoff": "1s", + "maxBackoff": "10s", + "backoffMultiplier": 1.3, + "retryableStatusCodes": ["UNAVAILABLE"] + } + }] +} \ No newline at end of file diff --git a/third_party/googleapis/google/ai/generativelanguage/v1beta/generativelanguage_v1beta.yaml b/third_party/googleapis/google/ai/generativelanguage/v1beta/generativelanguage_v1beta.yaml new file mode 100644 index 000000000..d79811bac --- /dev/null +++ b/third_party/googleapis/google/ai/generativelanguage/v1beta/generativelanguage_v1beta.yaml @@ -0,0 +1,57 @@ +type: google.api.Service +config_version: 3 +name: generativelanguage.googleapis.com +title: Generative Language API + +apis: +- name: google.ai.generativelanguage.v1beta.DiscussService +- name: google.ai.generativelanguage.v1beta.GenerativeService +- name: google.ai.generativelanguage.v1beta.ModelService +- name: google.ai.generativelanguage.v1beta.PermissionService +- name: google.ai.generativelanguage.v1beta.RetrieverService +- name: google.ai.generativelanguage.v1beta.TextService +- name: google.longrunning.Operations + +documentation: + summary: |- + The Gemini API allows developers to build generative AI applications using + Gemini models. Gemini is our most capable model in the world, built from + the ground up to be multimodal. It can generalize and seamlessly + understand, operate across, and combine different types of information. + You can use the Gemini + API for use cases like reasoning across text and images, content + generation, dialogue agents, summarization and classification systems, and + more. + +publishing: + new_issue_uri: https://github.com/google/generative-ai-python/issues/new + documentation_uri: https://developers.generativeai.google/ + api_short_name: generativelanguage + github_label: 'api: ai' + doc_tag_prefix: generativelanguage + organization: GENERATIVE_AI + library_settings: + - version: google.ai.generativelanguage.v1beta + launch_stage: EARLY_ACCESS + java_settings: + common: {} + cpp_settings: + common: {} + php_settings: + common: {} + python_settings: + common: + destinations: + - PACKAGE_MANAGER + node_settings: + common: + destinations: + - PACKAGE_MANAGER + dotnet_settings: + common: {} + ruby_settings: + common: {} + go_settings: + common: + destinations: + - PACKAGE_MANAGER diff --git a/third_party/googleapis/google/ai/generativelanguage/v1beta/model.proto b/third_party/googleapis/google/ai/generativelanguage/v1beta/model.proto new file mode 100644 index 000000000..46f6113ee --- /dev/null +++ b/third_party/googleapis/google/ai/generativelanguage/v1beta/model.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.ai.generativelanguage.v1beta; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option go_package = "cloud.google.com/go/ai/generativelanguage/apiv1beta/generativelanguagepb;generativelanguagepb"; +option java_multiple_files = true; +option java_outer_classname = "ModelProto"; +option java_package = "com.google.ai.generativelanguage.v1beta"; + +// Information about a Generative Language Model. +message Model { + option (google.api.resource) = { + type: "generativelanguage.googleapis.com/Model" + pattern: "models/{model}" + }; + + // Required. The resource name of the `Model`. + // + // Format: `models/{model}` with a `{model}` naming convention of: + // + // * "{base_model_id}-{version}" + // + // Examples: + // + // * `models/chat-bison-001` + string name = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The name of the base model, pass this to the generation request. + // + // Examples: + // + // * `chat-bison` + string base_model_id = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The version number of the model. + // + // This represents the major version + string version = 3 [(google.api.field_behavior) = REQUIRED]; + + // The human-readable name of the model. E.g. "Chat Bison". + // + // The name can be up to 128 characters long and can consist of any UTF-8 + // characters. + string display_name = 4; + + // A short description of the model. + string description = 5; + + // Maximum number of input tokens allowed for this model. + int32 input_token_limit = 6; + + // Maximum number of output tokens available for this model. + int32 output_token_limit = 7; + + // The model's supported generation methods. + // + // The method names are defined as Pascal case + // strings, such as `generateMessage` which correspond to API methods. + repeated string supported_generation_methods = 8; + + // Controls the randomness of the output. + // + // Values can range over `[0.0,1.0]`, inclusive. A value closer to `1.0` will + // produce responses that are more varied, while a value closer to `0.0` will + // typically result in less surprising responses from the model. + // This value specifies default to be used by the backend while making the + // call to the model. + optional float temperature = 9; + + // For Nucleus sampling. + // + // Nucleus sampling considers the smallest set of tokens whose probability + // sum is at least `top_p`. + // This value specifies default to be used by the backend while making the + // call to the model. + optional float top_p = 10; + + // For Top-k sampling. + // + // Top-k sampling considers the set of `top_k` most probable tokens. + // This value specifies default to be used by the backend while making the + // call to the model. + optional int32 top_k = 11; +} diff --git a/third_party/googleapis/google/ai/generativelanguage/v1beta/model_service.proto b/third_party/googleapis/google/ai/generativelanguage/v1beta/model_service.proto new file mode 100644 index 000000000..641c37007 --- /dev/null +++ b/third_party/googleapis/google/ai/generativelanguage/v1beta/model_service.proto @@ -0,0 +1,270 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.ai.generativelanguage.v1beta; + +import "google/ai/generativelanguage/v1beta/model.proto"; +import "google/ai/generativelanguage/v1beta/tuned_model.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"; + +option go_package = "cloud.google.com/go/ai/generativelanguage/apiv1beta/generativelanguagepb;generativelanguagepb"; +option java_multiple_files = true; +option java_outer_classname = "ModelServiceProto"; +option java_package = "com.google.ai.generativelanguage.v1beta"; + +// Provides methods for getting metadata information about Generative Models. +service ModelService { + option (google.api.default_host) = "generativelanguage.googleapis.com"; + + // Gets information about a specific Model. + rpc GetModel(GetModelRequest) returns (Model) { + option (google.api.http) = { + get: "/v1beta/{name=models/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Lists models available through the API. + rpc ListModels(ListModelsRequest) returns (ListModelsResponse) { + option (google.api.http) = { + get: "/v1beta/models" + }; + option (google.api.method_signature) = "page_size,page_token"; + } + + // Gets information about a specific TunedModel. + rpc GetTunedModel(GetTunedModelRequest) returns (TunedModel) { + option (google.api.http) = { + get: "/v1beta/{name=tunedModels/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Lists tuned models owned by the user. + rpc ListTunedModels(ListTunedModelsRequest) + returns (ListTunedModelsResponse) { + option (google.api.http) = { + get: "/v1beta/tunedModels" + }; + option (google.api.method_signature) = "page_size,page_token"; + } + + // Creates a tuned model. + // Intermediate tuning progress (if any) is accessed through the + // [google.longrunning.Operations] service. + // + // Status and results can be accessed through the Operations service. + // Example: + // GET /v1/tunedModels/az2mb0bpw6i/operations/000-111-222 + rpc CreateTunedModel(CreateTunedModelRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1beta/tunedModels" + body: "tuned_model" + }; + option (google.api.method_signature) = "tuned_model"; + option (google.api.method_signature) = "tuned_model_id,tuned_model"; + option (google.longrunning.operation_info) = { + response_type: "TunedModel" + metadata_type: "CreateTunedModelMetadata" + }; + } + + // Updates a tuned model. + rpc UpdateTunedModel(UpdateTunedModelRequest) returns (TunedModel) { + option (google.api.http) = { + patch: "/v1beta/{tuned_model.name=tunedModels/*}" + body: "tuned_model" + }; + option (google.api.method_signature) = "tuned_model,update_mask"; + } + + // Deletes a tuned model. + rpc DeleteTunedModel(DeleteTunedModelRequest) + returns (google.protobuf.Empty) { + option (google.api.http) = { + delete: "/v1beta/{name=tunedModels/*}" + }; + option (google.api.method_signature) = "name"; + } +} + +// Request for getting information about a specific Model. +message GetModelRequest { + // Required. The resource name of the model. + // + // This name should match a model name returned by the `ListModels` method. + // + // Format: `models/{model}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "generativelanguage.googleapis.com/Model" + } + ]; +} + +// Request for listing all Models. +message ListModelsRequest { + // The maximum number of `Models` to return (per page). + // + // The service may return fewer models. + // If unspecified, at most 50 models will be returned per page. + // This method returns at most 1000 models per page, even if you pass a larger + // page_size. + int32 page_size = 2; + + // A page token, received from a previous `ListModels` call. + // + // Provide the `page_token` returned by one request as an argument to the next + // request to retrieve the next page. + // + // When paginating, all other parameters provided to `ListModels` must match + // the call that provided the page token. + string page_token = 3; +} + +// Response from `ListModel` containing a paginated list of Models. +message ListModelsResponse { + // The returned Models. + repeated Model models = 1; + + // A token, which can be sent as `page_token` to retrieve the next page. + // + // If this field is omitted, there are no more pages. + string next_page_token = 2; +} + +// Request for getting information about a specific Model. +message GetTunedModelRequest { + // Required. The resource name of the model. + // + // Format: `tunedModels/my-model-id` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "generativelanguage.googleapis.com/TunedModel" + } + ]; +} + +// Request for listing TunedModels. +message ListTunedModelsRequest { + // Optional. The maximum number of `TunedModels` to return (per page). + // The service may return fewer tuned models. + // + // If unspecified, at most 10 tuned models will be returned. + // This method returns at most 1000 models per page, even if you pass a larger + // page_size. + int32 page_size = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A page token, received from a previous `ListTunedModels` call. + // + // Provide the `page_token` returned by one request as an argument to the next + // request to retrieve the next page. + // + // When paginating, all other parameters provided to `ListTunedModels` + // must match the call that provided the page token. + string page_token = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A filter is a full text search over the tuned model's description + // and display name. By default, results will not include tuned models shared + // with everyone. + // + // Additional operators: + // - owner:me + // - writers:me + // - readers:me + // - readers:everyone + // + // Examples: + // "owner:me" returns all tuned models to which caller has owner role + // "readers:me" returns all tuned models to which caller has reader role + // "readers:everyone" returns all tuned models that are shared with everyone + string filter = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// Response from `ListTunedModels` containing a paginated list of Models. +message ListTunedModelsResponse { + // The returned Models. + repeated TunedModel tuned_models = 1; + + // A token, which can be sent as `page_token` to retrieve the next page. + // + // If this field is omitted, there are no more pages. + string next_page_token = 2; +} + +// Request to create a TunedModel. +message CreateTunedModelRequest { + // Optional. The unique id for the tuned model if specified. + // This value should be up to 40 characters, the first character must be a + // letter, the last could be a letter or a number. The id must match the + // regular expression: [a-z]([a-z0-9-]{0,38}[a-z0-9])?. + optional string tuned_model_id = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Required. The tuned model to create. + TunedModel tuned_model = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Metadata about the state and progress of creating a tuned model returned from +// the long-running operation +message CreateTunedModelMetadata { + // Name of the tuned model associated with the tuning operation. + string tuned_model = 5 [(google.api.resource_reference) = { + type: "generativelanguage.googleapis.com/TunedModel" + }]; + + // The total number of tuning steps. + int32 total_steps = 1; + + // The number of steps completed. + int32 completed_steps = 2; + + // The completed percentage for the tuning operation. + float completed_percent = 3; + + // Metrics collected during tuning. + repeated TuningSnapshot snapshots = 4; +} + +// Request to update a TunedModel. +message UpdateTunedModelRequest { + // Required. The tuned model to update. + TunedModel tuned_model = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of fields to update. + google.protobuf.FieldMask update_mask = 2 + [(google.api.field_behavior) = REQUIRED]; +} + +// Request to delete a TunedModel. +message DeleteTunedModelRequest { + // Required. The resource name of the model. + // Format: `tunedModels/my-model-id` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "generativelanguage.googleapis.com/TunedModel" + } + ]; +} diff --git a/third_party/googleapis/google/ai/generativelanguage/v1beta/permission.proto b/third_party/googleapis/google/ai/generativelanguage/v1beta/permission.proto new file mode 100644 index 000000000..809cdabfc --- /dev/null +++ b/third_party/googleapis/google/ai/generativelanguage/v1beta/permission.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.ai.generativelanguage.v1beta; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option go_package = "cloud.google.com/go/ai/generativelanguage/apiv1beta/generativelanguagepb;generativelanguagepb"; +option java_multiple_files = true; +option java_outer_classname = "PermissionProto"; +option java_package = "com.google.ai.generativelanguage.v1beta"; + +// Permission resource grants user, group or the rest of the world access to the +// PaLM API resource (e.g. a tuned model, corpus). +// +// A role is a collection of permitted operations that allows users to perform +// specific actions on PaLM API resources. To make them available to users, +// groups, or service accounts, you assign roles. When you assign a role, you +// grant permissions that the role contains. +// +// There are three concentric roles. Each role is a superset of the previous +// role's permitted operations: +// +// - reader can use the resource (e.g. tuned model, corpus) for inference +// - writer has reader's permissions and additionally can edit and share +// - owner has writer's permissions and additionally can delete +message Permission { + option (google.api.resource) = { + type: "generativelanguage.googleapis.com/Permission" + pattern: "tunedModels/{tuned_model}/permissions/{permission}" + pattern: "corpora/{corpus}/permissions/{permission}" + plural: "permissions" + singular: "permission" + }; + + // Defines types of the grantee of this permission. + enum GranteeType { + // The default value. This value is unused. + GRANTEE_TYPE_UNSPECIFIED = 0; + + // Represents a user. When set, you must provide email_address for the user. + USER = 1; + + // Represents a group. When set, you must provide email_address for the + // group. + GROUP = 2; + + // Represents access to everyone. No extra information is required. + EVERYONE = 3; + } + + // Defines the role granted by this permission. + enum Role { + // The default value. This value is unused. + ROLE_UNSPECIFIED = 0; + + // Owner can use, update, share and delete the resource. + OWNER = 1; + + // Writer can use, update and share the resource. + WRITER = 2; + + // Reader can use the resource. + READER = 3; + } + + // Output only. Identifier. The permission name. A unique name will be + // generated on create. Examples: + // tunedModels/{tuned_model}/permissions/{permission} + // corpora/{corpus}/permissions/{permission} + // Output only. + string name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.field_behavior) = IDENTIFIER + ]; + + // Optional. Immutable. The type of the grantee. + optional GranteeType grantee_type = 2 [ + (google.api.field_behavior) = OPTIONAL, + (google.api.field_behavior) = IMMUTABLE + ]; + + // Optional. Immutable. The email address of the user of group which this + // permission refers. Field is not set when permission's grantee type is + // EVERYONE. + optional string email_address = 3 [ + (google.api.field_behavior) = OPTIONAL, + (google.api.field_behavior) = IMMUTABLE + ]; + + // Required. The role granted by this permission. + optional Role role = 4 [(google.api.field_behavior) = REQUIRED]; +} diff --git a/third_party/googleapis/google/ai/generativelanguage/v1beta/permission_service.proto b/third_party/googleapis/google/ai/generativelanguage/v1beta/permission_service.proto new file mode 100644 index 000000000..d09114ae2 --- /dev/null +++ b/third_party/googleapis/google/ai/generativelanguage/v1beta/permission_service.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.ai.generativelanguage.v1beta; + +import "google/ai/generativelanguage/v1beta/permission.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/empty.proto"; +import "google/protobuf/field_mask.proto"; + +option go_package = "cloud.google.com/go/ai/generativelanguage/apiv1beta/generativelanguagepb;generativelanguagepb"; +option java_multiple_files = true; +option java_outer_classname = "PermissionServiceProto"; +option java_package = "com.google.ai.generativelanguage.v1beta"; + +// Provides methods for managing permissions to PaLM API resources. +service PermissionService { + option (google.api.default_host) = "generativelanguage.googleapis.com"; + + // Create a permission to a specific resource. + rpc CreatePermission(CreatePermissionRequest) returns (Permission) { + option (google.api.http) = { + post: "/v1beta/{parent=tunedModels/*}/permissions" + body: "permission" + additional_bindings { + post: "/v1beta/{parent=corpora/*}/permissions" + body: "permission" + } + }; + option (google.api.method_signature) = "parent,permission"; + } + + // Gets information about a specific Permission. + rpc GetPermission(GetPermissionRequest) returns (Permission) { + option (google.api.http) = { + get: "/v1beta/{name=tunedModels/*/permissions/*}" + additional_bindings { get: "/v1beta/{name=corpora/*/permissions/*}" } + }; + option (google.api.method_signature) = "name"; + } + + // Lists permissions for the specific resource. + rpc ListPermissions(ListPermissionsRequest) + returns (ListPermissionsResponse) { + option (google.api.http) = { + get: "/v1beta/{parent=tunedModels/*}/permissions" + additional_bindings { get: "/v1beta/{parent=corpora/*}/permissions" } + }; + option (google.api.method_signature) = "parent"; + } + + // Updates the permission. + rpc UpdatePermission(UpdatePermissionRequest) returns (Permission) { + option (google.api.http) = { + patch: "/v1beta/{permission.name=tunedModels/*/permissions/*}" + body: "permission" + additional_bindings { + patch: "/v1beta/{permission.name=corpora/*/permissions/*}" + body: "permission" + } + }; + option (google.api.method_signature) = "permission,update_mask"; + } + + // Deletes the permission. + rpc DeletePermission(DeletePermissionRequest) + returns (google.protobuf.Empty) { + option (google.api.http) = { + delete: "/v1beta/{name=tunedModels/*/permissions/*}" + additional_bindings { delete: "/v1beta/{name=corpora/*/permissions/*}" } + }; + option (google.api.method_signature) = "name"; + } + + // Transfers ownership of the tuned model. + // This is the only way to change ownership of the tuned model. + // The current owner will be downgraded to writer role. + rpc TransferOwnership(TransferOwnershipRequest) + returns (TransferOwnershipResponse) { + option (google.api.http) = { + post: "/v1beta/{name=tunedModels/*}:transferOwnership" + body: "*" + }; + } +} + +// Request to create a `Permission`. +message CreatePermissionRequest { + // Required. The parent resource of the `Permission`. + // Formats: + // `tunedModels/{tuned_model}` + // `corpora/{corpus}` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "generativelanguage.googleapis.com/Permission" + } + ]; + + // Required. The permission to create. + Permission permission = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Request for getting information about a specific `Permission`. +message GetPermissionRequest { + // Required. The resource name of the permission. + // + // Formats: + // `tunedModels/{tuned_model}/permissions/{permission}` + // `corpora/{corpus}/permissions/{permission}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "generativelanguage.googleapis.com/Permission" + } + ]; +} + +// Request for listing permissions. +message ListPermissionsRequest { + // Required. The parent resource of the permissions. + // Formats: + // `tunedModels/{tuned_model}` + // `corpora/{corpus}` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { type: "*" } + ]; + + // Optional. The maximum number of `Permission`s to return (per page). + // The service may return fewer permissions. + // + // If unspecified, at most 10 permissions will be returned. + // This method returns at most 1000 permissions per page, even if you pass + // larger page_size. + int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A page token, received from a previous `ListPermissions` call. + // + // Provide the `page_token` returned by one request as an argument to the + // next request to retrieve the next page. + // + // When paginating, all other parameters provided to `ListPermissions` + // must match the call that provided the page token. + string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// Response from `ListPermissions` containing a paginated list of +// permissions. +message ListPermissionsResponse { + // Returned permissions. + repeated Permission permissions = 1; + + // A token, which can be sent as `page_token` to retrieve the next page. + // + // If this field is omitted, there are no more pages. + string next_page_token = 2; +} + +// Request to update the `Permission`. +message UpdatePermissionRequest { + // Required. The permission to update. + // + // The permission's `name` field is used to identify the permission to update. + Permission permission = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of fields to update. Accepted ones: + // - role (`Permission.role` field) + google.protobuf.FieldMask update_mask = 2 + [(google.api.field_behavior) = REQUIRED]; +} + +// Request to delete the `Permission`. +message DeletePermissionRequest { + // Required. The resource name of the permission. + // Formats: + // `tunedModels/{tuned_model}/permissions/{permission}` + // `corpora/{corpus}/permissions/{permission}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "generativelanguage.googleapis.com/Permission" + } + ]; +} + +// Request to transfer the ownership of the tuned model. +message TransferOwnershipRequest { + // Required. The resource name of the tuned model to transfer ownership. + // + // Format: `tunedModels/my-model-id` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "generativelanguage.googleapis.com/Permission" + } + ]; + + // Required. The email address of the user to whom the tuned model is being + // transferred to. + string email_address = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Response from `TransferOwnership`. +message TransferOwnershipResponse {} diff --git a/third_party/googleapis/google/ai/generativelanguage/v1beta/retriever.proto b/third_party/googleapis/google/ai/generativelanguage/v1beta/retriever.proto new file mode 100644 index 000000000..897263dfa --- /dev/null +++ b/third_party/googleapis/google/ai/generativelanguage/v1beta/retriever.proto @@ -0,0 +1,260 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.ai.generativelanguage.v1beta; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/timestamp.proto"; + +option go_package = "cloud.google.com/go/ai/generativelanguage/apiv1beta/generativelanguagepb;generativelanguagepb"; +option java_multiple_files = true; +option java_outer_classname = "RetrieverProto"; +option java_package = "com.google.ai.generativelanguage.v1beta"; + +// A `Corpus` is a collection of `Document`s. +// A project can create up to 5 corpora. +message Corpus { + option (google.api.resource) = { + type: "generativelanguage.googleapis.com/Corpus" + pattern: "corpora/{corpus}" + plural: "corpora" + singular: "corpus" + }; + + // Immutable. Identifier. The `Corpus` resource name. The ID (name excluding + // the "corpora/" prefix) can contain up to 40 characters that are lowercase + // alphanumeric or dashes + // (-). The ID cannot start or end with a dash. If the name is empty on + // create, a unique name will be derived from `display_name` along with a 12 + // character random suffix. + // Example: `corpora/my-awesome-corpora-123a456b789c` + string name = 1 [ + (google.api.field_behavior) = IDENTIFIER, + (google.api.field_behavior) = IMMUTABLE + ]; + + // Optional. The human-readable display name for the `Corpus`. The display + // name must be no more than 512 characters in length, including spaces. + // Example: "Docs on Semantic Retriever" + string display_name = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Output only. The Timestamp of when the `Corpus` was created. + google.protobuf.Timestamp create_time = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The Timestamp of when the `Corpus` was last updated. + google.protobuf.Timestamp update_time = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// A `Document` is a collection of `Chunk`s. +// A `Corpus` can have a maximum of 10,000 `Document`s. +message Document { + option (google.api.resource) = { + type: "generativelanguage.googleapis.com/Document" + pattern: "corpora/{corpus}/documents/{document}" + plural: "documents" + singular: "document" + }; + + // Immutable. Identifier. The `Document` resource name. The ID (name excluding + // the "corpora/*/documents/" prefix) can contain up to 40 characters that are + // lowercase alphanumeric or dashes (-). The ID cannot start or end with a + // dash. If the name is empty on create, a unique name will be derived from + // `display_name` along with a 12 character random suffix. + // Example: `corpora/{corpus_id}/documents/my-awesome-doc-123a456b789c` + string name = 1 [ + (google.api.field_behavior) = IDENTIFIER, + (google.api.field_behavior) = IMMUTABLE + ]; + + // Optional. The human-readable display name for the `Document`. The display + // name must be no more than 512 characters in length, including spaces. + // Example: "Semantic Retriever Documentation" + string display_name = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. User provided custom metadata stored as key-value pairs used for + // querying. A `Document` can have a maximum of 20 `CustomMetadata`. + repeated CustomMetadata custom_metadata = 3 + [(google.api.field_behavior) = OPTIONAL]; + + // Output only. The Timestamp of when the `Document` was last updated. + google.protobuf.Timestamp update_time = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The Timestamp of when the `Document` was created. + google.protobuf.Timestamp create_time = 5 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// User provided string values assigned to a single metadata key. +message StringList { + // The string values of the metadata to store. + repeated string values = 1; +} + +// User provided metadata stored as key-value pairs. +message CustomMetadata { + oneof value { + // The string value of the metadata to store. + string string_value = 2; + + // The StringList value of the metadata to store. + StringList string_list_value = 6; + + // The numeric value of the metadata to store. + float numeric_value = 7; + } + + // Required. The key of the metadata to store. + string key = 1 [(google.api.field_behavior) = REQUIRED]; +} + +// User provided filter to limit retrieval based on `Chunk` or `Document` level +// metadata values. +// Example (genre = drama OR genre = action): +// key = "document.custom_metadata.genre" +// conditions = [{string_value = "drama", operation = EQUAL}, +// {string_value = "action", operation = EQUAL}] +message MetadataFilter { + // Required. The key of the metadata to filter on. + string key = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The `Condition`s for the given key that will trigger this filter. + // Multiple `Condition`s are joined by logical ORs. + repeated Condition conditions = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Filter condition applicable to a single key. +message Condition { + // Defines the valid operators that can be applied to a key-value pair. + enum Operator { + // The default value. This value is unused. + OPERATOR_UNSPECIFIED = 0; + + // Supported by numeric. + LESS = 1; + + // Supported by numeric. + LESS_EQUAL = 2; + + // Supported by numeric & string. + EQUAL = 3; + + // Supported by numeric. + GREATER_EQUAL = 4; + + // Supported by numeric. + GREATER = 5; + + // Supported by numeric & string. + NOT_EQUAL = 6; + + // Supported by string only when `CustomMetadata` value type for the given + // key has a `string_list_value`. + INCLUDES = 7; + + // Supported by string only when `CustomMetadata` value type for the given + // key has a `string_list_value`. + EXCLUDES = 8; + } + + // The value type must be consistent with the value type defined in the field + // for the corresponding key. If the value types are not consistent, the + // result will be an empty set. When the `CustomMetadata` has a `StringList` + // value type, the filtering condition should use `string_value` paired with + // an INCLUDES/EXCLUDES operation, otherwise the result will also be an empty + // set. + oneof value { + // The string value to filter the metadata on. + string string_value = 1; + + // The numeric value to filter the metadata on. + float numeric_value = 6; + } + + // Required. Operator applied to the given key-value pair to trigger the + // condition. + Operator operation = 5 [(google.api.field_behavior) = REQUIRED]; +} + +// A `Chunk` is a subpart of a `Document` that is treated as an independent unit +// for the purposes of vector representation and storage. +// A `Corpus` can have a maximum of 1 million `Chunk`s. +message Chunk { + option (google.api.resource) = { + type: "generativelanguage.googleapis.com/Chunk" + pattern: "corpora/{corpus}/documents/{document}/chunks/{chunk}" + plural: "chunks" + singular: "chunk" + }; + + // States for the lifecycle of a `Chunk`. + enum State { + // The default value. This value is used if the state is omitted. + STATE_UNSPECIFIED = 0; + + // `Chunk` is being processed (embedding and vector storage). + STATE_PENDING_PROCESSING = 1; + + // `Chunk` is processed and available for querying. + STATE_ACTIVE = 2; + + // `Chunk` failed processing. + STATE_FAILED = 10; + } + + // Immutable. Identifier. The `Chunk` resource name. The ID (name excluding + // the "corpora/*/documents/*/chunks/" prefix) can contain up to 40 characters + // that are lowercase alphanumeric or dashes (-). The ID cannot start or end + // with a dash. If the name is empty on create, a random 12-character unique + // ID will be generated. + // Example: `corpora/{corpus_id}/documents/{document_id}/chunks/123a456b789c` + string name = 1 [ + (google.api.field_behavior) = IDENTIFIER, + (google.api.field_behavior) = IMMUTABLE + ]; + + // Required. The content for the `Chunk`, such as the text string. + // The maximum number of tokens per chunk is 2043. + ChunkData data = 2 [(google.api.field_behavior) = REQUIRED]; + + // Optional. User provided custom metadata stored as key-value pairs. + // The maximum number of `CustomMetadata` per chunk is 20. + repeated CustomMetadata custom_metadata = 3 + [(google.api.field_behavior) = OPTIONAL]; + + // Output only. The Timestamp of when the `Chunk` was created. + google.protobuf.Timestamp create_time = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The Timestamp of when the `Chunk` was last updated. + google.protobuf.Timestamp update_time = 5 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Current state of the `Chunk`. + State state = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Extracted data that represents the `Chunk` content. +message ChunkData { + oneof data { + // The `Chunk` content as a string. + // The maximum number of tokens per chunk is 2043. + string string_value = 1; + } +} diff --git a/third_party/googleapis/google/ai/generativelanguage/v1beta/retriever_service.proto b/third_party/googleapis/google/ai/generativelanguage/v1beta/retriever_service.proto new file mode 100644 index 000000000..3de5febed --- /dev/null +++ b/third_party/googleapis/google/ai/generativelanguage/v1beta/retriever_service.proto @@ -0,0 +1,665 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.ai.generativelanguage.v1beta; + +import "google/ai/generativelanguage/v1beta/retriever.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/empty.proto"; +import "google/protobuf/field_mask.proto"; + +option go_package = "cloud.google.com/go/ai/generativelanguage/apiv1beta/generativelanguagepb;generativelanguagepb"; +option java_multiple_files = true; +option java_outer_classname = "RetrieverServiceProto"; +option java_package = "com.google.ai.generativelanguage.v1beta"; + +// An API for semantic search over a corpus of user uploaded content. +service RetrieverService { + option (google.api.default_host) = "generativelanguage.googleapis.com"; + + // Creates an empty `Corpus`. + rpc CreateCorpus(CreateCorpusRequest) returns (Corpus) { + option (google.api.http) = { + post: "/v1beta/corpora" + body: "corpus" + }; + option (google.api.method_signature) = "corpus"; + } + + // Gets information about a specific `Corpus`. + rpc GetCorpus(GetCorpusRequest) returns (Corpus) { + option (google.api.http) = { + get: "/v1beta/{name=corpora/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Updates a `Corpus`. + rpc UpdateCorpus(UpdateCorpusRequest) returns (Corpus) { + option (google.api.http) = { + patch: "/v1beta/{corpus.name=corpora/*}" + body: "corpus" + }; + option (google.api.method_signature) = "corpus,update_mask"; + } + + // Deletes a `Corpus`. + rpc DeleteCorpus(DeleteCorpusRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + delete: "/v1beta/{name=corpora/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Lists all `Corpora` owned by the user. + rpc ListCorpora(ListCorporaRequest) returns (ListCorporaResponse) { + option (google.api.http) = { + get: "/v1beta/corpora" + }; + } + + // Performs semantic search over a `Corpus`. + rpc QueryCorpus(QueryCorpusRequest) returns (QueryCorpusResponse) { + option (google.api.http) = { + post: "/v1beta/{name=corpora/*}:query" + body: "*" + }; + } + + // Creates an empty `Document`. + rpc CreateDocument(CreateDocumentRequest) returns (Document) { + option (google.api.http) = { + post: "/v1beta/{parent=corpora/*}/documents" + body: "document" + }; + option (google.api.method_signature) = "parent,document"; + } + + // Gets information about a specific `Document`. + rpc GetDocument(GetDocumentRequest) returns (Document) { + option (google.api.http) = { + get: "/v1beta/{name=corpora/*/documents/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Updates a `Document`. + rpc UpdateDocument(UpdateDocumentRequest) returns (Document) { + option (google.api.http) = { + patch: "/v1beta/{document.name=corpora/*/documents/*}" + body: "document" + }; + option (google.api.method_signature) = "document,update_mask"; + } + + // Deletes a `Document`. + rpc DeleteDocument(DeleteDocumentRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + delete: "/v1beta/{name=corpora/*/documents/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Lists all `Document`s in a `Corpus`. + rpc ListDocuments(ListDocumentsRequest) returns (ListDocumentsResponse) { + option (google.api.http) = { + get: "/v1beta/{parent=corpora/*}/documents" + }; + option (google.api.method_signature) = "parent"; + } + + // Performs semantic search over a `Document`. + rpc QueryDocument(QueryDocumentRequest) returns (QueryDocumentResponse) { + option (google.api.http) = { + post: "/v1beta/{name=corpora/*/documents/*}:query" + body: "*" + }; + } + + // Creates a `Chunk`. + rpc CreateChunk(CreateChunkRequest) returns (Chunk) { + option (google.api.http) = { + post: "/v1beta/{parent=corpora/*/documents/*}/chunks" + body: "chunk" + }; + option (google.api.method_signature) = "parent,chunk"; + } + + // Batch create `Chunk`s. + rpc BatchCreateChunks(BatchCreateChunksRequest) + returns (BatchCreateChunksResponse) { + option (google.api.http) = { + post: "/v1beta/{parent=corpora/*/documents/*}/chunks:batchCreate" + body: "*" + }; + } + + // Gets information about a specific `Chunk`. + rpc GetChunk(GetChunkRequest) returns (Chunk) { + option (google.api.http) = { + get: "/v1beta/{name=corpora/*/documents/*/chunks/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Updates a `Chunk`. + rpc UpdateChunk(UpdateChunkRequest) returns (Chunk) { + option (google.api.http) = { + patch: "/v1beta/{chunk.name=corpora/*/documents/*/chunks/*}" + body: "chunk" + }; + option (google.api.method_signature) = "chunk,update_mask"; + } + + // Batch update `Chunk`s. + rpc BatchUpdateChunks(BatchUpdateChunksRequest) + returns (BatchUpdateChunksResponse) { + option (google.api.http) = { + post: "/v1beta/{parent=corpora/*/documents/*}/chunks:batchUpdate" + body: "*" + }; + } + + // Deletes a `Chunk`. + rpc DeleteChunk(DeleteChunkRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + delete: "/v1beta/{name=corpora/*/documents/*/chunks/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Batch delete `Chunk`s. + rpc BatchDeleteChunks(BatchDeleteChunksRequest) + returns (google.protobuf.Empty) { + option (google.api.http) = { + post: "/v1beta/{parent=corpora/*/documents/*}/chunks:batchDelete" + body: "*" + }; + } + + // Lists all `Chunk`s in a `Document`. + rpc ListChunks(ListChunksRequest) returns (ListChunksResponse) { + option (google.api.http) = { + get: "/v1beta/{parent=corpora/*/documents/*}/chunks" + }; + option (google.api.method_signature) = "parent"; + } +} + +// Request to create a `Corpus`. +message CreateCorpusRequest { + // Required. The `Corpus` to create. + Corpus corpus = 1 [(google.api.field_behavior) = REQUIRED]; +} + +// Request for getting information about a specific `Corpus`. +message GetCorpusRequest { + // Required. The name of the `Corpus`. + // Example: `corpora/my-corpus-123` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "generativelanguage.googleapis.com/Corpus" + } + ]; +} + +// Request to update a `Corpus`. +message UpdateCorpusRequest { + // Required. The `Corpus` to update. + Corpus corpus = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of fields to update. + // Currently, this only supports updating `display_name`. + google.protobuf.FieldMask update_mask = 2 + [(google.api.field_behavior) = REQUIRED]; +} + +// Request to delete a `Corpus`. +message DeleteCorpusRequest { + // Required. The resource name of the `Corpus`. + // Example: `corpora/my-corpus-123` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "generativelanguage.googleapis.com/Corpus" + } + ]; + + // Optional. If set to true, any `Document`s and objects related to this + // `Corpus` will also be deleted. + // + // If false (the default), a `FAILED_PRECONDITION` error will be returned if + // `Corpus` contains any `Document`s. + bool force = 2 [(google.api.field_behavior) = OPTIONAL]; +} + +// Request for listing `Corpora`. +message ListCorporaRequest { + // Optional. The maximum number of `Corpora` to return (per page). + // The service may return fewer `Corpora`. + // + // If unspecified, at most 10 `Corpora` will be returned. + // The maximum size limit is 20 `Corpora` per page. + int32 page_size = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A page token, received from a previous `ListCorpora` call. + // + // Provide the `next_page_token` returned in the response as an argument to + // the next request to retrieve the next page. + // + // When paginating, all other parameters provided to `ListCorpora` + // must match the call that provided the page token. + string page_token = 2 [(google.api.field_behavior) = OPTIONAL]; +} + +// Response from `ListCorpora` containing a paginated list of `Corpora`. +// The results are sorted by ascending `corpus.create_time`. +message ListCorporaResponse { + // The returned corpora. + repeated Corpus corpora = 1; + + // A token, which can be sent as `page_token` to retrieve the next page. + // If this field is omitted, there are no more pages. + string next_page_token = 2; +} + +// Request for querying a `Corpus`. +message QueryCorpusRequest { + // Required. The name of the `Corpus` to query. + // Example: `corpora/my-corpus-123` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "generativelanguage.googleapis.com/Corpus" + } + ]; + + // Required. Query string to perform semantic search. + string query = 2 [(google.api.field_behavior) = REQUIRED]; + + // Optional. Filter for `Chunk` and `Document` metadata. Each `MetadataFilter` + // object should correspond to a unique key. Multiple `MetadataFilter` objects + // are joined by logical "AND"s. + // + // Example query at document level: + // (year >= 2020 OR year < 2010) AND (genre = drama OR genre = action) + // + // `MetadataFilter` object list: + // metadata_filters = [ + // {key = "document.custom_metadata.year" + // conditions = [{int_value = 2020, operation = GREATER_EQUAL}, + // {int_value = 2010, operation = LESS}]}, + // {key = "document.custom_metadata.year" + // conditions = [{int_value = 2020, operation = GREATER_EQUAL}, + // {int_value = 2010, operation = LESS}]}, + // {key = "document.custom_metadata.genre" + // conditions = [{string_value = "drama", operation = EQUAL}, + // {string_value = "action", operation = EQUAL}]}] + // + // Example query at chunk level for a numeric range of values: + // (year > 2015 AND year <= 2020) + // + // `MetadataFilter` object list: + // metadata_filters = [ + // {key = "chunk.custom_metadata.year" + // conditions = [{int_value = 2015, operation = GREATER}]}, + // {key = "chunk.custom_metadata.year" + // conditions = [{int_value = 2020, operation = LESS_EQUAL}]}] + // + // Note: "AND"s for the same key are only supported for numeric values. String + // values only support "OR"s for the same key. + repeated MetadataFilter metadata_filters = 3 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The maximum number of `Chunk`s to return. + // The service may return fewer `Chunk`s. + // + // If unspecified, at most 10 `Chunk`s will be returned. + // The maximum specified result count is 100. + int32 results_count = 4 [(google.api.field_behavior) = OPTIONAL]; +} + +// Response from `QueryCorpus` containing a list of relevant chunks. +message QueryCorpusResponse { + // The relevant chunks. + repeated RelevantChunk relevant_chunks = 1; +} + +// The information for a chunk relevant to a query. +message RelevantChunk { + // `Chunk` relevance to the query. + float chunk_relevance_score = 1; + + // `Chunk` associated with the query. + Chunk chunk = 2; +} + +// Request to create a `Document`. +message CreateDocumentRequest { + // Required. The name of the `Corpus` where this `Document` will be created. + // Example: `corpora/my-corpus-123` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "generativelanguage.googleapis.com/Document" + } + ]; + + // Required. The `Document` to create. + Document document = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Request for getting information about a specific `Document`. +message GetDocumentRequest { + // Required. The name of the `Document` to retrieve. + // Example: `corpora/my-corpus-123/documents/the-doc-abc` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "generativelanguage.googleapis.com/Document" + } + ]; +} + +// Request to update a `Document`. +message UpdateDocumentRequest { + // Required. The `Document` to update. + Document document = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of fields to update. + // Currently, this only supports updating `display_name` and + // `custom_metadata`. + google.protobuf.FieldMask update_mask = 2 + [(google.api.field_behavior) = REQUIRED]; +} + +// Request to delete a `Document`. +message DeleteDocumentRequest { + // Required. The resource name of the `Document` to delete. + // Example: `corpora/my-corpus-123/documents/the-doc-abc` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "generativelanguage.googleapis.com/Document" + } + ]; + + // Optional. If set to true, any `Chunk`s and objects related to this + // `Document` will also be deleted. + // + // If false (the default), a `FAILED_PRECONDITION` error will be returned if + // `Document` contains any `Chunk`s. + bool force = 2 [(google.api.field_behavior) = OPTIONAL]; +} + +// Request for listing `Document`s. +message ListDocumentsRequest { + // Required. The name of the `Corpus` containing `Document`s. + // Example: `corpora/my-corpus-123` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "generativelanguage.googleapis.com/Document" + } + ]; + + // Optional. The maximum number of `Document`s to return (per page). + // The service may return fewer `Document`s. + // + // If unspecified, at most 10 `Document`s will be returned. + // The maximum size limit is 20 `Document`s per page. + int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A page token, received from a previous `ListDocuments` call. + // + // Provide the `next_page_token` returned in the response as an argument to + // the next request to retrieve the next page. + // + // When paginating, all other parameters provided to `ListDocuments` + // must match the call that provided the page token. + string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// Response from `ListDocuments` containing a paginated list of `Document`s. +// The `Document`s are sorted by ascending `document.create_time`. +message ListDocumentsResponse { + // The returned `Document`s. + repeated Document documents = 1; + + // A token, which can be sent as `page_token` to retrieve the next page. + // If this field is omitted, there are no more pages. + string next_page_token = 2; +} + +// Request for querying a `Document`. +message QueryDocumentRequest { + // Required. The name of the `Document` to query. + // Example: `corpora/my-corpus-123/documents/the-doc-abc` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "generativelanguage.googleapis.com/Document" + } + ]; + + // Required. Query string to perform semantic search. + string query = 2 [(google.api.field_behavior) = REQUIRED]; + + // Optional. The maximum number of `Chunk`s to return. + // The service may return fewer `Chunk`s. + // + // If unspecified, at most 10 `Chunk`s will be returned. + // The maximum specified result count is 100. + int32 results_count = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Filter for `Chunk` metadata. Each `MetadataFilter` object should + // correspond to a unique key. Multiple `MetadataFilter` objects are joined by + // logical "AND"s. + // + // Note: `Document`-level filtering is not supported for this request because + // a `Document` name is already specified. + // + // Example query: + // (year >= 2020 OR year < 2010) AND (genre = drama OR genre = action) + // + // `MetadataFilter` object list: + // metadata_filters = [ + // {key = "chunk.custom_metadata.year" + // conditions = [{int_value = 2020, operation = GREATER_EQUAL}, + // {int_value = 2010, operation = LESS}}, + // {key = "chunk.custom_metadata.genre" + // conditions = [{string_value = "drama", operation = EQUAL}, + // {string_value = "action", operation = EQUAL}}] + // + // Example query for a numeric range of values: + // (year > 2015 AND year <= 2020) + // + // `MetadataFilter` object list: + // metadata_filters = [ + // {key = "chunk.custom_metadata.year" + // conditions = [{int_value = 2015, operation = GREATER}]}, + // {key = "chunk.custom_metadata.year" + // conditions = [{int_value = 2020, operation = LESS_EQUAL}]}] + // + // Note: "AND"s for the same key are only supported for numeric values. String + // values only support "OR"s for the same key. + repeated MetadataFilter metadata_filters = 4 + [(google.api.field_behavior) = OPTIONAL]; +} + +// Response from `QueryDocument` containing a list of relevant chunks. +message QueryDocumentResponse { + // The returned relevant chunks. + repeated RelevantChunk relevant_chunks = 1; +} + +// Request to create a `Chunk`. +message CreateChunkRequest { + // Required. The name of the `Document` where this `Chunk` will be created. + // Example: `corpora/my-corpus-123/documents/the-doc-abc` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "generativelanguage.googleapis.com/Chunk" + } + ]; + + // Required. The `Chunk` to create. + Chunk chunk = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Request to batch create `Chunk`s. +message BatchCreateChunksRequest { + // Optional. The name of the `Document` where this batch of `Chunk`s will be + // created. The parent field in every `CreateChunkRequest` must match this + // value. Example: `corpora/my-corpus-123/documents/the-doc-abc` + string parent = 1 [ + (google.api.field_behavior) = OPTIONAL, + (google.api.resource_reference) = { + child_type: "generativelanguage.googleapis.com/Chunk" + } + ]; + + // Required. The request messages specifying the `Chunk`s to create. + // A maximum of 100 `Chunk`s can be created in a batch. + repeated CreateChunkRequest requests = 2 + [(google.api.field_behavior) = REQUIRED]; +} + +// Response from `BatchCreateChunks` containing a list of created `Chunk`s. +message BatchCreateChunksResponse { + // `Chunk`s created. + repeated Chunk chunks = 1; +} + +// Request for getting information about a specific `Chunk`. +message GetChunkRequest { + // Required. The name of the `Chunk` to retrieve. + // Example: `corpora/my-corpus-123/documents/the-doc-abc/chunks/some-chunk` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "generativelanguage.googleapis.com/Chunk" + } + ]; +} + +// Request to update a `Chunk`. +message UpdateChunkRequest { + // Required. The `Chunk` to update. + Chunk chunk = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of fields to update. + // Currently, this only supports updating `custom_metadata` and `data`. + google.protobuf.FieldMask update_mask = 2 + [(google.api.field_behavior) = REQUIRED]; +} + +// Request to batch update `Chunk`s. +message BatchUpdateChunksRequest { + // Optional. The name of the `Document` containing the `Chunk`s to update. + // The parent field in every `UpdateChunkRequest` must match this value. + // Example: `corpora/my-corpus-123/documents/the-doc-abc` + string parent = 1 [ + (google.api.field_behavior) = OPTIONAL, + (google.api.resource_reference) = { + child_type: "generativelanguage.googleapis.com/Chunk" + } + ]; + + // Required. The request messages specifying the `Chunk`s to update. + // A maximum of 100 `Chunk`s can be updated in a batch. + repeated UpdateChunkRequest requests = 2 + [(google.api.field_behavior) = REQUIRED]; +} + +// Response from `BatchUpdateChunks` containing a list of updated `Chunk`s. +message BatchUpdateChunksResponse { + // `Chunk`s updated. + repeated Chunk chunks = 1; +} + +// Request to delete a `Chunk`. +message DeleteChunkRequest { + // Required. The resource name of the `Chunk` to delete. + // Example: `corpora/my-corpus-123/documents/the-doc-abc/chunks/some-chunk` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "generativelanguage.googleapis.com/Chunk" + } + ]; +} + +// Request to batch delete `Chunk`s. +message BatchDeleteChunksRequest { + // Optional. The name of the `Document` containing the `Chunk`s to delete. + // The parent field in every `DeleteChunkRequest` must match this value. + // Example: `corpora/my-corpus-123/documents/the-doc-abc` + string parent = 1 [ + (google.api.field_behavior) = OPTIONAL, + (google.api.resource_reference) = { + child_type: "generativelanguage.googleapis.com/Chunk" + } + ]; + + // Required. The request messages specifying the `Chunk`s to delete. + repeated DeleteChunkRequest requests = 2 + [(google.api.field_behavior) = REQUIRED]; +} + +// Request for listing `Chunk`s. +message ListChunksRequest { + // Required. The name of the `Document` containing `Chunk`s. + // Example: `corpora/my-corpus-123/documents/the-doc-abc` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "generativelanguage.googleapis.com/Chunk" + } + ]; + + // Optional. The maximum number of `Chunk`s to return (per page). + // The service may return fewer `Chunk`s. + // + // If unspecified, at most 10 `Chunk`s will be returned. + // The maximum size limit is 100 `Chunk`s per page. + int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A page token, received from a previous `ListChunks` call. + // + // Provide the `next_page_token` returned in the response as an argument to + // the next request to retrieve the next page. + // + // When paginating, all other parameters provided to `ListChunks` + // must match the call that provided the page token. + string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// Response from `ListChunks` containing a paginated list of `Chunk`s. +// The `Chunk`s are sorted by ascending `chunk.create_time`. +message ListChunksResponse { + // The returned `Chunk`s. + repeated Chunk chunks = 1; + + // A token, which can be sent as `page_token` to retrieve the next page. + // If this field is omitted, there are no more pages. + string next_page_token = 2; +} diff --git a/third_party/googleapis/google/ai/generativelanguage/v1beta/safety.proto b/third_party/googleapis/google/ai/generativelanguage/v1beta/safety.proto new file mode 100644 index 000000000..696d4ddc6 --- /dev/null +++ b/third_party/googleapis/google/ai/generativelanguage/v1beta/safety.proto @@ -0,0 +1,172 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.ai.generativelanguage.v1beta; + +import "google/api/field_behavior.proto"; + +option go_package = "cloud.google.com/go/ai/generativelanguage/apiv1beta/generativelanguagepb;generativelanguagepb"; +option java_multiple_files = true; +option java_outer_classname = "SafetyProto"; +option java_package = "com.google.ai.generativelanguage.v1beta"; + +// The category of a rating. +// +// These categories cover various kinds of harms that developers +// may wish to adjust. +enum HarmCategory { + // Category is unspecified. + HARM_CATEGORY_UNSPECIFIED = 0; + + // Negative or harmful comments targeting identity and/or protected attribute. + HARM_CATEGORY_DEROGATORY = 1; + + // Content that is rude, disrepspectful, or profane. + HARM_CATEGORY_TOXICITY = 2; + + // Describes scenarios depictng violence against an individual or group, or + // general descriptions of gore. + HARM_CATEGORY_VIOLENCE = 3; + + // Contains references to sexual acts or other lewd content. + HARM_CATEGORY_SEXUAL = 4; + + // Promotes unchecked medical advice. + HARM_CATEGORY_MEDICAL = 5; + + // Dangerous content that promotes, facilitates, or encourages harmful acts. + HARM_CATEGORY_DANGEROUS = 6; + + // Harasment content. + HARM_CATEGORY_HARASSMENT = 7; + + // Hate speech and content. + HARM_CATEGORY_HATE_SPEECH = 8; + + // Sexually explicit content. + HARM_CATEGORY_SEXUALLY_EXPLICIT = 9; + + // Dangerous content. + HARM_CATEGORY_DANGEROUS_CONTENT = 10; +} + +// Content filtering metadata associated with processing a single request. +// +// ContentFilter contains a reason and an optional supporting string. The reason +// may be unspecified. +message ContentFilter { + // A list of reasons why content may have been blocked. + enum BlockedReason { + // A blocked reason was not specified. + BLOCKED_REASON_UNSPECIFIED = 0; + + // Content was blocked by safety settings. + SAFETY = 1; + + // Content was blocked, but the reason is uncategorized. + OTHER = 2; + } + + // The reason content was blocked during request processing. + BlockedReason reason = 1; + + // A string that describes the filtering behavior in more detail. + optional string message = 2; +} + +// Safety feedback for an entire request. +// +// This field is populated if content in the input and/or response is blocked +// due to safety settings. SafetyFeedback may not exist for every HarmCategory. +// Each SafetyFeedback will return the safety settings used by the request as +// well as the lowest HarmProbability that should be allowed in order to return +// a result. +message SafetyFeedback { + // Safety rating evaluated from content. + SafetyRating rating = 1; + + // Safety settings applied to the request. + SafetySetting setting = 2; +} + +// Safety rating for a piece of content. +// +// The safety rating contains the category of harm and the +// harm probability level in that category for a piece of content. +// Content is classified for safety across a number of +// harm categories and the probability of the harm classification is included +// here. +message SafetyRating { + // The probability that a piece of content is harmful. + // + // The classification system gives the probability of the content being + // unsafe. This does not indicate the severity of harm for a piece of content. + enum HarmProbability { + // Probability is unspecified. + HARM_PROBABILITY_UNSPECIFIED = 0; + + // Content has a negligible chance of being unsafe. + NEGLIGIBLE = 1; + + // Content has a low chance of being unsafe. + LOW = 2; + + // Content has a medium chance of being unsafe. + MEDIUM = 3; + + // Content has a high chance of being unsafe. + HIGH = 4; + } + + // Required. The category for this rating. + HarmCategory category = 3 [(google.api.field_behavior) = REQUIRED]; + + // Required. The probability of harm for this content. + HarmProbability probability = 4 [(google.api.field_behavior) = REQUIRED]; + + // Was this content blocked because of this rating? + bool blocked = 5; +} + +// Safety setting, affecting the safety-blocking behavior. +// +// Passing a safety setting for a category changes the allowed proability that +// content is blocked. +message SafetySetting { + // Block at and beyond a specified harm probability. + enum HarmBlockThreshold { + // Threshold is unspecified. + HARM_BLOCK_THRESHOLD_UNSPECIFIED = 0; + + // Content with NEGLIGIBLE will be allowed. + BLOCK_LOW_AND_ABOVE = 1; + + // Content with NEGLIGIBLE and LOW will be allowed. + BLOCK_MEDIUM_AND_ABOVE = 2; + + // Content with NEGLIGIBLE, LOW, and MEDIUM will be allowed. + BLOCK_ONLY_HIGH = 3; + + // All content will be allowed. + BLOCK_NONE = 4; + } + + // Required. The category for this setting. + HarmCategory category = 3 [(google.api.field_behavior) = REQUIRED]; + + // Required. Controls the probability threshold at which harm is blocked. + HarmBlockThreshold threshold = 4 [(google.api.field_behavior) = REQUIRED]; +} diff --git a/third_party/googleapis/google/ai/generativelanguage/v1beta/text_service.proto b/third_party/googleapis/google/ai/generativelanguage/v1beta/text_service.proto new file mode 100644 index 000000000..b9a066888 --- /dev/null +++ b/third_party/googleapis/google/ai/generativelanguage/v1beta/text_service.proto @@ -0,0 +1,302 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.ai.generativelanguage.v1beta; + +import "google/ai/generativelanguage/v1beta/citation.proto"; +import "google/ai/generativelanguage/v1beta/safety.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option go_package = "cloud.google.com/go/ai/generativelanguage/apiv1beta/generativelanguagepb;generativelanguagepb"; +option java_multiple_files = true; +option java_outer_classname = "TextServiceProto"; +option java_package = "com.google.ai.generativelanguage.v1beta"; + +// API for using Generative Language Models (GLMs) trained to generate text. +// +// Also known as Large Language Models (LLM)s, these generate text given an +// input prompt from the user. +service TextService { + option (google.api.default_host) = "generativelanguage.googleapis.com"; + + // Generates a response from the model given an input message. + rpc GenerateText(GenerateTextRequest) returns (GenerateTextResponse) { + option (google.api.http) = { + post: "/v1beta/{model=models/*}:generateText" + body: "*" + additional_bindings { + post: "/v1beta/{model=tunedModels/*}:generateText" + body: "*" + } + }; + option (google.api.method_signature) = + "model,prompt,temperature,candidate_count,max_output_tokens,top_p,top_k"; + } + + // Generates an embedding from the model given an input message. + rpc EmbedText(EmbedTextRequest) returns (EmbedTextResponse) { + option (google.api.http) = { + post: "/v1beta/{model=models/*}:embedText" + body: "*" + }; + option (google.api.method_signature) = "model,text"; + } + + // Generates multiple embeddings from the model given input text in a + // synchronous call. + rpc BatchEmbedText(BatchEmbedTextRequest) returns (BatchEmbedTextResponse) { + option (google.api.http) = { + post: "/v1beta/{model=models/*}:batchEmbedText" + body: "*" + }; + option (google.api.method_signature) = "model,texts"; + } + + // Runs a model's tokenizer on a text and returns the token count. + rpc CountTextTokens(CountTextTokensRequest) + returns (CountTextTokensResponse) { + option (google.api.http) = { + post: "/v1beta/{model=models/*}:countTextTokens" + body: "*" + }; + option (google.api.method_signature) = "model,prompt"; + } +} + +// Request to generate a text completion response from the model. +message GenerateTextRequest { + // Required. The name of the `Model` or `TunedModel` to use for generating the + // completion. + // Examples: + // models/text-bison-001 + // tunedModels/sentence-translator-u3b7m + string model = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The free-form input text given to the model as a prompt. + // + // Given a prompt, the model will generate a TextCompletion response it + // predicts as the completion of the input text. + TextPrompt prompt = 2 [(google.api.field_behavior) = REQUIRED]; + + // Optional. Controls the randomness of the output. + // Note: The default value varies by model, see the `Model.temperature` + // attribute of the `Model` returned the `getModel` function. + // + // Values can range from [0.0,1.0], + // inclusive. A value closer to 1.0 will produce responses that are more + // varied and creative, while a value closer to 0.0 will typically result in + // more straightforward responses from the model. + optional float temperature = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Number of generated responses to return. + // + // This value must be between [1, 8], inclusive. If unset, this will default + // to 1. + optional int32 candidate_count = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The maximum number of tokens to include in a candidate. + // + // If unset, this will default to output_token_limit specified in the `Model` + // specification. + optional int32 max_output_tokens = 5 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The maximum cumulative probability of tokens to consider when + // sampling. + // + // The model uses combined Top-k and nucleus sampling. + // + // Tokens are sorted based on their assigned probabilities so that only the + // most likely tokens are considered. Top-k sampling directly limits the + // maximum number of tokens to consider, while Nucleus sampling limits number + // of tokens based on the cumulative probability. + // + // Note: The default value varies by model, see the `Model.top_p` + // attribute of the `Model` returned the `getModel` function. + optional float top_p = 6 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The maximum number of tokens to consider when sampling. + // + // The model uses combined Top-k and nucleus sampling. + // + // Top-k sampling considers the set of `top_k` most probable tokens. + // Defaults to 40. + // + // Note: The default value varies by model, see the `Model.top_k` + // attribute of the `Model` returned the `getModel` function. + optional int32 top_k = 7 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A list of unique `SafetySetting` instances for blocking unsafe + // content. + // + // that will be enforced on the `GenerateTextRequest.prompt` and + // `GenerateTextResponse.candidates`. There should not be more than one + // setting for each `SafetyCategory` type. The API will block any prompts and + // responses that fail to meet the thresholds set by these settings. This list + // overrides the default settings for each `SafetyCategory` specified in the + // safety_settings. If there is no `SafetySetting` for a given + // `SafetyCategory` provided in the list, the API will use the default safety + // setting for that category. Harm categories HARM_CATEGORY_DEROGATORY, + // HARM_CATEGORY_TOXICITY, HARM_CATEGORY_VIOLENCE, HARM_CATEGORY_SEXUAL, + // HARM_CATEGORY_MEDICAL, HARM_CATEGORY_DANGEROUS are supported in text + // service. + repeated SafetySetting safety_settings = 8 + [(google.api.field_behavior) = OPTIONAL]; + + // The set of character sequences (up to 5) that will stop output generation. + // If specified, the API will stop at the first appearance of a stop + // sequence. The stop sequence will not be included as part of the response. + repeated string stop_sequences = 9; +} + +// The response from the model, including candidate completions. +message GenerateTextResponse { + // Candidate responses from the model. + repeated TextCompletion candidates = 1; + + // A set of content filtering metadata for the prompt and response + // text. + // + // This indicates which `SafetyCategory`(s) blocked a + // candidate from this response, the lowest `HarmProbability` + // that triggered a block, and the HarmThreshold setting for that category. + // This indicates the smallest change to the `SafetySettings` that would be + // necessary to unblock at least 1 response. + // + // The blocking is configured by the `SafetySettings` in the request (or the + // default `SafetySettings` of the API). + repeated ContentFilter filters = 3; + + // Returns any safety feedback related to content filtering. + repeated SafetyFeedback safety_feedback = 4; +} + +// Text given to the model as a prompt. +// +// The Model will use this TextPrompt to Generate a text completion. +message TextPrompt { + // Required. The prompt text. + string text = 1 [(google.api.field_behavior) = REQUIRED]; +} + +// Output text returned from a model. +message TextCompletion { + // Output only. The generated text returned from the model. + string output = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Ratings for the safety of a response. + // + // There is at most one rating per category. + repeated SafetyRating safety_ratings = 2; + + // Output only. Citation information for model-generated `output` in this + // `TextCompletion`. + // + // This field may be populated with attribution information for any text + // included in the `output`. + optional CitationMetadata citation_metadata = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Request to get a text embedding from the model. +message EmbedTextRequest { + // Required. The model name to use with the format model=models/{model}. + string model = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "generativelanguage.googleapis.com/Model" + } + ]; + + // Optional. The free-form input text that the model will turn into an + // embedding. + string text = 2 [(google.api.field_behavior) = OPTIONAL]; +} + +// The response to a EmbedTextRequest. +message EmbedTextResponse { + // Output only. The embedding generated from the input text. + optional Embedding embedding = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Batch request to get a text embedding from the model. +message BatchEmbedTextRequest { + // Required. The name of the `Model` to use for generating the embedding. + // Examples: + // models/embedding-gecko-001 + string model = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "generativelanguage.googleapis.com/Model" + } + ]; + + // Optional. The free-form input texts that the model will turn into an + // embedding. The current limit is 100 texts, over which an error will be + // thrown. + repeated string texts = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Embed requests for the batch. Only one of `texts` or `requests` + // can be set. + repeated EmbedTextRequest requests = 3 + [(google.api.field_behavior) = OPTIONAL]; +} + +// The response to a EmbedTextRequest. +message BatchEmbedTextResponse { + // Output only. The embeddings generated from the input text. + repeated Embedding embeddings = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// A list of floats representing the embedding. +message Embedding { + // The embedding values. + repeated float value = 1; +} + +// Counts the number of tokens in the `prompt` sent to a model. +// +// Models may tokenize text differently, so each model may return a different +// `token_count`. +message CountTextTokensRequest { + // Required. The model's resource name. This serves as an ID for the Model to + // use. + // + // This name should match a model name returned by the `ListModels` method. + // + // Format: `models/{model}` + string model = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "generativelanguage.googleapis.com/Model" + } + ]; + + // Required. The free-form input text given to the model as a prompt. + TextPrompt prompt = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// A response from `CountTextTokens`. +// +// It returns the model's `token_count` for the `prompt`. +message CountTextTokensResponse { + // The number of tokens that the `model` tokenizes the `prompt` into. + // + // Always non-negative. + int32 token_count = 1; +} diff --git a/third_party/googleapis/google/ai/generativelanguage/v1beta/tuned_model.proto b/third_party/googleapis/google/ai/generativelanguage/v1beta/tuned_model.proto new file mode 100644 index 000000000..f50039237 --- /dev/null +++ b/third_party/googleapis/google/ai/generativelanguage/v1beta/tuned_model.proto @@ -0,0 +1,236 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.ai.generativelanguage.v1beta; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/timestamp.proto"; + +option go_package = "cloud.google.com/go/ai/generativelanguage/apiv1beta/generativelanguagepb;generativelanguagepb"; +option java_multiple_files = true; +option java_outer_classname = "TunedModelProto"; +option java_package = "com.google.ai.generativelanguage.v1beta"; + +// A fine-tuned model created using ModelService.CreateTunedModel. +message TunedModel { + option (google.api.resource) = { + type: "generativelanguage.googleapis.com/TunedModel" + pattern: "tunedModels/{tuned_model}" + plural: "tunedModels" + singular: "tunedModel" + }; + + // The state of the tuned model. + enum State { + // The default value. This value is unused. + STATE_UNSPECIFIED = 0; + + // The model is being created. + CREATING = 1; + + // The model is ready to be used. + ACTIVE = 2; + + // The model failed to be created. + FAILED = 3; + } + + // The model used as the starting point for tuning. + oneof source_model { + // Optional. TunedModel to use as the starting point for training the new + // model. + TunedModelSource tuned_model_source = 3 + [(google.api.field_behavior) = OPTIONAL]; + + // Immutable. The name of the `Model` to tune. + // Example: `models/text-bison-001` + string base_model = 4 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "generativelanguage.googleapis.com/Model" + } + ]; + } + + // Output only. The tuned model name. A unique name will be generated on + // create. Example: `tunedModels/az2mb0bpw6i` If display_name is set on + // create, the id portion of the name will be set by concatenating the words + // of the display_name with hyphens and adding a random portion for + // uniqueness. Example: + // display_name = "Sentence Translator" + // name = "tunedModels/sentence-translator-u3b7m" + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Optional. The name to display for this model in user interfaces. + // The display name must be up to 40 characters including spaces. + string display_name = 5 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A short description of this model. + string description = 6 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Controls the randomness of the output. + // + // Values can range over `[0.0,1.0]`, inclusive. A value closer to `1.0` will + // produce responses that are more varied, while a value closer to `0.0` will + // typically result in less surprising responses from the model. + // + // This value specifies default to be the one used by the base model while + // creating the model. + optional float temperature = 11 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. For Nucleus sampling. + // + // Nucleus sampling considers the smallest set of tokens whose probability + // sum is at least `top_p`. + // + // This value specifies default to be the one used by the base model while + // creating the model. + optional float top_p = 12 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. For Top-k sampling. + // + // Top-k sampling considers the set of `top_k` most probable tokens. + // This value specifies default to be used by the backend while making the + // call to the model. + // + // This value specifies default to be the one used by the base model while + // creating the model. + optional int32 top_k = 13 [(google.api.field_behavior) = OPTIONAL]; + + // Output only. The state of the tuned model. + State state = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The timestamp when this model was created. + google.protobuf.Timestamp create_time = 8 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The timestamp when this model was updated. + google.protobuf.Timestamp update_time = 9 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. The tuning task that creates the tuned model. + TuningTask tuning_task = 10 [(google.api.field_behavior) = REQUIRED]; +} + +// Tuned model as a source for training a new model. +message TunedModelSource { + // Immutable. The name of the `TunedModel` to use as the starting point for + // training the new model. + // Example: `tunedModels/my-tuned-model` + string tuned_model = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "generativelanguage.googleapis.com/TunedModel" + } + ]; + + // Output only. The name of the base `Model` this `TunedModel` was tuned from. + // Example: `models/text-bison-001` + string base_model = 2 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "generativelanguage.googleapis.com/Model" + } + ]; +} + +// Tuning tasks that create tuned models. +message TuningTask { + // Output only. The timestamp when tuning this model started. + google.protobuf.Timestamp start_time = 1 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The timestamp when tuning this model completed. + google.protobuf.Timestamp complete_time = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Metrics collected during tuning. + repeated TuningSnapshot snapshots = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. Input only. Immutable. The model training data. + Dataset training_data = 4 [ + (google.api.field_behavior) = INPUT_ONLY, + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = IMMUTABLE + ]; + + // Immutable. Hyperparameters controlling the tuning process. If not provided, + // default values will be used. + Hyperparameters hyperparameters = 5 [(google.api.field_behavior) = IMMUTABLE]; +} + +// Hyperparameters controlling the tuning process. +message Hyperparameters { + // Immutable. The number of training epochs. An epoch is one pass through the + // training data. If not set, a default of 10 will be used. + optional int32 epoch_count = 14 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. The batch size hyperparameter for tuning. + // If not set, a default of 16 or 64 will be used based on the number of + // training examples. + optional int32 batch_size = 15 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. The learning rate hyperparameter for tuning. + // If not set, a default of 0.0002 or 0.002 will be calculated based on the + // number of training examples. + optional float learning_rate = 16 [(google.api.field_behavior) = IMMUTABLE]; +} + +// Dataset for training or validation. +message Dataset { + // Inline data or a reference to the data. + oneof dataset { + // Optional. Inline examples. + TuningExamples examples = 1 [(google.api.field_behavior) = OPTIONAL]; + } +} + +// A set of tuning examples. Can be training or validation data. +message TuningExamples { + // Required. The examples. Example input can be for text or discuss, but all + // examples in a set must be of the same type. + repeated TuningExample examples = 1 [(google.api.field_behavior) = REQUIRED]; +} + +// A single example for tuning. +message TuningExample { + // The input to the model for this example. + oneof model_input { + // Optional. Text model input. + string text_input = 1 [(google.api.field_behavior) = OPTIONAL]; + } + + // Required. The expected model output. + string output = 3 [(google.api.field_behavior) = REQUIRED]; +} + +// Record for a single tuning step. +message TuningSnapshot { + // Output only. The tuning step. + int32 step = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The epoch this step was part of. + int32 epoch = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The mean loss of the training examples for this step. + float mean_loss = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The timestamp when this metric was computed. + google.protobuf.Timestamp compute_time = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ai/generativelanguage/v1beta2/BUILD.bazel b/third_party/googleapis/google/ai/generativelanguage/v1beta2/BUILD.bazel new file mode 100644 index 000000000..734574330 --- /dev/null +++ b/third_party/googleapis/google/ai/generativelanguage/v1beta2/BUILD.bazel @@ -0,0 +1,377 @@ +# 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 = "generativelanguage_proto", + srcs = [ + "citation.proto", + "discuss_service.proto", + "model.proto", + "model_service.proto", + "safety.proto", + "text_service.proto", + ], + deps = [ + "//google/api:annotations_proto", + "//google/api:client_proto", + "//google/api:field_behavior_proto", + "//google/api:resource_proto", + ], +) + +proto_library_with_info( + name = "generativelanguage_proto_with_info", + deps = [ + ":generativelanguage_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 = "generativelanguage_java_proto", + deps = [":generativelanguage_proto"], +) + +java_grpc_library( + name = "generativelanguage_java_grpc", + srcs = [":generativelanguage_proto"], + deps = [":generativelanguage_java_proto"], +) + +java_gapic_library( + name = "generativelanguage_java_gapic", + srcs = [":generativelanguage_proto_with_info"], + gapic_yaml = None, + grpc_service_config = "generativeai_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "generativelanguage_v1beta2.yaml", + test_deps = [ + ":generativelanguage_java_grpc", + ], + transport = "grpc+rest", + deps = [ + ":generativelanguage_java_proto", + "//google/api:api_java_proto", + ], +) + +java_gapic_test( + name = "generativelanguage_java_gapic_test_suite", + test_classes = [ + "com.google.ai.generativelanguage.v1beta2.DiscussServiceClientHttpJsonTest", + "com.google.ai.generativelanguage.v1beta2.DiscussServiceClientTest", + "com.google.ai.generativelanguage.v1beta2.ModelServiceClientHttpJsonTest", + "com.google.ai.generativelanguage.v1beta2.ModelServiceClientTest", + "com.google.ai.generativelanguage.v1beta2.TextServiceClientHttpJsonTest", + "com.google.ai.generativelanguage.v1beta2.TextServiceClientTest", + ], + runtime_deps = [":generativelanguage_java_gapic_test"], +) + +# Open Source Packages +java_gapic_assembly_gradle_pkg( + name = "google-cloud-ai-generativelanguage-v1beta2-java", + include_samples = True, + transport = "grpc+rest", + deps = [ + ":generativelanguage_java_gapic", + ":generativelanguage_java_grpc", + ":generativelanguage_java_proto", + ":generativelanguage_proto", + ], +) + +############################################################################## +# Go +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "go_gapic_assembly_pkg", + "go_gapic_library", + "go_proto_library", +) + +go_proto_library( + name = "generativelanguage_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "cloud.google.com/go/ai/generativelanguage/apiv1beta2/generativelanguagepb", + protos = [":generativelanguage_proto"], + deps = [ + "//google/api:annotations_go_proto", + ], +) + +go_gapic_library( + name = "generativelanguage_go_gapic", + srcs = [":generativelanguage_proto_with_info"], + grpc_service_config = "generativeai_grpc_service_config.json", + importpath = "cloud.google.com/go/ai/generativelanguage/apiv1beta2;generativelanguage", + metadata = True, + release_level = "beta", + rest_numeric_enums = True, + service_yaml = "generativelanguage_v1beta2.yaml", + transport = "grpc+rest", + deps = [ + ":generativelanguage_go_proto", + ], +) + +# Open Source Packages +go_gapic_assembly_pkg( + name = "gapi-cloud-ai-generativelanguage-v1beta2-go", + deps = [ + ":generativelanguage_go_gapic", + ":generativelanguage_go_gapic_srcjar-metadata.srcjar", + ":generativelanguage_go_gapic_srcjar-snippets.srcjar", + ":generativelanguage_go_gapic_srcjar-test.srcjar", + ":generativelanguage_go_proto", + ], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "py_gapic_assembly_pkg", + "py_gapic_library", + "py_test", +) + +py_gapic_library( + name = "generativelanguage_py_gapic", + srcs = [":generativelanguage_proto"], + grpc_service_config = "generativeai_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "generativelanguage_v1beta2.yaml", + transport = "grpc+rest", + deps = [ + ], +) + +py_test( + name = "generativelanguage_py_gapic_test", + srcs = [ + "generativelanguage_py_gapic_pytest.py", + "generativelanguage_py_gapic_test.py", + ], + legacy_create_init = False, + deps = [":generativelanguage_py_gapic"], +) + +# Open Source Packages +py_gapic_assembly_pkg( + name = "ai-generativelanguage-v1beta2-py", + deps = [ + ":generativelanguage_py_gapic", + ], +) + +############################################################################## +# PHP +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "php_gapic_assembly_pkg", + "php_gapic_library", + "php_proto_library", +) + +php_proto_library( + name = "generativelanguage_php_proto", + deps = [":generativelanguage_proto"], +) + +php_gapic_library( + name = "generativelanguage_php_gapic", + srcs = [":generativelanguage_proto_with_info"], + grpc_service_config = "generativeai_grpc_service_config.json", + migration_mode = "PRE_MIGRATION_SURFACE_ONLY", + rest_numeric_enums = True, + service_yaml = "generativelanguage_v1beta2.yaml", + transport = "grpc+rest", + deps = [ + ":generativelanguage_php_proto", + ], +) + +# Open Source Packages +php_gapic_assembly_pkg( + name = "google-cloud-ai-generativelanguage-v1beta2-php", + deps = [ + ":generativelanguage_php_gapic", + ":generativelanguage_php_proto", + ], +) + +############################################################################## +# Node.js +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "nodejs_gapic_assembly_pkg", + "nodejs_gapic_library", +) + +nodejs_gapic_library( + name = "generativelanguage_nodejs_gapic", + package_name = "@google-ai/generativelanguage", + src = ":generativelanguage_proto_with_info", + extra_protoc_parameters = ["metadata"], + grpc_service_config = "generativeai_grpc_service_config.json", + package = "google.ai.generativelanguage.v1beta2", + rest_numeric_enums = True, + service_yaml = "generativelanguage_v1beta2.yaml", + transport = "grpc+rest", + deps = [], +) + +nodejs_gapic_assembly_pkg( + name = "ai-generativelanguage-v1beta2-nodejs", + deps = [ + ":generativelanguage_nodejs_gapic", + ":generativelanguage_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 = "generativelanguage_ruby_proto", + deps = [":generativelanguage_proto"], +) + +ruby_grpc_library( + name = "generativelanguage_ruby_grpc", + srcs = [":generativelanguage_proto"], + deps = [":generativelanguage_ruby_proto"], +) + +ruby_cloud_gapic_library( + name = "generativelanguage_ruby_gapic", + srcs = [":generativelanguage_proto_with_info"], + extra_protoc_parameters = ["ruby-cloud-gem-name=google-cloud-ai-generativelanguage-v1beta2"], + grpc_service_config = "generativeai_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "generativelanguage_v1beta2.yaml", + transport = "grpc+rest", + deps = [ + ":generativelanguage_ruby_grpc", + ":generativelanguage_ruby_proto", + ], +) + +# Open Source Packages +ruby_gapic_assembly_pkg( + name = "google-cloud-ai-generativelanguage-v1beta2-ruby", + deps = [ + ":generativelanguage_ruby_gapic", + ":generativelanguage_ruby_grpc", + ":generativelanguage_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 = "generativelanguage_csharp_proto", + deps = [":generativelanguage_proto"], +) + +csharp_grpc_library( + name = "generativelanguage_csharp_grpc", + srcs = [":generativelanguage_proto"], + deps = [":generativelanguage_csharp_proto"], +) + +csharp_gapic_library( + name = "generativelanguage_csharp_gapic", + srcs = [":generativelanguage_proto_with_info"], + common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json", + grpc_service_config = "generativeai_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "generativelanguage_v1beta2.yaml", + transport = "grpc+rest", + deps = [ + ":generativelanguage_csharp_grpc", + ":generativelanguage_csharp_proto", + ], +) + +# Open Source Packages +csharp_gapic_assembly_pkg( + name = "google-cloud-ai-generativelanguage-v1beta2-csharp", + deps = [ + ":generativelanguage_csharp_gapic", + ":generativelanguage_csharp_grpc", + ":generativelanguage_csharp_proto", + ], +) + +############################################################################## +# C++ +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "cc_grpc_library", + "cc_proto_library", +) + +cc_proto_library( + name = "generativelanguage_cc_proto", + deps = [":generativelanguage_proto"], +) + +cc_grpc_library( + name = "generativelanguage_cc_grpc", + srcs = [":generativelanguage_proto"], + grpc_only = True, + deps = [":generativelanguage_cc_proto"], +) diff --git a/third_party/googleapis/google/ai/generativelanguage/v1beta2/citation.proto b/third_party/googleapis/google/ai/generativelanguage/v1beta2/citation.proto new file mode 100644 index 000000000..53dad8ce9 --- /dev/null +++ b/third_party/googleapis/google/ai/generativelanguage/v1beta2/citation.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.ai.generativelanguage.v1beta2; + +import "google/api/field_behavior.proto"; + +option go_package = "cloud.google.com/go/ai/generativelanguage/apiv1beta2/generativelanguagepb;generativelanguagepb"; +option java_multiple_files = true; +option java_outer_classname = "CitationProto"; +option java_package = "com.google.ai.generativelanguage.v1beta2"; + +// A collection of source attributions for a piece of content. +message CitationMetadata { + // Citations to sources for a specific response. + repeated CitationSource citation_sources = 1; +} + +// A citation to a source for a portion of a specific response. +message CitationSource { + // Optional. Start of segment of the response that is attributed to this + // source. + // + // Index indicates the start of the segment, measured in bytes. + optional int32 start_index = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. End of the attributed segment, exclusive. + optional int32 end_index = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. URI that is attributed as a source for a portion of the text. + optional string uri = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. License for the GitHub project that is attributed as a source for + // segment. + // + // License info is required for code citations. + optional string license = 4 [(google.api.field_behavior) = OPTIONAL]; +} diff --git a/third_party/googleapis/google/ai/generativelanguage/v1beta2/discuss_service.proto b/third_party/googleapis/google/ai/generativelanguage/v1beta2/discuss_service.proto new file mode 100644 index 000000000..60ba4226f --- /dev/null +++ b/third_party/googleapis/google/ai/generativelanguage/v1beta2/discuss_service.proto @@ -0,0 +1,246 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.ai.generativelanguage.v1beta2; + +import "google/ai/generativelanguage/v1beta2/citation.proto"; +import "google/ai/generativelanguage/v1beta2/safety.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option go_package = "cloud.google.com/go/ai/generativelanguage/apiv1beta2/generativelanguagepb;generativelanguagepb"; +option java_multiple_files = true; +option java_outer_classname = "DiscussServiceProto"; +option java_package = "com.google.ai.generativelanguage.v1beta2"; + +// An API for using Generative Language Models (GLMs) in dialog applications. +// +// Also known as large language models (LLMs), this API provides models that +// are trained for multi-turn dialog. +service DiscussService { + option (google.api.default_host) = "generativelanguage.googleapis.com"; + + // Generates a response from the model given an input `MessagePrompt`. + rpc GenerateMessage(GenerateMessageRequest) + returns (GenerateMessageResponse) { + option (google.api.http) = { + post: "/v1beta2/{model=models/*}:generateMessage" + body: "*" + }; + option (google.api.method_signature) = + "model,prompt,temperature,candidate_count,top_p,top_k"; + } + + // Runs a model's tokenizer on a string and returns the token count. + rpc CountMessageTokens(CountMessageTokensRequest) + returns (CountMessageTokensResponse) { + option (google.api.http) = { + post: "/v1beta2/{model=models/*}:countMessageTokens" + body: "*" + }; + option (google.api.method_signature) = "model,prompt"; + } +} + +// Request to generate a message response from the model. +message GenerateMessageRequest { + // Required. The name of the model to use. + // + // Format: `name=models/{model}`. + string model = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "generativelanguage.googleapis.com/Model" + } + ]; + + // Required. The structured textual input given to the model as a prompt. + // + // Given a + // prompt, the model will return what it predicts is the next message in the + // discussion. + MessagePrompt prompt = 2 [(google.api.field_behavior) = REQUIRED]; + + // Optional. Controls the randomness of the output. + // + // Values can range over `[0.0,1.0]`, + // inclusive. A value closer to `1.0` will produce responses that are more + // varied, while a value closer to `0.0` will typically result in + // less surprising responses from the model. + optional float temperature = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The number of generated response messages to return. + // + // This value must be between + // `[1, 8]`, inclusive. If unset, this will default to `1`. + optional int32 candidate_count = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The maximum cumulative probability of tokens to consider when + // sampling. + // + // The model uses combined Top-k and nucleus sampling. + // + // Nucleus sampling considers the smallest set of tokens whose probability + // sum is at least `top_p`. + optional float top_p = 5 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The maximum number of tokens to consider when sampling. + // + // The model uses combined Top-k and nucleus sampling. + // + // Top-k sampling considers the set of `top_k` most probable tokens. + optional int32 top_k = 6 [(google.api.field_behavior) = OPTIONAL]; +} + +// The response from the model. +// +// This includes candidate messages and +// conversation history in the form of chronologically-ordered messages. +message GenerateMessageResponse { + // Candidate response messages from the model. + repeated Message candidates = 1; + + // The conversation history used by the model. + repeated Message messages = 2; + + // A set of content filtering metadata for the prompt and response + // text. + // + // This indicates which `SafetyCategory`(s) blocked a + // candidate from this response, the lowest `HarmProbability` + // that triggered a block, and the HarmThreshold setting for that category. + repeated ContentFilter filters = 3; +} + +// The base unit of structured text. +// +// A `Message` includes an `author` and the `content` of +// the `Message`. +// +// The `author` is used to tag messages when they are fed to the +// model as text. +message Message { + // Optional. The author of this Message. + // + // This serves as a key for tagging + // the content of this Message when it is fed to the model as text. + // + // The author can be any alphanumeric string. + string author = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Required. The text content of the structured `Message`. + string content = 2 [(google.api.field_behavior) = REQUIRED]; + + // Output only. Citation information for model-generated `content` in this + // `Message`. + // + // If this `Message` was generated as output from the model, this field may be + // populated with attribution information for any text included in the + // `content`. This field is used only on output. + optional CitationMetadata citation_metadata = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// All of the structured input text passed to the model as a prompt. +// +// A `MessagePrompt` contains a structured set of fields that provide context +// for the conversation, examples of user input/model output message pairs that +// prime the model to respond in different ways, and the conversation history +// or list of messages representing the alternating turns of the conversation +// between the user and the model. +message MessagePrompt { + // Optional. Text that should be provided to the model first to ground the + // response. + // + // If not empty, this `context` will be given to the model first before the + // `examples` and `messages`. When using a `context` be sure to provide it + // with every request to maintain continuity. + // + // This field can be a description of your prompt to the model to help provide + // context and guide the responses. Examples: "Translate the phrase from + // English to French." or "Given a statement, classify the sentiment as happy, + // sad or neutral." + // + // Anything included in this field will take precedence over message history + // if the total input size exceeds the model's `input_token_limit` and the + // input request is truncated. + string context = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Examples of what the model should generate. + // + // This includes both user input and the response that the model should + // emulate. + // + // These `examples` are treated identically to conversation messages except + // that they take precedence over the history in `messages`: + // If the total input size exceeds the model's `input_token_limit` the input + // will be truncated. Items will be dropped from `messages` before `examples`. + repeated Example examples = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Required. A snapshot of the recent conversation history sorted + // chronologically. + // + // Turns alternate between two authors. + // + // If the total input size exceeds the model's `input_token_limit` the input + // will be truncated: The oldest items will be dropped from `messages`. + repeated Message messages = 3 [(google.api.field_behavior) = REQUIRED]; +} + +// An input/output example used to instruct the Model. +// +// It demonstrates how the model should respond or format its response. +message Example { + // Required. An example of an input `Message` from the user. + Message input = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. An example of what the model should output given the input. + Message output = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Counts the number of tokens in the `prompt` sent to a model. +// +// Models may tokenize text differently, so each model may return a different +// `token_count`. +message CountMessageTokensRequest { + // Required. The model's resource name. This serves as an ID for the Model to + // use. + // + // This name should match a model name returned by the `ListModels` method. + // + // Format: `models/{model}` + string model = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "generativelanguage.googleapis.com/Model" + } + ]; + + // Required. The prompt, whose token count is to be returned. + MessagePrompt prompt = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// A response from `CountMessageTokens`. +// +// It returns the model's `token_count` for the `prompt`. +message CountMessageTokensResponse { + // The number of tokens that the `model` tokenizes the `prompt` into. + // + // Always non-negative. + int32 token_count = 1; +} diff --git a/third_party/googleapis/google/ai/generativelanguage/v1beta2/generativeai_grpc_service_config.json b/third_party/googleapis/google/ai/generativelanguage/v1beta2/generativeai_grpc_service_config.json new file mode 100644 index 000000000..69bf1ec33 --- /dev/null +++ b/third_party/googleapis/google/ai/generativelanguage/v1beta2/generativeai_grpc_service_config.json @@ -0,0 +1,24 @@ +{ + "methodConfig": [{ + "name": [ + { "service": "google.ai.generativelanguage.v1beta1.DiscussService", "method": "GenerateMessage" }, + { "service": "google.ai.generativelanguage.v1beta1.DiscussService", "method": "CountMessageTokens" }, + { "service": "google.ai.generativelanguage.v1beta1.ModelService", "method": "GetModel" }, + { "service": "google.ai.generativelanguage.v1beta1.ModelService", "method": "ListModels" }, + { "service": "google.ai.generativelanguage.v1beta2.DiscussService", "method": "GenerateMessage" }, + { "service": "google.ai.generativelanguage.v1beta2.DiscussService", "method": "CountMessageTokens" }, + { "service": "google.ai.generativelanguage.v1beta2.ModelService", "method": "GetModel" }, + { "service": "google.ai.generativelanguage.v1beta2.ModelService", "method": "ListModels" }, + { "service": "google.ai.generativelanguage.v1beta2.TextService", "method": "GenerateText" }, + { "service": "google.ai.generativelanguage.v1beta2.TextService", "method": "EmbedText" } + ], + "timeout": "60s", + "retryPolicy": { + "maxAttempts": 5, + "initialBackoff": "1s", + "maxBackoff": "10s", + "backoffMultiplier": 1.3, + "retryableStatusCodes": ["UNAVAILABLE"] + } + }] +} \ No newline at end of file diff --git a/third_party/googleapis/google/ai/generativelanguage/v1beta2/generativelanguage_v1beta2.yaml b/third_party/googleapis/google/ai/generativelanguage/v1beta2/generativelanguage_v1beta2.yaml new file mode 100644 index 000000000..bf1ecca47 --- /dev/null +++ b/third_party/googleapis/google/ai/generativelanguage/v1beta2/generativelanguage_v1beta2.yaml @@ -0,0 +1,65 @@ +type: google.api.Service +config_version: 3 +name: generativelanguage.googleapis.com +title: Generative Language API + +apis: +- name: google.ai.generativelanguage.v1beta2.DiscussService +- name: google.ai.generativelanguage.v1beta2.ModelService +- name: google.ai.generativelanguage.v1beta2.TextService + +documentation: + summary: |- + The PaLM API allows developers to build generative AI applications using + the PaLM model. Large Language Models (LLMs) are a powerful, versatile + type of machine learning model that enables computers to comprehend and + generate natural language through a series of prompts. The PaLM API is + based on Google's next generation LLM, PaLM. It excels at a variety of + different tasks like code generation, reasoning, and writing. You can use + the PaLM API to build generative AI applications for use cases like + content generation, dialogue agents, summarization and classification + systems, and more. + +backend: + rules: + - selector: google.ai.generativelanguage.v1beta2.DiscussService.CountMessageTokens + deadline: 50.0 + - selector: google.ai.generativelanguage.v1beta2.DiscussService.GenerateMessage + deadline: 50.0 + - selector: google.ai.generativelanguage.v1beta2.TextService.EmbedText + deadline: 50.0 + - selector: google.ai.generativelanguage.v1beta2.TextService.GenerateText + deadline: 50.0 + +publishing: + new_issue_uri: https://github.com/google/generative-ai-python/issues/new + documentation_uri: https://developers.generativeai.google/ + api_short_name: generativelanguage + github_label: 'api: ai' + doc_tag_prefix: generativelanguage + organization: CLOUD + library_settings: + - version: google.ai.generativelanguage.v1beta2 + launch_stage: EARLY_ACCESS + java_settings: + common: {} + cpp_settings: + common: {} + php_settings: + common: {} + python_settings: + common: + destinations: + - PACKAGE_MANAGER + node_settings: + common: + destinations: + - PACKAGE_MANAGER + dotnet_settings: + common: {} + ruby_settings: + common: {} + go_settings: + common: + destinations: + - PACKAGE_MANAGER diff --git a/third_party/googleapis/google/ai/generativelanguage/v1beta2/model.proto b/third_party/googleapis/google/ai/generativelanguage/v1beta2/model.proto new file mode 100644 index 000000000..8d13a8712 --- /dev/null +++ b/third_party/googleapis/google/ai/generativelanguage/v1beta2/model.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.ai.generativelanguage.v1beta2; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option go_package = "cloud.google.com/go/ai/generativelanguage/apiv1beta2/generativelanguagepb;generativelanguagepb"; +option java_multiple_files = true; +option java_outer_classname = "ModelProto"; +option java_package = "com.google.ai.generativelanguage.v1beta2"; + +// Information about a Generative Language Model. +message Model { + option (google.api.resource) = { + type: "generativelanguage.googleapis.com/Model" + pattern: "models/{model}" + }; + + // Required. The resource name of the `Model`. + // + // Format: `models/{model}` with a `{model}` naming convention of: + // + // * "{base_model_id}-{version}" + // + // Examples: + // + // * `models/chat-bison-001` + string name = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The name of the base model, pass this to the generation request. + // + // Examples: + // + // * `chat-bison` + string base_model_id = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The version number of the model. + // + // This represents the major version + string version = 3 [(google.api.field_behavior) = REQUIRED]; + + // The human-readable name of the model. E.g. "Chat Bison". + // + // The name can be up to 128 characters long and can consist of any UTF-8 + // characters. + string display_name = 4; + + // A short description of the model. + string description = 5; + + // Maximum number of input tokens allowed for this model. + int32 input_token_limit = 6; + + // Maximum number of output tokens available for this model. + int32 output_token_limit = 7; + + // The model's supported generation methods. + // + // The method names are defined as Pascal case + // strings, such as `generateMessage` which correspond to API methods. + repeated string supported_generation_methods = 8; + + // Controls the randomness of the output. + // + // Values can range over `[0.0,1.0]`, inclusive. A value closer to `1.0` will + // produce responses that are more varied, while a value closer to `0.0` will + // typically result in less surprising responses from the model. + // This value specifies default to be used by the backend while making the + // call to the model. + optional float temperature = 9; + + // For Nucleus sampling. + // + // Nucleus sampling considers the smallest set of tokens whose probability + // sum is at least `top_p`. + // This value specifies default to be used by the backend while making the + // call to the model. + optional float top_p = 10; + + // For Top-k sampling. + // + // Top-k sampling considers the set of `top_k` most probable tokens. + // This value specifies default to be used by the backend while making the + // call to the model. + optional int32 top_k = 11; +} diff --git a/third_party/googleapis/google/ai/generativelanguage/v1beta2/model_service.proto b/third_party/googleapis/google/ai/generativelanguage/v1beta2/model_service.proto new file mode 100644 index 000000000..a26db1259 --- /dev/null +++ b/third_party/googleapis/google/ai/generativelanguage/v1beta2/model_service.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.ai.generativelanguage.v1beta2; + +import "google/ai/generativelanguage/v1beta2/model.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option go_package = "cloud.google.com/go/ai/generativelanguage/apiv1beta2/generativelanguagepb;generativelanguagepb"; +option java_multiple_files = true; +option java_outer_classname = "ModelServiceProto"; +option java_package = "com.google.ai.generativelanguage.v1beta2"; + +// Provides methods for getting metadata information about Generative Models. +service ModelService { + option (google.api.default_host) = "generativelanguage.googleapis.com"; + + // Gets information about a specific Model. + rpc GetModel(GetModelRequest) returns (Model) { + option (google.api.http) = { + get: "/v1beta2/{name=models/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Lists models available through the API. + rpc ListModels(ListModelsRequest) returns (ListModelsResponse) { + option (google.api.http) = { + get: "/v1beta2/models" + }; + option (google.api.method_signature) = "page_size,page_token"; + } +} + +// Request for getting information about a specific Model. +message GetModelRequest { + // Required. The resource name of the model. + // + // This name should match a model name returned by the `ListModels` method. + // + // Format: `models/{model}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "generativelanguage.googleapis.com/Model" + } + ]; +} + +// Request for listing all Models. +message ListModelsRequest { + // The maximum number of `Models` to return (per page). + // + // The service may return fewer models. + // If unspecified, at most 50 models will be returned per page. + // This method returns at most 1000 models per page, even if you pass a larger + // page_size. + int32 page_size = 2; + + // A page token, received from a previous `ListModels` call. + // + // Provide the `page_token` returned by one request as an argument to the next + // request to retrieve the next page. + // + // When paginating, all other parameters provided to `ListModels` must match + // the call that provided the page token. + string page_token = 3; +} + +// Response from `ListModel` containing a paginated list of Models. +message ListModelsResponse { + // The returned Models. + repeated Model models = 1; + + // A token, which can be sent as `page_token` to retrieve the next page. + // + // If this field is omitted, there are no more pages. + string next_page_token = 2; +} diff --git a/third_party/googleapis/google/ai/generativelanguage/v1beta2/safety.proto b/third_party/googleapis/google/ai/generativelanguage/v1beta2/safety.proto new file mode 100644 index 000000000..1fc508f57 --- /dev/null +++ b/third_party/googleapis/google/ai/generativelanguage/v1beta2/safety.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.ai.generativelanguage.v1beta2; + +import "google/api/field_behavior.proto"; + +option go_package = "cloud.google.com/go/ai/generativelanguage/apiv1beta2/generativelanguagepb;generativelanguagepb"; +option java_multiple_files = true; +option java_outer_classname = "SafetyProto"; +option java_package = "com.google.ai.generativelanguage.v1beta2"; + +// The category of a rating. +// +// These categories cover various kinds of harms that developers +// may wish to adjust. +enum HarmCategory { + // Category is unspecified. + HARM_CATEGORY_UNSPECIFIED = 0; + + // Negative or harmful comments targeting identity and/or protected attribute. + HARM_CATEGORY_DEROGATORY = 1; + + // Content that is rude, disrepspectful, or profane. + HARM_CATEGORY_TOXICITY = 2; + + // Describes scenarios depictng violence against an individual or group, or + // general descriptions of gore. + HARM_CATEGORY_VIOLENCE = 3; + + // Contains references to sexual acts or other lewd content. + HARM_CATEGORY_SEXUAL = 4; + + // Promotes unchecked medical advice. + HARM_CATEGORY_MEDICAL = 5; + + // Dangerous content that promotes, facilitates, or encourages harmful acts. + HARM_CATEGORY_DANGEROUS = 6; +} + +// Content filtering metadata associated with processing a single request. +// +// ContentFilter contains a reason and an optional supporting string. The reason +// may be unspecified. +message ContentFilter { + // A list of reasons why content may have been blocked. + enum BlockedReason { + // A blocked reason was not specified. + BLOCKED_REASON_UNSPECIFIED = 0; + + // Content was blocked by safety settings. + SAFETY = 1; + + // Content was blocked, but the reason is uncategorized. + OTHER = 2; + } + + // The reason content was blocked during request processing. + BlockedReason reason = 1; + + // A string that describes the filtering behavior in more detail. + optional string message = 2; +} + +// Safety feedback for an entire request. +// +// This field is populated if content in the input and/or response is blocked +// due to safety settings. SafetyFeedback may not exist for every HarmCategory. +// Each SafetyFeedback will return the safety settings used by the request as +// well as the lowest HarmProbability that should be allowed in order to return +// a result. +message SafetyFeedback { + // Safety rating evaluated from content. + SafetyRating rating = 1; + + // Safety settings applied to the request. + SafetySetting setting = 2; +} + +// Safety rating for a piece of content. +// +// The safety rating contains the category of harm and the +// harm probability level in that category for a piece of content. +// Content is classified for safety across a number of +// harm categories and the probability of the harm classification is included +// here. +message SafetyRating { + // The probability that a piece of content is harmful. + // + // The classification system gives the probability of the content being + // unsafe. This does not indicate the severity of harm for a piece of content. + enum HarmProbability { + // Probability is unspecified. + HARM_PROBABILITY_UNSPECIFIED = 0; + + // Content has a negligible chance of being unsafe. + NEGLIGIBLE = 1; + + // Content has a low chance of being unsafe. + LOW = 2; + + // Content has a medium chance of being unsafe. + MEDIUM = 3; + + // Content has a high chance of being unsafe. + HIGH = 4; + } + + // Required. The category for this rating. + HarmCategory category = 3 [(google.api.field_behavior) = REQUIRED]; + + // Required. The probability of harm for this content. + HarmProbability probability = 4 [(google.api.field_behavior) = REQUIRED]; +} + +// Safety setting, affecting the safety-blocking behavior. +// +// Passing a safety setting for a category changes the allowed proability that +// content is blocked. +message SafetySetting { + // Block at and beyond a specified harm probability. + enum HarmBlockThreshold { + // Threshold is unspecified. + HARM_BLOCK_THRESHOLD_UNSPECIFIED = 0; + + // Content with NEGLIGIBLE will be allowed. + BLOCK_LOW_AND_ABOVE = 1; + + // Content with NEGLIGIBLE and LOW will be allowed. + BLOCK_MEDIUM_AND_ABOVE = 2; + + // Content with NEGLIGIBLE, LOW, and MEDIUM will be allowed. + BLOCK_ONLY_HIGH = 3; + } + + // Required. The category for this setting. + HarmCategory category = 3 [(google.api.field_behavior) = REQUIRED]; + + // Required. Controls the probability threshold at which harm is blocked. + HarmBlockThreshold threshold = 4 [(google.api.field_behavior) = REQUIRED]; +} diff --git a/third_party/googleapis/google/ai/generativelanguage/v1beta2/text_service.proto b/third_party/googleapis/google/ai/generativelanguage/v1beta2/text_service.proto new file mode 100644 index 000000000..a1305cbf1 --- /dev/null +++ b/third_party/googleapis/google/ai/generativelanguage/v1beta2/text_service.proto @@ -0,0 +1,211 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.ai.generativelanguage.v1beta2; + +import "google/ai/generativelanguage/v1beta2/citation.proto"; +import "google/ai/generativelanguage/v1beta2/safety.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option go_package = "cloud.google.com/go/ai/generativelanguage/apiv1beta2/generativelanguagepb;generativelanguagepb"; +option java_multiple_files = true; +option java_outer_classname = "TextServiceProto"; +option java_package = "com.google.ai.generativelanguage.v1beta2"; + +// API for using Generative Language Models (GLMs) trained to generate text. +// +// Also known as Large Language Models (LLM)s, these generate text given an +// input prompt from the user. +service TextService { + option (google.api.default_host) = "generativelanguage.googleapis.com"; + + // Generates a response from the model given an input message. + rpc GenerateText(GenerateTextRequest) returns (GenerateTextResponse) { + option (google.api.http) = { + post: "/v1beta2/{model=models/*}:generateText" + body: "*" + }; + option (google.api.method_signature) = + "model,prompt,temperature,candidate_count,max_output_tokens,top_p,top_k"; + } + + // Generates an embedding from the model given an input message. + rpc EmbedText(EmbedTextRequest) returns (EmbedTextResponse) { + option (google.api.http) = { + post: "/v1beta2/{model=models/*}:embedText" + body: "*" + }; + option (google.api.method_signature) = "model,text"; + } +} + +// Request to generate a text completion response from the model. +message GenerateTextRequest { + // Required. The model name to use with the format name=models/{model}. + string model = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "generativelanguage.googleapis.com/Model" + } + ]; + + // Required. The free-form input text given to the model as a prompt. + // + // Given a prompt, the model will generate a TextCompletion response it + // predicts as the completion of the input text. + TextPrompt prompt = 2 [(google.api.field_behavior) = REQUIRED]; + + // Controls the randomness of the output. + // Note: The default value varies by model, see the `Model.temperature` + // attribute of the `Model` returned the `getModel` function. + // + // Values can range from [0.0,1.0], + // inclusive. A value closer to 1.0 will produce responses that are more + // varied and creative, while a value closer to 0.0 will typically result in + // more straightforward responses from the model. + optional float temperature = 3; + + // Number of generated responses to return. + // + // This value must be between [1, 8], inclusive. If unset, this will default + // to 1. + optional int32 candidate_count = 4; + + // The maximum number of tokens to include in a candidate. + // + // If unset, this will default to 64. + optional int32 max_output_tokens = 5; + + // The maximum cumulative probability of tokens to consider when sampling. + // + // The model uses combined Top-k and nucleus sampling. + // + // Tokens are sorted based on their assigned probabilities so that only the + // most liekly tokens are considered. Top-k sampling directly limits the + // maximum number of tokens to consider, while Nucleus sampling limits number + // of tokens based on the cumulative probability. + // + // Note: The default value varies by model, see the `Model.top_p` + // attribute of the `Model` returned the `getModel` function. + optional float top_p = 6; + + // The maximum number of tokens to consider when sampling. + // + // The model uses combined Top-k and nucleus sampling. + // + // Top-k sampling considers the set of `top_k` most probable tokens. + // Defaults to 40. + // + // Note: The default value varies by model, see the `Model.top_k` + // attribute of the `Model` returned the `getModel` function. + optional int32 top_k = 7; + + // A list of unique `SafetySetting` instances for blocking unsafe content. + // + // that will be enforced on the `GenerateTextRequest.prompt` and + // `GenerateTextResponse.candidates`. There should not be more than one + // setting for each `SafetyCategory` type. The API will block any prompts and + // responses that fail to meet the thresholds set by these settings. This list + // overrides the default settings for each `SafetyCategory` specified in the + // safety_settings. If there is no `SafetySetting` for a given + // `SafetyCategory` provided in the list, the API will use the default safety + // setting for that category. + repeated SafetySetting safety_settings = 8; + + // The set of character sequences (up to 5) that will stop output generation. + // If specified, the API will stop at the first appearance of a stop + // sequence. The stop sequence will not be included as part of the response. + repeated string stop_sequences = 9; +} + +// The response from the model, including candidate completions. +message GenerateTextResponse { + // Candidate responses from the model. + repeated TextCompletion candidates = 1; + + // A set of content filtering metadata for the prompt and response + // text. + // + // This indicates which `SafetyCategory`(s) blocked a + // candidate from this response, the lowest `HarmProbability` + // that triggered a block, and the HarmThreshold setting for that category. + // This indicates the smallest change to the `SafetySettings` that would be + // necessary to unblock at least 1 response. + // + // The blocking is configured by the `SafetySettings` in the request (or the + // default `SafetySettings` of the API). + repeated ContentFilter filters = 3; + + // Returns any safety feedback related to content filtering. + repeated SafetyFeedback safety_feedback = 4; +} + +// Text given to the model as a prompt. +// +// The Model will use this TextPrompt to Generate a text completion. +message TextPrompt { + // Required. The prompt text. + string text = 1 [(google.api.field_behavior) = REQUIRED]; +} + +// Output text returned from a model. +message TextCompletion { + // Output only. The generated text returned from the model. + string output = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Ratings for the safety of a response. + // + // There is at most one rating per category. + repeated SafetyRating safety_ratings = 2; + + // Output only. Citation information for model-generated `output` in this + // `TextCompletion`. + // + // This field may be populated with attribution information for any text + // included in the `output`. + optional CitationMetadata citation_metadata = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Request to get a text embedding from the model. +message EmbedTextRequest { + // Required. The model name to use with the format model=models/{model}. + string model = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "generativelanguage.googleapis.com/Model" + } + ]; + + // Required. The free-form input text that the model will turn into an + // embedding. + string text = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// The response to a EmbedTextRequest. +message EmbedTextResponse { + // Output only. The embedding generated from the input text. + optional Embedding embedding = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// A list of floats representing the embedding. +message Embedding { + // The embedding values. + repeated float value = 1; +} diff --git a/third_party/googleapis/google/ai/generativelanguage/v1beta3/BUILD.bazel b/third_party/googleapis/google/ai/generativelanguage/v1beta3/BUILD.bazel new file mode 100644 index 000000000..695f1d707 --- /dev/null +++ b/third_party/googleapis/google/ai/generativelanguage/v1beta3/BUILD.bazel @@ -0,0 +1,391 @@ +# 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 = "generativelanguage_proto", + srcs = [ + "citation.proto", + "discuss_service.proto", + "model.proto", + "model_service.proto", + "permission.proto", + "permission_service.proto", + "safety.proto", + "text_service.proto", + "tuned_model.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 = "generativelanguage_proto_with_info", + deps = [ + ":generativelanguage_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 = "generativelanguage_java_proto", + deps = [":generativelanguage_proto"], +) + +java_grpc_library( + name = "generativelanguage_java_grpc", + srcs = [":generativelanguage_proto"], + deps = [":generativelanguage_java_proto"], +) + +java_gapic_library( + name = "generativelanguage_java_gapic", + srcs = [":generativelanguage_proto_with_info"], + gapic_yaml = None, + grpc_service_config = "generativeai_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "generativelanguage_v1beta3.yaml", + test_deps = [ + ":generativelanguage_java_grpc", + ], + transport = "grpc+rest", + deps = [ + ":generativelanguage_java_proto", + "//google/api:api_java_proto", + ], +) + +java_gapic_test( + name = "generativelanguage_java_gapic_test_suite", + test_classes = [ + "com.google.ai.generativelanguage.v1beta3.DiscussServiceClientHttpJsonTest", + "com.google.ai.generativelanguage.v1beta3.DiscussServiceClientTest", + "com.google.ai.generativelanguage.v1beta3.ModelServiceClientHttpJsonTest", + "com.google.ai.generativelanguage.v1beta3.ModelServiceClientTest", + "com.google.ai.generativelanguage.v1beta3.PermissionServiceClientHttpJsonTest", + "com.google.ai.generativelanguage.v1beta3.PermissionServiceClientTest", + "com.google.ai.generativelanguage.v1beta3.TextServiceClientHttpJsonTest", + "com.google.ai.generativelanguage.v1beta3.TextServiceClientTest", + ], + runtime_deps = [":generativelanguage_java_gapic_test"], +) + +# Open Source Packages +java_gapic_assembly_gradle_pkg( + name = "google-cloud-ai-generativelanguage-v1beta3-java", + include_samples = True, + transport = "grpc+rest", + deps = [ + ":generativelanguage_java_gapic", + ":generativelanguage_java_grpc", + ":generativelanguage_java_proto", + ":generativelanguage_proto", + ], +) + +############################################################################## +# Go +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "go_gapic_assembly_pkg", + "go_gapic_library", + "go_proto_library", +) + +go_proto_library( + name = "generativelanguage_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "cloud.google.com/go/ai/generativelanguage/apiv1beta3/generativelanguagepb", + protos = [":generativelanguage_proto"], + deps = [ + "//google/api:annotations_go_proto", + "//google/longrunning:longrunning_go_proto", + ], +) + +go_gapic_library( + name = "generativelanguage_go_gapic", + srcs = [":generativelanguage_proto_with_info"], + grpc_service_config = "generativeai_grpc_service_config.json", + importpath = "cloud.google.com/go/ai/generativelanguage/apiv1beta3;generativelanguage", + metadata = True, + release_level = "beta", + rest_numeric_enums = True, + service_yaml = "generativelanguage_v1beta3.yaml", + transport = "grpc+rest", + deps = [ + ":generativelanguage_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-ai-generativelanguage-v1beta3-go", + deps = [ + ":generativelanguage_go_gapic", + ":generativelanguage_go_gapic_srcjar-metadata.srcjar", + ":generativelanguage_go_gapic_srcjar-snippets.srcjar", + ":generativelanguage_go_gapic_srcjar-test.srcjar", + ":generativelanguage_go_proto", + ], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "py_gapic_assembly_pkg", + "py_gapic_library", + "py_test", +) + +py_gapic_library( + name = "generativelanguage_py_gapic", + srcs = [":generativelanguage_proto"], + grpc_service_config = "generativeai_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "generativelanguage_v1beta3.yaml", + transport = "grpc+rest", + deps = [ + ], +) + +py_test( + name = "generativelanguage_py_gapic_test", + srcs = [ + "generativelanguage_py_gapic_pytest.py", + "generativelanguage_py_gapic_test.py", + ], + legacy_create_init = False, + deps = [":generativelanguage_py_gapic"], +) + +# Open Source Packages +py_gapic_assembly_pkg( + name = "ai-generativelanguage-v1beta3-py", + deps = [ + ":generativelanguage_py_gapic", + ], +) + +############################################################################## +# PHP +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "php_gapic_assembly_pkg", + "php_gapic_library", + "php_proto_library", +) + +php_proto_library( + name = "generativelanguage_php_proto", + deps = [":generativelanguage_proto"], +) + +php_gapic_library( + name = "generativelanguage_php_gapic", + srcs = [":generativelanguage_proto_with_info"], + grpc_service_config = "generativeai_grpc_service_config.json", + migration_mode = "PRE_MIGRATION_SURFACE_ONLY", + rest_numeric_enums = True, + service_yaml = "generativelanguage_v1beta3.yaml", + transport = "grpc+rest", + deps = [ + ":generativelanguage_php_proto", + ], +) + +# Open Source Packages +php_gapic_assembly_pkg( + name = "google-cloud-ai-generativelanguage-v1beta3-php", + deps = [ + ":generativelanguage_php_gapic", + ":generativelanguage_php_proto", + ], +) + +############################################################################## +# Node.js +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "nodejs_gapic_assembly_pkg", + "nodejs_gapic_library", +) + +nodejs_gapic_library( + name = "generativelanguage_nodejs_gapic", + package_name = "@google-ai/generativelanguage", + src = ":generativelanguage_proto_with_info", + extra_protoc_parameters = ["metadata"], + grpc_service_config = "generativeai_grpc_service_config.json", + package = "google.ai.generativelanguage.v1beta3", + rest_numeric_enums = True, + service_yaml = "generativelanguage_v1beta3.yaml", + transport = "grpc+rest", + deps = [], +) + +nodejs_gapic_assembly_pkg( + name = "ai-generativelanguage-v1beta3-nodejs", + deps = [ + ":generativelanguage_nodejs_gapic", + ":generativelanguage_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 = "generativelanguage_ruby_proto", + deps = [":generativelanguage_proto"], +) + +ruby_grpc_library( + name = "generativelanguage_ruby_grpc", + srcs = [":generativelanguage_proto"], + deps = [":generativelanguage_ruby_proto"], +) + +ruby_cloud_gapic_library( + name = "generativelanguage_ruby_gapic", + srcs = [":generativelanguage_proto_with_info"], + extra_protoc_parameters = ["ruby-cloud-gem-name=google-cloud-ai-generativelanguage-v1beta3"], + grpc_service_config = "generativeai_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "generativelanguage_v1beta3.yaml", + transport = "grpc+rest", + deps = [ + ":generativelanguage_ruby_grpc", + ":generativelanguage_ruby_proto", + ], +) + +# Open Source Packages +ruby_gapic_assembly_pkg( + name = "google-cloud-ai-generativelanguage-v1beta3-ruby", + deps = [ + ":generativelanguage_ruby_gapic", + ":generativelanguage_ruby_grpc", + ":generativelanguage_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 = "generativelanguage_csharp_proto", + extra_opts = [], + deps = [":generativelanguage_proto"], +) + +csharp_grpc_library( + name = "generativelanguage_csharp_grpc", + srcs = [":generativelanguage_proto"], + deps = [":generativelanguage_csharp_proto"], +) + +csharp_gapic_library( + name = "generativelanguage_csharp_gapic", + srcs = [":generativelanguage_proto_with_info"], + common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json", + grpc_service_config = "generativeai_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "generativelanguage_v1beta3.yaml", + transport = "grpc+rest", + deps = [ + ":generativelanguage_csharp_grpc", + ":generativelanguage_csharp_proto", + ], +) + +# Open Source Packages +csharp_gapic_assembly_pkg( + name = "google-cloud-ai-generativelanguage-v1beta3-csharp", + deps = [ + ":generativelanguage_csharp_gapic", + ":generativelanguage_csharp_grpc", + ":generativelanguage_csharp_proto", + ], +) + +############################################################################## +# C++ +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "cc_grpc_library", + "cc_proto_library", +) + +cc_proto_library( + name = "generativelanguage_cc_proto", + deps = [":generativelanguage_proto"], +) + +cc_grpc_library( + name = "generativelanguage_cc_grpc", + srcs = [":generativelanguage_proto"], + grpc_only = True, + deps = [":generativelanguage_cc_proto"], +) diff --git a/third_party/googleapis/google/ai/generativelanguage/v1beta3/citation.proto b/third_party/googleapis/google/ai/generativelanguage/v1beta3/citation.proto new file mode 100644 index 000000000..0d8b3b9e7 --- /dev/null +++ b/third_party/googleapis/google/ai/generativelanguage/v1beta3/citation.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.ai.generativelanguage.v1beta3; + +import "google/api/field_behavior.proto"; + +option go_package = "cloud.google.com/go/ai/generativelanguage/apiv1beta3/generativelanguagepb;generativelanguagepb"; +option java_multiple_files = true; +option java_outer_classname = "CitationProto"; +option java_package = "com.google.ai.generativelanguage.v1beta3"; + +// A collection of source attributions for a piece of content. +message CitationMetadata { + // Citations to sources for a specific response. + repeated CitationSource citation_sources = 1; +} + +// A citation to a source for a portion of a specific response. +message CitationSource { + // Optional. Start of segment of the response that is attributed to this + // source. + // + // Index indicates the start of the segment, measured in bytes. + optional int32 start_index = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. End of the attributed segment, exclusive. + optional int32 end_index = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. URI that is attributed as a source for a portion of the text. + optional string uri = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. License for the GitHub project that is attributed as a source for + // segment. + // + // License info is required for code citations. + optional string license = 4 [(google.api.field_behavior) = OPTIONAL]; +} diff --git a/third_party/googleapis/google/ai/generativelanguage/v1beta3/discuss_service.proto b/third_party/googleapis/google/ai/generativelanguage/v1beta3/discuss_service.proto new file mode 100644 index 000000000..2862cde2d --- /dev/null +++ b/third_party/googleapis/google/ai/generativelanguage/v1beta3/discuss_service.proto @@ -0,0 +1,246 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.ai.generativelanguage.v1beta3; + +import "google/ai/generativelanguage/v1beta3/citation.proto"; +import "google/ai/generativelanguage/v1beta3/safety.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option go_package = "cloud.google.com/go/ai/generativelanguage/apiv1beta3/generativelanguagepb;generativelanguagepb"; +option java_multiple_files = true; +option java_outer_classname = "DiscussServiceProto"; +option java_package = "com.google.ai.generativelanguage.v1beta3"; + +// An API for using Generative Language Models (GLMs) in dialog applications. +// +// Also known as large language models (LLMs), this API provides models that +// are trained for multi-turn dialog. +service DiscussService { + option (google.api.default_host) = "generativelanguage.googleapis.com"; + + // Generates a response from the model given an input `MessagePrompt`. + rpc GenerateMessage(GenerateMessageRequest) + returns (GenerateMessageResponse) { + option (google.api.http) = { + post: "/v1beta3/{model=models/*}:generateMessage" + body: "*" + }; + option (google.api.method_signature) = + "model,prompt,temperature,candidate_count,top_p,top_k"; + } + + // Runs a model's tokenizer on a string and returns the token count. + rpc CountMessageTokens(CountMessageTokensRequest) + returns (CountMessageTokensResponse) { + option (google.api.http) = { + post: "/v1beta3/{model=models/*}:countMessageTokens" + body: "*" + }; + option (google.api.method_signature) = "model,prompt"; + } +} + +// Request to generate a message response from the model. +message GenerateMessageRequest { + // Required. The name of the model to use. + // + // Format: `name=models/{model}`. + string model = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "generativelanguage.googleapis.com/Model" + } + ]; + + // Required. The structured textual input given to the model as a prompt. + // + // Given a + // prompt, the model will return what it predicts is the next message in the + // discussion. + MessagePrompt prompt = 2 [(google.api.field_behavior) = REQUIRED]; + + // Optional. Controls the randomness of the output. + // + // Values can range over `[0.0,1.0]`, + // inclusive. A value closer to `1.0` will produce responses that are more + // varied, while a value closer to `0.0` will typically result in + // less surprising responses from the model. + optional float temperature = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The number of generated response messages to return. + // + // This value must be between + // `[1, 8]`, inclusive. If unset, this will default to `1`. + optional int32 candidate_count = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The maximum cumulative probability of tokens to consider when + // sampling. + // + // The model uses combined Top-k and nucleus sampling. + // + // Nucleus sampling considers the smallest set of tokens whose probability + // sum is at least `top_p`. + optional float top_p = 5 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The maximum number of tokens to consider when sampling. + // + // The model uses combined Top-k and nucleus sampling. + // + // Top-k sampling considers the set of `top_k` most probable tokens. + optional int32 top_k = 6 [(google.api.field_behavior) = OPTIONAL]; +} + +// The response from the model. +// +// This includes candidate messages and +// conversation history in the form of chronologically-ordered messages. +message GenerateMessageResponse { + // Candidate response messages from the model. + repeated Message candidates = 1; + + // The conversation history used by the model. + repeated Message messages = 2; + + // A set of content filtering metadata for the prompt and response + // text. + // + // This indicates which `SafetyCategory`(s) blocked a + // candidate from this response, the lowest `HarmProbability` + // that triggered a block, and the HarmThreshold setting for that category. + repeated ContentFilter filters = 3; +} + +// The base unit of structured text. +// +// A `Message` includes an `author` and the `content` of +// the `Message`. +// +// The `author` is used to tag messages when they are fed to the +// model as text. +message Message { + // Optional. The author of this Message. + // + // This serves as a key for tagging + // the content of this Message when it is fed to the model as text. + // + // The author can be any alphanumeric string. + string author = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Required. The text content of the structured `Message`. + string content = 2 [(google.api.field_behavior) = REQUIRED]; + + // Output only. Citation information for model-generated `content` in this + // `Message`. + // + // If this `Message` was generated as output from the model, this field may be + // populated with attribution information for any text included in the + // `content`. This field is used only on output. + optional CitationMetadata citation_metadata = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// All of the structured input text passed to the model as a prompt. +// +// A `MessagePrompt` contains a structured set of fields that provide context +// for the conversation, examples of user input/model output message pairs that +// prime the model to respond in different ways, and the conversation history +// or list of messages representing the alternating turns of the conversation +// between the user and the model. +message MessagePrompt { + // Optional. Text that should be provided to the model first to ground the + // response. + // + // If not empty, this `context` will be given to the model first before the + // `examples` and `messages`. When using a `context` be sure to provide it + // with every request to maintain continuity. + // + // This field can be a description of your prompt to the model to help provide + // context and guide the responses. Examples: "Translate the phrase from + // English to French." or "Given a statement, classify the sentiment as happy, + // sad or neutral." + // + // Anything included in this field will take precedence over message history + // if the total input size exceeds the model's `input_token_limit` and the + // input request is truncated. + string context = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Examples of what the model should generate. + // + // This includes both user input and the response that the model should + // emulate. + // + // These `examples` are treated identically to conversation messages except + // that they take precedence over the history in `messages`: + // If the total input size exceeds the model's `input_token_limit` the input + // will be truncated. Items will be dropped from `messages` before `examples`. + repeated Example examples = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Required. A snapshot of the recent conversation history sorted + // chronologically. + // + // Turns alternate between two authors. + // + // If the total input size exceeds the model's `input_token_limit` the input + // will be truncated: The oldest items will be dropped from `messages`. + repeated Message messages = 3 [(google.api.field_behavior) = REQUIRED]; +} + +// An input/output example used to instruct the Model. +// +// It demonstrates how the model should respond or format its response. +message Example { + // Required. An example of an input `Message` from the user. + Message input = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. An example of what the model should output given the input. + Message output = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Counts the number of tokens in the `prompt` sent to a model. +// +// Models may tokenize text differently, so each model may return a different +// `token_count`. +message CountMessageTokensRequest { + // Required. The model's resource name. This serves as an ID for the Model to + // use. + // + // This name should match a model name returned by the `ListModels` method. + // + // Format: `models/{model}` + string model = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "generativelanguage.googleapis.com/Model" + } + ]; + + // Required. The prompt, whose token count is to be returned. + MessagePrompt prompt = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// A response from `CountMessageTokens`. +// +// It returns the model's `token_count` for the `prompt`. +message CountMessageTokensResponse { + // The number of tokens that the `model` tokenizes the `prompt` into. + // + // Always non-negative. + int32 token_count = 1; +} diff --git a/third_party/googleapis/google/ai/generativelanguage/v1beta3/generativeai_grpc_service_config.json b/third_party/googleapis/google/ai/generativelanguage/v1beta3/generativeai_grpc_service_config.json new file mode 100644 index 000000000..69bf1ec33 --- /dev/null +++ b/third_party/googleapis/google/ai/generativelanguage/v1beta3/generativeai_grpc_service_config.json @@ -0,0 +1,24 @@ +{ + "methodConfig": [{ + "name": [ + { "service": "google.ai.generativelanguage.v1beta1.DiscussService", "method": "GenerateMessage" }, + { "service": "google.ai.generativelanguage.v1beta1.DiscussService", "method": "CountMessageTokens" }, + { "service": "google.ai.generativelanguage.v1beta1.ModelService", "method": "GetModel" }, + { "service": "google.ai.generativelanguage.v1beta1.ModelService", "method": "ListModels" }, + { "service": "google.ai.generativelanguage.v1beta2.DiscussService", "method": "GenerateMessage" }, + { "service": "google.ai.generativelanguage.v1beta2.DiscussService", "method": "CountMessageTokens" }, + { "service": "google.ai.generativelanguage.v1beta2.ModelService", "method": "GetModel" }, + { "service": "google.ai.generativelanguage.v1beta2.ModelService", "method": "ListModels" }, + { "service": "google.ai.generativelanguage.v1beta2.TextService", "method": "GenerateText" }, + { "service": "google.ai.generativelanguage.v1beta2.TextService", "method": "EmbedText" } + ], + "timeout": "60s", + "retryPolicy": { + "maxAttempts": 5, + "initialBackoff": "1s", + "maxBackoff": "10s", + "backoffMultiplier": 1.3, + "retryableStatusCodes": ["UNAVAILABLE"] + } + }] +} \ No newline at end of file diff --git a/third_party/googleapis/google/ai/generativelanguage/v1beta3/generativelanguage_v1beta3.yaml b/third_party/googleapis/google/ai/generativelanguage/v1beta3/generativelanguage_v1beta3.yaml new file mode 100644 index 000000000..2d79824d9 --- /dev/null +++ b/third_party/googleapis/google/ai/generativelanguage/v1beta3/generativelanguage_v1beta3.yaml @@ -0,0 +1,45 @@ +type: google.api.Service +config_version: 3 +name: generativelanguage.googleapis.com +title: Generative Language API + +apis: +- name: google.ai.generativelanguage.v1beta3.DiscussService +- name: google.ai.generativelanguage.v1beta3.ModelService +- name: google.ai.generativelanguage.v1beta3.PermissionService +- name: google.ai.generativelanguage.v1beta3.TextService +- name: google.longrunning.Operations + +types: +- name: google.ai.generativelanguage.v1beta3.CreateTunedModelMetadata + +documentation: + summary: |- + The PaLM API allows developers to build generative AI applications using + the PaLM model. Large Language Models (LLMs) are a powerful, versatile + type of machine learning model that enables computers to comprehend and + generate natural language through a series of prompts. The PaLM API is + based on Google's next generation LLM, PaLM. It excels at a variety of + different tasks like code generation, reasoning, and writing. You can use + the PaLM API to build generative AI applications for use cases like + content generation, dialogue agents, summarization and classification + systems, and more. + +backend: + rules: + - selector: google.ai.generativelanguage.v1beta3.DiscussService.CountMessageTokens + deadline: 50.0 + - selector: google.ai.generativelanguage.v1beta3.DiscussService.GenerateMessage + deadline: 50.0 + - selector: 'google.ai.generativelanguage.v1beta3.PermissionService.*' + deadline: 50.0 + - selector: 'google.ai.generativelanguage.v1beta3.TextService.*' + deadline: 50.0 + +publishing: + new_issue_uri: https://github.com/google/generative-ai-python/issues/new + documentation_uri: https://developers.generativeai.google/ + api_short_name: generativelanguage + github_label: 'api: ai' + doc_tag_prefix: generativelanguage + organization: CLOUD diff --git a/third_party/googleapis/google/ai/generativelanguage/v1beta3/model.proto b/third_party/googleapis/google/ai/generativelanguage/v1beta3/model.proto new file mode 100644 index 000000000..7a85cb5b7 --- /dev/null +++ b/third_party/googleapis/google/ai/generativelanguage/v1beta3/model.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.ai.generativelanguage.v1beta3; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option go_package = "cloud.google.com/go/ai/generativelanguage/apiv1beta3/generativelanguagepb;generativelanguagepb"; +option java_multiple_files = true; +option java_outer_classname = "ModelProto"; +option java_package = "com.google.ai.generativelanguage.v1beta3"; + +// Information about a Generative Language Model. +message Model { + option (google.api.resource) = { + type: "generativelanguage.googleapis.com/Model" + pattern: "models/{model}" + }; + + // Required. The resource name of the `Model`. + // + // Format: `models/{model}` with a `{model}` naming convention of: + // + // * "{base_model_id}-{version}" + // + // Examples: + // + // * `models/chat-bison-001` + string name = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The name of the base model, pass this to the generation request. + // + // Examples: + // + // * `chat-bison` + string base_model_id = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The version number of the model. + // + // This represents the major version + string version = 3 [(google.api.field_behavior) = REQUIRED]; + + // The human-readable name of the model. E.g. "Chat Bison". + // + // The name can be up to 128 characters long and can consist of any UTF-8 + // characters. + string display_name = 4; + + // A short description of the model. + string description = 5; + + // Maximum number of input tokens allowed for this model. + int32 input_token_limit = 6; + + // Maximum number of output tokens available for this model. + int32 output_token_limit = 7; + + // The model's supported generation methods. + // + // The method names are defined as Pascal case + // strings, such as `generateMessage` which correspond to API methods. + repeated string supported_generation_methods = 8; + + // Controls the randomness of the output. + // + // Values can range over `[0.0,1.0]`, inclusive. A value closer to `1.0` will + // produce responses that are more varied, while a value closer to `0.0` will + // typically result in less surprising responses from the model. + // This value specifies default to be used by the backend while making the + // call to the model. + optional float temperature = 9; + + // For Nucleus sampling. + // + // Nucleus sampling considers the smallest set of tokens whose probability + // sum is at least `top_p`. + // This value specifies default to be used by the backend while making the + // call to the model. + optional float top_p = 10; + + // For Top-k sampling. + // + // Top-k sampling considers the set of `top_k` most probable tokens. + // This value specifies default to be used by the backend while making the + // call to the model. + optional int32 top_k = 11; +} diff --git a/third_party/googleapis/google/ai/generativelanguage/v1beta3/model_service.proto b/third_party/googleapis/google/ai/generativelanguage/v1beta3/model_service.proto new file mode 100644 index 000000000..713ef3437 --- /dev/null +++ b/third_party/googleapis/google/ai/generativelanguage/v1beta3/model_service.proto @@ -0,0 +1,254 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.ai.generativelanguage.v1beta3; + +import "google/ai/generativelanguage/v1beta3/model.proto"; +import "google/ai/generativelanguage/v1beta3/tuned_model.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"; + +option go_package = "cloud.google.com/go/ai/generativelanguage/apiv1beta3/generativelanguagepb;generativelanguagepb"; +option java_multiple_files = true; +option java_outer_classname = "ModelServiceProto"; +option java_package = "com.google.ai.generativelanguage.v1beta3"; + +// Provides methods for getting metadata information about Generative Models. +service ModelService { + option (google.api.default_host) = "generativelanguage.googleapis.com"; + + // Gets information about a specific Model. + rpc GetModel(GetModelRequest) returns (Model) { + option (google.api.http) = { + get: "/v1beta3/{name=models/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Lists models available through the API. + rpc ListModels(ListModelsRequest) returns (ListModelsResponse) { + option (google.api.http) = { + get: "/v1beta3/models" + }; + option (google.api.method_signature) = "page_size,page_token"; + } + + // Gets information about a specific TunedModel. + rpc GetTunedModel(GetTunedModelRequest) returns (TunedModel) { + option (google.api.http) = { + get: "/v1beta3/{name=tunedModels/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Lists tuned models owned by the user. + rpc ListTunedModels(ListTunedModelsRequest) + returns (ListTunedModelsResponse) { + option (google.api.http) = { + get: "/v1beta3/tunedModels" + }; + option (google.api.method_signature) = "page_size,page_token"; + } + + // Creates a tuned model. + // Intermediate tuning progress (if any) is accessed through the + // [google.longrunning.Operations] service. + // + // Status and results can be accessed through the Operations service. + // Example: + // GET /v1/tunedModels/az2mb0bpw6i/operations/000-111-222 + rpc CreateTunedModel(CreateTunedModelRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1beta3/tunedModels" + body: "tuned_model" + }; + option (google.api.method_signature) = "tuned_model"; + option (google.api.method_signature) = "tuned_model_id,tuned_model"; + option (google.longrunning.operation_info) = { + response_type: "TunedModel" + metadata_type: "CreateTunedModelMetadata" + }; + } + + // Updates a tuned model. + rpc UpdateTunedModel(UpdateTunedModelRequest) returns (TunedModel) { + option (google.api.http) = { + patch: "/v1beta3/{tuned_model.name=tunedModels/*}" + body: "tuned_model" + }; + option (google.api.method_signature) = "tuned_model,update_mask"; + } + + // Deletes a tuned model. + rpc DeleteTunedModel(DeleteTunedModelRequest) + returns (google.protobuf.Empty) { + option (google.api.http) = { + delete: "/v1beta3/{name=tunedModels/*}" + }; + option (google.api.method_signature) = "name"; + } +} + +// Request for getting information about a specific Model. +message GetModelRequest { + // Required. The resource name of the model. + // + // This name should match a model name returned by the `ListModels` method. + // + // Format: `models/{model}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "generativelanguage.googleapis.com/Model" + } + ]; +} + +// Request for listing all Models. +message ListModelsRequest { + // The maximum number of `Models` to return (per page). + // + // The service may return fewer models. + // If unspecified, at most 50 models will be returned per page. + // This method returns at most 1000 models per page, even if you pass a larger + // page_size. + int32 page_size = 2; + + // A page token, received from a previous `ListModels` call. + // + // Provide the `page_token` returned by one request as an argument to the next + // request to retrieve the next page. + // + // When paginating, all other parameters provided to `ListModels` must match + // the call that provided the page token. + string page_token = 3; +} + +// Response from `ListModel` containing a paginated list of Models. +message ListModelsResponse { + // The returned Models. + repeated Model models = 1; + + // A token, which can be sent as `page_token` to retrieve the next page. + // + // If this field is omitted, there are no more pages. + string next_page_token = 2; +} + +// Request for getting information about a specific Model. +message GetTunedModelRequest { + // Required. The resource name of the model. + // + // Format: `tunedModels/my-model-id` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "generativelanguage.googleapis.com/TunedModel" + } + ]; +} + +// Request for listing TunedModels. +message ListTunedModelsRequest { + // Optional. The maximum number of `TunedModels` to return (per page). + // The service may return fewer tuned models. + // + // If unspecified, at most 10 tuned models will be returned. + // This method returns at most 1000 models per page, even if you pass a larger + // page_size. + int32 page_size = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A page token, received from a previous `ListTunedModels` call. + // + // Provide the `page_token` returned by one request as an argument to the next + // request to retrieve the next page. + // + // When paginating, all other parameters provided to `ListTunedModels` + // must match the call that provided the page token. + string page_token = 2 [(google.api.field_behavior) = OPTIONAL]; +} + +// Response from `ListTunedModels` containing a paginated list of Models. +message ListTunedModelsResponse { + // The returned Models. + repeated TunedModel tuned_models = 1; + + // A token, which can be sent as `page_token` to retrieve the next page. + // + // If this field is omitted, there are no more pages. + string next_page_token = 2; +} + +// Request to create a TunedModel. +message CreateTunedModelRequest { + // Optional. The unique id for the tuned model if specified. + // This value should be up to 40 characters, the first character must be a + // letter, the last could be a letter or a number. The id must match the + // regular expression: [a-z]([a-z0-9-]{0,38}[a-z0-9])?. + optional string tuned_model_id = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Required. The tuned model to create. + TunedModel tuned_model = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Metadata about the state and progress of creating a tuned model returned from +// the long-running operation +message CreateTunedModelMetadata { + // Name of the tuned model associated with the tuning operation. + string tuned_model = 5 [(google.api.resource_reference) = { + type: "generativelanguage.googleapis.com/TunedModel" + }]; + + // The total number of tuning steps. + int32 total_steps = 1; + + // The number of steps completed. + int32 completed_steps = 2; + + // The completed percentage for the tuning operation. + float completed_percent = 3; + + // Metrics collected during tuning. + repeated TuningSnapshot snapshots = 4; +} + +// Request to update a TunedModel. +message UpdateTunedModelRequest { + // Required. The tuned model to update. + TunedModel tuned_model = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of fields to update. + google.protobuf.FieldMask update_mask = 2 + [(google.api.field_behavior) = REQUIRED]; +} + +// Request to delete a TunedModel. +message DeleteTunedModelRequest { + // Required. The resource name of the model. + // Format: `tunedModels/my-model-id` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "generativelanguage.googleapis.com/TunedModel" + } + ]; +} diff --git a/third_party/googleapis/google/ai/generativelanguage/v1beta3/permission.proto b/third_party/googleapis/google/ai/generativelanguage/v1beta3/permission.proto new file mode 100644 index 000000000..2f287a163 --- /dev/null +++ b/third_party/googleapis/google/ai/generativelanguage/v1beta3/permission.proto @@ -0,0 +1,100 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.ai.generativelanguage.v1beta3; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option go_package = "cloud.google.com/go/ai/generativelanguage/apiv1beta3/generativelanguagepb;generativelanguagepb"; +option java_multiple_files = true; +option java_outer_classname = "PermissionProto"; +option java_package = "com.google.ai.generativelanguage.v1beta3"; + +// Permission resource grants user, group or the rest of the world access to the +// PaLM API resource (e.g. a tuned model, file). +// +// A role is a collection of permitted operations that allows users to perform +// specific actions on PaLM API resources. To make them available to users, +// groups, or service accounts, you assign roles. When you assign a role, you +// grant permissions that the role contains. +// +// There are three concentric roles. Each role is a superset of the previous +// role's permitted operations: +// - reader can use the resource (e.g. tuned model) for inference +// - writer has reader's permissions and additionally can edit and share +// - owner has writer's permissions and additionally can delete +message Permission { + option (google.api.resource) = { + type: "generativelanguage.googleapis.com/Permission" + pattern: "tunedModels/{tuned_model}/permissions/{permission}" + plural: "permissions" + singular: "permission" + }; + + // Defines types of the grantee of this permission. + enum GranteeType { + // The default value. This value is unused. + GRANTEE_TYPE_UNSPECIFIED = 0; + + // Represents a user. When set, you must provide email_address for the user. + USER = 1; + + // Represents a group. When set, you must provide email_address for the + // group. + GROUP = 2; + + // Represents access to everyone. No extra information is required. + EVERYONE = 3; + } + + // Defines the role granted by this permission. + enum Role { + // The default value. This value is unused. + ROLE_UNSPECIFIED = 0; + + // Owner can use, update, share and delete the resource. + OWNER = 1; + + // Writer can use, update and share the resource. + WRITER = 2; + + // Reader can use the resource. + READER = 3; + } + + // Output only. The permission name. A unique name will be generated on + // create. Example: tunedModels/{tuned_model}permssions/{permission} Output + // only. + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. Immutable. The type of the grantee. + optional GranteeType grantee_type = 2 [ + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = IMMUTABLE + ]; + + // Optional. Immutable. The email address of the user of group which this + // permission refers. Field is not set when permission's grantee type is + // EVERYONE. + optional string email_address = 3 [ + (google.api.field_behavior) = OPTIONAL, + (google.api.field_behavior) = IMMUTABLE + ]; + + // Required. The role granted by this permission. + optional Role role = 4 [(google.api.field_behavior) = REQUIRED]; +} diff --git a/third_party/googleapis/google/ai/generativelanguage/v1beta3/permission_service.proto b/third_party/googleapis/google/ai/generativelanguage/v1beta3/permission_service.proto new file mode 100644 index 000000000..4250ff628 --- /dev/null +++ b/third_party/googleapis/google/ai/generativelanguage/v1beta3/permission_service.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.ai.generativelanguage.v1beta3; + +import "google/ai/generativelanguage/v1beta3/permission.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/empty.proto"; +import "google/protobuf/field_mask.proto"; + +option go_package = "cloud.google.com/go/ai/generativelanguage/apiv1beta3/generativelanguagepb;generativelanguagepb"; +option java_multiple_files = true; +option java_outer_classname = "PermissionServiceProto"; +option java_package = "com.google.ai.generativelanguage.v1beta3"; + +// Provides methods for managing permissions to PaLM API resources. +service PermissionService { + option (google.api.default_host) = "generativelanguage.googleapis.com"; + + // Create a permission to a specific resource. + rpc CreatePermission(CreatePermissionRequest) returns (Permission) { + option (google.api.http) = { + post: "/v1beta3/{parent=tunedModels/*}/permissions" + body: "permission" + }; + option (google.api.method_signature) = "parent,permission"; + } + + // Gets information about a specific Permission. + rpc GetPermission(GetPermissionRequest) returns (Permission) { + option (google.api.http) = { + get: "/v1beta3/{name=tunedModels/*/permissions/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Lists permissions for the specific resource. + rpc ListPermissions(ListPermissionsRequest) + returns (ListPermissionsResponse) { + option (google.api.http) = { + get: "/v1beta3/{parent=tunedModels/*}/permissions" + }; + option (google.api.method_signature) = "parent"; + } + + // Updates the permission. + rpc UpdatePermission(UpdatePermissionRequest) returns (Permission) { + option (google.api.http) = { + patch: "/v1beta3/{permission.name=tunedModels/*/permissions/*}" + body: "permission" + }; + option (google.api.method_signature) = "permission,update_mask"; + } + + // Deletes the permission. + rpc DeletePermission(DeletePermissionRequest) + returns (google.protobuf.Empty) { + option (google.api.http) = { + delete: "/v1beta3/{name=tunedModels/*/permissions/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Transfers ownership of the tuned model. + // This is the only way to change ownership of the tuned model. + // The current owner will be downgraded to writer role. + rpc TransferOwnership(TransferOwnershipRequest) + returns (TransferOwnershipResponse) { + option (google.api.http) = { + post: "/v1beta3/{name=tunedModels/*}:transferOwnership" + body: "*" + }; + } +} + +// Request to create a `Permission`. +message CreatePermissionRequest { + // Required. The parent resource of the `Permission`. + // Format: tunedModels/{tuned_model} + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "generativelanguage.googleapis.com/Permission" + } + ]; + + // Required. The permission to create. + Permission permission = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Request for getting information about a specific `Permission`. +message GetPermissionRequest { + // Required. The resource name of the permission. + // + // Format: `tunedModels/{tuned_model}permissions/{permission}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "generativelanguage.googleapis.com/Permission" + } + ]; +} + +// Request for listing permissions. +message ListPermissionsRequest { + // Required. The parent resource of the permissions. + // Format: tunedModels/{tuned_model} + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { type: "*" } + ]; + + // Optional. The maximum number of `Permission`s to return (per page). + // The service may return fewer permissions. + // + // If unspecified, at most 10 permissions will be returned. + // This method returns at most 1000 permissions per page, even if you pass + // larger page_size. + int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A page token, received from a previous `ListPermissions` call. + // + // Provide the `page_token` returned by one request as an argument to the + // next request to retrieve the next page. + // + // When paginating, all other parameters provided to `ListPermissions` + // must match the call that provided the page token. + string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// Response from `ListPermissions` containing a paginated list of +// permissions. +message ListPermissionsResponse { + // Returned permissions. + repeated Permission permissions = 1; + + // A token, which can be sent as `page_token` to retrieve the next page. + // + // If this field is omitted, there are no more pages. + string next_page_token = 2; +} + +// Request to update the `Permission`. +message UpdatePermissionRequest { + // Required. The permission to update. + // + // The permission's `name` field is used to identify the permission to update. + Permission permission = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of fields to update. Accepted ones: + // - role (`Permission.role` field) + google.protobuf.FieldMask update_mask = 2 + [(google.api.field_behavior) = REQUIRED]; +} + +// Request to delete the `Permission`. +message DeletePermissionRequest { + // Required. The resource name of the permission. + // Format: `tunedModels/{tuned_model}/permissions/{permission}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "generativelanguage.googleapis.com/Permission" + } + ]; +} + +// Request to transfer the ownership of the tuned model. +message TransferOwnershipRequest { + // Required. The resource name of the tuned model to transfer ownership . + // + // Format: `tunedModels/my-model-id` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "generativelanguage.googleapis.com/TunedModel" + } + ]; + + // Required. The email address of the user to whom the tuned model is being + // transferred to. + string email_address = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Response from `TransferOwnership`. +message TransferOwnershipResponse {} diff --git a/third_party/googleapis/google/ai/generativelanguage/v1beta3/safety.proto b/third_party/googleapis/google/ai/generativelanguage/v1beta3/safety.proto new file mode 100644 index 000000000..45ccfc87e --- /dev/null +++ b/third_party/googleapis/google/ai/generativelanguage/v1beta3/safety.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.ai.generativelanguage.v1beta3; + +import "google/api/field_behavior.proto"; + +option go_package = "cloud.google.com/go/ai/generativelanguage/apiv1beta3/generativelanguagepb;generativelanguagepb"; +option java_multiple_files = true; +option java_outer_classname = "SafetyProto"; +option java_package = "com.google.ai.generativelanguage.v1beta3"; + +// The category of a rating. +// +// These categories cover various kinds of harms that developers +// may wish to adjust. +enum HarmCategory { + // Category is unspecified. + HARM_CATEGORY_UNSPECIFIED = 0; + + // Negative or harmful comments targeting identity and/or protected attribute. + HARM_CATEGORY_DEROGATORY = 1; + + // Content that is rude, disrepspectful, or profane. + HARM_CATEGORY_TOXICITY = 2; + + // Describes scenarios depictng violence against an individual or group, or + // general descriptions of gore. + HARM_CATEGORY_VIOLENCE = 3; + + // Contains references to sexual acts or other lewd content. + HARM_CATEGORY_SEXUAL = 4; + + // Promotes unchecked medical advice. + HARM_CATEGORY_MEDICAL = 5; + + // Dangerous content that promotes, facilitates, or encourages harmful acts. + HARM_CATEGORY_DANGEROUS = 6; +} + +// Content filtering metadata associated with processing a single request. +// +// ContentFilter contains a reason and an optional supporting string. The reason +// may be unspecified. +message ContentFilter { + // A list of reasons why content may have been blocked. + enum BlockedReason { + // A blocked reason was not specified. + BLOCKED_REASON_UNSPECIFIED = 0; + + // Content was blocked by safety settings. + SAFETY = 1; + + // Content was blocked, but the reason is uncategorized. + OTHER = 2; + } + + // The reason content was blocked during request processing. + BlockedReason reason = 1; + + // A string that describes the filtering behavior in more detail. + optional string message = 2; +} + +// Safety feedback for an entire request. +// +// This field is populated if content in the input and/or response is blocked +// due to safety settings. SafetyFeedback may not exist for every HarmCategory. +// Each SafetyFeedback will return the safety settings used by the request as +// well as the lowest HarmProbability that should be allowed in order to return +// a result. +message SafetyFeedback { + // Safety rating evaluated from content. + SafetyRating rating = 1; + + // Safety settings applied to the request. + SafetySetting setting = 2; +} + +// Safety rating for a piece of content. +// +// The safety rating contains the category of harm and the +// harm probability level in that category for a piece of content. +// Content is classified for safety across a number of +// harm categories and the probability of the harm classification is included +// here. +message SafetyRating { + // The probability that a piece of content is harmful. + // + // The classification system gives the probability of the content being + // unsafe. This does not indicate the severity of harm for a piece of content. + enum HarmProbability { + // Probability is unspecified. + HARM_PROBABILITY_UNSPECIFIED = 0; + + // Content has a negligible chance of being unsafe. + NEGLIGIBLE = 1; + + // Content has a low chance of being unsafe. + LOW = 2; + + // Content has a medium chance of being unsafe. + MEDIUM = 3; + + // Content has a high chance of being unsafe. + HIGH = 4; + } + + // Required. The category for this rating. + HarmCategory category = 3 [(google.api.field_behavior) = REQUIRED]; + + // Required. The probability of harm for this content. + HarmProbability probability = 4 [(google.api.field_behavior) = REQUIRED]; +} + +// Safety setting, affecting the safety-blocking behavior. +// +// Passing a safety setting for a category changes the allowed proability that +// content is blocked. +message SafetySetting { + // Block at and beyond a specified harm probability. + enum HarmBlockThreshold { + // Threshold is unspecified. + HARM_BLOCK_THRESHOLD_UNSPECIFIED = 0; + + // Content with NEGLIGIBLE will be allowed. + BLOCK_LOW_AND_ABOVE = 1; + + // Content with NEGLIGIBLE and LOW will be allowed. + BLOCK_MEDIUM_AND_ABOVE = 2; + + // Content with NEGLIGIBLE, LOW, and MEDIUM will be allowed. + BLOCK_ONLY_HIGH = 3; + + // All content will be allowed. + BLOCK_NONE = 4; + } + + // Required. The category for this setting. + HarmCategory category = 3 [(google.api.field_behavior) = REQUIRED]; + + // Required. Controls the probability threshold at which harm is blocked. + HarmBlockThreshold threshold = 4 [(google.api.field_behavior) = REQUIRED]; +} diff --git a/third_party/googleapis/google/ai/generativelanguage/v1beta3/text_service.proto b/third_party/googleapis/google/ai/generativelanguage/v1beta3/text_service.proto new file mode 100644 index 000000000..c86e1f647 --- /dev/null +++ b/third_party/googleapis/google/ai/generativelanguage/v1beta3/text_service.proto @@ -0,0 +1,292 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.ai.generativelanguage.v1beta3; + +import "google/ai/generativelanguage/v1beta3/citation.proto"; +import "google/ai/generativelanguage/v1beta3/safety.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option go_package = "cloud.google.com/go/ai/generativelanguage/apiv1beta3/generativelanguagepb;generativelanguagepb"; +option java_multiple_files = true; +option java_outer_classname = "TextServiceProto"; +option java_package = "com.google.ai.generativelanguage.v1beta3"; + +// API for using Generative Language Models (GLMs) trained to generate text. +// +// Also known as Large Language Models (LLM)s, these generate text given an +// input prompt from the user. +service TextService { + option (google.api.default_host) = "generativelanguage.googleapis.com"; + + // Generates a response from the model given an input message. + rpc GenerateText(GenerateTextRequest) returns (GenerateTextResponse) { + option (google.api.http) = { + post: "/v1beta3/{model=models/*}:generateText" + body: "*" + additional_bindings { + post: "/v1beta3/{model=tunedModels/*}:generateText" + body: "*" + } + }; + option (google.api.method_signature) = + "model,prompt,temperature,candidate_count,max_output_tokens,top_p,top_k"; + } + + // Generates an embedding from the model given an input message. + rpc EmbedText(EmbedTextRequest) returns (EmbedTextResponse) { + option (google.api.http) = { + post: "/v1beta3/{model=models/*}:embedText" + body: "*" + }; + option (google.api.method_signature) = "model,text"; + } + + // Generates multiple embeddings from the model given input text in a + // synchronous call. + rpc BatchEmbedText(BatchEmbedTextRequest) returns (BatchEmbedTextResponse) { + option (google.api.http) = { + post: "/v1beta3/{model=models/*}:batchEmbedText" + body: "*" + }; + option (google.api.method_signature) = "model,texts"; + } + + // Runs a model's tokenizer on a text and returns the token count. + rpc CountTextTokens(CountTextTokensRequest) + returns (CountTextTokensResponse) { + option (google.api.http) = { + post: "/v1beta3/{model=models/*}:countTextTokens" + body: "*" + }; + option (google.api.method_signature) = "model,prompt"; + } +} + +// Request to generate a text completion response from the model. +message GenerateTextRequest { + // Required. The name of the `Model` or `TunedModel` to use for generating the + // completion. + // Examples: + // models/text-bison-001 + // tunedModels/sentence-translator-u3b7m + string model = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The free-form input text given to the model as a prompt. + // + // Given a prompt, the model will generate a TextCompletion response it + // predicts as the completion of the input text. + TextPrompt prompt = 2 [(google.api.field_behavior) = REQUIRED]; + + // Optional. Controls the randomness of the output. + // Note: The default value varies by model, see the `Model.temperature` + // attribute of the `Model` returned the `getModel` function. + // + // Values can range from [0.0,1.0], + // inclusive. A value closer to 1.0 will produce responses that are more + // varied and creative, while a value closer to 0.0 will typically result in + // more straightforward responses from the model. + optional float temperature = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Number of generated responses to return. + // + // This value must be between [1, 8], inclusive. If unset, this will default + // to 1. + optional int32 candidate_count = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The maximum number of tokens to include in a candidate. + // + // If unset, this will default to output_token_limit specified in the `Model` + // specification. + optional int32 max_output_tokens = 5 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The maximum cumulative probability of tokens to consider when + // sampling. + // + // The model uses combined Top-k and nucleus sampling. + // + // Tokens are sorted based on their assigned probabilities so that only the + // most likely tokens are considered. Top-k sampling directly limits the + // maximum number of tokens to consider, while Nucleus sampling limits number + // of tokens based on the cumulative probability. + // + // Note: The default value varies by model, see the `Model.top_p` + // attribute of the `Model` returned the `getModel` function. + optional float top_p = 6 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The maximum number of tokens to consider when sampling. + // + // The model uses combined Top-k and nucleus sampling. + // + // Top-k sampling considers the set of `top_k` most probable tokens. + // Defaults to 40. + // + // Note: The default value varies by model, see the `Model.top_k` + // attribute of the `Model` returned the `getModel` function. + optional int32 top_k = 7 [(google.api.field_behavior) = OPTIONAL]; + + // A list of unique `SafetySetting` instances for blocking unsafe content. + // + // that will be enforced on the `GenerateTextRequest.prompt` and + // `GenerateTextResponse.candidates`. There should not be more than one + // setting for each `SafetyCategory` type. The API will block any prompts and + // responses that fail to meet the thresholds set by these settings. This list + // overrides the default settings for each `SafetyCategory` specified in the + // safety_settings. If there is no `SafetySetting` for a given + // `SafetyCategory` provided in the list, the API will use the default safety + // setting for that category. + repeated SafetySetting safety_settings = 8; + + // The set of character sequences (up to 5) that will stop output generation. + // If specified, the API will stop at the first appearance of a stop + // sequence. The stop sequence will not be included as part of the response. + repeated string stop_sequences = 9; +} + +// The response from the model, including candidate completions. +message GenerateTextResponse { + // Candidate responses from the model. + repeated TextCompletion candidates = 1; + + // A set of content filtering metadata for the prompt and response + // text. + // + // This indicates which `SafetyCategory`(s) blocked a + // candidate from this response, the lowest `HarmProbability` + // that triggered a block, and the HarmThreshold setting for that category. + // This indicates the smallest change to the `SafetySettings` that would be + // necessary to unblock at least 1 response. + // + // The blocking is configured by the `SafetySettings` in the request (or the + // default `SafetySettings` of the API). + repeated ContentFilter filters = 3; + + // Returns any safety feedback related to content filtering. + repeated SafetyFeedback safety_feedback = 4; +} + +// Text given to the model as a prompt. +// +// The Model will use this TextPrompt to Generate a text completion. +message TextPrompt { + // Required. The prompt text. + string text = 1 [(google.api.field_behavior) = REQUIRED]; +} + +// Output text returned from a model. +message TextCompletion { + // Output only. The generated text returned from the model. + string output = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Ratings for the safety of a response. + // + // There is at most one rating per category. + repeated SafetyRating safety_ratings = 2; + + // Output only. Citation information for model-generated `output` in this + // `TextCompletion`. + // + // This field may be populated with attribution information for any text + // included in the `output`. + optional CitationMetadata citation_metadata = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Request to get a text embedding from the model. +message EmbedTextRequest { + // Required. The model name to use with the format model=models/{model}. + string model = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "generativelanguage.googleapis.com/Model" + } + ]; + + // Required. The free-form input text that the model will turn into an + // embedding. + string text = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// The response to a EmbedTextRequest. +message EmbedTextResponse { + // Output only. The embedding generated from the input text. + optional Embedding embedding = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Batch request to get a text embedding from the model. +message BatchEmbedTextRequest { + // Required. The name of the `Model` to use for generating the embedding. + // Examples: + // models/embedding-gecko-001 + string model = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "generativelanguage.googleapis.com/Model" + } + ]; + + // Required. The free-form input texts that the model will turn into an + // embedding. The current limit is 100 texts, over which an error will be + // thrown. + repeated string texts = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// The response to a EmbedTextRequest. +message BatchEmbedTextResponse { + // Output only. The embeddings generated from the input text. + repeated Embedding embeddings = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// A list of floats representing the embedding. +message Embedding { + // The embedding values. + repeated float value = 1; +} + +// Counts the number of tokens in the `prompt` sent to a model. +// +// Models may tokenize text differently, so each model may return a different +// `token_count`. +message CountTextTokensRequest { + // Required. The model's resource name. This serves as an ID for the Model to + // use. + // + // This name should match a model name returned by the `ListModels` method. + // + // Format: `models/{model}` + string model = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "generativelanguage.googleapis.com/Model" + } + ]; + + // Required. The free-form input text given to the model as a prompt. + TextPrompt prompt = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// A response from `CountTextTokens`. +// +// It returns the model's `token_count` for the `prompt`. +message CountTextTokensResponse { + // The number of tokens that the `model` tokenizes the `prompt` into. + // + // Always non-negative. + int32 token_count = 1; +} diff --git a/third_party/googleapis/google/ai/generativelanguage/v1beta3/tuned_model.proto b/third_party/googleapis/google/ai/generativelanguage/v1beta3/tuned_model.proto new file mode 100644 index 000000000..e291bf7ba --- /dev/null +++ b/third_party/googleapis/google/ai/generativelanguage/v1beta3/tuned_model.proto @@ -0,0 +1,236 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.ai.generativelanguage.v1beta3; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/timestamp.proto"; + +option go_package = "cloud.google.com/go/ai/generativelanguage/apiv1beta3/generativelanguagepb;generativelanguagepb"; +option java_multiple_files = true; +option java_outer_classname = "TunedModelProto"; +option java_package = "com.google.ai.generativelanguage.v1beta3"; + +// A fine-tuned model created using ModelService.CreateTunedModel. +message TunedModel { + option (google.api.resource) = { + type: "generativelanguage.googleapis.com/TunedModel" + pattern: "tunedModels/{tuned_model}" + plural: "tunedModels" + singular: "tunedModel" + }; + + // The state of the tuned model. + enum State { + // The default value. This value is unused. + STATE_UNSPECIFIED = 0; + + // The model is being created. + CREATING = 1; + + // The model is ready to be used. + ACTIVE = 2; + + // The model failed to be created. + FAILED = 3; + } + + // The model used as the starting point for tuning. + oneof source_model { + // Optional. TunedModel to use as the starting point for training the new + // model. + TunedModelSource tuned_model_source = 3 + [(google.api.field_behavior) = OPTIONAL]; + + // Immutable. The name of the `Model` to tune. + // Example: `models/text-bison-001` + string base_model = 4 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "generativelanguage.googleapis.com/Model" + } + ]; + } + + // Output only. The tuned model name. A unique name will be generated on + // create. Example: `tunedModels/az2mb0bpw6i` If display_name is set on + // create, the id portion of the name will be set by concatenating the words + // of the display_name with hyphens and adding a random portion for + // uniqueness. Example: + // display_name = "Sentence Translator" + // name = "tunedModels/sentence-translator-u3b7m" + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Optional. The name to display for this model in user interfaces. + // The display name must be up to 40 characters including spaces. + string display_name = 5 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A short description of this model. + string description = 6 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Controls the randomness of the output. + // + // Values can range over `[0.0,1.0]`, inclusive. A value closer to `1.0` will + // produce responses that are more varied, while a value closer to `0.0` will + // typically result in less surprising responses from the model. + // + // This value specifies default to be the one used by the base model while + // creating the model. + optional float temperature = 11 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. For Nucleus sampling. + // + // Nucleus sampling considers the smallest set of tokens whose probability + // sum is at least `top_p`. + // + // This value specifies default to be the one used by the base model while + // creating the model. + optional float top_p = 12 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. For Top-k sampling. + // + // Top-k sampling considers the set of `top_k` most probable tokens. + // This value specifies default to be used by the backend while making the + // call to the model. + // + // This value specifies default to be the one used by the base model while + // creating the model. + optional int32 top_k = 13 [(google.api.field_behavior) = OPTIONAL]; + + // Output only. The state of the tuned model. + State state = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The timestamp when this model was created. + google.protobuf.Timestamp create_time = 8 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The timestamp when this model was updated. + google.protobuf.Timestamp update_time = 9 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. The tuning task that creates the tuned model. + TuningTask tuning_task = 10 [(google.api.field_behavior) = REQUIRED]; +} + +// Tuned model as a source for training a new model. +message TunedModelSource { + // Immutable. The name of the `TunedModel` to use as the starting point for + // training the new model. + // Example: `tunedModels/my-tuned-model` + string tuned_model = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "generativelanguage.googleapis.com/TunedModel" + } + ]; + + // Output only. The name of the base `Model` this `TunedModel` was tuned from. + // Example: `models/text-bison-001` + string base_model = 2 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "generativelanguage.googleapis.com/Model" + } + ]; +} + +// Tuning tasks that create tuned models. +message TuningTask { + // Output only. The timestamp when tuning this model started. + google.protobuf.Timestamp start_time = 1 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The timestamp when tuning this model completed. + google.protobuf.Timestamp complete_time = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Metrics collected during tuning. + repeated TuningSnapshot snapshots = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. Input only. Immutable. The model training data. + Dataset training_data = 4 [ + (google.api.field_behavior) = INPUT_ONLY, + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = IMMUTABLE + ]; + + // Immutable. Hyperparameters controlling the tuning process. If not provided, + // default values will be used. + Hyperparameters hyperparameters = 5 [(google.api.field_behavior) = IMMUTABLE]; +} + +// Hyperparameters controlling the tuning process. +message Hyperparameters { + // Immutable. The number of training epochs. An epoch is one pass through the + // training data. If not set, a default of 10 will be used. + optional int32 epoch_count = 14 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. The batch size hyperparameter for tuning. + // If not set, a default of 16 or 64 will be used based on the number of + // training examples. + optional int32 batch_size = 15 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. The learning rate hyperparameter for tuning. + // If not set, a default of 0.0002 or 0.002 will be calculated based on the + // number of training examples. + optional float learning_rate = 16 [(google.api.field_behavior) = IMMUTABLE]; +} + +// Dataset for training or validation. +message Dataset { + // Inline data or a reference to the data. + oneof dataset { + // Optional. Inline examples. + TuningExamples examples = 1 [(google.api.field_behavior) = OPTIONAL]; + } +} + +// A set of tuning examples. Can be training or validatation data. +message TuningExamples { + // Required. The examples. Example input can be for text or discuss, but all + // examples in a set must be of the same type. + repeated TuningExample examples = 1 [(google.api.field_behavior) = REQUIRED]; +} + +// A single example for tuning. +message TuningExample { + // The input to the model for this example. + oneof model_input { + // Optional. Text model input. + string text_input = 1 [(google.api.field_behavior) = OPTIONAL]; + } + + // Required. The expected model output. + string output = 3 [(google.api.field_behavior) = REQUIRED]; +} + +// Record for a single tuning step. +message TuningSnapshot { + // Output only. The tuning step. + int32 step = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The epoch this step was part of. + int32 epoch = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The mean loss of the training examples for this step. + float mean_loss = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The timestamp when this metric was computed. + google.protobuf.Timestamp compute_time = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/analytics/admin/v1alpha/channel_group.proto b/third_party/googleapis/google/analytics/admin/v1alpha/channel_group.proto new file mode 100644 index 000000000..2a8aaea73 --- /dev/null +++ b/third_party/googleapis/google/analytics/admin/v1alpha/channel_group.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.analytics.admin.v1alpha; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option go_package = "cloud.google.com/go/analytics/admin/apiv1alpha/adminpb;adminpb"; +option java_multiple_files = true; +option java_outer_classname = "ChannelGroupProto"; +option java_package = "com.google.analytics.admin.v1alpha"; + +// A specific filter for a single dimension. +message ChannelGroupFilter { + // Filter where the field value is a String. The match is case insensitive. + message StringFilter { + // How the filter will be used to determine a match. + enum MatchType { + // Default match type. + MATCH_TYPE_UNSPECIFIED = 0; + + // Exact match of the string value. + EXACT = 1; + + // Begins with the string value. + BEGINS_WITH = 2; + + // Ends with the string value. + ENDS_WITH = 3; + + // Contains the string value. + CONTAINS = 4; + + // Full regular expression match with the string value. + FULL_REGEXP = 5; + + // Partial regular expression match with the string value. + PARTIAL_REGEXP = 6; + } + + // Required. The match type for the string filter. + MatchType match_type = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The string value to be matched against. + string value = 2 [(google.api.field_behavior) = REQUIRED]; + } + + // A filter for a string dimension that matches a particular list of options. + // The match is case insensitive. + message InListFilter { + // Required. The list of possible string values to match against. Must be + // non-empty. + repeated string values = 1 [(google.api.field_behavior) = REQUIRED]; + } + + // A StringFilter or InListFilter that defines this filters behavior. + oneof value_filter { + // A filter for a string-type dimension that matches a particular pattern. + StringFilter string_filter = 2; + + // A filter for a string dimension that matches a particular list of + // options. + InListFilter in_list_filter = 3; + } + + // Required. Immutable. The dimension name to filter. + string field_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = IMMUTABLE + ]; +} + +// A logical expression of Channel Group dimension filters. +message ChannelGroupFilterExpression { + // The expression applied to a filter. + oneof expr { + // A list of expressions to be AND’ed together. It can only contain + // ChannelGroupFilterExpressions with or_group. This must be set for the + // top level ChannelGroupFilterExpression. + ChannelGroupFilterExpressionList and_group = 1; + + // A list of expressions to OR’ed together. It cannot contain + // ChannelGroupFilterExpressions with and_group or or_group. + ChannelGroupFilterExpressionList or_group = 2; + + // A filter expression to be NOT'ed (that is inverted, complemented). It + // can only include a dimension_or_metric_filter. This cannot be set on the + // top level ChannelGroupFilterExpression. + ChannelGroupFilterExpression not_expression = 3; + + // A filter on a single dimension. This cannot be set on the top + // level ChannelGroupFilterExpression. + ChannelGroupFilter filter = 4; + } +} + +// A list of Channel Group filter expressions. +message ChannelGroupFilterExpressionList { + // A list of Channel Group filter expressions. + repeated ChannelGroupFilterExpression filter_expressions = 1; +} + +// The rules that govern how traffic is grouped into one channel. +message GroupingRule { + // Required. Customer defined display name for the channel. + string display_name = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The Filter Expression that defines the Grouping Rule. + ChannelGroupFilterExpression expression = 2 + [(google.api.field_behavior) = REQUIRED]; +} + +// A resource message representing a Channel Group. +message ChannelGroup { + option (google.api.resource) = { + type: "analyticsadmin.googleapis.com/ChannelGroup" + pattern: "properties/{property}/channelGroups/{channel_group}" + }; + + // Output only. The resource name for this Channel Group resource. + // Format: properties/{property}/channelGroups/{channel_group} + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. The display name of the Channel Group. Max length of 80 + // characters. + string display_name = 2 [(google.api.field_behavior) = REQUIRED]; + + // The description of the Channel Group. Max length of 256 characters. + string description = 3; + + // Required. The grouping rules of channels. Maximum number of rules is 50. + repeated GroupingRule grouping_rule = 4 + [(google.api.field_behavior) = REQUIRED]; + + // Output only. If true, then this channel group is the Default Channel Group + // predefined by Google Analytics. Display name and grouping rules cannot be + // updated for this channel group. + bool system_defined = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/analytics/admin/v1alpha/event_create_and_edit.proto b/third_party/googleapis/google/analytics/admin/v1alpha/event_create_and_edit.proto new file mode 100644 index 000000000..9ff020f98 --- /dev/null +++ b/third_party/googleapis/google/analytics/admin/v1alpha/event_create_and_edit.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.analytics.admin.v1alpha; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option go_package = "cloud.google.com/go/analytics/admin/apiv1alpha/adminpb;adminpb"; +option java_multiple_files = true; +option java_package = "com.google.analytics.admin.v1alpha"; + +// Defines an event parameter to mutate. +message ParameterMutation { + // Required. The name of the parameter to mutate. + // This value must: + // * be less than 40 characters. + // * be unique across across all mutations within the rule + // * consist only of letters, digits or _ (underscores) + // For event edit rules, the name may also be set to 'event_name' to modify + // the event_name in place. + string parameter = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The value mutation to perform. + // * Must be less than 100 characters. + // * To specify a constant value for the param, use the value's string. + // * To copy value from another parameter, use syntax like + // "[[other_parameter]]" For more details, see this [help center + // article](https://support.google.com/analytics/answer/10085872#modify-an-event&zippy=%2Cin-this-article%2Cmodify-parameters). + string parameter_value = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// An Event Create Rule defines conditions that will trigger the creation +// of an entirely new event based upon matched criteria of a source event. +// Additional mutations of the parameters from the source event can be defined. +// +// Unlike Event Edit rules, Event Creation Rules have no defined order. They +// will all be run independently. +// +// Event Edit and Event Create rules can't be used to modify an event created +// from an Event Create rule. +message EventCreateRule { + option (google.api.resource) = { + type: "analyticsadmin.googleapis.com/EventCreateRule" + pattern: "properties/{property}/dataStreams/{data_stream}/eventCreateRules/{event_create_rule}" + }; + + // Output only. Resource name for this EventCreateRule resource. + // Format: + // properties/{property}/dataStreams/{data_stream}/eventCreateRules/{event_create_rule} + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. The name of the new event to be created. + // + // This value must: + // * be less than 40 characters + // * consist only of letters, digits or _ (underscores) + // * start with a letter + string destination_event = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. Must have at least one condition, and can have up to 10 max. + // Conditions on the source event must match for this rule to be applied. + repeated MatchingCondition event_conditions = 3 + [(google.api.field_behavior) = REQUIRED]; + + // If true, the source parameters are copied to the new event. + // If false, or unset, all non-internal parameters are not copied from the + // source event. Parameter mutations are applied after the parameters have + // been copied. + bool source_copy_parameters = 4; + + // Parameter mutations define parameter behavior on the new event, and + // are applied in order. + // A maximum of 20 mutations can be applied. + repeated ParameterMutation parameter_mutations = 5; +} + +// Defines a condition for when an Event Edit or Event Creation rule applies to +// an event. +message MatchingCondition { + // Comparison type for matching condition + enum ComparisonType { + // Unknown + COMPARISON_TYPE_UNSPECIFIED = 0; + + // Equals, case sensitive + EQUALS = 1; + + // Equals, case insensitive + EQUALS_CASE_INSENSITIVE = 2; + + // Contains, case sensitive + CONTAINS = 3; + + // Contains, case insensitive + CONTAINS_CASE_INSENSITIVE = 4; + + // Starts with, case sensitive + STARTS_WITH = 5; + + // Starts with, case insensitive + STARTS_WITH_CASE_INSENSITIVE = 6; + + // Ends with, case sensitive + ENDS_WITH = 7; + + // Ends with, case insensitive + ENDS_WITH_CASE_INSENSITIVE = 8; + + // Greater than + GREATER_THAN = 9; + + // Greater than or equal + GREATER_THAN_OR_EQUAL = 10; + + // Less than + LESS_THAN = 11; + + // Less than or equal + LESS_THAN_OR_EQUAL = 12; + + // regular expression. Only supported for web streams. + REGULAR_EXPRESSION = 13; + + // regular expression, case insensitive. Only supported for web streams. + REGULAR_EXPRESSION_CASE_INSENSITIVE = 14; + } + + // Required. The name of the field that is compared against for the condition. + // If 'event_name' is specified this condition will apply to the name of the + // event. Otherwise the condition will apply to a parameter with the + // specified name. + // + // This value cannot contain spaces. + string field = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The type of comparison to be applied to the value. + ComparisonType comparison_type = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The value being compared against for this condition. The runtime + // implementation may perform type coercion of this value to evaluate this + // condition based on the type of the parameter value. + string value = 3 [(google.api.field_behavior) = REQUIRED]; + + // Whether or not the result of the comparison should be negated. For example, + // if `negated` is true, then 'equals' comparisons would function as 'not + // equals'. + bool negated = 4; +} diff --git a/third_party/googleapis/google/analytics/admin/v1alpha/subproperty_event_filter.proto b/third_party/googleapis/google/analytics/admin/v1alpha/subproperty_event_filter.proto new file mode 100644 index 000000000..b5f06eea3 --- /dev/null +++ b/third_party/googleapis/google/analytics/admin/v1alpha/subproperty_event_filter.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.analytics.admin.v1alpha; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option go_package = "cloud.google.com/go/analytics/admin/apiv1alpha/adminpb;adminpb"; +option java_multiple_files = true; +option java_outer_classname = "SubpropertyEventFilterProto"; +option java_package = "com.google.analytics.admin.v1alpha"; + +// A specific filter expression +message SubpropertyEventFilterCondition { + // A filter for a string-type dimension that matches a particular pattern. + message StringFilter { + // How the filter will be used to determine a match. + enum MatchType { + // Match type unknown or not specified. + MATCH_TYPE_UNSPECIFIED = 0; + + // Exact match of the string value. + EXACT = 1; + + // Begins with the string value. + BEGINS_WITH = 2; + + // Ends with the string value. + ENDS_WITH = 3; + + // Contains the string value. + CONTAINS = 4; + + // Full regular expression matches with the string value. + FULL_REGEXP = 5; + + // Partial regular expression matches with the string value. + PARTIAL_REGEXP = 6; + } + + // Required. The match type for the string filter. + MatchType match_type = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The string value used for the matching. + string value = 2 [(google.api.field_behavior) = REQUIRED]; + + // Optional. If true, the string value is case sensitive. If false, the + // match is case-insensitive. + bool case_sensitive = 3 [(google.api.field_behavior) = OPTIONAL]; + } + + oneof one_filter { + // A filter for null values. + bool null_filter = 2; + + // A filter for a string-type dimension that matches a particular pattern. + StringFilter string_filter = 3; + } + + // Required. The field that is being filtered. + string field_name = 1 [(google.api.field_behavior) = REQUIRED]; +} + +// A logical expression of Subproperty event filters. +message SubpropertyEventFilterExpression { + // The expression applied to a filter. + oneof expr { + // A list of expressions to OR’ed together. Must only contain + // not_expression or filter_condition expressions. + SubpropertyEventFilterExpressionList or_group = 1; + + // A filter expression to be NOT'ed (inverted, complemented). It can only + // include a filter. This cannot be set on the top level + // SubpropertyEventFilterExpression. + SubpropertyEventFilterExpression not_expression = 2; + + // Creates a filter that matches a specific event. This cannot be set on the + // top level SubpropertyEventFilterExpression. + SubpropertyEventFilterCondition filter_condition = 3; + } +} + +// A list of Subproperty event filter expressions. +message SubpropertyEventFilterExpressionList { + // Required. Unordered list. A list of Subproperty event filter expressions + repeated SubpropertyEventFilterExpression filter_expressions = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = UNORDERED_LIST + ]; +} + +// A clause for defining a filter. A filter may be inclusive (events satisfying +// the filter clause are included in the subproperty's data) or exclusive +// (events satisfying the filter clause are excluded from the subproperty's +// data). +message SubpropertyEventFilterClause { + // Specifies whether this is an include or exclude filter clause. + enum FilterClauseType { + // Filter clause type unknown or not specified. + FILTER_CLAUSE_TYPE_UNSPECIFIED = 0; + + // Events will be included in the Sub property if the filter clause is met. + INCLUDE = 1; + + // Events will be excluded from the Sub property if the filter clause is + // met. + EXCLUDE = 2; + } + + // Required. The type for the filter clause. + FilterClauseType filter_clause_type = 1 + [(google.api.field_behavior) = REQUIRED]; + + // Required. The logical expression for what events are sent to the + // subproperty. + SubpropertyEventFilterExpression filter_expression = 2 + [(google.api.field_behavior) = REQUIRED]; +} + +// A resource message representing a GA4 Subproperty event filter. +message SubpropertyEventFilter { + option (google.api.resource) = { + type: "analyticsadmin.googleapis.com/SubpropertyEventFilter" + pattern: "properties/{property}/subpropertyEventFilters/{sub_property_event_filter}" + plural: "subpropertyEventFilters" + singular: "subpropertyEventFilter" + }; + + // Output only. Format: + // properties/{ordinary_property_id}/subpropertyEventFilters/{sub_property_event_filter} + // Example: properties/1234/subpropertyEventFilters/5678 + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. Resource name of the Subproperty that uses this filter. + optional string apply_to_property = 2 + [(google.api.field_behavior) = IMMUTABLE]; + + // Required. Unordered list. Filter clauses that define the + // SubpropertyEventFilter. All clauses are AND'ed together to determine what + // data is sent to the subproperty. + repeated SubpropertyEventFilterClause filter_clauses = 3 [ + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = UNORDERED_LIST + ]; +} diff --git a/third_party/googleapis/google/analytics/admin/v1beta/access_report.proto b/third_party/googleapis/google/analytics/admin/v1beta/access_report.proto new file mode 100644 index 000000000..57b703197 --- /dev/null +++ b/third_party/googleapis/google/analytics/admin/v1beta/access_report.proto @@ -0,0 +1,334 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.analytics.admin.v1beta; + +option go_package = "google.golang.org/genproto/googleapis/analytics/admin/v1beta;admin"; +option java_multiple_files = true; +option java_outer_classname = "AccessReportProto"; +option java_package = "com.google.analytics.admin.v1beta"; + +// Dimensions are attributes of your data. For example, the dimension +// `userEmail` indicates the email of the user that accessed reporting data. +// Dimension values in report responses are strings. +message AccessDimension { + // The API name of the dimension. See [Data Access + // Schema](https://developers.google.com/analytics/devguides/config/admin/v1/access-api-schema) + // for the list of dimensions supported in this API. + // + // Dimensions are referenced by name in `dimensionFilter` and `orderBys`. + string dimension_name = 1; +} + +// The quantitative measurements of a report. For example, the metric +// `accessCount` is the total number of data access records. +message AccessMetric { + // The API name of the metric. See [Data Access + // Schema](https://developers.google.com/analytics/devguides/config/admin/v1/access-api-schema) + // for the list of metrics supported in this API. + // + // Metrics are referenced by name in `metricFilter` & `orderBys`. + string metric_name = 1; +} + +// A contiguous range of days: startDate, startDate + 1, ..., endDate. +message AccessDateRange { + // The inclusive start date for the query in the format `YYYY-MM-DD`. Cannot + // be after `endDate`. The format `NdaysAgo`, `yesterday`, or `today` is also + // accepted, and in that case, the date is inferred based on the current time + // in the request's time zone. + string start_date = 1; + + // The inclusive end date for the query in the format `YYYY-MM-DD`. Cannot + // be before `startDate`. The format `NdaysAgo`, `yesterday`, or `today` is + // also accepted, and in that case, the date is inferred based on the current + // time in the request's time zone. + string end_date = 2; +} + +// Expresses dimension or metric filters. The fields in the same expression need +// to be either all dimensions or all metrics. +message AccessFilterExpression { + // Specify one type of filter expression for `FilterExpression`. + oneof one_expression { + // Each of the FilterExpressions in the and_group has an AND relationship. + AccessFilterExpressionList and_group = 1; + + // Each of the FilterExpressions in the or_group has an OR relationship. + AccessFilterExpressionList or_group = 2; + + // The FilterExpression is NOT of not_expression. + AccessFilterExpression not_expression = 3; + + // A primitive filter. In the same FilterExpression, all of the filter's + // field names need to be either all dimensions or all metrics. + AccessFilter access_filter = 4; + } +} + +// A list of filter expressions. +message AccessFilterExpressionList { + // A list of filter expressions. + repeated AccessFilterExpression expressions = 1; +} + +// An expression to filter dimension or metric values. +message AccessFilter { + // Specify one type of filter for `Filter`. + oneof one_filter { + // Strings related filter. + AccessStringFilter string_filter = 2; + + // A filter for in list values. + AccessInListFilter in_list_filter = 3; + + // A filter for numeric or date values. + AccessNumericFilter numeric_filter = 4; + + // A filter for two values. + AccessBetweenFilter between_filter = 5; + } + + // The dimension name or metric name. + string field_name = 1; +} + +// The filter for strings. +message AccessStringFilter { + // The match type of a string filter. + enum MatchType { + // Unspecified + MATCH_TYPE_UNSPECIFIED = 0; + + // Exact match of the string value. + EXACT = 1; + + // Begins with the string value. + BEGINS_WITH = 2; + + // Ends with the string value. + ENDS_WITH = 3; + + // Contains the string value. + CONTAINS = 4; + + // Full match for the regular expression with the string value. + FULL_REGEXP = 5; + + // Partial match for the regular expression with the string value. + PARTIAL_REGEXP = 6; + } + + // The match type for this filter. + MatchType match_type = 1; + + // The string value used for the matching. + string value = 2; + + // If true, the string value is case sensitive. + bool case_sensitive = 3; +} + +// The result needs to be in a list of string values. +message AccessInListFilter { + // The list of string values. Must be non-empty. + repeated string values = 1; + + // If true, the string value is case sensitive. + bool case_sensitive = 2; +} + +// Filters for numeric or date values. +message AccessNumericFilter { + // The operation applied to a numeric filter. + enum Operation { + // Unspecified. + OPERATION_UNSPECIFIED = 0; + + // Equal + EQUAL = 1; + + // Less than + LESS_THAN = 2; + + // Less than or equal + LESS_THAN_OR_EQUAL = 3; + + // Greater than + GREATER_THAN = 4; + + // Greater than or equal + GREATER_THAN_OR_EQUAL = 5; + } + + // The operation type for this filter. + Operation operation = 1; + + // A numeric value or a date value. + NumericValue value = 2; +} + +// To express that the result needs to be between two numbers (inclusive). +message AccessBetweenFilter { + // Begins with this number. + NumericValue from_value = 1; + + // Ends with this number. + NumericValue to_value = 2; +} + +// To represent a number. +message NumericValue { + // One of a numeric value + oneof one_value { + // Integer value + int64 int64_value = 1; + + // Double value + double double_value = 2; + } +} + +// Order bys define how rows will be sorted in the response. For example, +// ordering rows by descending access count is one ordering, and ordering rows +// by the country string is a different ordering. +message AccessOrderBy { + // Sorts by metric values. + message MetricOrderBy { + // A metric name in the request to order by. + string metric_name = 1; + } + + // Sorts by dimension values. + message DimensionOrderBy { + // Rule to order the string dimension values by. + enum OrderType { + // Unspecified. + ORDER_TYPE_UNSPECIFIED = 0; + + // Alphanumeric sort by Unicode code point. For example, "2" < "A" < "X" < + // "b" < "z". + ALPHANUMERIC = 1; + + // Case insensitive alphanumeric sort by lower case Unicode code point. + // For example, "2" < "A" < "b" < "X" < "z". + CASE_INSENSITIVE_ALPHANUMERIC = 2; + + // Dimension values are converted to numbers before sorting. For example + // in NUMERIC sort, "25" < "100", and in `ALPHANUMERIC` sort, "100" < + // "25". Non-numeric dimension values all have equal ordering value below + // all numeric values. + NUMERIC = 3; + } + + // A dimension name in the request to order by. + string dimension_name = 1; + + // Controls the rule for dimension value ordering. + OrderType order_type = 2; + } + + // Specify one type of order by for `OrderBy`. + oneof one_order_by { + // Sorts results by a metric's values. + MetricOrderBy metric = 1; + + // Sorts results by a dimension's values. + DimensionOrderBy dimension = 2; + } + + // If true, sorts by descending order. If false or unspecified, sorts in + // ascending order. + bool desc = 3; +} + +// Describes a dimension column in the report. Dimensions requested in a report +// produce column entries within rows and DimensionHeaders. However, dimensions +// used exclusively within filters or expressions do not produce columns in a +// report; correspondingly, those dimensions do not produce headers. +message AccessDimensionHeader { + // The dimension's name; for example 'userEmail'. + string dimension_name = 1; +} + +// Describes a metric column in the report. Visible metrics requested in a +// report produce column entries within rows and MetricHeaders. However, +// metrics used exclusively within filters or expressions do not produce columns +// in a report; correspondingly, those metrics do not produce headers. +message AccessMetricHeader { + // The metric's name; for example 'accessCount'. + string metric_name = 1; +} + +// Access report data for each row. +message AccessRow { + // List of dimension values. These values are in the same order as specified + // in the request. + repeated AccessDimensionValue dimension_values = 1; + + // List of metric values. These values are in the same order as specified + // in the request. + repeated AccessMetricValue metric_values = 2; +} + +// The value of a dimension. +message AccessDimensionValue { + // The dimension value. For example, this value may be 'France' for the + // 'country' dimension. + string value = 1; +} + +// The value of a metric. +message AccessMetricValue { + // The measurement value. For example, this value may be '13'. + string value = 1; +} + +// Current state of all quotas for this Analytics property. If any quota for a +// property is exhausted, all requests to that property will return Resource +// Exhausted errors. +message AccessQuota { + // Properties can use 250,000 tokens per day. Most requests consume fewer than + // 10 tokens. + AccessQuotaStatus tokens_per_day = 1; + + // Properties can use 50,000 tokens per hour. An API request consumes a single + // number of tokens, and that number is deducted from all of the hourly, + // daily, and per project hourly quotas. + AccessQuotaStatus tokens_per_hour = 2; + + // Properties can use up to 50 concurrent requests. + AccessQuotaStatus concurrent_requests = 3; + + // Properties and cloud project pairs can have up to 50 server errors per + // hour. + AccessQuotaStatus server_errors_per_project_per_hour = 4; + + // Properties can use up to 25% of their tokens per project per hour. This + // amounts to Analytics 360 Properties can use 12,500 tokens per project per + // hour. An API request consumes a single number of tokens, and that number is + // deducted from all of the hourly, daily, and per project hourly quotas. + AccessQuotaStatus tokens_per_project_per_hour = 5; +} + +// Current state for a particular quota group. +message AccessQuotaStatus { + // Quota consumed by this request. + int32 consumed = 1; + + // Quota remaining after this request. + int32 remaining = 2; +} diff --git a/third_party/googleapis/google/analytics/admin/v1beta/analyticsadmin_v1beta.yaml b/third_party/googleapis/google/analytics/admin/v1beta/analyticsadmin_v1beta.yaml new file mode 100644 index 000000000..4a0194cd5 --- /dev/null +++ b/third_party/googleapis/google/analytics/admin/v1beta/analyticsadmin_v1beta.yaml @@ -0,0 +1,124 @@ +type: google.api.Service +config_version: 3 +name: analyticsadmin.googleapis.com +title: Google Analytics Admin API + +apis: +- name: google.analytics.admin.v1beta.AnalyticsAdminService + +documentation: + summary: |- + Manage properties in Google Analytics. Warning: Creating multiple Customer + Applications, Accounts, or Projects to simulate or act as a single + Customer Application, Account, or Project (respectively) or to circumvent + Service-specific usage limits or quotas is a direct violation of Google + Cloud Platform Terms of Service as well as Google APIs Terms of Service. + These actions can result in immediate termination of your GCP project(s) + without any warning. + +authentication: + rules: + - selector: 'google.analytics.admin.v1beta.AnalyticsAdminService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/analytics.edit + - selector: google.analytics.admin.v1beta.AnalyticsAdminService.GetAccount + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/analytics.edit, + https://www.googleapis.com/auth/analytics.readonly + - selector: google.analytics.admin.v1beta.AnalyticsAdminService.GetConversionEvent + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/analytics.edit, + https://www.googleapis.com/auth/analytics.readonly + - selector: google.analytics.admin.v1beta.AnalyticsAdminService.GetCustomDimension + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/analytics.edit, + https://www.googleapis.com/auth/analytics.readonly + - selector: google.analytics.admin.v1beta.AnalyticsAdminService.GetCustomMetric + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/analytics.edit, + https://www.googleapis.com/auth/analytics.readonly + - selector: google.analytics.admin.v1beta.AnalyticsAdminService.GetDataRetentionSettings + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/analytics.edit, + https://www.googleapis.com/auth/analytics.readonly + - selector: google.analytics.admin.v1beta.AnalyticsAdminService.GetDataSharingSettings + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/analytics.edit, + https://www.googleapis.com/auth/analytics.readonly + - selector: google.analytics.admin.v1beta.AnalyticsAdminService.GetDataStream + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/analytics.edit, + https://www.googleapis.com/auth/analytics.readonly + - selector: google.analytics.admin.v1beta.AnalyticsAdminService.GetMeasurementProtocolSecret + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/analytics.edit, + https://www.googleapis.com/auth/analytics.readonly + - selector: google.analytics.admin.v1beta.AnalyticsAdminService.GetProperty + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/analytics.edit, + https://www.googleapis.com/auth/analytics.readonly + - selector: google.analytics.admin.v1beta.AnalyticsAdminService.ListAccountSummaries + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/analytics.edit, + https://www.googleapis.com/auth/analytics.readonly + - selector: google.analytics.admin.v1beta.AnalyticsAdminService.ListAccounts + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/analytics.edit, + https://www.googleapis.com/auth/analytics.readonly + - selector: google.analytics.admin.v1beta.AnalyticsAdminService.ListConversionEvents + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/analytics.edit, + https://www.googleapis.com/auth/analytics.readonly + - selector: google.analytics.admin.v1beta.AnalyticsAdminService.ListCustomDimensions + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/analytics.edit, + https://www.googleapis.com/auth/analytics.readonly + - selector: google.analytics.admin.v1beta.AnalyticsAdminService.ListCustomMetrics + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/analytics.edit, + https://www.googleapis.com/auth/analytics.readonly + - selector: google.analytics.admin.v1beta.AnalyticsAdminService.ListDataStreams + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/analytics.edit, + https://www.googleapis.com/auth/analytics.readonly + - selector: google.analytics.admin.v1beta.AnalyticsAdminService.ListFirebaseLinks + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/analytics.edit, + https://www.googleapis.com/auth/analytics.readonly + - selector: google.analytics.admin.v1beta.AnalyticsAdminService.ListGoogleAdsLinks + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/analytics.edit, + https://www.googleapis.com/auth/analytics.readonly + - selector: google.analytics.admin.v1beta.AnalyticsAdminService.ListMeasurementProtocolSecrets + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/analytics.edit, + https://www.googleapis.com/auth/analytics.readonly + - selector: google.analytics.admin.v1beta.AnalyticsAdminService.ListProperties + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/analytics.edit, + https://www.googleapis.com/auth/analytics.readonly + - selector: google.analytics.admin.v1beta.AnalyticsAdminService.RunAccessReport + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/analytics.edit, + https://www.googleapis.com/auth/analytics.readonly diff --git a/third_party/googleapis/google/api/cloudquotas/BUILD.bazel b/third_party/googleapis/google/api/cloudquotas/BUILD.bazel new file mode 100644 index 000000000..c0a97442c --- /dev/null +++ b/third_party/googleapis/google/api/cloudquotas/BUILD.bazel @@ -0,0 +1,36 @@ +# This build file includes a target for the Ruby wrapper library for +# google-cloud-cloud_quotas. + +# 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 cloudquotas. +# 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 = "cloudquotas_ruby_wrapper", + srcs = ["//google/api/cloudquotas/v1:cloudquotas_proto_with_info"], + extra_protoc_parameters = [ + "ruby-cloud-gem-name=google-cloud-cloud_quotas", + "ruby-cloud-wrapper-of=v1:0.2", + ], + service_yaml = "//google/api/cloudquotas/v1:cloudquotas_v1.yaml", + transport = "grpc+rest", +) + +# Open Source package. +ruby_gapic_assembly_pkg( + name = "google-cloud-cloudquotas-ruby", + deps = [ + ":cloudquotas_ruby_wrapper", + ], +) \ No newline at end of file diff --git a/third_party/googleapis/google/api/cloudquotas/v1/BUILD.bazel b/third_party/googleapis/google/api/cloudquotas/v1/BUILD.bazel new file mode 100644 index 000000000..bdae8949a --- /dev/null +++ b/third_party/googleapis/google/api/cloudquotas/v1/BUILD.bazel @@ -0,0 +1,375 @@ +# 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 = "cloudquotas_proto", + srcs = [ + "cloudquotas.proto", + "resources.proto", + ], + deps = [ + "//google/api:annotations_proto", + "//google/api:client_proto", + "//google/api:field_behavior_proto", + "//google/api:resource_proto", + "@com_google_protobuf//:field_mask_proto", + "@com_google_protobuf//:timestamp_proto", + "@com_google_protobuf//:wrappers_proto", + ], +) + +proto_library_with_info( + name = "cloudquotas_proto_with_info", + deps = [ + ":cloudquotas_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 = "cloudquotas_java_proto", + deps = [":cloudquotas_proto"], +) + +java_grpc_library( + name = "cloudquotas_java_grpc", + srcs = [":cloudquotas_proto"], + deps = [":cloudquotas_java_proto"], +) + +java_gapic_library( + name = "cloudquotas_java_gapic", + srcs = [":cloudquotas_proto_with_info"], + gapic_yaml = None, + grpc_service_config = "cloudquotas_v1_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "cloudquotas_v1.yaml", + test_deps = [ + ":cloudquotas_java_grpc", + ], + transport = "grpc+rest", + deps = [ + ":cloudquotas_java_proto", + "//google/api:api_java_proto", + ], +) + +java_gapic_test( + name = "cloudquotas_java_gapic_test_suite", + test_classes = [ + "com.google.api.cloudquotas.v1.CloudQuotasClientHttpJsonTest", + "com.google.api.cloudquotas.v1.CloudQuotasClientTest", + ], + runtime_deps = [":cloudquotas_java_gapic_test"], +) + +# Open Source Packages +java_gapic_assembly_gradle_pkg( + name = "google-cloud-api-cloudquotas-v1-java", + transport = "grpc+rest", + deps = [ + ":cloudquotas_java_gapic", + ":cloudquotas_java_grpc", + ":cloudquotas_java_proto", + ":cloudquotas_proto", + ], + include_samples = True, +) + +############################################################################## +# Go +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "go_gapic_assembly_pkg", + "go_gapic_library", + "go_proto_library", +) + +go_proto_library( + name = "cloudquotas_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "cloud.google.com/go/cloudquotas/apiv1/cloudquotaspb", + protos = [":cloudquotas_proto"], + deps = [ + "//google/api:annotations_go_proto", + ], +) + +go_gapic_library( + name = "cloudquotas_go_gapic", + srcs = [":cloudquotas_proto_with_info"], + grpc_service_config = "cloudquotas_v1_grpc_service_config.json", + importpath = "cloud.google.com/go/cloudquotas/apiv1;cloudquotas", + metadata = True, + release_level = "beta", + rest_numeric_enums = True, + service_yaml = "cloudquotas_v1.yaml", + transport = "grpc+rest", + deps = [ + ":cloudquotas_go_proto", + ], +) + +# Open Source Packages +go_gapic_assembly_pkg( + name = "gapi-cloud-api-cloudquotas-v1-go", + deps = [ + ":cloudquotas_go_gapic", + ":cloudquotas_go_gapic_srcjar-test.srcjar", + ":cloudquotas_go_gapic_srcjar-metadata.srcjar", + ":cloudquotas_go_gapic_srcjar-snippets.srcjar", + ":cloudquotas_go_proto", + ], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "py_gapic_assembly_pkg", + "py_gapic_library", + "py_test", +) + +py_gapic_library( + name = "cloudquotas_py_gapic", + srcs = [":cloudquotas_proto"], + grpc_service_config = "cloudquotas_v1_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "cloudquotas_v1.yaml", + transport = "grpc+rest", + deps = [], + opt_args = [ + "python-gapic-namespace=google.cloud", + "warehouse-package-name=google-cloud-quotas", + ], +) + +py_test( + name = "cloudquotas_py_gapic_test", + srcs = [ + "cloudquotas_py_gapic_pytest.py", + "cloudquotas_py_gapic_test.py", + ], + legacy_create_init = False, + deps = [":cloudquotas_py_gapic"], +) + +# Open Source Packages +py_gapic_assembly_pkg( + name = "api-cloudquotas-v1-py", + deps = [ + ":cloudquotas_py_gapic", + ], +) + +############################################################################## +# PHP +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "php_gapic_assembly_pkg", + "php_gapic_library", + "php_proto_library", +) + +php_proto_library( + name = "cloudquotas_php_proto", + deps = [":cloudquotas_proto"], +) + +php_gapic_library( + name = "cloudquotas_php_gapic", + srcs = [":cloudquotas_proto_with_info"], + grpc_service_config = "cloudquotas_v1_grpc_service_config.json", + rest_numeric_enums = True, + migration_mode = "NEW_SURFACE_ONLY", + service_yaml = "cloudquotas_v1.yaml", + transport = "grpc+rest", + deps = [ + ":cloudquotas_php_proto", + ], +) + +# Open Source Packages +php_gapic_assembly_pkg( + name = "google-cloud-api-cloudquotas-v1-php", + deps = [ + ":cloudquotas_php_gapic", + ":cloudquotas_php_proto", + ], +) + +############################################################################## +# Node.js +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "nodejs_gapic_assembly_pkg", + "nodejs_gapic_library", +) + +nodejs_gapic_library( + name = "cloudquotas_nodejs_gapic", + package_name = "@google-cloud/cloudquotas", + src = ":cloudquotas_proto_with_info", + extra_protoc_parameters = ["metadata"], + grpc_service_config = "cloudquotas_v1_grpc_service_config.json", + package = "google.api.cloudquotas.v1", + rest_numeric_enums = True, + service_yaml = "cloudquotas_v1.yaml", + transport = "grpc+rest", + deps = [], +) + +nodejs_gapic_assembly_pkg( + name = "api-cloudquotas-v1-nodejs", + deps = [ + ":cloudquotas_nodejs_gapic", + ":cloudquotas_proto", + ], +) + +############################################################################## +# Ruby +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "ruby_gapic_assembly_pkg", + "ruby_cloud_gapic_library", + "ruby_grpc_library", + "ruby_proto_library", +) + +ruby_proto_library( + name = "cloudquotas_ruby_proto", + deps = [":cloudquotas_proto"], +) + +ruby_grpc_library( + name = "cloudquotas_ruby_grpc", + srcs = [":cloudquotas_proto"], + deps = [":cloudquotas_ruby_proto"], +) + +ruby_cloud_gapic_library( + name = "cloudquotas_ruby_gapic", + srcs = [":cloudquotas_proto_with_info"], + extra_protoc_parameters = [ + "ruby-cloud-gem-name=google-cloud-cloud_quotas-v1", + ], + grpc_service_config = "cloudquotas_v1_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "cloudquotas_v1.yaml", + transport = "grpc+rest", + deps = [ + ":cloudquotas_ruby_grpc", + ":cloudquotas_ruby_proto", + ], +) + +# Open Source Packages +ruby_gapic_assembly_pkg( + name = "google-cloud-cloudquotas-v1-ruby", + deps = [ + ":cloudquotas_ruby_gapic", + ":cloudquotas_ruby_grpc", + ":cloudquotas_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 = "cloudquotas_csharp_proto", + extra_opts = [], + deps = [":cloudquotas_proto"], +) + +csharp_grpc_library( + name = "cloudquotas_csharp_grpc", + srcs = [":cloudquotas_proto"], + deps = [":cloudquotas_csharp_proto"], +) + +csharp_gapic_library( + name = "cloudquotas_csharp_gapic", + srcs = [":cloudquotas_proto_with_info"], + grpc_service_config = "cloudquotas_v1_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "cloudquotas_v1.yaml", + deps = [ + ":cloudquotas_csharp_grpc", + ":cloudquotas_csharp_proto", + ], +) + +# Open Source Packages +csharp_gapic_assembly_pkg( + name = "google-cloud-api-cloudquotas-v1-csharp", + deps = [ + ":cloudquotas_csharp_gapic", + ":cloudquotas_csharp_grpc", + ":cloudquotas_csharp_proto", + ], +) + +############################################################################## +# C++ +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "cc_grpc_library", + "cc_proto_library", +) + +cc_proto_library( + name = "cloudquotas_cc_proto", + deps = [":cloudquotas_proto"], +) + +cc_grpc_library( + name = "cloudquotas_cc_grpc", + srcs = [":cloudquotas_proto"], + grpc_only = True, + deps = [":cloudquotas_cc_proto"], +) diff --git a/third_party/googleapis/google/api/cloudquotas/v1/cloudquotas.proto b/third_party/googleapis/google/api/cloudquotas/v1/cloudquotas.proto new file mode 100644 index 000000000..2d35f2d09 --- /dev/null +++ b/third_party/googleapis/google/api/cloudquotas/v1/cloudquotas.proto @@ -0,0 +1,325 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.api.cloudquotas.v1; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/cloudquotas/v1/resources.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; + +option csharp_namespace = "Google.Cloud.CloudQuotas.V1"; +option go_package = "cloud.google.com/go/cloudquotas/apiv1/cloudquotaspb;cloudquotaspb"; +option java_multiple_files = true; +option java_outer_classname = "CloudquotasProto"; +option java_package = "com.google.api.cloudquotas.v1"; +option php_namespace = "Google\\Cloud\\CloudQuotas\\V1"; +option ruby_package = "Google::Cloud::CloudQuotas::V1"; +option (google.api.resource_definition) = { + type: "cloudquotas.googleapis.com/Service" + pattern: "projects/{project}/locations/{location}/services/{service}" + pattern: "folders/{folder}/locations/{location}/services/{service}" + pattern: "organizations/{organization}/locations/{location}/services/{service}" +}; +option (google.api.resource_definition) = { + type: "cloudquotas.googleapis.com/Location" + pattern: "projects/{project}/locations/{location}" + pattern: "folders/{folder}/locations/{location}" + pattern: "organizations/{organization}/locations/{location}" +}; + +// The Cloud Quotas API is an infrastructure service for Google Cloud that lets +// service consumers list and manage their resource usage limits. +// +// - List/Get the metadata and current status of the quotas for a service. +// - Create/Update quota preferencess that declare the preferred quota values. +// - Check the status of a quota preference request. +// - List/Get pending and historical quota preference. +service CloudQuotas { + option (google.api.default_host) = "cloudquotas.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform"; + + // Lists QuotaInfos of all quotas for a given project, folder or organization. + rpc ListQuotaInfos(ListQuotaInfosRequest) returns (ListQuotaInfosResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*/services/*}/quotaInfos" + additional_bindings { + get: "/v1/{parent=organizations/*/locations/*/services/*}/quotaInfos" + } + additional_bindings { + get: "/v1/{parent=folders/*/locations/*/services/*}/quotaInfos" + } + }; + option (google.api.method_signature) = "parent"; + } + + // Retrieve the QuotaInfo of a quota for a project, folder or organization. + rpc GetQuotaInfo(GetQuotaInfoRequest) returns (QuotaInfo) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/services/*/quotaInfos/*}" + additional_bindings { + get: "/v1/{name=organizations/*/locations/*/services/*/quotaInfos/*}" + } + additional_bindings { + get: "/v1/{name=folders/*/locations/*/services/*/quotaInfos/*}" + } + }; + option (google.api.method_signature) = "name"; + } + + // Lists QuotaPreferences in a given project, folder or organization. + rpc ListQuotaPreferences(ListQuotaPreferencesRequest) + returns (ListQuotaPreferencesResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*}/quotaPreferences" + additional_bindings { + get: "/v1/{parent=folders/*/locations/*}/quotaPreferences" + } + additional_bindings { + get: "/v1/{parent=organizations/*/locations/*}/quotaPreferences" + } + }; + option (google.api.method_signature) = "parent"; + } + + // Gets details of a single QuotaPreference. + rpc GetQuotaPreference(GetQuotaPreferenceRequest) returns (QuotaPreference) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/quotaPreferences/*}" + additional_bindings { + get: "/v1/{name=organizations/*/locations/*/quotaPreferences/*}" + } + additional_bindings { + get: "/v1/{name=folders/*/locations/*/quotaPreferences/*}" + } + }; + option (google.api.method_signature) = "name"; + } + + // Creates a new QuotaPreference that declares the desired value for a quota. + rpc CreateQuotaPreference(CreateQuotaPreferenceRequest) + returns (QuotaPreference) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*}/quotaPreferences" + body: "quota_preference" + additional_bindings { + post: "/v1/{parent=folders/*/locations/*}/quotaPreferences" + body: "quota_preference" + } + additional_bindings { + post: "/v1/{parent=organizations/*/locations/*}/quotaPreferences" + body: "quota_preference" + } + }; + option (google.api.method_signature) = + "parent,quota_preference,quota_preference_id"; + option (google.api.method_signature) = "parent,quota_preference"; + } + + // Updates the parameters of a single QuotaPreference. It can updates the + // config in any states, not just the ones pending approval. + rpc UpdateQuotaPreference(UpdateQuotaPreferenceRequest) + returns (QuotaPreference) { + option (google.api.http) = { + patch: "/v1/{quota_preference.name=projects/*/locations/*/quotaPreferences/*}" + body: "quota_preference" + additional_bindings { + patch: "/v1/{quota_preference.name=folders/*/locations/*/quotaPreferences/*}" + body: "quota_preference" + } + additional_bindings { + patch: "/v1/{quota_preference.name=organizations/*/locations/*/quotaPreferences/*}" + body: "quota_preference" + } + }; + option (google.api.method_signature) = "quota_preference,update_mask"; + } +} + +// Message for requesting list of QuotaInfos +message ListQuotaInfosRequest { + // Required. Parent value of QuotaInfo resources. + // Listing across different resource containers (such as 'projects/-') is not + // allowed. + // + // Example names: + // `projects/123/locations/global/services/compute.googleapis.com` + // `folders/234/locations/global/services/compute.googleapis.com` + // `organizations/345/locations/global/services/compute.googleapis.com` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "cloudquotas.googleapis.com/QuotaInfo" + } + ]; + + // Optional. Requested page size. Server may return fewer items than + // requested. If unspecified, server will pick an appropriate default. + int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A token identifying a page of results the server should return. + string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// Message for response to listing QuotaInfos +message ListQuotaInfosResponse { + // The list of QuotaInfo + repeated QuotaInfo quota_infos = 1; + + // A token, which can be sent as `page_token` to retrieve the next page. + // If this field is omitted, there are no subsequent pages. + string next_page_token = 2; +} + +// Message for getting a QuotaInfo +message GetQuotaInfoRequest { + // Required. The resource name of the quota info. + // + // An example name: + // `projects/123/locations/global/services/compute.googleapis.com/quotaInfos/CpusPerProjectPerRegion` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "cloudquotas.googleapis.com/QuotaInfo" + } + ]; +} + +// Message for requesting list of QuotaPreferences +message ListQuotaPreferencesRequest { + // Required. Parent value of QuotaPreference resources. + // Listing across different resource containers (such as 'projects/-') is not + // allowed. + // + // When the value starts with 'folders' or 'organizations', it lists the + // QuotaPreferences for org quotas in the container. It does not list the + // QuotaPreferences in the descendant projects of the container. + // + // Example parents: + // `projects/123/locations/global` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "cloudquotas.googleapis.com/QuotaPreference" + } + ]; + + // Optional. Requested page size. Server may return fewer items than + // requested. If unspecified, server will pick an appropriate default. + int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A token identifying a page of results the server should return. + string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Filter result QuotaPreferences by their state, type, + // create/update time range. + // + // Example filters: + // `state=PENDING OR state=PENDING_PARTIALLY_GRANTED` + // `state=PENDING OR state=PENDING_PARTIALLY_GRANTED AND + // creation_time>2022-12-03T10:30:00` + // + // If no filter is provided, returns all pending quota preferences. + string filter = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. How to order of the results. By default, the results are ordered + // by create time. + // + // Example orders: + // `type` + // `state, create_time` + string order_by = 5 [(google.api.field_behavior) = OPTIONAL]; +} + +// Message for response to listing QuotaPreferences +message ListQuotaPreferencesResponse { + // The list of QuotaPreference + repeated QuotaPreference quota_preferences = 1; + + // A token, which can be sent as `page_token` to retrieve the next page. + // If this field is omitted, there are no subsequent pages. + string next_page_token = 2; + + // Locations that could not be reached. + repeated string unreachable = 3; +} + +// Message for getting a QuotaPreference +message GetQuotaPreferenceRequest { + // Required. Name of the resource + // + // Example name: + // `projects/123/locations/global/quota_preferences/my-config-for-us-east1` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "cloudquotas.googleapis.com/QuotaPreference" + } + ]; +} + +// Message for creating a QuotaPreference +message CreateQuotaPreferenceRequest { + // Required. Value for parent. + // + // Example: + // `projects/123/locations/global` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "cloudquotas.googleapis.com/QuotaPreference" + } + ]; + + // Optional. Id of the requesting object, must be unique under its parent. + // If client does not set this field, the service will generate one. + string quota_preference_id = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Required. The resource being created + QuotaPreference quota_preference = 3 [(google.api.field_behavior) = REQUIRED]; + + // The list of quota safety checks to be ignored. + repeated QuotaSafetyCheck ignore_safety_checks = 4; +} + +// Message for updating a QuotaPreference +message UpdateQuotaPreferenceRequest { + // Optional. Field mask is used to specify the fields to be overwritten in the + // QuotaPreference resource by the update. + // The fields specified in the update_mask are relative to the resource, not + // the full request. A field will be overwritten if it is in the mask. If the + // user does not provide a mask then all fields will be overwritten. + google.protobuf.FieldMask update_mask = 1 + [(google.api.field_behavior) = OPTIONAL]; + + // Required. The resource being updated + QuotaPreference quota_preference = 2 [(google.api.field_behavior) = REQUIRED]; + + // Optional. If set to true, and the quota preference is not found, a new one + // will be created. In this situation, `update_mask` is ignored. + bool allow_missing = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. If set to true, validate the request, but do not actually update. + // Note that a request being valid does not mean that the request is + // guaranteed to be fulfilled. + bool validate_only = 4 [(google.api.field_behavior) = OPTIONAL]; + + // The list of quota safety checks to be ignored. + repeated QuotaSafetyCheck ignore_safety_checks = 5; +} diff --git a/third_party/googleapis/google/api/cloudquotas/v1/cloudquotas_v1.yaml b/third_party/googleapis/google/api/cloudquotas/v1/cloudquotas_v1.yaml new file mode 100644 index 000000000..30ba31c06 --- /dev/null +++ b/third_party/googleapis/google/api/cloudquotas/v1/cloudquotas_v1.yaml @@ -0,0 +1,63 @@ +type: google.api.Service +config_version: 3 +name: cloudquotas.googleapis.com +title: Cloud Quotas API + +apis: +- name: google.api.cloudquotas.v1.CloudQuotas + +documentation: + summary: |- + Cloud Quotas API provides Google Cloud service consumers with management + and observability for resource usage, quotas, and restrictions of the + services they consume. + +authentication: + rules: + - selector: 'google.api.cloudquotas.v1.CloudQuotas.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + +publishing: + new_issue_uri: https://issuetracker.google.com/issues/new?component=445904 + documentation_uri: https://cloud.google.com/docs/quota/api-overview + api_short_name: cloudquotas + github_label: 'api: cloudquotas' + doc_tag_prefix: cloudquotas + organization: CLOUD + library_settings: + - version: google.api.cloudquotas.v1 + 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/api/cloudquotas/v1/cloudquotas_v1_grpc_service_config.json b/third_party/googleapis/google/api/cloudquotas/v1/cloudquotas_v1_grpc_service_config.json new file mode 100644 index 000000000..feeb5717c --- /dev/null +++ b/third_party/googleapis/google/api/cloudquotas/v1/cloudquotas_v1_grpc_service_config.json @@ -0,0 +1,20 @@ +{ + "methodConfig": [{ + "name": [ + { "service": "google.api.cloudquotas.v1.CloudQuotas", "method": "ListQuotaInfos" }, + { "service": "google.api.cloudquotas.v1.CloudQuotas", "method": "GetQuotaInfo" }, + { "service": "google.api.cloudquotas.v1.CloudQuotas", "method": "ListQuotaPreferences" }, + { "service": "google.api.cloudquotas.v1.CloudQuotas", "method": "GetQuotaPreference" }, + { "service": "google.api.cloudquotas.v1.CloudQuotas", "method": "CreateQuotaPreference" }, + { "service": "google.api.cloudquotas.v1.CloudQuotas", "method": "UpdateQuotaPreference" } + ], + "timeout": "60s", + "retryPolicy": { + "maxAttempts": 5, + "initialBackoff": "1s", + "maxBackoff": "10s", + "backoffMultiplier": 1.3, + "retryableStatusCodes": ["UNAVAILABLE"] + } + }] +} diff --git a/third_party/googleapis/google/api/cloudquotas/v1/resources.proto b/third_party/googleapis/google/api/cloudquotas/v1/resources.proto new file mode 100644 index 000000000..9c7ef471d --- /dev/null +++ b/third_party/googleapis/google/api/cloudquotas/v1/resources.proto @@ -0,0 +1,311 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.api.cloudquotas.v1; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/timestamp.proto"; +import "google/protobuf/wrappers.proto"; + +option csharp_namespace = "Google.Cloud.CloudQuotas.V1"; +option go_package = "cloud.google.com/go/cloudquotas/apiv1/cloudquotaspb;cloudquotaspb"; +option java_multiple_files = true; +option java_outer_classname = "ResourcesProto"; +option java_package = "com.google.api.cloudquotas.v1"; +option php_namespace = "Google\\Cloud\\CloudQuotas\\V1"; +option ruby_package = "Google::Cloud::CloudQuotas::V1"; + +// Enumerations of quota safety checks. +enum QuotaSafetyCheck { + // Unspecified quota safety check. + QUOTA_SAFETY_CHECK_UNSPECIFIED = 0; + + // Validates that a quota mutation would not cause the consumer's effective + // limit to be lower than the consumer's quota usage. + QUOTA_DECREASE_BELOW_USAGE = 1; + + // Validates that a quota mutation would not cause the consumer's effective + // limit to decrease by more than 10 percent. + QUOTA_DECREASE_PERCENTAGE_TOO_HIGH = 2; +} + +// QuotaInfo represents information about a particular quota for a given +// project, folder or organization. +message QuotaInfo { + option (google.api.resource) = { + type: "cloudquotas.googleapis.com/QuotaInfo" + pattern: "projects/{project}/locations/{location}/services/{service}/quotaInfos/{quota_info}" + pattern: "folders/{folder}/locations/{location}/services/{service}/quotaInfos/{quota_info}" + pattern: "organizations/{organization}/locations/{location}/services/{service}/quotaInfos/{quota_info}" + }; + + // The enumeration of the types of a cloud resource container. + enum ContainerType { + // Unspecified container type. + CONTAINER_TYPE_UNSPECIFIED = 0; + + // consumer project + PROJECT = 1; + + // folder + FOLDER = 2; + + // organization + ORGANIZATION = 3; + } + + // Resource name of this QuotaInfo. + // The ID component following "locations/" must be "global". + // Example: + // `projects/123/locations/global/services/compute.googleapis.com/quotaInfos/CpusPerProjectPerRegion` + string name = 1; + + // The id of the quota, which is unquie within the service. + // Example: `CpusPerProjectPerRegion` + string quota_id = 2; + + // The metric of the quota. It specifies the resources consumption the quota + // is defined for. + // Example: `compute.googleapis.com/cpus` + string metric = 3; + + // The name of the service in which the quota is defined. + // Example: `compute.googleapis.com` + string service = 4; + + // Whether this is a precise quota. A precise quota is tracked with absolute + // precision. In contrast, an imprecise quota is not tracked with precision. + bool is_precise = 5; + + // The reset time interval for the quota. Refresh interval applies to rate + // quota only. + // Example: "minute" for per minute, "day" for per day, or "10 seconds" for + // every 10 seconds. + string refresh_interval = 6; + + // The container type of the QuotaInfo. + ContainerType container_type = 7; + + // The dimensions the quota is defined on. + repeated string dimensions = 8; + + // The display name of the quota metric + string metric_display_name = 9; + + // The display name of the quota. + string quota_display_name = 10; + + // The unit in which the metric value is reported, e.g., "MByte". + string metric_unit = 11; + + // Whether it is eligible to request a higher quota value for this quota. + QuotaIncreaseEligibility quota_increase_eligibility = 12; + + // Whether the quota value is fixed or adjustable + bool is_fixed = 13; + + // The collection of dimensions info ordered by their dimensions from more + // specific ones to less specific ones. + repeated DimensionsInfo dimensions_infos = 14; + + // Whether the quota is a concurrent quota. Concurrent quotas are enforced + // on the total number of concurrent operations in flight at any given time. + bool is_concurrent = 15; + + // URI to the page where the user can request more quotas for the cloud + // service, such as + // https://docs.google.com/spreadsheet/viewform?formkey=abc123&entry_0={email}&entry_1={id}. + // Google Developers Console UI replace {email} with the current + // user's e-mail, {id} with the current project number, or organization ID + // with "organizations/" prefix. For example, + // https://docs.google.com/spreadsheet/viewform?formkey=abc123&entry_0=johndoe@gmail.com&entry_1=25463754, + // or + // https://docs.google.com/spreadsheet/viewform?formkey=abc123&entry_0=johndoe@gmail.com&entry_1=organizations/26474422. + string service_request_quota_uri = 17; +} + +// Eligibility information regarding requesting increase adjustment of a quota. +message QuotaIncreaseEligibility { + // The enumeration of reasons when it is ineligible to request increase + // adjustment. + enum IneligibilityReason { + // Default value when is_eligible is true. + INELIGIBILITY_REASON_UNSPECIFIED = 0; + + // The container is not linked with a valid billing account. + NO_VALID_BILLING_ACCOUNT = 1; + + // Other reasons. + OTHER = 2; + } + + // Whether a higher quota value can be requested for the quota. + bool is_eligible = 1; + + // The reason of why it is ineligible to request increased value of the quota. + // If the is_eligible field is true, it defaults to + // INELIGIBILITY_REASON_UNSPECIFIED. + IneligibilityReason ineligibility_reason = 2; +} + +// QuotaPreference represents the preferred quota configuration specified for +// a project, folder or organization. There is only one QuotaPreference +// resource for a quota value targeting a unique set of dimensions. +message QuotaPreference { + option (google.api.resource) = { + type: "cloudquotas.googleapis.com/QuotaPreference" + pattern: "projects/{project}/locations/{location}/quotaPreferences/{quota_preference}" + pattern: "folders/{folder}/locations/{location}/quotaPreferences/{quota_preference}" + pattern: "organizations/{organization}/locations/{location}/quotaPreferences/{quota_preference}" + }; + + // Required except in the CREATE requests. + // The resource name of the quota preference. + // The ID component following "locations/" must be "global". + // Example: + // `projects/123/locations/global/quotaPreferences/my-config-for-us-east1` + string name = 1; + + // The dimensions that this quota preference applies to. The key of the map + // entry is the name of a dimension, such as "region", "zone", "network_id", + // and the value of the map entry is the dimension value. + // + // If a dimension is missing from the map of dimensions, the quota preference + // applies to all the dimension values except for those that have other quota + // preferences configured for the specific value. + // + // NOTE: QuotaPreferences can only be applied across all values of "user" and + // "resource" dimension. Do not set values for "user" or "resource" in the + // dimension map. + // + // Example: {"provider", "Foo Inc"} where "provider" is a service specific + // dimension. + map dimensions = 2; + + // Required. Preferred quota configuration. + QuotaConfig quota_config = 3 [(google.api.field_behavior) = REQUIRED]; + + // Optional. The current etag of the quota preference. If an etag is provided + // on update and does not match the current server's etag of the quota + // preference, the request will be blocked and an ABORTED error will be + // returned. See https://google.aip.dev/134#etags for more details on etags. + string etag = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Output only. Create time stamp + google.protobuf.Timestamp create_time = 5 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Update time stamp + google.protobuf.Timestamp update_time = 6 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. The name of the service to which the quota preference is applied. + string service = 7 [(google.api.field_behavior) = REQUIRED]; + + // Required. The id of the quota to which the quota preference is applied. A + // quota name is unique in the service. Example: `CpusPerProjectPerRegion` + string quota_id = 8 [(google.api.field_behavior) = REQUIRED]; + + // Output only. Is the quota preference pending Google Cloud approval and + // fulfillment. + bool reconciling = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The reason / justification for this quota preference. + string justification = 11; + + // Required. Input only. An email address that can be used for quota related + // communication between the Google Cloud and the user in case the Google + // Cloud needs further information to make a decision on whether the user + // preferred quota can be granted. + // + // The Google account for the email address must have quota update permission + // for the project, folder or organization this quota preference is for. + string contact_email = 12 [ + (google.api.field_behavior) = INPUT_ONLY, + (google.api.field_behavior) = REQUIRED + ]; +} + +// The preferred quota configuration. +message QuotaConfig { + // The enumeration of the origins of quota preference requests. + enum Origin { + // The unspecified value. + ORIGIN_UNSPECIFIED = 0; + + // Created through Cloud Console. + CLOUD_CONSOLE = 1; + + // Generated by automatic quota adjustment. + AUTO_ADJUSTER = 2; + } + + // Required. The preferred value. Must be greater than or equal to -1. If set + // to -1, it means the value is "unlimited". + int64 preferred_value = 1 [(google.api.field_behavior) = REQUIRED]; + + // Output only. Optional details about the state of this quota preference. + string state_detail = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Granted quota value. + google.protobuf.Int64Value granted_value = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The trace id that the Google Cloud uses to provision the + // requested quota. This trace id may be used by the client to contact Cloud + // support to track the state of a quota preference request. The trace id is + // only produced for increase requests and is unique for each request. The + // quota decrease requests do not have a trace id. + string trace_id = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The annotations map for clients to store small amounts of arbitrary data. + // Do not put PII or other sensitive information here. + // See https://google.aip.dev/128#annotations + map annotations = 5; + + // Output only. The origin of the quota preference request. + Origin request_origin = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// The detailed quota information such as effective quota value for a +// combination of dimensions. +message DimensionsInfo { + // The map of dimensions for this dimensions info. The key of a map entry + // is "region", "zone" or the name of a service specific dimension, and the + // value of a map entry is the value of the dimension. If a dimension does + // not appear in the map of dimensions, the dimensions info applies to all + // the dimension values except for those that have another DimenisonInfo + // instance configured for the specific value. + // Example: {"provider" : "Foo Inc"} where "provider" is a service specific + // dimension of a quota. + map dimensions = 1; + + // Quota details for the specified dimensions. + QuotaDetails details = 2; + + // The applicable regions or zones of this dimensions info. The field will be + // set to ['global'] for quotas that are not per region or per zone. + // Otherwise, it will be set to the list of locations this dimension info is + // applicable to. + repeated string applicable_locations = 3; +} + +// The quota details for a map of dimensions. +message QuotaDetails { + // The value currently in effect and being enforced. + int64 value = 1; +} diff --git a/third_party/googleapis/google/api/field_info.proto b/third_party/googleapis/google/api/field_info.proto new file mode 100644 index 000000000..dd66340a0 --- /dev/null +++ b/third_party/googleapis/google/api/field_info.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.api; + +import "google/protobuf/descriptor.proto"; + +option go_package = "google.golang.org/genproto/googleapis/api/annotations;annotations"; +option java_multiple_files = true; +option java_outer_classname = "FieldInfoProto"; +option java_package = "com.google.api"; +option objc_class_prefix = "GAPI"; + +extend google.protobuf.FieldOptions { + // Rich semantic descriptor of an API field beyond the basic typing. + // + // Examples: + // + // string request_id = 1 [(google.api.field_info).format = UUID4]; + // string old_ip_address = 2 [(google.api.field_info).format = IPV4]; + // string new_ip_address = 3 [(google.api.field_info).format = IPV6]; + // string actual_ip_address = 4 [ + // (google.api.field_info).format = IPV4_OR_IPV6 + // ]; + google.api.FieldInfo field_info = 291403980; +} + +// Rich semantic information of an API field beyond basic typing. +message FieldInfo { + // The standard format of a field value. The supported formats are all backed + // by either an RFC defined by the IETF or a Google-defined AIP. + enum Format { + // Default, unspecified value. + FORMAT_UNSPECIFIED = 0; + + // Universally Unique Identifier, version 4, value as defined by + // https://datatracker.ietf.org/doc/html/rfc4122. The value may be + // normalized to entirely lowercase letters. For example, the value + // `F47AC10B-58CC-0372-8567-0E02B2C3D479` would be normalized to + // `f47ac10b-58cc-0372-8567-0e02b2c3d479`. + UUID4 = 1; + + // Internet Protocol v4 value as defined by [RFC + // 791](https://datatracker.ietf.org/doc/html/rfc791). The value may be + // condensed, with leading zeros in each octet stripped. For example, + // `001.022.233.040` would be condensed to `1.22.233.40`. + IPV4 = 2; + + // Internet Protocol v6 value as defined by [RFC + // 2460](https://datatracker.ietf.org/doc/html/rfc2460). The value may be + // normalized to entirely lowercase letters, and zero-padded partial and + // empty octets. For example, the value `2001:DB8::` would be normalized to + // `2001:0db8:0:0`. + IPV6 = 3; + + // An IP address in either v4 or v6 format as described by the individual + // values defined herein. See the comments on the IPV4 and IPV6 types for + // allowed normalizations of each. + IPV4_OR_IPV6 = 4; + } + + // The standard format of a field value. This does not explicitly configure + // any API consumer, just documents the API's format for the field it is + // applied to. + Format format = 1; +} diff --git a/third_party/googleapis/google/api/policy.proto b/third_party/googleapis/google/api/policy.proto new file mode 100644 index 000000000..dd202bc87 --- /dev/null +++ b/third_party/googleapis/google/api/policy.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.api; + +import "google/protobuf/descriptor.proto"; + +option cc_enable_arenas = true; +option go_package = "google.golang.org/genproto/googleapis/api/serviceconfig;serviceconfig"; +option java_multiple_files = true; +option java_outer_classname = "PolicyProto"; +option java_package = "com.google.api"; +option objc_class_prefix = "GAPI"; + +// Provides `google.api.field_policy` annotation at proto fields. +extend google.protobuf.FieldOptions { + // See [FieldPolicy][]. + FieldPolicy field_policy = 158361448; +} + +// Provides `google.api.method_policy` annotation at proto methods. +extend google.protobuf.MethodOptions { + // See [MethodPolicy][]. + MethodPolicy method_policy = 161893301; +} + +// Google API Policy Annotation +// +// This message defines a simple API policy annotation that can be used to +// annotate API request and response message fields with applicable policies. +// One field may have multiple applicable policies that must all be satisfied +// before a request can be processed. This policy annotation is used to +// generate the overall policy that will be used for automatic runtime +// policy enforcement and documentation generation. +message FieldPolicy { + // Selects one or more request or response message fields to apply this + // `FieldPolicy`. + // + // When a `FieldPolicy` is used in proto annotation, the selector must + // be left as empty. The service config generator will automatically fill + // the correct value. + // + // When a `FieldPolicy` is used in service config, the selector must be a + // comma-separated string with valid request or response field paths, + // such as "foo.bar" or "foo.bar,foo.baz". + string selector = 1; + + // Specifies the required permission(s) for the resource referred to by the + // field. It requires the field contains a valid resource reference, and + // the request must pass the permission checks to proceed. For example, + // "resourcemanager.projects.get". + string resource_permission = 2; + + // Specifies the resource type for the resource referred to by the field. + string resource_type = 3; +} + +// Defines policies applying to an RPC method. +message MethodPolicy { + // Selects a method to which these policies should be enforced, for example, + // "google.pubsub.v1.Subscriber.CreateSubscription". + // + // Refer to [selector][google.api.DocumentationRule.selector] for syntax + // details. + // + // NOTE: This field must not be set in the proto annotation. It will be + // automatically filled by the service config compiler . + string selector = 9; + + // Policies that are applicable to the request message. + repeated FieldPolicy request_policies = 2; +} diff --git a/third_party/googleapis/google/apps/alertcenter/v1beta1/alertcenter_v1beta1.yaml b/third_party/googleapis/google/apps/alertcenter/v1beta1/alertcenter_v1beta1.yaml new file mode 100644 index 000000000..4f35319e9 --- /dev/null +++ b/third_party/googleapis/google/apps/alertcenter/v1beta1/alertcenter_v1beta1.yaml @@ -0,0 +1,19 @@ +type: google.api.Service +config_version: 3 +name: alertcenter.googleapis.com +title: Google Workspace Alert Center API + +apis: +- name: google.apps.alertcenter.v1beta1.AlertCenterService + +documentation: + summary: |- + Manages alerts on issues affecting your domain. Note: The current version + of this API (v1beta1) is available to all Google Workspace customers. + +authentication: + rules: + - selector: 'google.apps.alertcenter.v1beta1.AlertCenterService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/apps.alerts diff --git a/third_party/googleapis/google/apps/card/v1/BUILD.bazel b/third_party/googleapis/google/apps/card/v1/BUILD.bazel new file mode 100644 index 000000000..d4ce73e57 --- /dev/null +++ b/third_party/googleapis/google/apps/card/v1/BUILD.bazel @@ -0,0 +1,167 @@ +# This file was automatically generated by BuildFileGenerator + +# 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") + +proto_library( + name = "card_proto", + srcs = [ + "card.proto", + ], + deps = [ + "//google/type:color_proto", + ], +) + +############################################################################## +# Java +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "java_proto_library", + "java_gapic_assembly_gradle_pkg", +) + +java_proto_library( + name = "card_java_proto", + deps = [":card_proto"], +) + +# Open Source Packages +java_gapic_assembly_gradle_pkg( + name = "google-apps-card-v1-java", + deps = [ + ":card_proto", + ":card_java_proto", + ], +) + +############################################################################## +# Go +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "go_proto_library", + "go_gapic_assembly_pkg", +) + +go_proto_library( + name = "card_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "google.golang.org/genproto/googleapis/apps/card/v1", + protos = [":card_proto"], + deps = [ + "//google/type:color_go_proto", + ], +) + +go_gapic_assembly_pkg( + name = "google-apps-card-v1-go", + deps = [ + ":card_go_proto", + ], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "py_proto_library", +) + +py_proto_library( + name = "card_py_proto", + deps = [":card_proto"], +) + +############################################################################## +# PHP +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "php_gapic_assembly_pkg", + "php_proto_library", +) + +php_proto_library( + name = "card_php_proto", + deps = [":card_proto"], +) + +php_gapic_assembly_pkg( + name = "google-apps-card-v1-php", + deps = [ + ":card_php_proto", + ], +) + +############################################################################## +# Ruby +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "ruby_grpc_library", + "ruby_proto_library", +) + +ruby_proto_library( + name = "card_ruby_proto", + deps = [":card_proto"], +) + +ruby_grpc_library( + name = "card_ruby_grpc", + srcs = [":card_proto"], + deps = [":card_ruby_proto"], +) + +############################################################################## +# C# +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "csharp_proto_library", + "csharp_gapic_assembly_pkg", +) + +csharp_proto_library( + name = "card_csharp_proto", + deps = [":card_proto"], +) + +# Open Source Packages +csharp_gapic_assembly_pkg( + name = "google-apps-card-v1-csharp", + package_name = "Google.Apps.Card.V1", + generate_nongapic_package = True, + deps = [ + ":card_csharp_proto", + ], +) + +############################################################################## +# C++ +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "cc_grpc_library", + "cc_proto_library", +) + +cc_proto_library( + name = "card_cc_proto", + deps = [":card_proto"], +) + +cc_grpc_library( + name = "card_cc_grpc", + srcs = [":card_proto"], + grpc_only = True, + deps = [":card_cc_proto"], +) diff --git a/third_party/googleapis/google/apps/card/v1/card.proto b/third_party/googleapis/google/apps/card/v1/card.proto new file mode 100644 index 000000000..e05c711c6 --- /dev/null +++ b/third_party/googleapis/google/apps/card/v1/card.proto @@ -0,0 +1,1910 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.apps.card.v1; + +import "google/type/color.proto"; + +option csharp_namespace = "Google.Apps.Card.V1"; +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"; + +// A card interface displayed in a Google Chat message or Google Workspace +// Add-on. +// +// Cards support a defined layout, interactive UI elements like buttons, and +// rich media like images. Use cards to present detailed information, +// gather information from users, and guide users to take a next step. +// +// [Card builder](https://addons.gsuite.google.com/uikit/builder) +// +// To learn how +// to build cards, see the following documentation: +// +// * For Google Chat apps, see [Design dynamic, interactive, and consistent UIs +// with cards](https://developers.google.com/chat/ui). +// * For Google Workspace Add-ons, see [Card-based +// interfaces](https://developers.google.com/apps-script/add-ons/concepts/cards). +// +// **Example: Card message for a Google Chat app** +// +// ![Example contact +// card](https://developers.google.com/chat/images/card_api_reference.png) +// +// To create the sample card message in Google Chat, use the following JSON: +// +// ``` +// { +// "cardsV2": [ +// { +// "cardId": "unique-card-id", +// "card": { +// "header": { +// "title": "Sasha", +// "subtitle": "Software Engineer", +// "imageUrl": +// "https://developers.google.com/chat/images/quickstart-app-avatar.png", +// "imageType": "CIRCLE", +// "imageAltText": "Avatar for Sasha", +// }, +// "sections": [ +// { +// "header": "Contact Info", +// "collapsible": true, +// "uncollapsibleWidgetsCount": 1, +// "widgets": [ +// { +// "decoratedText": { +// "startIcon": { +// "knownIcon": "EMAIL", +// }, +// "text": "sasha@example.com", +// } +// }, +// { +// "decoratedText": { +// "startIcon": { +// "knownIcon": "PERSON", +// }, +// "text": "Online", +// }, +// }, +// { +// "decoratedText": { +// "startIcon": { +// "knownIcon": "PHONE", +// }, +// "text": "+1 (555) 555-1234", +// } +// }, +// { +// "buttonList": { +// "buttons": [ +// { +// "text": "Share", +// "onClick": { +// "openLink": { +// "url": "https://example.com/share", +// } +// } +// }, +// { +// "text": "Edit", +// "onClick": { +// "action": { +// "function": "goToView", +// "parameters": [ +// { +// "key": "viewType", +// "value": "EDIT", +// } +// ], +// } +// } +// }, +// ], +// } +// }, +// ], +// }, +// ], +// }, +// } +// ], +// } +// ``` +message Card { + // Represents a card header. For an example in Google Chat apps, see [Card + // header](https://developers.google.com/chat/ui/widgets/card-header). + // + // [Google Workspace Add-ons and Chat + // apps](https://developers.google.com/workspace/extend): + message CardHeader { + // Required. The title of the card header. + // The header has a fixed height: if both a + // title and subtitle are specified, each takes up one line. If only the + // title is specified, it takes up both lines. + string title = 1; + + // The subtitle of the card header. If specified, appears on its own line + // below the `title`. + string subtitle = 2; + + // The shape used to crop the image. + // + // [Google Workspace Add-ons and Chat + // apps](https://developers.google.com/workspace/extend): + Widget.ImageType image_type = 3; + + // The HTTPS URL of the image in the card header. + string image_url = 4; + + // The alternative text of this image that's used for accessibility. + string image_alt_text = 5; + } + + // A section contains a collection of widgets that are rendered + // vertically in the order that they're specified. + // + // [Google Workspace Add-ons and Chat + // apps](https://developers.google.com/workspace/extend): + message Section { + // Text that appears at the top of a section. + // Supports simple HTML formatted text. For more information + // about formatting text, see + // [Formatting text in Google Chat + // apps](https://developers.google.com/chat/format-messages#card-formatting) + // and + // [Formatting + // text in Google Workspace + // Add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting). + string header = 1; + + // All the widgets in the section. + // Must contain at least one widget. + repeated Widget widgets = 2; + + // Indicates whether this section is collapsible. + // + // Collapsible sections hide some or all widgets, but users can expand the + // section to reveal the hidden widgets by clicking **Show more**. Users + // can hide the widgets again by clicking **Show less**. + // + // To determine which widgets are hidden, specify + // `uncollapsibleWidgetsCount`. + bool collapsible = 5; + + // The number of uncollapsible widgets which remain visible even when a + // section is collapsed. + // + // For example, when a section + // contains five widgets and the `uncollapsibleWidgetsCount` is set to `2`, + // the first two widgets are always shown and the last three are collapsed + // by default. The `uncollapsibleWidgetsCount` is taken into account only + // when `collapsible` is `true`. + int32 uncollapsible_widgets_count = 6; + } + + // The divider style of a card. Currently only used for dividers betweens card + // sections. + // + // [Google Workspace Add-ons and Chat + // apps](https://developers.google.com/workspace/extend): + enum DividerStyle { + // Don't use. Unspecified. + DIVIDER_STYLE_UNSPECIFIED = 0; + + // Default option. Render a solid divider between sections. + SOLID_DIVIDER = 1; + + // If set, no divider is rendered between sections. + NO_DIVIDER = 2; + } + + // A card action is the action associated with the card. For example, + // an invoice card might include actions such as delete invoice, email + // invoice, or open the invoice in a browser. + // + // [Google Workspace + // Add-ons](https://developers.google.com/workspace/add-ons): + message CardAction { + // The label that displays as the action menu item. + string action_label = 1; + + // The `onClick` action for this action item. + OnClick on_click = 2; + } + + // A persistent (sticky) footer that that appears at the bottom of the card. + // + // Setting `fixedFooter` without specifying a `primaryButton` or a + // `secondaryButton` causes an error. + // + // For Chat apps, you can use fixed footers in + // [dialogs](https://developers.google.com/chat/how-tos/dialogs), but not + // [card + // messages](https://developers.google.com/chat/api/guides/v1/messages/create#create). + // For an example in Google Chat apps, see [Card + // footer](https://developers.google.com/chat/ui/widgets/card-fixed-footer). + // + // [Google Workspace Add-ons and Chat + // apps](https://developers.google.com/workspace/extend): + message CardFixedFooter { + // The primary button of the fixed footer. The button must be a text button + // with text and color set. + Button primary_button = 1; + + // The secondary button of the fixed footer. The button must be a text + // button with text and color set. + // If `secondaryButton` is set, you must also set `primaryButton`. + Button secondary_button = 2; + } + + // In Google Workspace Add-ons, + // determines how a card is displayed. + // + // [Google Workspace + // Add-ons](https://developers.google.com/workspace/add-ons): + enum DisplayStyle { + // Don't use. Unspecified. + DISPLAY_STYLE_UNSPECIFIED = 0; + + // The header of the card appears at the bottom of the + // sidebar, partially covering the current top card of the stack. Clicking + // the header pops the card into the card stack. If the card has no header, + // a generated header is used instead. + PEEK = 1; + + // Default value. The card is shown by replacing the view of the top card in + // the card stack. + REPLACE = 2; + } + + // The header of the card. A header usually contains a leading image and a + // title. Headers always appear at the top of a card. + CardHeader header = 1; + + // Contains a collection of widgets. Each section has its own, optional + // header. Sections are visually separated by a line divider. For an example + // in Google Chat apps, see [Card + // section](https://developers.google.com/chat/ui/widgets/card-section). + repeated Section sections = 2; + + // The divider style between sections. + DividerStyle section_divider_style = 9; + + // The card's actions. Actions are added to the card's toolbar menu. + // + // [Google Workspace + // Add-ons](https://developers.google.com/workspace/add-ons): + // + // For example, the following JSON constructs a card action menu with + // `Settings` and `Send Feedback` options: + // + // ``` + // "card_actions": [ + // { + // "actionLabel": "Settings", + // "onClick": { + // "action": { + // "functionName": "goToView", + // "parameters": [ + // { + // "key": "viewType", + // "value": "SETTING" + // } + // ], + // "loadIndicator": "LoadIndicator.SPINNER" + // } + // } + // }, + // { + // "actionLabel": "Send Feedback", + // "onClick": { + // "openLink": { + // "url": "https://example.com/feedback" + // } + // } + // } + // ] + // ``` + repeated CardAction card_actions = 3; + + // Name of the card. Used as a card identifier in card navigation. + // + // [Google Workspace + // Add-ons](https://developers.google.com/workspace/add-ons): + string name = 4; + + // The fixed footer shown at the bottom of this card. + // + // Setting `fixedFooter` without specifying a `primaryButton` or a + // `secondaryButton` causes an error. For Chat apps, you can use fixed footers + // in + // [dialogs](https://developers.google.com/chat/how-tos/dialogs), but not + // [card + // messages](https://developers.google.com/chat/api/guides/v1/messages/create#create). + // + // [Google Workspace Add-ons and Chat + // apps](https://developers.google.com/workspace/extend): + CardFixedFooter fixed_footer = 5; + + // In Google Workspace Add-ons, sets the display properties of the + // `peekCardHeader`. + // + // [Google Workspace + // Add-ons](https://developers.google.com/workspace/add-ons): + DisplayStyle display_style = 6; + + // When displaying contextual content, the peek card header acts as a + // placeholder so that the user can navigate forward between the homepage + // cards and the contextual cards. + // + // [Google Workspace + // Add-ons](https://developers.google.com/workspace/add-ons): + CardHeader peek_card_header = 7; +} + +// Each card is made up of widgets. +// +// A widget is a composite object that can represent one of text, images, +// buttons, and other object types. +message Widget { + // The shape used to crop the image. + // + // [Google Workspace Add-ons and Chat + // apps](https://developers.google.com/workspace/extend): + enum ImageType { + // Default value. Applies a square mask to the image. For example, a 4x3 + // image becomes 3x3. + SQUARE = 0; + + // Applies a circular mask to the image. For example, a 4x3 image becomes a + // circle with a diameter of 3. + CIRCLE = 1; + } + + // Specifies whether widgets align to the left, right, or center of a column. + // + // [Google Chat apps](https://developers.google.com/chat): + enum HorizontalAlignment { + // Don't use. Unspecified. + HORIZONTAL_ALIGNMENT_UNSPECIFIED = 0; + + // Default value. Aligns widgets to the start position of the column. For + // left-to-right layouts, aligns to the left. For right-to-left layouts, + // aligns to the right. + START = 1; + + // Aligns widgets to the center of the column. + CENTER = 2; + + // Aligns widgets to the end position of the column. For left-to-right + // layouts, aligns widgets to the right. For right-to-left layouts, aligns + // widgets to the left. + END = 3; + } + + // A widget can only have one of the following items. You can use multiple + // widget fields to display more items. + oneof data { + // Displays a text paragraph. Supports simple HTML formatted text. For more + // information about formatting text, see + // [Formatting text in Google Chat + // apps](https://developers.google.com/chat/format-messages#card-formatting) + // and + // [Formatting + // text in Google Workspace + // Add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting). + // + // For example, the following JSON creates a bolded text: + // ``` + // "textParagraph": { + // "text": " bold text" + // } + // ``` + TextParagraph text_paragraph = 1; + + // Displays an image. + // + // For example, the following JSON creates an image with alternative text: + // ``` + // "image": { + // "imageUrl": + // "https://developers.google.com/chat/images/quickstart-app-avatar.png", + // "altText": "Chat app avatar" + // } + // ``` + Image image = 2; + + // Displays a decorated text item. + // + // For example, the following JSON creates a decorated text widget showing + // email address: + // + // ``` + // "decoratedText": { + // "icon": { + // "knownIcon": "EMAIL" + // }, + // "topLabel": "Email Address", + // "text": "sasha@example.com", + // "bottomLabel": "This is a new Email address!", + // "switchControl": { + // "name": "has_send_welcome_email_to_sasha", + // "selected": false, + // "controlType": "CHECKBOX" + // } + // } + // ``` + DecoratedText decorated_text = 3; + + // A list of buttons. + // + // For example, the following JSON creates two buttons. The first + // is a blue text button and the second is an image button that opens a + // link: + // ``` + // "buttonList": { + // "buttons": [ + // { + // "text": "Edit", + // "color": { + // "red": 0, + // "green": 0, + // "blue": 1, + // "alpha": 1 + // }, + // "disabled": true, + // }, + // { + // "icon": { + // "knownIcon": "INVITE", + // "altText": "check calendar" + // }, + // "onClick": { + // "openLink": { + // "url": "https://example.com/calendar" + // } + // } + // } + // ] + // } + // ``` + ButtonList button_list = 4; + + // Displays a text box that users can type into. + // + // For example, the following JSON creates a text input for an email + // address: + // + // ``` + // "textInput": { + // "name": "mailing_address", + // "label": "Mailing Address" + // } + // ``` + // + // As another example, the following JSON creates a text input for a + // programming language with static suggestions: + // ``` + // "textInput": { + // "name": "preferred_programing_language", + // "label": "Preferred Language", + // "initialSuggestions": { + // "items": [ + // { + // "text": "C++" + // }, + // { + // "text": "Java" + // }, + // { + // "text": "JavaScript" + // }, + // { + // "text": "Python" + // } + // ] + // } + // } + // ``` + TextInput text_input = 5; + + // Displays a selection control that lets users select items. Selection + // controls can be checkboxes, radio buttons, switches, or dropdown menus. + // + // For example, the following JSON creates a dropdown menu that lets users + // choose a size: + // + // ``` + // "selectionInput": { + // "name": "size", + // "label": "Size" + // "type": "DROPDOWN", + // "items": [ + // { + // "text": "S", + // "value": "small", + // "selected": false + // }, + // { + // "text": "M", + // "value": "medium", + // "selected": true + // }, + // { + // "text": "L", + // "value": "large", + // "selected": false + // }, + // { + // "text": "XL", + // "value": "extra_large", + // "selected": false + // } + // ] + // } + // ``` + SelectionInput selection_input = 6; + + // Displays a widget that lets users input a date, time, or date and time. + // + // For example, the following JSON creates a date time picker to schedule an + // appointment: + // + // + // ``` + // "dateTimePicker": { + // "name": "appointment_time", + // "label": "Book your appointment at:", + // "type": "DATE_AND_TIME", + // "valueMsEpoch": "796435200000" + // } + // ``` + DateTimePicker date_time_picker = 7; + + // Displays a horizontal line divider between widgets. + // + // For example, the following JSON creates a divider: + // ``` + // "divider": { + // } + // ``` + Divider divider = 9; + + // Displays a grid with a collection of items. + // + // A grid supports any number of columns and items. The number of rows is + // determined by the upper bounds of the number items divided by the number + // of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 + // items and 2 columns has 6 rows. + // + // [Google Workspace Add-ons and + // Chat apps](https://developers.google.com/workspace/extend): + // + // For example, the following JSON creates a 2 column grid with a single + // item: + // + // ``` + // "grid": { + // "title": "A fine collection of items", + // "columnCount": 2, + // "borderStyle": { + // "type": "STROKE", + // "cornerRadius": 4 + // }, + // "items": [ + // { + // "image": { + // "imageUri": "https://www.example.com/image.png", + // "cropStyle": { + // "type": "SQUARE" + // }, + // "borderStyle": { + // "type": "STROKE" + // } + // }, + // "title": "An item", + // "textAlignment": "CENTER" + // } + // ], + // "onClick": { + // "openLink": { + // "url": "https://www.example.com" + // } + // } + // } + // ``` + Grid grid = 10; + + // Displays up to 2 columns. + // + // To include more than 2 columns, or to use rows, use the `Grid` widget. + // + // For example, the following JSON creates 2 columns that each contain + // text paragraphs: + // + // ``` + // "columns": { + // "columnItems": [ + // { + // "horizontalSizeStyle": "FILL_AVAILABLE_SPACE", + // "horizontalAlignment": "CENTER", + // "verticalAlignment": "CENTER", + // "widgets": [ + // { + // "textParagraph": { + // "text": "First column text paragraph" + // } + // } + // ] + // }, + // { + // "horizontalSizeStyle": "FILL_AVAILABLE_SPACE", + // "horizontalAlignment": "CENTER", + // "verticalAlignment": "CENTER", + // "widgets": [ + // { + // "textParagraph": { + // "text": "Second column text paragraph" + // } + // } + // ] + // } + // ] + // } + // ``` + Columns columns = 11; + } + + // Specifies whether widgets align to the left, right, or center of a column. + HorizontalAlignment horizontal_alignment = 8; +} + +// A paragraph of text that supports formatting. For an example in +// Google Chat apps, see [Text +// paragraph](https://developers.google.com/chat/ui/widgets/text-paragraph). +// For more information +// about formatting text, see +// [Formatting text in Google Chat +// apps](https://developers.google.com/chat/format-messages#card-formatting) +// and +// [Formatting +// text in Google Workspace +// Add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting). +// +// [Google Workspace Add-ons and +// Chat apps](https://developers.google.com/workspace/extend): +message TextParagraph { + // The text that's shown in the widget. + string text = 1; +} + +// An image that is specified by a URL and can have an `onClick` action. For an +// example, see [Image](https://developers.google.com/chat/ui/widgets/image). +// +// [Google Workspace Add-ons and Chat +// apps](https://developers.google.com/workspace/extend): +message Image { + // The HTTPS URL that hosts the image. + // + // For example: + // + // ``` + // https://developers.google.com/chat/images/quickstart-app-avatar.png + // ``` + string image_url = 1; + + // When a user clicks the image, the click triggers this action. + OnClick on_click = 2; + + // The alternative text of this image that's used for accessibility. + string alt_text = 3; +} + +// Displays a divider between widgets as a horizontal line. For an example in +// Google Chat apps, see +// [Divider](https://developers.google.com/chat/ui/widgets/divider). +// +// [Google Workspace Add-ons and Chat +// apps](https://developers.google.com/workspace/extend): +// +// For example, the following JSON creates a divider: +// +// ``` +// "divider": {} +// ``` +message Divider {} + +// A widget that displays text with optional decorations such as a label above +// or below the text, an icon in front of the text, a selection widget, or a +// button after the text. For an example in +// Google Chat apps, see [Decorated +// text](https://developers.google.com/chat/ui/widgets/decorated-text). +// +// [Google Workspace Add-ons and Chat +// apps](https://developers.google.com/workspace/extend): +message DecoratedText { + // Either a toggle-style switch or a checkbox inside a `decoratedText` widget. + // + // [Google Workspace Add-ons and Chat + // apps](https://developers.google.com/workspace/extend): + // + // Only supported in the `decoratedText` widget. + message SwitchControl { + // How the switch appears in the user interface. + // + // [Google Workspace Add-ons + // and Chat apps](https://developers.google.com/workspace/extend): + enum ControlType { + // A toggle-style switch. + SWITCH = 0; + + // Deprecated in favor of `CHECK_BOX`. + CHECKBOX = 1; + + // A checkbox. + CHECK_BOX = 2; + } + + // The name by which the switch widget is identified in a form input event. + // + // For details about working with form inputs, see [Receive form + // data](https://developers.google.com/chat/ui/read-form-data). + string name = 1; + + // The value entered by a user, returned as part of a form input event. + // + // For details about working with form inputs, see [Receive form + // data](https://developers.google.com/chat/ui/read-form-data). + string value = 2; + + // When `true`, the switch is selected. + bool selected = 3; + + // The action to perform when the switch state is changed, such as what + // function to run. + Action on_change_action = 4; + + // How the switch appears in the user interface. + // + // [Google Workspace Add-ons + // and Chat apps](https://developers.google.com/workspace/extend): + ControlType control_type = 5; + } + + // Deprecated in favor of `startIcon`. + Icon icon = 1 [deprecated = true]; + + // The icon displayed in front of the text. + Icon start_icon = 12; + + // The text that appears above `text`. Always truncates. + string top_label = 3; + + // Required. The primary text. + // + // Supports simple formatting. For more information + // about formatting text, see + // [Formatting text in Google Chat + // apps](https://developers.google.com/chat/format-messages#card-formatting) + // and + // [Formatting + // text in Google Workspace + // Add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting). + string text = 4; + + // The wrap text setting. If `true`, the text wraps and displays on + // multiple lines. Otherwise, the text is truncated. + // + // Only applies to `text`, not `topLabel` and `bottomLabel`. + bool wrap_text = 5; + + // The text that appears below `text`. Always wraps. + string bottom_label = 6; + + // This action is triggered when users click `topLabel` or `bottomLabel`. + OnClick on_click = 7; + + // A button, switch, checkbox, or image that appears to the right-hand side + // of text in the `decoratedText` widget. + oneof control { + // A button that a user can click to trigger an action. + Button button = 8; + + // A switch widget that a user can click to change its state and trigger an + // action. + SwitchControl switch_control = 9; + + // An icon displayed after the text. + // + // Supports + // [built-in](https://developers.google.com/chat/format-messages#builtinicons) + // and + // [custom](https://developers.google.com/chat/format-messages#customicons) + // icons. + Icon end_icon = 11; + } +} + +// A field in which users can enter text. Supports suggestions and on-change +// actions. For an example in Google Chat apps, see [Text +// input](https://developers.google.com/chat/ui/widgets/text-input). +// +// Chat apps receive and can process the value of entered text during form input +// events. For details about working with form inputs, see [Receive form +// data](https://developers.google.com/chat/ui/read-form-data). +// +// When you need to collect undefined or abstract data from users, +// use a text input. To collect defined or enumerated data from users, use the +// [SelectionInput][google.apps.card.v1.SelectionInput] widget. +// +// [Google Workspace Add-ons and Chat +// apps](https://developers.google.com/workspace/extend): +message TextInput { + // How a text input field appears in the user interface. For example, + // whether it's a single line input field, or a multi-line input. If + // `initialSuggestions` is specified, `type` is always `SINGLE_LINE`, + // even if it's set to `MULTIPLE_LINE`. + // + // [Google Workspace Add-ons and Chat + // apps](https://developers.google.com/workspace/extend): + enum Type { + // The text input field has a fixed height of one line. + SINGLE_LINE = 0; + + // The text input field has a fixed height of multiple lines. + MULTIPLE_LINE = 1; + } + + // The name by which the text input is identified in a form input event. + // + // For details about working with form inputs, see [Receive form + // data](https://developers.google.com/chat/ui/read-form-data). + string name = 1; + + // The text that appears above the text input field in the user interface. + // + // Specify text that helps the user enter the information your app needs. + // For example, if you are asking someone's name, but specifically need their + // surname, write `surname` instead of `name`. + // + // Required if `hintText` is unspecified. Otherwise, optional. + string label = 2; + + // Text that appears below the text input field meant to assist users by + // prompting them to enter a certain value. This text is always visible. + // + // Required if `label` is unspecified. Otherwise, optional. + string hint_text = 3; + + // The value entered by a user, returned as part of a form input event. + // + // For details about working with form inputs, see [Receive form + // data](https://developers.google.com/chat/ui/read-form-data). + string value = 4; + + // How a text input field appears in the user interface. + // For example, whether the field is single or multi-line. + Type type = 5; + + // What to do when a change occurs in the text input field. For example, a + // user adding to the field or deleting text. + // + // Examples of actions to take include running a custom function or opening + // a [dialog](https://developers.google.com/chat/how-tos/dialogs) + // in Google Chat. + Action on_change_action = 6; + + // Suggested values that users can enter. These values appear when users click + // inside the text input field. As users type, the suggested values + // dynamically filter to match what the users have typed. + // + // For example, a text input field for programming language might suggest + // Java, JavaScript, Python, and C++. When users start typing `Jav`, the list + // of suggestions filters to show just `Java` and `JavaScript`. + // + // Suggested values help guide users to enter values that your app can make + // sense of. When referring to JavaScript, some users might enter `javascript` + // and others `java script`. Suggesting `JavaScript` can standardize how users + // interact with your app. + // + // When specified, `TextInput.type` is always `SINGLE_LINE`, even if it's set + // to `MULTIPLE_LINE`. + // + // [Google Workspace + // Add-ons and Chat apps](https://developers.google.com/workspace/extend): + Suggestions initial_suggestions = 7; + + // Optional. Specify what action to take when the text input field provides + // suggestions to users who interact with it. + // + // If unspecified, the suggestions are set by `initialSuggestions` and + // are processed by the client. + // + // If specified, the app takes the action specified here, such as running + // a custom function. + // + // [Google Workspace + // Add-ons](https://developers.google.com/workspace/add-ons): + Action auto_complete_action = 8; + + // Text that appears in the text input field when the field is empty. + // Use this text to prompt users to enter a value. For example, `Enter a + // number from 0 to 100`. + // + // [Google Chat apps](https://developers.google.com/chat): + string placeholder_text = 12; +} + +// Suggested values that users can enter. These values appear when users click +// inside the text input field. As users type, the suggested values +// dynamically filter to match what the users have typed. +// +// For example, a text input field for programming language might suggest +// Java, JavaScript, Python, and C++. When users start typing `Jav`, the list +// of suggestions filters to show `Java` and `JavaScript`. +// +// Suggested values help guide users to enter values that your app can make +// sense of. When referring to JavaScript, some users might enter `javascript` +// and others `java script`. Suggesting `JavaScript` can standardize how users +// interact with your app. +// +// When specified, `TextInput.type` is always `SINGLE_LINE`, even if it's set +// to `MULTIPLE_LINE`. +// +// [Google Workspace +// Add-ons and Chat apps](https://developers.google.com/workspace/extend): +message Suggestions { + // One suggested value that users can enter in a text input field. + // + // [Google Workspace Add-ons and Chat + // apps](https://developers.google.com/workspace/extend): + message SuggestionItem { + oneof content { + // The value of a suggested input to a text input field. This is + // equivalent to what users enter themselves. + string text = 1; + } + } + + // A list of suggestions used for autocomplete recommendations in text input + // fields. + repeated SuggestionItem items = 1; +} + +// A list of buttons layed out horizontally. For an example in +// Google Chat apps, see +// [Button list](https://developers.google.com/chat/ui/widgets/button-list). +// +// [Google Workspace Add-ons and Chat +// apps](https://developers.google.com/workspace/extend): +message ButtonList { + // An array of buttons. + repeated Button buttons = 1; +} + +// A widget that creates one or more UI items that users can select. +// For example, a dropdown menu or checkboxes. You can use this widget to +// collect data that can be predicted or enumerated. For an example in Google +// Chat apps, see [Selection +// input](https://developers.google.com/chat/ui/widgets/selection-input). +// +// Chat apps can process the value of items that users select or input. For +// details about working with form inputs, see [Receive form +// data](https://developers.google.com/chat/ui/read-form-data). +// +// To collect undefined or abstract data from users, use +// the [TextInput][google.apps.card.v1.TextInput] widget. +// +// [Google Workspace Add-ons +// and Chat apps](https://developers.google.com/workspace/extend): +message SelectionInput { + // The format for the items that users can select. Different options support + // different types of interactions. For example, users can select multiple + // checkboxes, but can only select one item from a dropdown menu. + // + // Each selection input supports one type of selection. Mixing checkboxes + // and switches, for example, isn't supported. + // + // [Google Workspace Add-ons and Chat + // apps](https://developers.google.com/workspace/extend): + enum SelectionType { + // A set of checkboxes. Users can select one or more checkboxes. + CHECK_BOX = 0; + + // A set of radio buttons. Users can select one radio button. + RADIO_BUTTON = 1; + + // A set of switches. Users can turn on one or more switches. + SWITCH = 2; + + // A dropdown menu. Users can select one item from the menu. + DROPDOWN = 3; + + // A multiselect menu for static or dynamic data. From the menu bar, + // users select one or more items. Users can also input values to populate + // dynamic data. For example, users can start typing the name of a Google + // Chat space and the widget autosuggests the space. + // + // To populate items for a multiselect menu, you can use one of the + // following types of data sources: + // + // * Static data: Items are specified as `SelectionItem` objects in the + // widget. Up to 100 items. + // * Google Workspace data: Items are populated using data from Google + // Workspace, such as Google Workspace users or Google Chat spaces. + // * External data: Items are populated from an external data + // source outside of Google Workspace. + // + // For examples of how to implement multiselect menus, see the + // [`SelectionInput` widget + // page](https://developers.google.com/chat/ui/widgets/selection-input#multiselect-menu). + // + // [Google Chat apps](https://developers.google.com/chat): + MULTI_SELECT = 4; + } + + // An item that users can select in a selection input, such as a checkbox + // or switch. + // + // [Google Workspace Add-ons and Chat + // apps](https://developers.google.com/workspace/extend): + message SelectionItem { + // The text that identifies or describes the item to users. + string text = 1; + + // The value associated with this item. The client should use this as a form + // input value. + // + // For details about working with form inputs, see [Receive form + // data](https://developers.google.com/chat/ui/read-form-data). + string value = 2; + + // Whether the item is selected by default. If the selection input only + // accepts one value (such as for radio buttons or a dropdown menu), only + // set this field for one item. + bool selected = 3; + + // For multiselect menus, the URL for the icon displayed next to + // the item's `text` field. Supports PNG and JPEG files. Must be an `HTTPS` + // URL. For example, + // `https://developers.google.com/chat/images/quickstart-app-avatar.png`. + string start_icon_uri = 4; + + // For multiselect menus, a text description or label that's + // displayed below the item's `text` field. + string bottom_text = 5; + } + + // For a + // [`SelectionInput`][google.apps.card.v1.SelectionInput] widget that uses a + // multiselect menu, a data source from Google Workspace. Used to populate + // items in a multiselect menu. + // + // [Google Chat apps](https://developers.google.com/chat): + message PlatformDataSource { + // A data source shared by all [Google Workspace + // applications] + // (https://developers.google.com/chat/api/reference/rest/v1/HostApp). + // + // [Google Chat apps](https://developers.google.com/chat): + enum CommonDataSource { + // Default value. Don't use. + UNKNOWN = 0; + + // Google Workspace users. The user can only view and select users from + // their Google Workspace organization. + USER = 1; + } + + // The data source. + oneof data_source { + // A data source shared by all Google Workspace applications, such as + // users in a Google Workspace organization. + CommonDataSource common_data_source = 1; + } + } + + // The name that identifies the selection input in a form input event. + // + // For details about working with form inputs, see [Receive form + // data](https://developers.google.com/chat/ui/read-form-data). + string name = 1; + + // The text that appears above the selection input field in the user + // interface. + // + // Specify text that helps the user enter the information your app needs. + // For example, if users are selecting the urgency of a work ticket from a + // drop-down menu, the label might be "Urgency" or "Select urgency". + string label = 2; + + // The type of items that are displayed to users in a `SelectionInput` widget. + // Selection types support different types of interactions. For example, users + // can select one or more checkboxes, but they can only select one value from + // a dropdown menu. + SelectionType type = 3; + + // An array of selectable items. For example, an array of radio buttons or + // checkboxes. Supports up to 100 items. + repeated SelectionItem items = 4; + + // If specified, the form is submitted when the selection changes. If not + // specified, you must specify a separate button that submits the form. + // + // For details about working with form inputs, see [Receive form + // data](https://developers.google.com/chat/ui/read-form-data). + Action on_change_action = 5; + + // For multiselect menus, the maximum number of items that a user can select. + // Minimum value is 1 item. If unspecified, defaults to 3 items. + int32 multi_select_max_selected_items = 6; + + // For multiselect menus, the number of text characters that a user inputs + // before the Chat app queries autocomplete and displays suggested items + // in the menu. + // + // If unspecified, defaults to 0 characters for static data sources and 3 + // characters for external data sources. + int32 multi_select_min_query_length = 7; + + // For a multiselect menu, the data source that populates + // selection items. + // + // [Google Chat apps](https://developers.google.com/chat): + oneof multi_select_data_source { + // An external data source, such as a relational data base. + Action external_data_source = 8; + + // A data source from Google Workspace. + PlatformDataSource platform_data_source = 9; + } +} + +// Lets users input a date, a time, or both a date and a time. For an example in +// Google Chat apps, see [Date time +// picker](https://developers.google.com/chat/ui/widgets/date-time-picker). +// +// Users can input text or use the picker to select dates and times. If users +// input an invalid date or time, the picker shows an error that prompts users +// to input the information correctly. +// +// [Google Workspace +// Add-ons and Chat apps](https://developers.google.com/workspace/extend): +message DateTimePicker { + // The format for the date and time in the `DateTimePicker` widget. + // Determines whether users can input a date, a time, or both a date and time. + // + // [Google Workspace Add-ons and Chat + // apps](https://developers.google.com/workspace/extend): + enum DateTimePickerType { + // Users input a date and time. + DATE_AND_TIME = 0; + + // Users input a date. + DATE_ONLY = 1; + + // Users input a time. + TIME_ONLY = 2; + } + + // The name by which the `DateTimePicker` is identified in a form input event. + // + // For details about working with form inputs, see [Receive form + // data](https://developers.google.com/chat/ui/read-form-data). + string name = 1; + + // The text that prompts users to input a date, a time, or a date and time. + // For example, if users are scheduling an appointment, use a label such as + // `Appointment date` or `Appointment date and time`. + string label = 2; + + // Whether the widget supports inputting a date, a time, or the date and time. + DateTimePickerType type = 3; + + // The default value displayed in the widget, in milliseconds since [Unix + // epoch time](https://en.wikipedia.org/wiki/Unix_time). + // + // Specify the value based on the type of picker (`DateTimePickerType`): + // + // * `DATE_AND_TIME`: a calendar date and time in UTC. For example, to + // represent January 1, 2023 at 12:00 PM UTC, use `1672574400000`. + // * `DATE_ONLY`: a calendar date at 00:00:00 UTC. For example, to represent + // January 1, 2023, use `1672531200000`. + // * `TIME_ONLY`: a time in UTC. For example, to represent 12:00 PM, use + // `43200000` (or `12 * 60 * 60 * 1000`). + int64 value_ms_epoch = 4; + + // The number representing the time zone offset from UTC, in minutes. + // If set, the `value_ms_epoch` is displayed in the specified time zone. + // If unset, the value defaults to the user's time zone setting. + int32 timezone_offset_date = 5; + + // Triggered when the user clicks **Save** or **Clear** from the + // `DateTimePicker` interface. + Action on_change_action = 6; +} + +// A text, icon, or text and icon button that users can click. For an example in +// Google Chat apps, see +// [Button list](https://developers.google.com/chat/ui/widgets/button-list). +// +// To make an image a clickable button, specify an +// [`Image`][google.apps.card.v1.Image] (not an +// [`ImageComponent`][google.apps.card.v1.ImageComponent]) and set an +// `onClick` action. +// +// [Google Workspace +// Add-ons and Chat apps](https://developers.google.com/workspace/extend): +message Button { + // The text displayed inside the button. + string text = 1; + + // The icon image. If both `icon` and `text` are set, then the icon appears + // before the text. + Icon icon = 2; + + // If set, the button is filled with a solid background color and the font + // color changes to maintain contrast with the background color. For example, + // setting a blue background likely results in white text. + // + // If unset, the image background is white and the font color is blue. + // + // For red, green, and blue, the value of each field is a `float` number that + // you can express in either of two ways: as a number between 0 and 255 + // divided by 255 (153/255), or as a value between 0 and 1 (0.6). 0 represents + // the absence of a color and 1 or 255/255 represent the full presence of that + // color on the RGB scale. + // + // Optionally set `alpha`, which sets a level of transparency using this + // equation: + // + // ``` + // pixel color = alpha * (this color) + (1.0 - alpha) * (background color) + // ``` + // + // For `alpha`, a value of `1` corresponds with a solid color, and a value of + // `0` corresponds with a completely transparent color. + // + // For example, the following color represents a half transparent red: + // + // ``` + // "color": { + // "red": 1, + // "green": 0, + // "blue": 0, + // "alpha": 0.5 + // } + // ``` + google.type.Color color = 3; + + // Required. The action to perform when a user clicks the button, such as + // opening a hyperlink or running a custom function. + OnClick on_click = 4; + + // If `true`, the button is displayed in an inactive state and doesn't respond + // to user actions. + bool disabled = 5; + + // The alternative text that's used for accessibility. + // + // Set descriptive text that lets users know what the button does. For + // example, if a button opens a hyperlink, you might write: "Opens a new + // browser tab and navigates to the Google Chat developer documentation at + // https://developers.google.com/chat". + string alt_text = 6; +} + +// An icon displayed in a widget on a card. For an example in Google Chat apps, +// see [Icon](https://developers.google.com/chat/ui/widgets/icon). +// +// Supports +// [built-in](https://developers.google.com/chat/format-messages#builtinicons) +// and +// [custom](https://developers.google.com/chat/format-messages#customicons) +// icons. +// +// [Google Workspace Add-ons and Chat +// apps](https://developers.google.com/workspace/extend): +message Icon { + // The icon displayed in the widget on the card. + oneof icons { + // Display one of the built-in icons provided by Google Workspace. + // + // For example, to display an airplane icon, specify `AIRPLANE`. + // For a bus, specify `BUS`. + // + // For a full list of supported icons, see [built-in + // icons](https://developers.google.com/chat/format-messages#builtinicons). + string known_icon = 1; + + // Display a custom icon hosted at an HTTPS URL. + // + // For example: + // + // ``` + // "iconUrl": + // "https://developers.google.com/chat/images/quickstart-app-avatar.png" + // ``` + // + // Supported file types include `.png` and `.jpg`. + string icon_url = 2; + } + + // Optional. A description of the icon used for accessibility. + // If unspecified, the default value `Button` is provided. As a best practice, + // you should set a helpful description for what the icon displays, and if + // applicable, what it does. For example, `A user's account portrait`, or + // `Opens a new browser tab and navigates to the Google Chat developer + // documentation at https://developers.google.com/chat`. + // + // If the icon is set in a [`Button`][google.apps.card.v1.Button], the + // `altText` appears as helper text when the user hovers over the button. + // However, if the button also sets `text`, the icon's `altText` is ignored. + string alt_text = 3; + + // The crop style applied to the image. In some cases, applying a + // `CIRCLE` crop causes the image to be drawn larger than a built-in + // icon. + Widget.ImageType image_type = 4; +} + +// Represents the crop style applied to an image. +// +// [Google Workspace Add-ons and +// Chat apps](https://developers.google.com/workspace/extend): +// +// For example, here's how to apply a 16:9 aspect ratio: +// +// ``` +// cropStyle { +// "type": "RECTANGLE_CUSTOM", +// "aspectRatio": 16/9 +// } +// ``` +message ImageCropStyle { + // Represents the crop style applied to an image. + // + // [Google Workspace Add-ons + // and Chat apps](https://developers.google.com/workspace/extend): + enum ImageCropType { + // Don't use. Unspecified. + IMAGE_CROP_TYPE_UNSPECIFIED = 0; + + // Default value. Applies a square crop. + SQUARE = 1; + + // Applies a circular crop. + CIRCLE = 2; + + // Applies a rectangular crop with a custom aspect ratio. Set the custom + // aspect ratio with `aspectRatio`. + RECTANGLE_CUSTOM = 3; + + // Applies a rectangular crop with a 4:3 aspect ratio. + RECTANGLE_4_3 = 4; + } + + // The crop type. + ImageCropType type = 1; + + // The aspect ratio to use if the crop type is `RECTANGLE_CUSTOM`. + // + // For example, here's how to apply a 16:9 aspect ratio: + // + // ``` + // cropStyle { + // "type": "RECTANGLE_CUSTOM", + // "aspectRatio": 16/9 + // } + // ``` + double aspect_ratio = 2; +} + +// The style options for the border of a card or widget, including the border +// type and color. +// +// [Google Workspace Add-ons and Chat +// apps](https://developers.google.com/workspace/extend): +message BorderStyle { + // Represents the border types applied to widgets. + // + // [Google Workspace Add-ons + // and Chat apps](https://developers.google.com/workspace/extend): + enum BorderType { + // Don't use. Unspecified. + BORDER_TYPE_UNSPECIFIED = 0; + + // Default value. No border. + NO_BORDER = 1; + + // Outline. + STROKE = 2; + } + + // The border type. + BorderType type = 1; + + // The colors to use when the type is `BORDER_TYPE_STROKE`. + google.type.Color stroke_color = 2; + + // The corner radius for the border. + int32 corner_radius = 3; +} + +// Represents an image. +// +// [Google Workspace Add-ons and Chat +// apps](https://developers.google.com/workspace/extend): +message ImageComponent { + // The image URL. + string image_uri = 1; + + // The accessibility label for the image. + string alt_text = 2; + + // The crop style to apply to the image. + ImageCropStyle crop_style = 3; + + // The border style to apply to the image. + BorderStyle border_style = 4; +} + +// Displays a grid with a collection of items. Items can only include text or +// images. For responsive columns, or to include more than text or images, use +// [`Columns`][google.apps.card.v1.Columns]. For an example in Google Chat apps, +// see [Grid](https://developers.google.com/chat/ui/widgets/grid). +// +// A grid supports any number of columns and items. The number of rows is +// determined by items divided by columns. A grid with +// 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns +// has 6 rows. +// +// [Google Workspace Add-ons and Chat +// apps](https://developers.google.com/workspace/extend): +// +// For example, the following JSON creates a 2 column grid with a single +// item: +// +// ``` +// "grid": { +// "title": "A fine collection of items", +// "columnCount": 2, +// "borderStyle": { +// "type": "STROKE", +// "cornerRadius": 4 +// }, +// "items": [ +// { +// "image": { +// "imageUri": "https://www.example.com/image.png", +// "cropStyle": { +// "type": "SQUARE" +// }, +// "borderStyle": { +// "type": "STROKE" +// } +// }, +// "title": "An item", +// "textAlignment": "CENTER" +// } +// ], +// "onClick": { +// "openLink": { +// "url": "https://www.example.com" +// } +// } +// } +// ``` +message Grid { + // Represents an item in a grid layout. Items can contain text, an image, or + // both text and an image. + // + // [Google Workspace Add-ons and Chat + // apps](https://developers.google.com/workspace/extend): + message GridItem { + // Represents the various layout options available for a grid item. + // + // [Google Workspace Add-ons and Chat + // apps](https://developers.google.com/workspace/extend): + enum GridItemLayout { + // Don't use. Unspecified. + GRID_ITEM_LAYOUT_UNSPECIFIED = 0; + + // The title and subtitle are shown below the grid item's image. + TEXT_BELOW = 1; + + // The title and subtitle are shown above the grid item's image. + TEXT_ABOVE = 2; + } + + // A user-specified identifier for this grid item. This identifier is + // returned in the parent grid's `onClick` callback parameters. + string id = 1; + + // The image that displays in the grid item. + ImageComponent image = 2; + + // The grid item's title. + string title = 3; + + // The grid item's subtitle. + string subtitle = 4; + + // The layout to use for the grid item. + GridItemLayout layout = 9; + } + + // The text that displays in the grid header. + string title = 1; + + // The items to display in the grid. + repeated GridItem items = 2; + + // The border style to apply to each grid item. + BorderStyle border_style = 3; + + // The number of columns to display in the grid. A default value + // is used if this field isn't specified, and that default value is + // different depending on where the grid is shown (dialog versus companion). + int32 column_count = 4; + + // This callback is reused by each individual grid item, but with the + // item's identifier and index in the items list added to the callback's + // parameters. + 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 +// [Columns](https://developers.google.com/chat/ui/widgets/columns). +// +// The height of each column is determined by the taller column. For example, if +// the first column is taller than the second column, both columns have the +// height of the first column. Because each column can contain a different +// number of widgets, you can't define rows or align widgets between the +// columns. +// +// Columns are displayed side-by-side. You can customize the width of each +// column using the `HorizontalSizeStyle` field. If the user's +// screen width is too narrow, the second column wraps below the first: +// +// * On web, the second column wraps if the screen width is less than or equal +// to 480 pixels. +// * On iOS devices, the second column wraps if the screen width is +// less than or equal to 300 pt. +// * On Android devices, the second column wraps if the screen width is +// less than or equal to 320 dp. +// +// 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): +message Columns { + // A column. + // + // [Google Chat apps](https://developers.google.com/chat): + message Column { + // Specifies how a column fills the width of the card. The width of each + // column depends on both the `HorizontalSizeStyle` and the width of the + // widgets within the column. + // + // [Google Chat apps](https://developers.google.com/chat): + enum HorizontalSizeStyle { + // Don't use. Unspecified. + HORIZONTAL_SIZE_STYLE_UNSPECIFIED = 0; + + // Default value. Column fills the available space, up to 70% of the + // card's width. If both columns are set to `FILL_AVAILABLE_SPACE`, each + // column fills 50% of the space. + FILL_AVAILABLE_SPACE = 1; + + // Column fills the least amount of space possible and no more than 30% of + // the card's width. + FILL_MINIMUM_SPACE = 2; + } + + // Specifies whether widgets align to the top, bottom, or center of a + // column. + // + // [Google Chat apps](https://developers.google.com/chat): + enum VerticalAlignment { + // Don't use. Unspecified. + VERTICAL_ALIGNMENT_UNSPECIFIED = 0; + + // Default value. Aligns widgets to the center of a column. + CENTER = 1; + + // Aligns widgets to the top of a column. + TOP = 2; + + // Aligns widgets to the bottom of a column. + BOTTOM = 3; + } + + // The supported widgets that you can include in a column. + // + // [Google Chat apps](https://developers.google.com/chat): + message Widgets { + oneof data { + // [TextParagraph][google.apps.card.v1.TextParagraph] widget. + TextParagraph text_paragraph = 1; + + // [Image][google.apps.card.v1.Image] widget. + Image image = 2; + + // [DecoratedText][google.apps.card.v1.DecoratedText] widget. + DecoratedText decorated_text = 3; + + // [ButtonList][google.apps.card.v1.ButtonList] widget. + ButtonList button_list = 4; + + // [TextInput][google.apps.card.v1.TextInput] widget. + TextInput text_input = 5; + + // [SelectionInput][google.apps.card.v1.SelectionInput] widget. + SelectionInput selection_input = 6; + + // [DateTimePicker][google.apps.card.v1.DateTimePicker] widget. + DateTimePicker date_time_picker = 7; + } + } + + // Specifies how a column fills the width of the card. + // + // [Google Chat apps](https://developers.google.com/chat): + HorizontalSizeStyle horizontal_size_style = 1; + + // Specifies whether widgets align to the left, right, or center of a + // column. + Widget.HorizontalAlignment horizontal_alignment = 2; + + // Specifies whether widgets align to the top, bottom, or center of a + // column. + // + // [Google Chat apps](https://developers.google.com/chat): + VerticalAlignment vertical_alignment = 3; + + // An array of widgets included in a column. Widgets appear in the order + // that they are specified. + repeated Widgets widgets = 4; + } + + // An array of columns. You can include up to 2 columns in a card or dialog. + repeated Column column_items = 2; +} + +// Represents how to respond when users click an interactive element on +// a card, such as a button. +// +// [Google Workspace Add-ons and Chat +// apps](https://developers.google.com/workspace/extend): +message OnClick { + oneof data { + // If specified, an action is triggered by this `onClick`. + Action action = 1; + + // If specified, this `onClick` triggers an open link action. + OpenLink open_link = 2; + + // An add-on triggers this action when the action needs to open a + // link. This differs from the `open_link` above in that this needs to talk + // to server to get the link. Thus some preparation work is required for + // web client to do before the open link action response comes back. + // + // [Google Workspace + // Add-ons](https://developers.google.com/workspace/add-ons): + Action open_dynamic_link_action = 3; + + // A new card is pushed to the card stack after clicking if specified. + // + // [Google Workspace + // Add-ons](https://developers.google.com/workspace/add-ons): + Card card = 4; + } +} + +// Represents an `onClick` event that opens a hyperlink. +// +// [Google Workspace Add-ons and Chat +// apps](https://developers.google.com/workspace/extend): +message OpenLink { + // When an `OnClick` action opens a link, then the client can either open it + // as a full-size window (if that's the frame used by the client), or an + // overlay (such as a pop-up). The implementation depends on the client + // platform capabilities, and the value selected might be ignored if the + // client doesn't support it. `FULL_SIZE` is supported by all clients. + // + // [Google Workspace + // Add-ons](https://developers.google.com/workspace/add-ons): + enum OpenAs { + // The link opens as a full-size window (if that's the frame used by the + // client). + FULL_SIZE = 0; + + // The link opens as an overlay, such as a pop-up. + OVERLAY = 1; + } + + // What the client does when a link opened by an `OnClick` action is closed. + // + // Implementation depends on client platform capabilities. For example, a web + // browser might open a link in a pop-up window with an `OnClose` handler. + // + // If both `OnOpen` and `OnClose` handlers are set, and the client platform + // can't support both values, `OnClose` takes precedence. + // + // [Google Workspace + // Add-ons](https://developers.google.com/workspace/add-ons): + enum OnClose { + // Default value. The card doesn't reload; nothing happens. + NOTHING = 0; + + // Reloads the card after the child window closes. + // + // If used in conjunction with + // [`OpenAs.OVERLAY`](https://developers.google.com/workspace/add-ons/reference/rpc/google.apps.card.v1#openas), + // the child window acts as a modal dialog and the parent card is blocked + // until the child window closes. + RELOAD = 1; + } + + // The URL to open. + string url = 1; + + // How to open a link. + // + // [Google Workspace + // Add-ons](https://developers.google.com/workspace/add-ons): + OpenAs open_as = 2; + + // Whether the client forgets about a link after opening it, or observes it + // until the window closes. + // + // [Google Workspace + // Add-ons](https://developers.google.com/workspace/add-ons): + OnClose on_close = 3; +} + +// An action that describes the behavior when the form is submitted. +// For example, you can invoke an Apps Script script to handle the form. +// If the action is triggered, the form values are sent to the server. +// +// [Google Workspace Add-ons and Chat +// apps](https://developers.google.com/workspace/extend): +message Action { + // List of string parameters to supply when the action method is invoked. + // For example, consider three snooze buttons: snooze now, snooze one day, + // or snooze next week. You might use `action method = snooze()`, passing the + // snooze type and snooze time in the list of string parameters. + // + // To learn more, see + // [`CommonEventObject`](https://developers.google.com/chat/api/reference/rest/v1/Event#commoneventobject). + // + // [Google Workspace Add-ons and Chat + // apps](https://developers.google.com/workspace/extend): + message ActionParameter { + // The name of the parameter for the action script. + string key = 1; + + // The value of the parameter. + string value = 2; + } + + // Specifies the loading indicator that the action displays while + // making the call to the action. + // + // [Google Workspace Add-ons and Chat + // apps](https://developers.google.com/workspace/extend): + enum LoadIndicator { + // Displays a spinner to indicate that content is loading. + SPINNER = 0; + + // Nothing is displayed. + NONE = 1; + } + + // Optional. Required when opening a + // [dialog](https://developers.google.com/chat/how-tos/dialogs). + // + // What to do in response to an interaction with a user, such as a user + // clicking a button in a card message. + // + // If unspecified, the app responds by executing an `action`—like opening a + // link or running a function—as normal. + // + // By specifying an `interaction`, the app can respond in special interactive + // ways. For example, by setting `interaction` to `OPEN_DIALOG`, the app can + // open a [dialog](https://developers.google.com/chat/how-tos/dialogs). + // + // When specified, a loading indicator isn't shown. If specified for + // an add-on, the entire card is stripped and nothing is shown in the client. + // + // [Google Chat apps](https://developers.google.com/chat): + enum Interaction { + // Default value. The `action` executes as normal. + INTERACTION_UNSPECIFIED = 0; + + // Opens a [dialog](https://developers.google.com/chat/how-tos/dialogs), a + // windowed, card-based interface that Chat apps use to interact with users. + // + // Only supported by Chat apps in response to button-clicks on card + // messages. If specified for + // an add-on, the entire card is stripped and nothing is shown in the + // client. + // + // [Google Chat apps](https://developers.google.com/chat): + OPEN_DIALOG = 1; + } + + // A custom function to invoke when the containing element is + // clicked or othrwise activated. + // + // For example usage, see [Create interactive + // cards](https://developers.google.com/chat/how-tos/cards-onclick). + string function = 1; + + // List of action parameters. + repeated ActionParameter parameters = 2; + + // Specifies the loading indicator that the action displays while + // making the call to the action. + LoadIndicator load_indicator = 3; + + // Indicates whether form values persist after the action. The default value + // is `false`. + // + // If `true`, form values remain after the action is triggered. To let the + // user make changes while the action is being processed, set + // [`LoadIndicator`](https://developers.google.com/workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) + // to `NONE`. For [card + // messages](https://developers.google.com/chat/api/guides/v1/messages/create#create) + // in Chat apps, you must also set the action's + // [`ResponseType`](https://developers.google.com/chat/api/reference/rest/v1/spaces.messages#responsetype) + // to `UPDATE_MESSAGE` and use the same + // [`card_id`](https://developers.google.com/chat/api/reference/rest/v1/spaces.messages#CardWithId) + // from the card that contained the action. + // + // If `false`, the form values are cleared when the action is triggered. + // To prevent the user from making changes while the action is being + // processed, set + // [`LoadIndicator`](https://developers.google.com/workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) + // to `SPINNER`. + bool persist_values = 4; + + // Optional. Required when opening a + // [dialog](https://developers.google.com/chat/how-tos/dialogs). + // + // What to do in response to an interaction with a user, such as a user + // clicking a button in a card message. + // + // If unspecified, the app responds by executing an `action`—like opening a + // link or running a function—as normal. + // + // By specifying an `interaction`, the app can respond in special interactive + // ways. For example, by setting `interaction` to `OPEN_DIALOG`, the app can + // open a [dialog](https://developers.google.com/chat/how-tos/dialogs). When + // specified, a loading indicator isn't shown. If specified for + // an add-on, the entire card is stripped and nothing is shown in the client. + // + // [Google Chat apps](https://developers.google.com/chat): + Interaction interaction = 5; +} diff --git a/third_party/googleapis/google/apps/drive/labels/v2/label_limits.proto b/third_party/googleapis/google/apps/drive/labels/v2/label_limits.proto new file mode 100644 index 000000000..2c7493308 --- /dev/null +++ b/third_party/googleapis/google/apps/drive/labels/v2/label_limits.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.apps.drive.labels.v2; + +import "google/api/resource.proto"; +import "google/type/date.proto"; + +option go_package = "google.golang.org/genproto/googleapis/apps/drive/labels/v2;labels"; +option java_multiple_files = true; +option java_outer_classname = "LabelLimitsProto"; +option java_package = "com.google.apps.drive.labels.v2"; +option objc_class_prefix = "DLBL"; + +// Label constraints governing the structure of a Label; such as, the maximum +// number of Fields allowed and maximum length of the label title. +message LabelLimits { + option (google.api.resource) = { + type: "drivelabels.googleapis.com/LabelLimits" + pattern: "limits/label" + }; + + // Resource name. + string name = 1; + + // The maximum number of characters allowed for the title. + int32 max_title_length = 2; + + // The maximum number of characters allowed for the description. + int32 max_description_length = 3; + + // The maximum number of Fields allowed within the label. + int32 max_fields = 4; + + // The maximum number of published Fields that can be deleted. + int32 max_deleted_fields = 5; + + // The maximum number of draft revisions that will be kept before deleting + // old drafts. + int32 max_draft_revisions = 6; + + // The limits for Fields. + FieldLimits field_limits = 7; +} + +// Field constants governing the structure of a Field; such as, the maximum +// title length, minimum and maximum field values or length, etc. +message FieldLimits { + // Max length for the id. + int32 max_id_length = 1; + + // Limits for Field title. + int32 max_display_name_length = 2; + + // Limits for Field description, also called help text. + int32 max_description_length = 3; + + // The relevant limits for the specified Field.Type. + // Text Field limits. + TextLimits text_limits = 4; + + // Long text Field limits. + LongTextLimits long_text_limits = 5; + + // Integer Field limits. + IntegerLimits integer_limits = 6; + + // Date Field limits. + DateLimits date_limits = 7; + + // User Field limits. + UserLimits user_limits = 8; + + // Selection Field limits. + SelectionLimits selection_limits = 9; +} + +// Limits for list-variant of a Field type. +message ListLimits { + // Maximum number of values allowed for the Field type. + int32 max_entries = 1; +} + +// Limits for text Field type. +message TextLimits { + // Minimum length allowed for a text Field type. + int32 min_length = 1; + + // Maximum length allowed for a text Field type. + int32 max_length = 2; +} + +// Limits for long text Field type. +message LongTextLimits { + // Minimum length allowed for a long text Field type. + int32 min_length = 1; + + // Maximum length allowed for a long text Field type. + int32 max_length = 2; +} + +// Limits for integer Field type. +message IntegerLimits { + // Minimum value for an integer Field type. + int64 min_value = 1; + + // Maximum value for an integer Field type. + int64 max_value = 2; +} + +// Limits for date Field type. +message DateLimits { + // Minimum value for the date Field type. + google.type.Date min_value = 1; + + // Maximum value for the date Field type. + google.type.Date max_value = 2; +} + +// Limits for selection Field type. +message SelectionLimits { + // Limits for list-variant of a Field type. + ListLimits list_limits = 1; + + // Maximum ID length for a selection options. + int32 max_id_length = 2; + + // Maximum length for display name. + int32 max_display_name_length = 3; + + // The max number of choices. + int32 max_choices = 4; + + // Maximum number of deleted choices. + int32 max_deleted_choices = 5; +} + +// Limits for Field.Type.USER. +message UserLimits { + // Limits for list-variant of a Field type. + ListLimits list_limits = 1; +} diff --git a/third_party/googleapis/google/apps/drive/labels/v2/label_lock.proto b/third_party/googleapis/google/apps/drive/labels/v2/label_lock.proto new file mode 100644 index 000000000..a386bcc3a --- /dev/null +++ b/third_party/googleapis/google/apps/drive/labels/v2/label_lock.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.apps.drive.labels.v2; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/apps/drive/labels/v2/common.proto"; +import "google/protobuf/timestamp.proto"; + +option go_package = "google.golang.org/genproto/googleapis/apps/drive/labels/v2;labels"; +option java_multiple_files = true; +option java_outer_classname = "LabelLockProto"; +option java_package = "com.google.apps.drive.labels.v2"; +option objc_class_prefix = "DLBL"; + +// A Lock that can be applied to a Label, Field, or Choice. +message LabelLock { + option (google.api.resource) = { + type: "drivelabels.googleapis.com/LabelLock" + pattern: "labels/{label}/locks/{lock}" + }; + + // A description of a user's capabilities on a LabelLock. + message Capabilities { + // True if the user is authorized to view the policy. + bool can_view_policy = 1; + } + + // A description of a LabelLock's state. + enum State { + // Unknown state. + STATE_UNSPECIFIED = 0; + + // The LabelLock is active and is being enforced by the server. + ACTIVE = 1; + + // The LabelLock is being deleted. The LabelLock will continue to be + // enforced by the server until it has been fully removed. + DELETING = 2; + } + + // Output only. Resource name of this LabelLock. + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The ID of the Field that should be locked. Empty if the whole + // Label should be locked. + string field_id = 2; + + // The ID of the Selection Field Choice that should be locked. If present, + // `field_id` must also be present. + string choice_id = 3; + + // Output only. The time this LabelLock was created. + google.protobuf.Timestamp create_time = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The user whose credentials were used to create the LabelLock. + // This will not be present if no user was responsible for creating the + // LabelLock. + UserInfo creator = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. A timestamp indicating when this LabelLock was scheduled for + // deletion. This will be present only if this LabelLock is in the DELETING + // state. + google.protobuf.Timestamp delete_time = 6 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The user's capabilities on this LabelLock. + Capabilities capabilities = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. This LabelLock's state. + State state = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/apps/drive/labels/v2/user_capabilities.proto b/third_party/googleapis/google/apps/drive/labels/v2/user_capabilities.proto new file mode 100644 index 000000000..d62b1ec9c --- /dev/null +++ b/third_party/googleapis/google/apps/drive/labels/v2/user_capabilities.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.apps.drive.labels.v2; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option go_package = "google.golang.org/genproto/googleapis/apps/drive/labels/v2;labels"; +option java_multiple_files = true; +option java_outer_classname = "UserCapabilitiesProto"; +option java_package = "com.google.apps.drive.labels.v2"; +option objc_class_prefix = "DLBL"; + +// The capabilities of a user. +message UserCapabilities { + option (google.api.resource) = { + type: "drivelabels.googleapis.com/UserCapabilities" + pattern: "users/{id}/capabilities" + }; + + // Output only. Resource name for the user capabilities. + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Whether the user is allowed access to the label manager. + bool can_access_label_manager = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Whether the user is an administrator for the shared labels + // feature. + bool can_administrate_labels = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Whether the user is allowed to create new shared labels. + bool can_create_shared_labels = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Whether the user is allowed to create new admin labels. + bool can_create_admin_labels = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/apps/events/subscriptions/v1/BUILD.bazel b/third_party/googleapis/google/apps/events/subscriptions/v1/BUILD.bazel new file mode 100644 index 000000000..ca5f7c414 --- /dev/null +++ b/third_party/googleapis/google/apps/events/subscriptions/v1/BUILD.bazel @@ -0,0 +1,379 @@ +# 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 = "subscriptions_proto", + srcs = [ + "subscription_resource.proto", + "subscriptions_service.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//:duration_proto", + "@com_google_protobuf//:empty_proto", + "@com_google_protobuf//:field_mask_proto", + "@com_google_protobuf//:timestamp_proto", + ], +) + +proto_library_with_info( + name = "subscriptions_proto_with_info", + deps = [ + ":subscriptions_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 = "subscriptions_java_proto", + deps = [":subscriptions_proto"], +) + +java_grpc_library( + name = "subscriptions_java_grpc", + srcs = [":subscriptions_proto"], + deps = [":subscriptions_java_proto"], +) + +java_gapic_library( + name = "subscriptions_java_gapic", + srcs = [":subscriptions_proto_with_info"], + gapic_yaml = None, + grpc_service_config = "subscriptions_v1_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "workspaceevents_v1.yaml", + test_deps = [ + ":subscriptions_java_grpc", + ], + transport = "grpc+rest", + deps = [ + ":subscriptions_java_proto", + "//google/api:api_java_proto", + ], +) + +java_gapic_test( + name = "subscriptions_java_gapic_test_suite", + test_classes = [ + "com.google.apps.events.subscriptions.v1.SubscriptionsServiceClientHttpJsonTest", + "com.google.apps.events.subscriptions.v1.SubscriptionsServiceClientTest", + ], + runtime_deps = [":subscriptions_java_gapic_test"], +) + +# Open Source Packages +java_gapic_assembly_gradle_pkg( + name = "google-cloud-events-subscriptions-v1-java", + include_samples = True, + transport = "grpc+rest", + deps = [ + ":subscriptions_java_gapic", + ":subscriptions_java_grpc", + ":subscriptions_java_proto", + ":subscriptions_proto", + ], +) + +############################################################################## +# Go +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "go_gapic_assembly_pkg", + "go_gapic_library", + "go_proto_library", +) + +go_proto_library( + name = "subscriptions_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "cloud.google.com/go/apps/events/subscriptions/apiv1/subscriptionspb", + protos = [":subscriptions_proto"], + deps = [ + "//google/api:annotations_go_proto", + "//google/longrunning:longrunning_go_proto", + ], +) + +go_gapic_library( + name = "subscriptions_go_gapic", + srcs = [":subscriptions_proto_with_info"], + grpc_service_config = "subscriptions_v1_grpc_service_config.json", + importpath = "cloud.google.com/go/apps/events/subscriptions/apiv1;subscriptions", + metadata = True, + release_level = "beta", + rest_numeric_enums = True, + service_yaml = "workspaceevents_v1.yaml", + transport = "grpc+rest", + deps = [ + ":subscriptions_go_proto", + "//google/longrunning:longrunning_go_proto", + "@com_google_cloud_go_longrunning//:go_default_library", + "@com_google_cloud_go_longrunning//autogen:go_default_library", + "@io_bazel_rules_go//proto/wkt:duration_go_proto", + ], +) + +# Open Source Packages +go_gapic_assembly_pkg( + name = "gapi-cloud-events-subscriptions-v1-go", + deps = [ + ":subscriptions_go_gapic", + ":subscriptions_go_gapic_srcjar-metadata.srcjar", + ":subscriptions_go_gapic_srcjar-snippets.srcjar", + ":subscriptions_go_gapic_srcjar-test.srcjar", + ":subscriptions_go_proto", + ], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "py_gapic_assembly_pkg", + "py_gapic_library", + "py_test", +) + +py_gapic_library( + name = "subscriptions_py_gapic", + srcs = [":subscriptions_proto"], + grpc_service_config = "subscriptions_v1_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "workspaceevents_v1.yaml", + transport = "grpc+rest", + deps = [ + ], +) + +py_test( + name = "subscriptions_py_gapic_test", + srcs = [ + "subscriptions_py_gapic_pytest.py", + "subscriptions_py_gapic_test.py", + ], + legacy_create_init = False, + deps = [":subscriptions_py_gapic"], +) + +# Open Source Packages +py_gapic_assembly_pkg( + name = "events-subscriptions-v1-py", + deps = [ + ":subscriptions_py_gapic", + ], +) + +############################################################################## +# PHP +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "php_gapic_assembly_pkg", + "php_gapic_library", + "php_proto_library", +) + +php_proto_library( + name = "subscriptions_php_proto", + deps = [":subscriptions_proto"], +) + +php_gapic_library( + name = "subscriptions_php_gapic", + srcs = [":subscriptions_proto_with_info"], + grpc_service_config = "subscriptions_v1_grpc_service_config.json", + migration_mode = "NEW_SURFACE_ONLY", + rest_numeric_enums = True, + service_yaml = "workspaceevents_v1.yaml", + transport = "grpc+rest", + deps = [ + ":subscriptions_php_proto", + ], +) + +# Open Source Packages +php_gapic_assembly_pkg( + name = "google-cloud-events-subscriptions-v1-php", + deps = [ + ":subscriptions_php_gapic", + ":subscriptions_php_proto", + ], +) + +############################################################################## +# Node.js +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "nodejs_gapic_assembly_pkg", + "nodejs_gapic_library", +) + +nodejs_gapic_library( + name = "subscriptions_nodejs_gapic", + package_name = "@google-cloud/subscriptions", + src = ":subscriptions_proto_with_info", + extra_protoc_parameters = ["metadata"], + grpc_service_config = "subscriptions_v1_grpc_service_config.json", + package = "google.apps.events.subscriptions.v1", + rest_numeric_enums = True, + service_yaml = "workspaceevents_v1.yaml", + transport = "grpc+rest", + deps = [], +) + +nodejs_gapic_assembly_pkg( + name = "events-subscriptions-v1-nodejs", + deps = [ + ":subscriptions_nodejs_gapic", + ":subscriptions_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 = "subscriptions_ruby_proto", + deps = [":subscriptions_proto"], +) + +ruby_grpc_library( + name = "subscriptions_ruby_grpc", + srcs = [":subscriptions_proto"], + deps = [":subscriptions_ruby_proto"], +) + +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"], + grpc_service_config = "subscriptions_v1_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "workspaceevents_v1.yaml", + transport = "grpc+rest", + deps = [ + ":subscriptions_ruby_grpc", + ":subscriptions_ruby_proto", + ], +) + +# Open Source Packages +ruby_gapic_assembly_pkg( + name = "google-cloud-events-subscriptions-v1-ruby", + deps = [ + ":subscriptions_ruby_gapic", + ":subscriptions_ruby_grpc", + ":subscriptions_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 = "subscriptions_csharp_proto", + deps = [":subscriptions_proto"], +) + +csharp_grpc_library( + name = "subscriptions_csharp_grpc", + srcs = [":subscriptions_proto"], + deps = [":subscriptions_csharp_proto"], +) + +csharp_gapic_library( + name = "subscriptions_csharp_gapic", + srcs = [":subscriptions_proto_with_info"], + common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json", + grpc_service_config = "subscriptions_v1_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "workspaceevents_v1.yaml", + transport = "grpc+rest", + deps = [ + ":subscriptions_csharp_grpc", + ":subscriptions_csharp_proto", + ], +) + +# Open Source Packages +csharp_gapic_assembly_pkg( + name = "google-cloud-events-subscriptions-v1-csharp", + deps = [ + ":subscriptions_csharp_gapic", + ":subscriptions_csharp_grpc", + ":subscriptions_csharp_proto", + ], +) + +############################################################################## +# C++ +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "cc_grpc_library", + "cc_proto_library", +) + +cc_proto_library( + name = "subscriptions_cc_proto", + deps = [":subscriptions_proto"], +) + +cc_grpc_library( + name = "subscriptions_cc_grpc", + srcs = [":subscriptions_proto"], + grpc_only = True, + deps = [":subscriptions_cc_proto"], +) diff --git a/third_party/googleapis/google/apps/events/subscriptions/v1/subscription_resource.proto b/third_party/googleapis/google/apps/events/subscriptions/v1/subscription_resource.proto new file mode 100644 index 000000000..b29dbf6b1 --- /dev/null +++ b/third_party/googleapis/google/apps/events/subscriptions/v1/subscription_resource.proto @@ -0,0 +1,292 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.apps.events.subscriptions.v1; + +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.Apps.Events.Subscriptions.V1"; +option go_package = "cloud.google.com/go/apps/events/subscriptions/apiv1/subscriptionspb;subscriptionspb"; +option java_multiple_files = true; +option java_outer_classname = "SubscriptionResourceProto"; +option java_package = "com.google.apps.events.subscriptions.v1"; +option php_namespace = "Google\\Apps\\Events\\Subscriptions\\V1"; +option ruby_package = "Google::Apps::Events::Subscriptions::V1"; +option (google.api.resource_definition) = { + type: "cloudidentity.googleapis.com/User" + pattern: "users/{user}" +}; +option (google.api.resource_definition) = { + type: "pubsub.googleapis.com/Topic" + pattern: "projects/{project}/topics/{topic}" +}; + +// A subscription to receive events about a Google Workspace resource. To learn +// more about subscriptions, see the [Google Workspace Events API +// overview](https://developers.google.com/workspace/events/guides). +message Subscription { + option (google.api.resource) = { + type: "workspaceevents.googleapis.com/Subscription" + pattern: "subscriptions/{subscription}" + plural: "subscriptions" + singular: "subscription" + style: DECLARATIVE_FRIENDLY + }; + + // Possible states for the subscription. + enum State { + // Default value. This value is unused. + STATE_UNSPECIFIED = 0; + + // The subscription is active and can receive and deliver events to its + // notification endpoint. + ACTIVE = 1; + + // The subscription is unable to receive events due to an error. + // To identify the error, see the + // [`suspension_reason`][google.apps.events.subscriptions.v1.Subscription.suspension_reason] + // field. + SUSPENDED = 2; + + // The subscription is deleted. + DELETED = 3; + } + + // Possible errors for a subscription. + enum ErrorType { + // Default value. This value is unused. + ERROR_TYPE_UNSPECIFIED = 0; + + // The authorizing user has revoked the grant of one or more OAuth scopes. + // To learn more about authorization for Google Workspace, see [Configure + // the OAuth consent + // screen](https://developers.google.com/workspace/guides/configure-oauth-consent#choose-scopes). + USER_SCOPE_REVOKED = 1; + + // The target resource for the subscription no longer exists. + RESOURCE_DELETED = 2; + + // The user that authorized the creation of the subscription no longer has + // access to the subscription's target resource. + USER_AUTHORIZATION_FAILURE = 3; + + // The Google Workspace application doesn't have access to deliver + // events to your subscription's notification endpoint. + ENDPOINT_PERMISSION_DENIED = 4; + + // The subscription's notification endpoint doesn't exist, or the endpoint + // can't be found in the Google Cloud project where you created the + // subscription. + ENDPOINT_NOT_FOUND = 6; + + // The subscription's notification endpoint failed to receive events due to + // insufficient quota or reaching rate limiting. + ENDPOINT_RESOURCE_EXHAUSTED = 7; + + // An unidentified error has occurred. + OTHER = 5; + } + + // The time when the subscription expires. + // + // The maximum expiration time depends on whether your subscription includes + // resource data in event payloads (specified in the + // [PayloadOptions][google.apps.events.subscriptions.v1.PayloadOptions] + // field): + // + // * If payloads omit resource data, up to 7 days. + // * If payloads include resource data, up to 4 hours. If your Google + // Workspace organization grants access to the resource through [domain-wide + // delegation](https://support.google.com/a/answer/162106), you can extend the + // subscription's expiration time to up to 24 hours. + // + // After a subscription expires, it's deleted automatically. You receive + // lifecycle events to the + // [notification_endpoint][google.apps.events.subscriptions.v1.Subscription.notification_endpoint] + // 12 hours and one hour before the subscription expires. For details, see + // [Receive and respond to lifecycle + // events](https://developers.google.com/workspace/events/guides/events-lifecycle). + // + // To prevent a subscription from expiring, you can use the + // [`UpdateSubscription`][google.apps.events.subscriptions.v1.SubscriptionsService.UpdateSubscription] + // method to extend its expiration date. For details, see [Update or renew a + // subscription](https://developers.google.com/workspace/events/guides/update-subscription). + oneof expiration { + // Non-empty default. The timestamp in UTC when the subscription expires. + // Always displayed on output, regardless of what was used on input. + google.protobuf.Timestamp expire_time = 13 + [(google.api.field_behavior) = NON_EMPTY_DEFAULT]; + + // Input only. The time-to-live (TTL) or duration for the subscription. If + // unspecified or set to `0`, uses the maximum possible duration. + google.protobuf.Duration ttl = 14 + [(google.api.field_behavior) = INPUT_ONLY]; + } + + // Optional. Immutable. Identifier. Resource name of the subscription. + // + // Format: `subscriptions/{subscription}` + string name = 1 [ + (google.api.field_behavior) = IDENTIFIER, + (google.api.field_behavior) = IMMUTABLE, + (google.api.field_behavior) = OPTIONAL + ]; + + // Output only. System-assigned unique identifier for the subscription. + string uid = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. Immutable. The Google Workspace resource that's monitored for + // events, formatted as the [full resource + // name](https://google.aip.dev/122#full-resource-names). To learn about + // target resources, see [Supported Google Workspace + // resources](https://developers.google.com/workspace/events/guides#supported-resources). + // + // A user can only authorize your app to create one subscription for a given + // target resource. If your app tries to create another subscription with the + // same user credentials, the request returns an `ALREADY_EXISTS` error. + string target_resource = 4 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { type: "*" } + ]; + + // Required. Immutable. Unordered list. Input for creating a subscription. + // Otherwise, output only. One or more types of events to receive about the + // target resource. Formatted according to the CloudEvents specification. + // + // For a list of supported event types, see the following documentation: + // + // * [Google Chat + // events](https://developers.google.com/workspace/events/guides/events-chat) + // * [Google Meet + // events](https://developers.google.com/workspace/events/guides/events-meet) + // + // By default, you also receive events about the [lifecycle of your + // subscription](https://developers.google.com/workspace/events/guides/events-lifecycle). + // You don't need to specify lifecycle events for this field. + // + // If you specify an event type that doesn't exist for the target resource, + // the request returns an HTTP `400 Bad Request` status code. + repeated string event_types = 5 [ + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = UNORDERED_LIST, + (google.api.field_behavior) = IMMUTABLE + ]; + + // Optional. Options about what data to include in the event payload. Only + // supported for Google Chat events. + PayloadOptions payload_options = 6 [(google.api.field_behavior) = OPTIONAL]; + + // Required. Immutable. The endpoint where the subscription delivers events, + // such as a Pub/Sub topic. + NotificationEndpoint notification_endpoint = 7 [ + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = IMMUTABLE + ]; + + // Output only. The state of the subscription. Determines whether the + // subscription can receive events and deliver them to the notification + // endpoint. + State state = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The error that suspended the subscription. + // + // To reactivate the subscription, resolve the error and call the + // [`ReactivateSubscription`][google.apps.events.subscriptions.v1.SubscriptionsService.ReactivateSubscription] + // method. + ErrorType suspension_reason = 18 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The user who authorized the creation of the + // subscription. + // + // Format: `users/{user}` + // + // For Google Workspace users, the `{user}` value is the + // [`user.id`](https://developers.google.com/admin-sdk/directory/reference/rest/v1/users#User.FIELDS.ids) + // field from the Directory API. + string authority = 10 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "cloudidentity.googleapis.com/User" + } + ]; + + // Output only. The time when the subscription is created. + google.protobuf.Timestamp create_time = 11 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The last time that the subscription is updated. + google.protobuf.Timestamp update_time = 12 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. If `true`, the subscription is in the process of being + // updated. + bool reconciling = 15 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Optional. This checksum is computed by the server based on the value of + // other fields, and might be sent on update requests to ensure the client has + // an up-to-date value before proceeding. + string etag = 17 [(google.api.field_behavior) = OPTIONAL]; +} + +// Options about what data to include in the event payload. Only supported for +// Google Chat events. +message PayloadOptions { + // Optional. Whether the event payload includes data about the resource that + // changed. For example, for an event where a Google Chat message was created, + // whether the payload contains data about the + // [`Message`](https://developers.google.com/chat/api/reference/rest/v1/spaces.messages) + // resource. If false, the event payload only includes the name of the changed + // resource. + bool include_resource = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. If `include_resource` is set to `true`, the list of fields to + // include in the event payload. Separate fields with a comma. For example, to + // include a Google Chat message's sender and create time, enter + // `message.sender,message.createTime`. If omitted, the payload includes all + // fields for the resource. + // + // If you specify a field that doesn't exist for the resource, the system + // ignores the field. + google.protobuf.FieldMask field_mask = 2 + [(google.api.field_behavior) = OPTIONAL]; +} + +// The endpoint where the subscription delivers events. +message NotificationEndpoint { + oneof endpoint { + // Immutable. The Cloud Pub/Sub topic that receives events for the + // subscription. + // + // Format: `projects/{project}/topics/{topic}` + // + // + // You must create the topic in the same Google Cloud project where + // you create this subscription. + // + // When the topic receives events, the events are encoded as Cloud Pub/Sub + // messages. For details, see the [Google Cloud Pub/Sub Protocol Binding for + // CloudEvents](https://github.com/googleapis/google-cloudevents/blob/main/docs/spec/pubsub.md). + string pubsub_topic = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { type: "pubsub.googleapis.com/Topic" } + ]; + } +} diff --git a/third_party/googleapis/google/apps/events/subscriptions/v1/subscriptions_service.proto b/third_party/googleapis/google/apps/events/subscriptions/v1/subscriptions_service.proto new file mode 100644 index 000000000..e019711f8 --- /dev/null +++ b/third_party/googleapis/google/apps/events/subscriptions/v1/subscriptions_service.proto @@ -0,0 +1,305 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.apps.events.subscriptions.v1; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/apps/events/subscriptions/v1/subscription_resource.proto"; +import "google/longrunning/operations.proto"; +import "google/protobuf/empty.proto"; +import "google/protobuf/field_mask.proto"; + +option csharp_namespace = "Google.Apps.Events.Subscriptions.V1"; +option go_package = "cloud.google.com/go/apps/events/subscriptions/apiv1/subscriptionspb;subscriptionspb"; +option java_multiple_files = true; +option java_outer_classname = "SubscriptionsServiceProto"; +option java_package = "com.google.apps.events.subscriptions.v1"; +option php_namespace = "Google\\Apps\\Events\\Subscriptions\\V1"; +option ruby_package = "Google::Apps::Events::Subscriptions::V1"; + +// A service that manages subscriptions to Google Workspace events. +service SubscriptionsService { + option (google.api.default_host) = "workspaceevents.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/chat.bot," + "https://www.googleapis.com/auth/chat.memberships," + "https://www.googleapis.com/auth/chat.memberships.readonly," + "https://www.googleapis.com/auth/chat.messages," + "https://www.googleapis.com/auth/chat.messages.reactions," + "https://www.googleapis.com/auth/chat.messages.reactions.readonly," + "https://www.googleapis.com/auth/chat.messages.readonly," + "https://www.googleapis.com/auth/chat.spaces," + "https://www.googleapis.com/auth/chat.spaces.readonly," + "https://www.googleapis.com/auth/meetings.space.created," + "https://www.googleapis.com/auth/meetings.space.readonly"; + + // Creates a Google Workspace subscription. To learn how to use this + // method, see [Create a Google Workspace + // subscription](https://developers.google.com/workspace/events/guides/create-subscription). + rpc CreateSubscription(CreateSubscriptionRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/subscriptions" + body: "subscription" + }; + option (google.api.method_signature) = "subscription"; + option (google.longrunning.operation_info) = { + response_type: "Subscription" + metadata_type: "CreateSubscriptionMetadata" + }; + } + + // Deletes a Google Workspace subscription. + // To learn how to use this method, see [Delete a Google Workspace + // subscription](https://developers.google.com/workspace/events/guides/delete-subscription). + rpc DeleteSubscription(DeleteSubscriptionRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1/{name=subscriptions/*}" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "DeleteSubscriptionMetadata" + }; + } + + // Gets details about a Google Workspace subscription. To learn how to use + // this method, see [Get details about a Google Workspace + // subscription](https://developers.google.com/workspace/events/guides/get-subscription). + rpc GetSubscription(GetSubscriptionRequest) returns (Subscription) { + option (google.api.http) = { + get: "/v1/{name=subscriptions/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Lists Google Workspace subscriptions. To learn how to use this method, see + // [List Google Workspace + // subscriptions](https://developers.google.com/workspace/events/guides/list-subscriptions). + rpc ListSubscriptions(ListSubscriptionsRequest) + returns (ListSubscriptionsResponse) { + option (google.api.http) = { + get: "/v1/subscriptions" + }; + option (google.api.method_signature) = "page_size, page_token, filter"; + } + + // Updates or renews a Google Workspace subscription. To learn how to use this + // method, see [Update or renew a Google Workspace + // subscription](https://developers.google.com/workspace/events/guides/update-subscription). + rpc UpdateSubscription(UpdateSubscriptionRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + patch: "/v1/{subscription.name=subscriptions/*}" + body: "subscription" + }; + option (google.api.method_signature) = "subscription,update_mask"; + option (google.longrunning.operation_info) = { + response_type: "Subscription" + metadata_type: "UpdateSubscriptionMetadata" + }; + } + + // Reactivates a suspended Google Workspace subscription. + // + // This method resets your subscription's `State` field to `ACTIVE`. Before + // you use this method, you must fix the error that suspended the + // subscription. To learn how to use this method, see [Reactivate a Google + // Workspace + // subscription](https://developers.google.com/workspace/events/guides/reactivate-subscription). + rpc ReactivateSubscription(ReactivateSubscriptionRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{name=subscriptions/*}:reactivate" + body: "*" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "Subscription" + metadata_type: "ReactivateSubscriptionMetadata" + }; + } +} + +// The request message for +// [SubscriptionsService.CreateSubscription][google.apps.events.subscriptions.v1.SubscriptionsService.CreateSubscription]. +message CreateSubscriptionRequest { + // Required. The subscription resource to create. + Subscription subscription = 1 [(google.api.field_behavior) = REQUIRED]; + + // Optional. If set to `true`, validates and previews the request, but doesn't + // create the subscription. + bool validate_only = 2 [(google.api.field_behavior) = OPTIONAL]; +} + +// The request message for +// [SubscriptionsService.DeleteSubscription][google.apps.events.subscriptions.v1.SubscriptionsService.DeleteSubscription]. +message DeleteSubscriptionRequest { + // Required. Resource name of the subscription to delete. + // + // Format: `subscriptions/{subscription}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "workspaceevents.googleapis.com/Subscription" + } + ]; + + // Optional. If set to `true`, validates and previews the request, but doesn't + // delete the subscription. + bool validate_only = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. If set to `true` and the subscription isn't found, the request + // succeeds but doesn't delete the subscription. + bool allow_missing = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Etag of the subscription. + // + // If present, it must match with the server's etag. Otherwise, request + // fails with the status `ABORTED`. + string etag = 4 [(google.api.field_behavior) = OPTIONAL]; +} + +// The request message for +// [SubscriptionsService.GetSubscription][google.apps.events.subscriptions.v1.SubscriptionsService.GetSubscription]. +message GetSubscriptionRequest { + // Required. Resource name of the subscription. + // + // Format: `subscriptions/{subscription}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "workspaceevents.googleapis.com/Subscription" + } + ]; +} + +// The request message for +// [SubscriptionsService.UpdateSubscription][google.apps.events.subscriptions.v1.SubscriptionsService.UpdateSubscription]. +message UpdateSubscriptionRequest { + // Required. The subscription to update. + // + // The subscription's `name` field is used to identify the subscription to + // update. + Subscription subscription = 1 [(google.api.field_behavior) = REQUIRED]; + + // Optional. Required. The field to update. + // + // You can update one of the following fields in a subscription: + // + // * [`expire_time`][google.apps.events.subscriptions.v1.Subscription.expire_time]: The timestamp when the + // subscription expires. + // * [`ttl`][google.apps.events.subscriptions.v1.Subscription.ttl]: The + // time-to-live (TTL) or duration of the + // subscription. + google.protobuf.FieldMask update_mask = 2 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. If set to `true`, validates and previews the request, but doesn't + // update the subscription. + bool validate_only = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// The request message for +// [SubscriptionsService.ReactivateSubscription][google.apps.events.subscriptions.v1.SubscriptionsService.ReactivateSubscription]. +message ReactivateSubscriptionRequest { + // Required. Resource name of the subscription. + // + // Format: `subscriptions/{subscription}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "workspaceevents.googleapis.com/Subscription" + } + ]; +} + +// The request message for +// [SubscriptionsService.ListSubscriptions][google.apps.events.subscriptions.v1.SubscriptionsService.ListSubscriptions]. +message ListSubscriptionsRequest { + // Optional. The maximum number of subscriptions to return. The service might + // return fewer than this value. + // + // If unspecified or set to `0`, up to 50 subscriptions are returned. + // + // The maximum value is 100. If you specify a value more than 100, the system + // only returns 100 subscriptions. + int32 page_size = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A page token, received from a previous list subscriptions call. + // Provide this parameter to retrieve the subsequent page. + // + // When paginating, the filter value should match the call that provided the + // page token. Passing a different value might lead to unexpected results. + string page_token = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Required. A query filter. + // + // You can filter subscriptions by event type (`event_types`) + // and target resource (`target_resource`). + // + // You must specify at least one event type in your query. To filter for + // multiple event types, use the `OR` operator. + // + // To filter by both event type and target resource, use the `AND` operator + // and specify the full resource name, such as + // `//chat.googleapis.com/spaces/{space}`. + // + // For example, the following queries are valid: + // + // ``` + // event_types:"google.workspace.chat.membership.v1.updated" OR + // event_types:"google.workspace.chat.message.v1.created" + // + // event_types:"google.workspace.chat.message.v1.created" AND + // target_resource="//chat.googleapis.com/spaces/{space}" + // + // ( event_types:"google.workspace.chat.membership.v1.updated" OR + // event_types:"google.workspace.chat.message.v1.created" ) AND + // target_resource="//chat.googleapis.com/spaces/{space}" + // ``` + // + // The server rejects invalid queries with an `INVALID_ARGUMENT` + // error. + string filter = 3 [(google.api.field_behavior) = REQUIRED]; +} + +// The response message for +// [SubscriptionsService.ListSubscriptions][google.apps.events.subscriptions.v1.SubscriptionsService.ListSubscriptions]. +message ListSubscriptionsResponse { + // List of subscriptions. + repeated Subscription subscriptions = 1; + + // A token, which can be sent as `page_token` to retrieve the next page. + // If this field is omitted, there are no subsequent pages. + string next_page_token = 2; +} + +// Metadata for UpdateSubscription LRO. +message UpdateSubscriptionMetadata {} + +// Metadata for CreateSubscription LRO. +message CreateSubscriptionMetadata {} + +// Metadata for DeleteSubscription LRO. +message DeleteSubscriptionMetadata {} + +// Metadata for ReactivateSubscription LRO. +message ReactivateSubscriptionMetadata {} diff --git a/third_party/googleapis/google/apps/events/subscriptions/v1/subscriptions_v1_grpc_service_config.json b/third_party/googleapis/google/apps/events/subscriptions/v1/subscriptions_v1_grpc_service_config.json new file mode 100644 index 000000000..d4f5c8575 --- /dev/null +++ b/third_party/googleapis/google/apps/events/subscriptions/v1/subscriptions_v1_grpc_service_config.json @@ -0,0 +1,49 @@ +{ + "methodConfig": [ + { + "name": [ + { + "service": "google.apps.events.subscriptions.v1.SubscriptionsService", + "method": "GetSubscription" + }, + { + "service": "google.apps.events.subscriptions.v1.SubscriptionsService", + "method": "ListSubscriptions" + }, + { + "service": "google.longrunning.Operations", + "method": "GetOperation" + } + ], + "timeout": "60s", + "retryPolicy": { + "maxAttempts": 5, + "initialBackoff": "1s", + "maxBackoff": "10s", + "backoffMultiplier": 1.3, + "retryableStatusCodes": ["UNAVAILABLE"] + } + }, + { + "name": [ + { + "service": "google.apps.events.subscriptions.v1.SubscriptionsService", + "method": "CreateSubscription" + }, + { + "service": "google.apps.events.subscriptions.v1.SubscriptionsService", + "method": "DeleteSubscription" + }, + { + "service": "google.apps.events.subscriptions.v1.SubscriptionsService", + "method": "UpdateSubscription" + }, + { + "service": "google.apps.events.subscriptions.v1.SubscriptionsService", + "method": "ReactivateSubscription" + } + ], + "timeout": "60s" + } + ] +} diff --git a/third_party/googleapis/google/apps/events/subscriptions/v1/workspaceevents_v1.yaml b/third_party/googleapis/google/apps/events/subscriptions/v1/workspaceevents_v1.yaml new file mode 100644 index 000000000..344976302 --- /dev/null +++ b/third_party/googleapis/google/apps/events/subscriptions/v1/workspaceevents_v1.yaml @@ -0,0 +1,134 @@ +type: google.api.Service +config_version: 3 +name: workspaceevents.googleapis.com +title: Google Workspace Events API + +apis: +- name: google.apps.events.subscriptions.v1.SubscriptionsService +- name: google.longrunning.Operations + +documentation: + summary: |- + The Google Workspace Events API lets you subscribe to events and manage + change notifications across Google Workspace applications. + +http: + rules: + - selector: google.longrunning.Operations.GetOperation + get: '/v1/{name=operations/**}' + +authentication: + rules: + - selector: 'google.apps.events.subscriptions.v1.SubscriptionsService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/chat.memberships, + https://www.googleapis.com/auth/chat.memberships.readonly, + https://www.googleapis.com/auth/chat.messages, + https://www.googleapis.com/auth/chat.messages.reactions, + https://www.googleapis.com/auth/chat.messages.reactions.readonly, + https://www.googleapis.com/auth/chat.messages.readonly, + https://www.googleapis.com/auth/chat.spaces, + https://www.googleapis.com/auth/chat.spaces.readonly, + https://www.googleapis.com/auth/meetings.space.created, + https://www.googleapis.com/auth/meetings.space.readonly + - selector: google.apps.events.subscriptions.v1.SubscriptionsService.DeleteSubscription + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/chat.bot, + https://www.googleapis.com/auth/chat.memberships, + https://www.googleapis.com/auth/chat.memberships.readonly, + https://www.googleapis.com/auth/chat.messages, + https://www.googleapis.com/auth/chat.messages.reactions, + https://www.googleapis.com/auth/chat.messages.reactions.readonly, + https://www.googleapis.com/auth/chat.messages.readonly, + https://www.googleapis.com/auth/chat.spaces, + https://www.googleapis.com/auth/chat.spaces.readonly, + https://www.googleapis.com/auth/meetings.space.created, + https://www.googleapis.com/auth/meetings.space.readonly + - selector: google.apps.events.subscriptions.v1.SubscriptionsService.GetSubscription + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/chat.bot, + https://www.googleapis.com/auth/chat.memberships, + https://www.googleapis.com/auth/chat.memberships.readonly, + https://www.googleapis.com/auth/chat.messages, + https://www.googleapis.com/auth/chat.messages.reactions, + https://www.googleapis.com/auth/chat.messages.reactions.readonly, + https://www.googleapis.com/auth/chat.messages.readonly, + https://www.googleapis.com/auth/chat.spaces, + https://www.googleapis.com/auth/chat.spaces.readonly, + https://www.googleapis.com/auth/meetings.space.created, + https://www.googleapis.com/auth/meetings.space.readonly + - selector: google.apps.events.subscriptions.v1.SubscriptionsService.ListSubscriptions + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/chat.bot, + https://www.googleapis.com/auth/chat.memberships, + https://www.googleapis.com/auth/chat.memberships.readonly, + https://www.googleapis.com/auth/chat.messages, + https://www.googleapis.com/auth/chat.messages.reactions, + https://www.googleapis.com/auth/chat.messages.reactions.readonly, + https://www.googleapis.com/auth/chat.messages.readonly, + https://www.googleapis.com/auth/chat.spaces, + https://www.googleapis.com/auth/chat.spaces.readonly, + https://www.googleapis.com/auth/meetings.space.created, + https://www.googleapis.com/auth/meetings.space.readonly + - selector: google.longrunning.Operations.GetOperation + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/chat.bot, + https://www.googleapis.com/auth/chat.memberships, + https://www.googleapis.com/auth/chat.memberships.readonly, + https://www.googleapis.com/auth/chat.messages, + https://www.googleapis.com/auth/chat.messages.reactions, + https://www.googleapis.com/auth/chat.messages.reactions.readonly, + https://www.googleapis.com/auth/chat.messages.readonly, + https://www.googleapis.com/auth/chat.spaces, + https://www.googleapis.com/auth/chat.spaces.readonly, + 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=1208006&template=1723043 + documentation_uri: https://developers.google.com/workspace/events + api_short_name: workspaceevents + github_label: 'api: workspaceevents' + doc_tag_prefix: workspaceevents + organization: CLOUD + library_settings: + - version: google.apps.events.subscriptions.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/workspace/events/reference/rest/ diff --git a/third_party/googleapis/google/apps/meet/BUILD.bazel b/third_party/googleapis/google/apps/meet/BUILD.bazel new file mode 100644 index 000000000..b258d7744 --- /dev/null +++ b/third_party/googleapis/google/apps/meet/BUILD.bazel @@ -0,0 +1,36 @@ +# This build file includes a target for the Ruby wrapper library for +# google-apps-meet. + +# 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 meet. +# Ruby wrapper clients are versionless, but are generated from source protos +# for a particular service version, v2beta in this case. +ruby_cloud_gapic_library( + name = "meet_ruby_wrapper", + srcs = ["//google/apps/meet/v2beta:meet_proto_with_info"], + extra_protoc_parameters = [ + "ruby-cloud-gem-name=google-apps-meet", + "ruby-cloud-wrapper-of=v2beta:0.2", + ], + service_yaml = "//google/apps/meet/v2beta:meet_v2beta.yaml", + transport = "grpc+rest", +) + +# Open Source package. +ruby_gapic_assembly_pkg( + name = "google-apps-meet-ruby", + deps = [ + ":meet_ruby_wrapper", + ], +) diff --git a/third_party/googleapis/google/apps/meet/v2/BUILD.bazel b/third_party/googleapis/google/apps/meet/v2/BUILD.bazel new file mode 100644 index 000000000..dc8f3c026 --- /dev/null +++ b/third_party/googleapis/google/apps/meet/v2/BUILD.bazel @@ -0,0 +1,377 @@ +# 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 = "meet_proto", + srcs = [ + "resource.proto", + "service.proto", + ], + deps = [ + "//google/api:annotations_proto", + "//google/api:client_proto", + "//google/api:field_behavior_proto", + "//google/api:resource_proto", + "@com_google_protobuf//:empty_proto", + "@com_google_protobuf//:field_mask_proto", + "@com_google_protobuf//:timestamp_proto", + ], +) + +proto_library_with_info( + name = "meet_proto_with_info", + deps = [ + ":meet_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 = "meet_java_proto", + deps = [":meet_proto"], +) + +java_grpc_library( + name = "meet_java_grpc", + srcs = [":meet_proto"], + deps = [":meet_java_proto"], +) + +java_gapic_library( + name = "meet_java_gapic", + srcs = [":meet_proto_with_info"], + gapic_yaml = None, + grpc_service_config = "meet_v2_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "meet_v2.yaml", + test_deps = [ + ":meet_java_grpc", + ], + transport = "grpc+rest", + deps = [ + ":meet_java_proto", + "//google/api:api_java_proto", + ], +) + +java_gapic_test( + name = "meet_java_gapic_test_suite", + test_classes = [ + "com.google.apps.meet.v2.ConferenceRecordsServiceClientHttpJsonTest", + "com.google.apps.meet.v2.ConferenceRecordsServiceClientTest", + "com.google.apps.meet.v2.SpacesServiceClientHttpJsonTest", + "com.google.apps.meet.v2.SpacesServiceClientTest", + ], + runtime_deps = [":meet_java_gapic_test"], +) + +# Open Source Packages +java_gapic_assembly_gradle_pkg( + name = "google-cloud-apps-meet-v2-java", + transport = "grpc+rest", + deps = [ + ":meet_java_gapic", + ":meet_java_grpc", + ":meet_java_proto", + ":meet_proto", + ], + include_samples = True, +) + +############################################################################## +# Go +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "go_gapic_assembly_pkg", + "go_gapic_library", + "go_proto_library", +) + +go_proto_library( + name = "meet_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "cloud.google.com/go/apps/meet/apiv2/meetpb", + protos = [":meet_proto"], + deps = [ + "//google/api:annotations_go_proto", + ], +) + +go_gapic_library( + name = "meet_go_gapic", + srcs = [":meet_proto_with_info"], + grpc_service_config = "meet_v2_grpc_service_config.json", + importpath = "cloud.google.com/go/apps/meet/apiv2;meet", + metadata = True, + release_level = "beta", + rest_numeric_enums = True, + service_yaml = "meet_v2.yaml", + transport = "grpc+rest", + deps = [ + ":meet_go_proto", + ], +) + +# Open Source Packages +go_gapic_assembly_pkg( + name = "gapi-cloud-apps-meet-v2-go", + deps = [ + ":meet_go_gapic", + ":meet_go_gapic_srcjar-test.srcjar", + ":meet_go_gapic_srcjar-metadata.srcjar", + ":meet_go_gapic_srcjar-snippets.srcjar", + ":meet_go_proto", + ], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "py_gapic_assembly_pkg", + "py_gapic_library", + "py_test", +) + +py_gapic_library( + name = "meet_py_gapic", + srcs = [":meet_proto"], + grpc_service_config = "meet_v2_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "meet_v2.yaml", + transport = "grpc+rest", + deps = [ + ], +) + +py_test( + name = "meet_py_gapic_test", + srcs = [ + "meet_py_gapic_pytest.py", + "meet_py_gapic_test.py", + ], + legacy_create_init = False, + deps = [":meet_py_gapic"], +) + +# Open Source Packages +py_gapic_assembly_pkg( + name = "apps-meet-v2-py", + deps = [ + ":meet_py_gapic", + ], +) + +############################################################################## +# PHP +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "php_gapic_assembly_pkg", + "php_gapic_library", + "php_proto_library", +) + +php_proto_library( + name = "meet_php_proto", + deps = [":meet_proto"], +) + +php_gapic_library( + name = "meet_php_gapic", + srcs = [":meet_proto_with_info"], + grpc_service_config = "meet_v2_grpc_service_config.json", + rest_numeric_enums = True, + migration_mode = "NEW_SURFACE_ONLY", + service_yaml = "meet_v2.yaml", + transport = "grpc+rest", + deps = [ + ":meet_php_proto", + ], +) + +# Open Source Packages +php_gapic_assembly_pkg( + name = "google-cloud-apps-meet-v2-php", + deps = [ + ":meet_php_gapic", + ":meet_php_proto", + ], +) + +############################################################################## +# Node.js +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "nodejs_gapic_assembly_pkg", + "nodejs_gapic_library", +) + +nodejs_gapic_library( + name = "meet_nodejs_gapic", + package_name = "@google-cloud/meet", + src = ":meet_proto_with_info", + extra_protoc_parameters = ["metadata"], + grpc_service_config = "meet_v2_grpc_service_config.json", + package = "google.apps.meet.v2", + rest_numeric_enums = True, + service_yaml = "meet_v2.yaml", + transport = "grpc+rest", + deps = [], +) + +nodejs_gapic_assembly_pkg( + name = "apps-meet-v2-nodejs", + deps = [ + ":meet_nodejs_gapic", + ":meet_proto", + ], +) + +############################################################################## +# Ruby +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "ruby_gapic_assembly_pkg", + "ruby_cloud_gapic_library", + "ruby_grpc_library", + "ruby_proto_library", +) + +ruby_proto_library( + name = "meet_ruby_proto", + deps = [":meet_proto"], +) + +ruby_grpc_library( + name = "meet_ruby_grpc", + srcs = [":meet_proto"], + deps = [":meet_ruby_proto"], +) + +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", + ], + grpc_service_config = "meet_v2_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "meet_v2.yaml", + transport = "grpc+rest", + deps = [ + ":meet_ruby_grpc", + ":meet_ruby_proto", + ], +) + +# Open Source Packages +ruby_gapic_assembly_pkg( + name = "google-cloud-apps-meet-v2-ruby", + deps = [ + ":meet_ruby_gapic", + ":meet_ruby_grpc", + ":meet_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 = "meet_csharp_proto", + extra_opts = [], + deps = [":meet_proto"], +) + +csharp_grpc_library( + name = "meet_csharp_grpc", + srcs = [":meet_proto"], + deps = [":meet_csharp_proto"], +) + +csharp_gapic_library( + name = "meet_csharp_gapic", + srcs = [":meet_proto_with_info"], + common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json", + grpc_service_config = "meet_v2_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "meet_v2.yaml", + transport = "grpc+rest", + deps = [ + ":meet_csharp_grpc", + ":meet_csharp_proto", + ], +) + +# Open Source Packages +csharp_gapic_assembly_pkg( + name = "google-cloud-apps-meet-v2-csharp", + deps = [ + ":meet_csharp_gapic", + ":meet_csharp_grpc", + ":meet_csharp_proto", + ], +) + +############################################################################## +# C++ +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "cc_grpc_library", + "cc_proto_library", +) + +cc_proto_library( + name = "meet_cc_proto", + deps = [":meet_proto"], +) + +cc_grpc_library( + name = "meet_cc_grpc", + srcs = [":meet_proto"], + grpc_only = True, + deps = [":meet_cc_proto"], +) diff --git a/third_party/googleapis/google/apps/meet/v2/meet_v2.yaml b/third_party/googleapis/google/apps/meet/v2/meet_v2.yaml new file mode 100644 index 000000000..59b6704cb --- /dev/null +++ b/third_party/googleapis/google/apps/meet/v2/meet_v2.yaml @@ -0,0 +1,79 @@ +type: google.api.Service +config_version: 3 +name: meet.googleapis.com +title: Google Meet API + +apis: +- name: google.apps.meet.v2.ConferenceRecordsService +- name: google.apps.meet.v2.SpacesService + +documentation: + summary: Create and manage meetings in Google Meet. + +authentication: + rules: + - selector: google.apps.meet.v2.* + 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 + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/meetings.space.created + - selector: google.apps.meet.v2.SpacesService.UpdateSpace + 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 + +publishing: + new_issue_uri: https://issuetracker.google.com/issues/new?component=1216362&template=1766418 + documentation_uri: https://developers.google.com/meet/api/guides/overview + api_short_name: meet + github_label: 'api: meet' + doc_tag_prefix: meet + organization: CLOUD + library_settings: + - version: google.apps.meet.v2 + 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/meet/api/reference/rest/ diff --git a/third_party/googleapis/google/apps/meet/v2/meet_v2_grpc_service_config.json b/third_party/googleapis/google/apps/meet/v2/meet_v2_grpc_service_config.json new file mode 100644 index 000000000..25b5e74cd --- /dev/null +++ b/third_party/googleapis/google/apps/meet/v2/meet_v2_grpc_service_config.json @@ -0,0 +1,89 @@ +{ + "methodConfig": [ + { + "name": [ + { + "service": "google.apps.meet.v2.SpacesService", + "method": "GetSpace" + }, + { + "service": "google.apps.meet.v2.ConferenceRecordsService", + "method": "GetConferenceRecord" + }, + { + "service": "google.apps.meet.v2.ConferenceRecordsService", + "method": "ListConferenceRecords" + }, + { + "service": "google.apps.meet.v2.ConferenceRecordsService", + "method": "GetParticipant" + }, + { + "service": "google.apps.meet.v2.ConferenceRecordsService", + "method": "ListParticipants" + }, + { + "service": "google.apps.meet.v2.ConferenceRecordsService", + "method": "GetParticipantSession" + }, + { + "service": "google.apps.meet.v2.ConferenceRecordsService", + "method": "ListParticipantSessions" + }, + { + "service": "google.apps.meet.v2.ConferenceRecordsService", + "method": "GetRecording" + }, + { + "service": "google.apps.meet.v2.ConferenceRecordsService", + "method": "ListRecordings" + }, + { + "service": "google.apps.meet.v2.ConferenceRecordsService", + "method": "GetTranscript" + }, + { + "service": "google.apps.meet.v2.ConferenceRecordsService", + "method": "ListTranscripts" + }, + { + "service": "google.apps.meet.v2.ConferenceRecordsService", + "method": "GetTranscriptEntry" + }, + { + "service": "google.apps.meet.v2.ConferenceRecordsService", + "method": "ListTranscriptEntries" + } + ], + "timeout": "60s", + "retryPolicy": { + "maxAttempts": 5, + "initialBackoff": "1s", + "maxBackoff": "10s", + "backoffMultiplier": 1.3, + "retryableStatusCodes": ["UNAVAILABLE"] + } + }, + { + "name": [ + { + "service": "google.apps.meet.v2.SpacesService", + "method": "CreateSpace" + }, + { + "service": "google.apps.meet.v2.SpacesService", + "method": "UpdateSpace" + }, + { + "service": "google.apps.meet.v2.SpacesService", + "method": "EndActiveConference" + }, + { + "service": "google.apps.meet.v2.SpacesService", + "method": "DeleteSpace" + } + ], + "timeout": "60s" + } + ] +} diff --git a/third_party/googleapis/google/apps/meet/v2/resource.proto b/third_party/googleapis/google/apps/meet/v2/resource.proto new file mode 100644 index 000000000..139eef020 --- /dev/null +++ b/third_party/googleapis/google/apps/meet/v2/resource.proto @@ -0,0 +1,409 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.apps.meet.v2; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Apps.Meet.V2"; +option go_package = "cloud.google.com/go/apps/meet/apiv2/meetpb;meetpb"; +option java_multiple_files = true; +option java_outer_classname = "ResourceProto"; +option java_package = "com.google.apps.meet.v2"; +option php_namespace = "Google\\Apps\\Meet\\V2"; +option ruby_package = "Google::Apps::Meet::V2"; + +// Virtual place where conferences are held. Only one active conference can be +// held in one space at any given time. +message Space { + option (google.api.resource) = { + type: "meet.googleapis.com/Space" + pattern: "spaces/{space}" + }; + + // Immutable. Resource name of the space. + // Format: `spaces/{space}` + string name = 1 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. URI used to join meetings, such as + // `https://meet.google.com/abc-mnop-xyz`. + string meeting_uri = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Type friendly code to join the meeting. Format: + // `[a-z]+-[a-z]+-[a-z]+` such as `abc-mnop-xyz`. The maximum length is 128 + // characters. Can only be used as an alias of the space ID to get the space. + string meeting_code = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Configuration pertaining to the meeting space. + SpaceConfig config = 5; + + // Active conference, if it exists. + ActiveConference active_conference = 6; +} + +// Active conference. +message ActiveConference { + // Output only. Reference to 'ConferenceRecord' resource. + // Format: `conferenceRecords/{conference_record}` where `{conference_record}` + // is a unique ID for each instance of a call within a space. + string conference_record = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "meet.googleapis.com/ConferenceRecord" + } + ]; +} + +// The configuration pertaining to a meeting space. +message SpaceConfig { + // Possible access types for a meeting space. + enum AccessType { + // Default value specified by the user's organization. + // Note: This is never returned, as the configured access type is + // returned instead. + ACCESS_TYPE_UNSPECIFIED = 0; + + // Anyone with the join information (for example, the URL or phone access + // information) can join without knocking. + OPEN = 1; + + // Members of the host's organization, invited external users, and dial-in + // users can join without knocking. Everyone else must knock. + TRUSTED = 2; + + // Only invitees can join without knocking. Everyone else must knock. + RESTRICTED = 3; + } + + // Entry points that can be used to join a meeting. Example: + // `meet.google.com`, the Meet Embed SDK Web, or a mobile application. + enum EntryPointAccess { + // Unused. + ENTRY_POINT_ACCESS_UNSPECIFIED = 0; + + // All entry points are allowed. + ALL = 1; + + // Only entry points owned by the Google Cloud project that created the + // space can be used to join meetings in this space. Apps can use the Meet + // Embed SDK Web or mobile Meet SDKs to create owned entry points. + CREATOR_APP_ONLY = 2; + } + + // Access type of the meeting space that determines who can join without + // knocking. Default: The user's default access settings. Controlled by the + // user's admin for enterprise users or RESTRICTED. + AccessType access_type = 1; + + // Defines the entry points that can be used to join meetings hosted in this + // meeting space. + // Default: EntryPointAccess.ALL + EntryPointAccess entry_point_access = 2; +} + +// Single instance of a meeting held in a space. +message ConferenceRecord { + option (google.api.resource) = { + type: "meet.googleapis.com/ConferenceRecord" + pattern: "conferenceRecords/{conference_record}" + plural: "conferenceRecords" + singular: "conferenceRecord" + }; + + // Identifier. Resource name of the conference record. + // Format: `conferenceRecords/{conference_record}` where `{conference_record}` + // is a unique ID for each instance of a call within a space. + string name = 1 [(google.api.field_behavior) = IDENTIFIER]; + + // Output only. Timestamp when the conference started. Always set. + google.protobuf.Timestamp start_time = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Timestamp when the conference ended. + // Set for past conferences. Unset if the conference is ongoing. + google.protobuf.Timestamp end_time = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Server enforced expiration time for when this conference + // record resource is deleted. The resource is deleted 30 days after the + // conference ends. + google.protobuf.Timestamp expire_time = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The space where the conference was held. + string space = 5 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { type: "meet.googleapis.com/Space" } + ]; +} + +// User who attended or is attending a conference. +message Participant { + option (google.api.resource) = { + type: "meet.googleapis.com/Participant" + pattern: "conferenceRecords/{conference_record}/participants/{participant}" + plural: "participants" + singular: "participant" + }; + + oneof user { + // Signed-in user. + SignedinUser signedin_user = 4; + + // Anonymous user. + AnonymousUser anonymous_user = 5; + + // User calling from their phone. + PhoneUser phone_user = 6; + } + + // Output only. Resource name of the participant. + // Format: `conferenceRecords/{conference_record}/participants/{participant}` + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Time when the participant first joined the meeting. + google.protobuf.Timestamp earliest_start_time = 7 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Time when the participant left the meeting for the last time. + // This can be null if it's an active meeting. + google.protobuf.Timestamp latest_end_time = 8 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Refers to each unique join or leave session when a user joins a conference +// from a device. Note that any time a user joins the conference a new unique ID +// is assigned. That means if a user joins a space multiple times from the same +// device, they're assigned different IDs, and are also be treated as different +// participant sessions. +message ParticipantSession { + option (google.api.resource) = { + type: "meet.googleapis.com/ParticipantSession" + pattern: "conferenceRecords/{conference_record}/participants/{participant}/participantSessions/{participant_session}" + plural: "participantSessions" + singular: "participantSession" + }; + + // Identifier. Session id. + string name = 1 [(google.api.field_behavior) = IDENTIFIER]; + + // Output only. Timestamp when the user session starts. + google.protobuf.Timestamp start_time = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Timestamp when the user session ends. Unset if the user + // session hasn’t ended. + google.protobuf.Timestamp end_time = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// A signed-in user can be: +// a) An individual joining from a personal computer, mobile device, or through +// companion mode. +// b) A robot account used by conference room devices. +message SignedinUser { + // Output only. Unique ID for the user. Interoperable with Admin SDK API and + // People API. Format: `users/{user}` + string user = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. For a personal device, it's the user's first name and last + // name. For a robot account, it's the administrator-specified device name. + // For example, "Altostrat Room". + string display_name = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// User who joins anonymously (meaning not signed into a Google Account). +message AnonymousUser { + // Output only. User provided name when they join a conference anonymously. + string display_name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// User dialing in from a phone where the user's identity is unknown because +// they haven't signed in with a Google Account. +message PhoneUser { + // Output only. Partially redacted user's phone number when calling. + string display_name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Metadata about a recording created during a conference. +message Recording { + option (google.api.resource) = { + type: "meet.googleapis.com/Recording" + pattern: "conferenceRecords/{conference_record}/recordings/{recording}" + plural: "recordings" + singular: "recording" + }; + + // Current state of the recording session. + enum State { + // Default, never used. + STATE_UNSPECIFIED = 0; + + // An active recording session has started. + STARTED = 1; + + // This recording session has ended, but the recording file hasn't been + // generated yet. + ENDED = 2; + + // Recording file is generated and ready to download. + FILE_GENERATED = 3; + } + + oneof destination { + // Output only. Recording is saved to Google Drive as an MP4 file. The + // `drive_destination` includes the Drive `fileId` that can be used to + // download the file using the `files.get` method of the Drive API. + DriveDestination drive_destination = 6 + [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Output only. Resource name of the recording. + // Format: `conferenceRecords/{conference_record}/recordings/{recording}` + // where `{recording}` is a 1:1 mapping to each unique recording session + // during the conference. + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Current state. + State state = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Timestamp when the recording started. + google.protobuf.Timestamp start_time = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Timestamp when the recording ended. + google.protobuf.Timestamp end_time = 5 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Export location where a recording file is saved in Google Drive. +message DriveDestination { + // Output only. The `fileId` for the underlying MP4 file. For example, + // "1kuceFZohVoCh6FulBHxwy6I15Ogpc4hP". Use `$ GET + // https://www.googleapis.com/drive/v3/files/{$fileId}?alt=media` to download + // the blob. For more information, see + // https://developers.google.com/drive/api/v3/reference/files/get. + string file = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Link used to play back the recording file in the browser. For + // example, `https://drive.google.com/file/d/{$fileId}/view`. + string export_uri = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Metadata for a transcript generated from a conference. It refers to the ASR +// (Automatic Speech Recognition) result of user's speech during the conference. +message Transcript { + option (google.api.resource) = { + type: "meet.googleapis.com/Transcript" + pattern: "conferenceRecords/{conference_record}/transcripts/{transcript}" + plural: "transcripts" + singular: "transcript" + }; + + // Current state of the transcript session. + enum State { + // Default, never used. + STATE_UNSPECIFIED = 0; + + // An active transcript session has started. + STARTED = 1; + + // This transcript session has ended, but the transcript file hasn't been + // generated yet. + ENDED = 2; + + // Transcript file is generated and ready to download. + FILE_GENERATED = 3; + } + + oneof destination { + // Output only. Where the Google Docs transcript is saved. + DocsDestination docs_destination = 6 + [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Output only. Resource name of the transcript. + // Format: `conferenceRecords/{conference_record}/transcripts/{transcript}`, + // where `{transcript}` is a 1:1 mapping to each unique transcription session + // of the conference. + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Current state. + State state = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Timestamp when the transcript started. + google.protobuf.Timestamp start_time = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Timestamp when the transcript stopped. + google.protobuf.Timestamp end_time = 5 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Google Docs location where the transcript file is saved. +message DocsDestination { + // Output only. The document ID for the underlying Google Docs transcript + // file. For example, "1kuceFZohVoCh6FulBHxwy6I15Ogpc4hP". Use the + // `documents.get` method of the Google Docs API + // (https://developers.google.com/docs/api/reference/rest/v1/documents/get) to + // fetch the content. + string document = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. URI for the Google Docs transcript file. Use + // `https://docs.google.com/document/d/{$DocumentId}/view` to browse the + // transcript in the browser. + string export_uri = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Single entry for one user’s speech during a transcript session. +message TranscriptEntry { + option (google.api.resource) = { + type: "meet.googleapis.com/TranscriptEntry" + pattern: "conferenceRecords/{conference_record}/transcripts/{transcript}/entries/{entry}" + plural: "transcriptEntries" + singular: "transcriptEntry" + }; + + // Output only. Resource name of the entry. Format: + // "conferenceRecords/{conference_record}/transcripts/{transcript}/entries/{entry}" + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Refers to the participant who speaks. + string participant = 2 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "meet.googleapis.com/Participant" + } + ]; + + // Output only. The transcribed text of the participant's voice, at maximum + // 10K words. Note that the limit is subject to change. + string text = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Language of spoken text, such as "en-US". + // IETF BCP 47 syntax (https://tools.ietf.org/html/bcp47) + string language_code = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Timestamp when the transcript entry started. + google.protobuf.Timestamp start_time = 5 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Timestamp when the transcript entry ended. + google.protobuf.Timestamp end_time = 6 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/apps/meet/v2/service.proto b/third_party/googleapis/google/apps/meet/v2/service.proto new file mode 100644 index 000000000..8ad3bea9b --- /dev/null +++ b/third_party/googleapis/google/apps/meet/v2/service.proto @@ -0,0 +1,520 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.apps.meet.v2; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/apps/meet/v2/resource.proto"; +import "google/protobuf/empty.proto"; +import "google/protobuf/field_mask.proto"; + +option csharp_namespace = "Google.Apps.Meet.V2"; +option go_package = "cloud.google.com/go/apps/meet/apiv2/meetpb;meetpb"; +option java_multiple_files = true; +option java_outer_classname = "ServiceProto"; +option java_package = "com.google.apps.meet.v2"; +option php_namespace = "Google\\Apps\\Meet\\V2"; +option ruby_package = "Google::Apps::Meet::V2"; + +// REST API for services dealing with spaces. +service SpacesService { + option (google.api.default_host) = "meet.googleapis.com"; + + // Creates a space. + rpc CreateSpace(CreateSpaceRequest) returns (Space) { + option (google.api.http) = { + post: "/v2/spaces" + body: "space" + }; + option (google.api.method_signature) = "space"; + } + + // Gets a space by `space_id` or `meeting_code`. + rpc GetSpace(GetSpaceRequest) returns (Space) { + option (google.api.http) = { + get: "/v2/{name=spaces/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Updates a space. + rpc UpdateSpace(UpdateSpaceRequest) returns (Space) { + option (google.api.http) = { + patch: "/v2/{space.name=spaces/*}" + body: "space" + }; + option (google.api.method_signature) = "space,update_mask"; + } + + // Ends an active conference (if there's one). + rpc EndActiveConference(EndActiveConferenceRequest) + returns (google.protobuf.Empty) { + option (google.api.http) = { + post: "/v2/{name=spaces/*}:endActiveConference" + body: "*" + }; + option (google.api.method_signature) = "name"; + } +} + +// REST API for services dealing with conference records. +service ConferenceRecordsService { + option (google.api.default_host) = "meet.googleapis.com"; + + // Gets a conference record by conference ID. + rpc GetConferenceRecord(GetConferenceRecordRequest) + returns (ConferenceRecord) { + option (google.api.http) = { + get: "/v2/{name=conferenceRecords/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Lists the conference records. By default, ordered by start time and in + // descending order. + rpc ListConferenceRecords(ListConferenceRecordsRequest) + returns (ListConferenceRecordsResponse) { + option (google.api.http) = { + get: "/v2/conferenceRecords" + }; + } + + // Gets a participant by participant ID. + rpc GetParticipant(GetParticipantRequest) returns (Participant) { + option (google.api.http) = { + get: "/v2/{name=conferenceRecords/*/participants/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Lists the participants in a conference record. By default, ordered by join + // time and in descending order. This API supports `fields` as standard + // parameters like every other API. However, when the `fields` request + // parameter is omitted, this API defaults to `'participants/*, + // next_page_token'`. + rpc ListParticipants(ListParticipantsRequest) + returns (ListParticipantsResponse) { + option (google.api.http) = { + get: "/v2/{parent=conferenceRecords/*}/participants" + }; + option (google.api.method_signature) = "parent"; + } + + // Gets a participant session by participant session ID. + rpc GetParticipantSession(GetParticipantSessionRequest) + returns (ParticipantSession) { + option (google.api.http) = { + get: "/v2/{name=conferenceRecords/*/participants/*/participantSessions/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Lists the participant sessions of a participant in a conference record. By + // default, ordered by join time and in descending order. This API supports + // `fields` as standard parameters like every other API. However, when the + // `fields` request parameter is omitted this API defaults to + // `'participantsessions/*, next_page_token'`. + rpc ListParticipantSessions(ListParticipantSessionsRequest) + returns (ListParticipantSessionsResponse) { + option (google.api.http) = { + get: "/v2/{parent=conferenceRecords/*/participants/*}/participantSessions" + }; + option (google.api.method_signature) = "parent"; + } + + // Gets a recording by recording ID. + rpc GetRecording(GetRecordingRequest) returns (Recording) { + option (google.api.http) = { + get: "/v2/{name=conferenceRecords/*/recordings/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Lists the recording resources from the conference record. By default, + // ordered by start time and in ascending order. + rpc ListRecordings(ListRecordingsRequest) returns (ListRecordingsResponse) { + option (google.api.http) = { + get: "/v2/{parent=conferenceRecords/*}/recordings" + }; + option (google.api.method_signature) = "parent"; + } + + // Gets a transcript by transcript ID. + rpc GetTranscript(GetTranscriptRequest) returns (Transcript) { + option (google.api.http) = { + get: "/v2/{name=conferenceRecords/*/transcripts/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Lists the set of transcripts from the conference record. By default, + // ordered by start time and in ascending order. + rpc ListTranscripts(ListTranscriptsRequest) + returns (ListTranscriptsResponse) { + option (google.api.http) = { + get: "/v2/{parent=conferenceRecords/*}/transcripts" + }; + option (google.api.method_signature) = "parent"; + } + + // Gets a `TranscriptEntry` resource by entry ID. + // + // Note: The transcript entries returned by the Google Meet API might not + // match the transcription found in the Google Docs transcript file. This can + // occur when the Google Docs transcript file is modified after generation. + rpc GetTranscriptEntry(GetTranscriptEntryRequest) returns (TranscriptEntry) { + option (google.api.http) = { + get: "/v2/{name=conferenceRecords/*/transcripts/*/entries/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Lists the structured transcript entries per transcript. By default, ordered + // by start time and in ascending order. + // + // Note: The transcript entries returned by the Google Meet API might not + // match the transcription found in the Google Docs transcript file. This can + // occur when the Google Docs transcript file is modified after generation. + rpc ListTranscriptEntries(ListTranscriptEntriesRequest) + returns (ListTranscriptEntriesResponse) { + option (google.api.http) = { + get: "/v2/{parent=conferenceRecords/*/transcripts/*}/entries" + }; + option (google.api.method_signature) = "parent"; + } +} + +// Request to create a space. +message CreateSpaceRequest { + // Space to be created. As of May 2023, the input space can be empty. Later on + // the input space can be non-empty when space configuration is introduced. + Space space = 1; +} + +// Request to get a space. +message GetSpaceRequest { + // Required. Resource name of the space. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { type: "meet.googleapis.com/Space" } + ]; +} + +// Request to update a space. +message UpdateSpaceRequest { + // Required. Space to be updated. + Space space = 1 [(google.api.field_behavior) = REQUIRED]; + + // Optional. Field mask used to specify the fields to be updated in the space. + // If update_mask isn't provided, it defaults to '*' and updates all + // fields provided in the request, including deleting fields not set in the + // request. + google.protobuf.FieldMask update_mask = 2 + [(google.api.field_behavior) = OPTIONAL]; +} + +// Request to end an ongoing conference of a space. +message EndActiveConferenceRequest { + // Required. Resource name of the space. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { type: "meet.googleapis.com/Space" } + ]; +} + +// Request to get a conference record. +message GetConferenceRecordRequest { + // Required. Resource name of the conference. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "meet.googleapis.com/ConferenceRecord" + } + ]; +} + +// Request to fetch list of conference records per user. +message ListConferenceRecordsRequest { + // Optional. Maximum number of conference records to return. The service might + // return fewer than this value. If unspecified, at most 25 conference records + // are returned. The maximum value is 100; values above 100 are coerced to + // 100. Maximum might change in the future. + int32 page_size = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Page token returned from previous List Call. + string page_token = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. User specified filtering condition in [EBNF + // format](https://en.wikipedia.org/wiki/Extended_Backus%E2%80%93Naur_form). + // The following are the filterable fields: + // + // * `space.meeting_code` + // * `space.name` + // * `start_time` + // * `end_time` + // + // For example, `space.meeting_code = "abc-mnop-xyz"`. + string filter = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// Response of ListConferenceRecords method. +message ListConferenceRecordsResponse { + // List of conferences in one page. + repeated ConferenceRecord conference_records = 1; + + // Token to be circulated back for further List call if current List does NOT + // include all the Conferences. Unset if all conferences have been returned. + string next_page_token = 2; +} + +// Request to get a participant. +message GetParticipantRequest { + // Required. Resource name of the participant. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "meet.googleapis.com/Participant" + } + ]; +} + +// Request to fetch list of participants per conference. +message ListParticipantsRequest { + // Required. Format: `conferenceRecords/{conference_record}` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "meet.googleapis.com/Participant" + } + ]; + + // Maximum number of participants to return. The service might return fewer + // than this value. + // If unspecified, at most 100 participants are returned. + // The maximum value is 250; values above 250 are coerced to 250. + // Maximum might change in the future. + int32 page_size = 2; + + // Page token returned from previous List Call. + string page_token = 3; + + // Optional. User specified filtering condition in [EBNF + // format](https://en.wikipedia.org/wiki/Extended_Backus%E2%80%93Naur_form). + // The following are the filterable fields: + // + // * `earliest_start_time` + // * `latest_end_time` + // + // For example, `latest_end_time IS NULL` returns active participants in + // the conference. + string filter = 4 [(google.api.field_behavior) = OPTIONAL]; +} + +// Response of ListParticipants method. +message ListParticipantsResponse { + // List of participants in one page. + repeated Participant participants = 1; + + // Token to be circulated back for further List call if current List doesn't + // include all the participants. Unset if all participants are returned. + string next_page_token = 2; + + // Total, exact number of `participants`. By default, this field isn't + // included in the response. Set the field mask in + // [SystemParameterContext](https://cloud.google.com/apis/docs/system-parameters) + // to receive this field in the response. + int32 total_size = 3; +} + +// Request to get a participant session. +message GetParticipantSessionRequest { + // Required. Resource name of the participant. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "meet.googleapis.com/ParticipantSession" + } + ]; +} + +// Request to fetch list of participant sessions per conference record, per +// participant. +message ListParticipantSessionsRequest { + // Required. Format: + // `conferenceRecords/{conference_record}/participants/{participant}` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "meet.googleapis.com/ParticipantSession" + } + ]; + + // Optional. Maximum number of participant sessions to return. The service + // might return fewer than this value. If unspecified, at most 100 + // participants are returned. The maximum value is 250; values above 250 are + // coerced to 250. Maximum might change in the future. + int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Page token returned from previous List Call. + string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. User specified filtering condition in [EBNF + // format](https://en.wikipedia.org/wiki/Extended_Backus%E2%80%93Naur_form). + // The following are the filterable fields: + // + // * `start_time` + // * `end_time` + // + // For example, `end_time IS NULL` returns active participant sessions in + // the conference record. + string filter = 4 [(google.api.field_behavior) = OPTIONAL]; +} + +// Response of ListParticipants method. +message ListParticipantSessionsResponse { + // List of participants in one page. + repeated ParticipantSession participant_sessions = 1; + + // Token to be circulated back for further List call if current List doesn't + // include all the participants. Unset if all participants are returned. + string next_page_token = 2; +} + +// Request message for GetRecording method. +message GetRecordingRequest { + // Required. Resource name of the recording. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { type: "meet.googleapis.com/Recording" } + ]; +} + +// Request for ListRecordings method. +message ListRecordingsRequest { + // Required. Format: `conferenceRecords/{conference_record}` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "meet.googleapis.com/Recording" + } + ]; + + // Maximum number of recordings to return. The service might return fewer + // than this value. + // If unspecified, at most 10 recordings are returned. + // The maximum value is 100; values above 100 are coerced to 100. + // Maximum might change in the future. + int32 page_size = 2; + + // Page token returned from previous List Call. + string page_token = 3; +} + +// Response for ListRecordings method. +message ListRecordingsResponse { + // List of recordings in one page. + repeated Recording recordings = 1; + + // Token to be circulated back for further List call if current List doesn't + // include all the recordings. Unset if all recordings are returned. + string next_page_token = 2; +} + +// Request for GetTranscript method. +message GetTranscriptRequest { + // Required. Resource name of the transcript. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { type: "meet.googleapis.com/Transcript" } + ]; +} + +// Request for ListTranscripts method. +message ListTranscriptsRequest { + // Required. Format: `conferenceRecords/{conference_record}` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "meet.googleapis.com/Transcript" + } + ]; + + // Maximum number of transcripts to return. The service might return fewer + // than this value. + // If unspecified, at most 10 transcripts are returned. + // The maximum value is 100; values above 100 are coerced to 100. + // Maximum might change in the future. + int32 page_size = 2; + + // Page token returned from previous List Call. + string page_token = 3; +} + +// Response for ListTranscripts method. +message ListTranscriptsResponse { + // List of transcripts in one page. + repeated Transcript transcripts = 1; + + // Token to be circulated back for further List call if current List doesn't + // include all the transcripts. Unset if all transcripts are returned. + string next_page_token = 2; +} + +// Request for GetTranscriptEntry method. +message GetTranscriptEntryRequest { + // Required. Resource name of the `TranscriptEntry`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "meet.googleapis.com/TranscriptEntry" + } + ]; +} + +// Request for ListTranscriptEntries method. +message ListTranscriptEntriesRequest { + // Required. Format: + // `conferenceRecords/{conference_record}/transcripts/{transcript}` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "meet.googleapis.com/TranscriptEntry" + } + ]; + + // Maximum number of entries to return. The service might return fewer than + // this value. + // If unspecified, at most 10 entries are returned. + // The maximum value is 100; values above 100 are coerced to 100. + // Maximum might change in the future. + int32 page_size = 2; + + // Page token returned from previous List Call. + string page_token = 3; +} + +// Response for ListTranscriptEntries method. +message ListTranscriptEntriesResponse { + // List of TranscriptEntries in one page. + repeated TranscriptEntry transcript_entries = 1; + + // Token to be circulated back for further List call if current List doesn't + // include all the transcript entries. Unset if all entries are returned. + string next_page_token = 2; +} diff --git a/third_party/googleapis/google/apps/meet/v2beta/BUILD.bazel b/third_party/googleapis/google/apps/meet/v2beta/BUILD.bazel new file mode 100644 index 000000000..7802c8648 --- /dev/null +++ b/third_party/googleapis/google/apps/meet/v2beta/BUILD.bazel @@ -0,0 +1,374 @@ +# 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 = "meet_proto", + srcs = [ + "resource.proto", + "service.proto", + ], + deps = [ + "//google/api:annotations_proto", + "//google/api:client_proto", + "//google/api:field_behavior_proto", + "//google/api:resource_proto", + "@com_google_protobuf//:empty_proto", + "@com_google_protobuf//:field_mask_proto", + "@com_google_protobuf//:timestamp_proto", + ], +) + +proto_library_with_info( + name = "meet_proto_with_info", + deps = [ + ":meet_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 = "meet_java_proto", + deps = [":meet_proto"], +) + +java_grpc_library( + name = "meet_java_grpc", + srcs = [":meet_proto"], + deps = [":meet_java_proto"], +) + +java_gapic_library( + name = "meet_java_gapic", + srcs = [":meet_proto_with_info"], + gapic_yaml = None, + grpc_service_config = "meet_v2beta_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "meet_v2beta.yaml", + test_deps = [ + ":meet_java_grpc", + ], + transport = "grpc+rest", + deps = [ + ":meet_java_proto", + "//google/api:api_java_proto", + ], +) + +java_gapic_test( + name = "meet_java_gapic_test_suite", + test_classes = [ + "com.google.apps.meet.v2beta.ConferenceRecordsServiceClientHttpJsonTest", + "com.google.apps.meet.v2beta.ConferenceRecordsServiceClientTest", + "com.google.apps.meet.v2beta.SpacesServiceClientHttpJsonTest", + "com.google.apps.meet.v2beta.SpacesServiceClientTest", + ], + runtime_deps = [":meet_java_gapic_test"], +) + +# Open Source Packages +java_gapic_assembly_gradle_pkg( + name = "google-cloud-apps-meet-v2beta-java", + include_samples = True, + transport = "grpc+rest", + deps = [ + ":meet_java_gapic", + ":meet_java_grpc", + ":meet_java_proto", + ":meet_proto", + ], +) + +############################################################################## +# Go +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "go_gapic_assembly_pkg", + "go_gapic_library", + "go_proto_library", +) + +go_proto_library( + name = "meet_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "cloud.google.com/go/apps/meet/apiv2beta/meetpb", + protos = [":meet_proto"], + deps = [ + "//google/api:annotations_go_proto", + ], +) + +go_gapic_library( + name = "meet_go_gapic", + srcs = [":meet_proto_with_info"], + grpc_service_config = "meet_v2beta_grpc_service_config.json", + importpath = "cloud.google.com/go/apps/meet/apiv2beta;meet", + metadata = True, + release_level = "beta", + rest_numeric_enums = True, + service_yaml = "meet_v2beta.yaml", + transport = "grpc+rest", + deps = [ + ":meet_go_proto", + ], +) + +# Open Source Packages +go_gapic_assembly_pkg( + name = "gapi-cloud-apps-meet-v2beta-go", + deps = [ + ":meet_go_gapic", + ":meet_go_gapic_srcjar-metadata.srcjar", + ":meet_go_gapic_srcjar-snippets.srcjar", + ":meet_go_gapic_srcjar-test.srcjar", + ":meet_go_proto", + ], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "py_gapic_assembly_pkg", + "py_gapic_library", + "py_test", +) + +py_gapic_library( + name = "meet_py_gapic", + srcs = [":meet_proto"], + grpc_service_config = "meet_v2beta_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "meet_v2beta.yaml", + transport = "grpc+rest", + deps = [ + ], +) + +py_test( + name = "meet_py_gapic_test", + srcs = [ + "meet_py_gapic_pytest.py", + "meet_py_gapic_test.py", + ], + legacy_create_init = False, + deps = [":meet_py_gapic"], +) + +# Open Source Packages +py_gapic_assembly_pkg( + name = "apps-meet-v2beta-py", + deps = [ + ":meet_py_gapic", + ], +) + +############################################################################## +# PHP +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "php_gapic_assembly_pkg", + "php_gapic_library", + "php_proto_library", +) + +php_proto_library( + name = "meet_php_proto", + deps = [":meet_proto"], +) + +php_gapic_library( + name = "meet_php_gapic", + srcs = [":meet_proto_with_info"], + grpc_service_config = "meet_v2beta_grpc_service_config.json", + migration_mode = "NEW_SURFACE_ONLY", + rest_numeric_enums = True, + service_yaml = "meet_v2beta.yaml", + transport = "grpc+rest", + deps = [ + ":meet_php_proto", + ], +) + +# Open Source Packages +php_gapic_assembly_pkg( + name = "google-cloud-apps-meet-v2beta-php", + deps = [ + ":meet_php_gapic", + ":meet_php_proto", + ], +) + +############################################################################## +# Node.js +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "nodejs_gapic_assembly_pkg", + "nodejs_gapic_library", +) + +nodejs_gapic_library( + name = "meet_nodejs_gapic", + package_name = "@google-cloud/meet", + src = ":meet_proto_with_info", + extra_protoc_parameters = ["metadata"], + grpc_service_config = "meet_v2beta_grpc_service_config.json", + package = "google.apps.meet.v2beta", + rest_numeric_enums = True, + service_yaml = "meet_v2beta.yaml", + transport = "grpc+rest", + deps = [], +) + +nodejs_gapic_assembly_pkg( + name = "apps-meet-v2beta-nodejs", + deps = [ + ":meet_nodejs_gapic", + ":meet_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 = "meet_ruby_proto", + deps = [":meet_proto"], +) + +ruby_grpc_library( + name = "meet_ruby_grpc", + srcs = [":meet_proto"], + deps = [":meet_ruby_proto"], +) + +ruby_cloud_gapic_library( + name = "meet_ruby_gapic", + srcs = [":meet_proto_with_info"], + extra_protoc_parameters = ["ruby-cloud-gem-name=google-apps-meet-v2beta"], + grpc_service_config = "meet_v2beta_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "meet_v2beta.yaml", + transport = "grpc+rest", + deps = [ + ":meet_ruby_grpc", + ":meet_ruby_proto", + ], +) + +# Open Source Packages +ruby_gapic_assembly_pkg( + name = "google-cloud-apps-meet-v2beta-ruby", + deps = [ + ":meet_ruby_gapic", + ":meet_ruby_grpc", + ":meet_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 = "meet_csharp_proto", + deps = [":meet_proto"], +) + +csharp_grpc_library( + name = "meet_csharp_grpc", + srcs = [":meet_proto"], + deps = [":meet_csharp_proto"], +) + +csharp_gapic_library( + name = "meet_csharp_gapic", + srcs = [":meet_proto_with_info"], + common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json", + grpc_service_config = "meet_v2beta_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "meet_v2beta.yaml", + transport = "grpc+rest", + deps = [ + ":meet_csharp_grpc", + ":meet_csharp_proto", + ], +) + +# Open Source Packages +csharp_gapic_assembly_pkg( + name = "google-cloud-apps-meet-v2beta-csharp", + deps = [ + ":meet_csharp_gapic", + ":meet_csharp_grpc", + ":meet_csharp_proto", + ], +) + +############################################################################## +# C++ +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "cc_grpc_library", + "cc_proto_library", +) + +cc_proto_library( + name = "meet_cc_proto", + deps = [":meet_proto"], +) + +cc_grpc_library( + name = "meet_cc_grpc", + srcs = [":meet_proto"], + grpc_only = True, + deps = [":meet_cc_proto"], +) diff --git a/third_party/googleapis/google/apps/meet/v2beta/meet_v2beta.yaml b/third_party/googleapis/google/apps/meet/v2beta/meet_v2beta.yaml new file mode 100644 index 000000000..85d00e764 --- /dev/null +++ b/third_party/googleapis/google/apps/meet/v2beta/meet_v2beta.yaml @@ -0,0 +1,79 @@ +type: google.api.Service +config_version: 3 +name: meet.googleapis.com +title: Google Meet API + +apis: +- name: google.apps.meet.v2beta.ConferenceRecordsService +- name: google.apps.meet.v2beta.SpacesService + +documentation: + summary: Create and manage meetings in Google Meet. + +authentication: + rules: + - selector: google.apps.meet.v2beta.* + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/meetings.space.created, + https://www.googleapis.com/auth/meetings.space.readonly + - selector: google.apps.meet.v2beta.SpacesService.CreateSpace + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/meetings.space.created + - selector: google.apps.meet.v2beta.SpacesService.UpdateSpace + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/meetings.space.created + - selector: google.apps.meet.v2beta.SpacesService.DeleteSpace + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/meetings.space.created + - selector: google.apps.meet.v2beta.SpacesService.EndActiveConference + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/meetings.space.created + +publishing: + new_issue_uri: https://issuetracker.google.com/issues/new?component=1216362&template=1766418 + documentation_uri: https://developers.google.com/meet/api/guides/overview + api_short_name: meet + github_label: 'api: meet' + doc_tag_prefix: meet + organization: CLOUD + library_settings: + - version: google.apps.meet.v2beta + 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 + proto_reference_documentation_uri: https://developers.google.com/meet/api/reference/rest/ diff --git a/third_party/googleapis/google/apps/meet/v2beta/meet_v2beta_grpc_service_config.json b/third_party/googleapis/google/apps/meet/v2beta/meet_v2beta_grpc_service_config.json new file mode 100644 index 000000000..53ab01288 --- /dev/null +++ b/third_party/googleapis/google/apps/meet/v2beta/meet_v2beta_grpc_service_config.json @@ -0,0 +1,89 @@ +{ + "methodConfig": [ + { + "name": [ + { + "service": "google.apps.meet.v2beta.SpacesService", + "method": "GetSpace" + }, + { + "service": "google.apps.meet.v2beta.ConferenceRecordsService", + "method": "GetConferenceRecord" + }, + { + "service": "google.apps.meet.v2beta.ConferenceRecordsService", + "method": "ListConferenceRecords" + }, + { + "service": "google.apps.meet.v2beta.ConferenceRecordsService", + "method": "GetParticipant" + }, + { + "service": "google.apps.meet.v2beta.ConferenceRecordsService", + "method": "ListParticipants" + }, + { + "service": "google.apps.meet.v2beta.ConferenceRecordsService", + "method": "GetParticipantSession" + }, + { + "service": "google.apps.meet.v2beta.ConferenceRecordsService", + "method": "ListParticipantSessions" + }, + { + "service": "google.apps.meet.v2beta.ConferenceRecordsService", + "method": "GetRecording" + }, + { + "service": "google.apps.meet.v2beta.ConferenceRecordsService", + "method": "ListRecordings" + }, + { + "service": "google.apps.meet.v2beta.ConferenceRecordsService", + "method": "GetTranscript" + }, + { + "service": "google.apps.meet.v2beta.ConferenceRecordsService", + "method": "ListTranscripts" + }, + { + "service": "google.apps.meet.v2beta.ConferenceRecordsService", + "method": "GetTranscriptEntry" + }, + { + "service": "google.apps.meet.v2beta.ConferenceRecordsService", + "method": "ListTranscriptEntries" + } + ], + "timeout": "60s", + "retryPolicy": { + "maxAttempts": 5, + "initialBackoff": "1s", + "maxBackoff": "10s", + "backoffMultiplier": 1.3, + "retryableStatusCodes": ["UNAVAILABLE"] + } + }, + { + "name": [ + { + "service": "google.apps.meet.v2beta.SpacesService", + "method": "CreateSpace" + }, + { + "service": "google.apps.meet.v2beta.SpacesService", + "method": "UpdateSpace" + }, + { + "service": "google.apps.meet.v2beta.SpacesService", + "method": "EndActiveConference" + }, + { + "service": "google.apps.meet.v2beta.SpacesService", + "method": "DeleteSpace" + } + ], + "timeout": "60s" + } + ] +} diff --git a/third_party/googleapis/google/apps/meet/v2beta/resource.proto b/third_party/googleapis/google/apps/meet/v2beta/resource.proto new file mode 100644 index 000000000..b2605a2ce --- /dev/null +++ b/third_party/googleapis/google/apps/meet/v2beta/resource.proto @@ -0,0 +1,417 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.apps.meet.v2beta; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Apps.Meet.V2Beta"; +option go_package = "cloud.google.com/go/apps/meet/apiv2beta/meetpb;meetpb"; +option java_multiple_files = true; +option java_outer_classname = "ResourceProto"; +option java_package = "com.google.apps.meet.v2beta"; +option php_namespace = "Google\\Apps\\Meet\\V2beta"; +option ruby_package = "Google::Apps::Meet::V2beta"; + +// [Developer Preview](https://developers.google.com/workspace/preview). +// Virtual place where conferences are held. Only one active conference can be +// held in one space at any given time. +message Space { + option (google.api.resource) = { + type: "meet.googleapis.com/Space" + pattern: "spaces/{space}" + }; + + // Immutable. Resource name of the space. + // Format: `spaces/{space}` + string name = 1 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. URI used to join meeting, such as + // `https://meet.google.com/abc-mnop-xyz`. + string meeting_uri = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Type friendly code to join the meeting. Format: + // `[a-z]+-[a-z]+-[a-z]+` such as `abc-mnop-xyz`. The maximum length is 128 + // characters. Can ONLY be used as alias of the space ID to get the space. + string meeting_code = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Configuration pertaining to the meeting space. + SpaceConfig config = 5; + + // Active conference if it exists. + ActiveConference active_conference = 6; +} + +// Active conference. +message ActiveConference { + // Output only. Reference to 'ConferenceRecord' resource. + // Format: `conferenceRecords/{conference_record}` where `{conference_record}` + // is a unique id for each instance of a call within a space. + string conference_record = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "meet.googleapis.com/ConferenceRecord" + } + ]; +} + +// The configuration pertaining to a meeting space. +message SpaceConfig { + // Possible access types for a meeting space. + enum AccessType { + // Default value specified by the user's organization. + // Note: This is never returned, as the configured access type is + // returned instead. + ACCESS_TYPE_UNSPECIFIED = 0; + + // Anyone with the join information (for example, the URL or phone access + // information) can join without knocking. + OPEN = 1; + + // Members of the host's organization, invited external users, and dial-in + // users can join without knocking. Everyone else must knock. + TRUSTED = 2; + + // Only invitees can join without knocking. Everyone else must knock. + RESTRICTED = 3; + } + + // Entry points that can be used to join a meeting. Example: + // `meet.google.com`, the Embed SDK Web, or a mobile application. + enum EntryPointAccess { + // Unused. + ENTRY_POINT_ACCESS_UNSPECIFIED = 0; + + // All entry points are allowed. + ALL = 1; + + // Only entry points owned by the Google Cloud project that created the + // space can be used to join meetings in this space. Apps can use the Embed + // SDK Web or mobile Meet SDKs to create owned entry points. + CREATOR_APP_ONLY = 2; + } + + // Access type of the meeting space that determines who can join without + // knocking. Default: The user's default access settings. Controlled by the + // user's admin for enterprise users or RESTRICTED. + AccessType access_type = 1; + + // Defines the entry points that can be used to join meetings hosted in this + // meeting space. + // Default: EntryPointAccess.ALL + EntryPointAccess entry_point_access = 2; +} + +// [Developer Preview](https://developers.google.com/workspace/preview). +// Single instance of a meeting held in a space. +message ConferenceRecord { + option (google.api.resource) = { + type: "meet.googleapis.com/ConferenceRecord" + pattern: "conferenceRecords/{conference_record}" + plural: "conferenceRecords" + singular: "conferenceRecord" + }; + + // Identifier. Resource name of the conference record. + // Format: `conferenceRecords/{conference_record}` where `{conference_record}` + // is a unique id for each instance of a call within a space. + string name = 1 [(google.api.field_behavior) = IDENTIFIER]; + + // Output only. Timestamp when the conference started, always set. + google.protobuf.Timestamp start_time = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Timestamp when the conference ended. + // Set for past conferences. Unset if the conference is ongoing. + google.protobuf.Timestamp end_time = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Server enforced expire time for when this conference record + // resource is deleted. The resource is deleted 30 days after the conference + // ends. + google.protobuf.Timestamp expire_time = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The space where the conference was held. + string space = 5 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { type: "meet.googleapis.com/Space" } + ]; +} + +// [Developer Preview](https://developers.google.com/workspace/preview). +// User who attended or is attending a conference. +message Participant { + option (google.api.resource) = { + type: "meet.googleapis.com/Participant" + pattern: "conferenceRecords/{conference_record}/participants/{participant}" + plural: "participants" + singular: "participant" + }; + + oneof user { + // Signed-in user. + SignedinUser signedin_user = 4; + + // Anonymous user. + AnonymousUser anonymous_user = 5; + + // User who calls in from their phone. + PhoneUser phone_user = 6; + } + + // Output only. Resource name of the participant. + // Format: `conferenceRecords/{conference_record}/participants/{participant}` + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Time when the participant joined the meeting for the first + // time. + google.protobuf.Timestamp earliest_start_time = 7 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Time when the participant left the meeting for the last time. + // This can be null if it is an active meeting. + google.protobuf.Timestamp latest_end_time = 8 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// [Developer Preview](https://developers.google.com/workspace/preview). +// Refers to each unique join/leave session when a user joins a conference from +// a device. Note that any time a user joins the conference a new unique ID is +// assigned. That means if a user joins a space multiple times from the same +// device, they're assigned different IDs, and are also be treated as different +// participant sessions. +message ParticipantSession { + option (google.api.resource) = { + type: "meet.googleapis.com/ParticipantSession" + pattern: "conferenceRecords/{conference_record}/participants/{participant}/participantSessions/{participant_session}" + plural: "participantSessions" + singular: "participantSession" + }; + + // Identifier. Session id. + string name = 1 [(google.api.field_behavior) = IDENTIFIER]; + + // Output only. Timestamp when the user session started. + google.protobuf.Timestamp start_time = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Timestamp when the user session ended. Unset if the user + // session hasn’t ended. + google.protobuf.Timestamp end_time = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// A signed-in user can be: +// a) An individual joining from a personal computer, mobile device, or through +// companion mode. +// b) A robot account used by conference room devices. +message SignedinUser { + // Output only. Unique ID for the user. Interoperable with Admin SDK API and + // People API. Format: `users/{user}` + string user = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. For a personal device, it's the user's first and last name. + // For a robot account, it's the admin specified device name. For example, + // "Altostrat Room". + string display_name = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// User who joins anonymously (meaning not signed into a Google Account). +message AnonymousUser { + // Output only. User provided name when they join a conference anonymously. + string display_name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// User dialing in from a phone where the user's identity is unknown because +// they haven't signed in with a Google Account. +message PhoneUser { + // Output only. Partially redacted user's phone number when they call in. + string display_name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// [Developer Preview](https://developers.google.com/workspace/preview). +// Metadata about a recording created during a conference. +message Recording { + option (google.api.resource) = { + type: "meet.googleapis.com/Recording" + pattern: "conferenceRecords/{conference_record}/recordings/{recording}" + plural: "recordings" + singular: "recording" + }; + + // Current state of the recording session. + enum State { + // Default, never used. + STATE_UNSPECIFIED = 0; + + // An active recording session has started. + STARTED = 1; + + // This recording session has ended, but the recording file hasn't been + // generated yet. + ENDED = 2; + + // Recording file is generated and ready to download. + FILE_GENERATED = 3; + } + + oneof destination { + // Output only. Recording is saved to Google Drive as an mp4 file. The + // `drive_destination` includes the Drive `fileId` that can be used to + // download the file using the `files.get` method of the Drive API. + DriveDestination drive_destination = 6 + [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Output only. Resource name of the recording. + // Format: `conferenceRecords/{conference_record}/recordings/{recording}` + // where `{recording}` is a 1:1 mapping to each unique recording session + // during the conference. + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Current state. + State state = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Timestamp when the recording started. + google.protobuf.Timestamp start_time = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Timestamp when the recording ended. + google.protobuf.Timestamp end_time = 5 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Export location where a recording file is saved in Google Drive. +message DriveDestination { + // Output only. The `fileId` for the underlying MP4 file. For example, + // "1kuceFZohVoCh6FulBHxwy6I15Ogpc4hP". Use `$ GET + // https://www.googleapis.com/drive/v3/files/{$fileId}?alt=media` to download + // the blob. For more information, see + // https://developers.google.com/drive/api/v3/reference/files/get. + string file = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Link used to play back the recording file in the browser. For + // example, `https://drive.google.com/file/d/{$fileId}/view`. + string export_uri = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// [Developer Preview](https://developers.google.com/workspace/preview). +// Metadata for a transcript generated from a conference. It refers to the ASR +// (Automatic Speech Recognition) result of user's speech during the conference. +message Transcript { + option (google.api.resource) = { + type: "meet.googleapis.com/Transcript" + pattern: "conferenceRecords/{conference_record}/transcripts/{transcript}" + plural: "transcripts" + singular: "transcript" + }; + + // Current state of the transcript session. + enum State { + // Default, never used. + STATE_UNSPECIFIED = 0; + + // An active transcript session has started. + STARTED = 1; + + // This transcript session has ended, but the transcript file hasn't been + // generated yet. + ENDED = 2; + + // Transcript file is generated and ready to download. + FILE_GENERATED = 3; + } + + oneof destination { + // Output only. Where the Google Docs transcript is saved. + DocsDestination docs_destination = 6 + [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Output only. Resource name of the transcript. + // Format: `conferenceRecords/{conference_record}/transcripts/{transcript}`, + // where `{transcript}` is a 1:1 mapping to each unique transcription session + // of the conference. + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Current state. + State state = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Timestamp when the transcript started. + google.protobuf.Timestamp start_time = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Timestamp when the transcript stopped. + google.protobuf.Timestamp end_time = 5 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Google Docs location where the transcript file is saved. +message DocsDestination { + // Output only. The document ID for the underlying Google Docs transcript + // file. For example, "1kuceFZohVoCh6FulBHxwy6I15Ogpc4hP". Use the + // `documents.get` method of the Google Docs API + // (https://developers.google.com/docs/api/reference/rest/v1/documents/get) to + // fetch the content. + string document = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. URI for the Google Docs transcript file. Use + // `https://docs.google.com/document/d/{$DocumentId}/view` to browse the + // transcript in the browser. + string export_uri = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// [Developer Preview](https://developers.google.com/workspace/preview). +// Single entry for one user’s speech during a transcript session. +message TranscriptEntry { + option (google.api.resource) = { + type: "meet.googleapis.com/TranscriptEntry" + pattern: "conferenceRecords/{conference_record}/transcripts/{transcript}/entries/{entry}" + plural: "transcriptEntries" + singular: "transcriptEntry" + }; + + // Output only. Resource name of the entry. Format: + // "conferenceRecords/{conference_record}/transcripts/{transcript}/entries/{entry}" + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Refer to the participant who speaks. + string participant = 2 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "meet.googleapis.com/Participant" + } + ]; + + // Output only. The transcribed text of the participant's voice, at maximum + // 10K words. Note that the limit is subject to change. + string text = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Language of spoken text, such as "en-US". + // IETF BCP 47 syntax (https://tools.ietf.org/html/bcp47) + string language_code = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Timestamp when the transcript entry started. + google.protobuf.Timestamp start_time = 5 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Timestamp when the transcript entry ended. + google.protobuf.Timestamp end_time = 6 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/apps/meet/v2beta/service.proto b/third_party/googleapis/google/apps/meet/v2beta/service.proto new file mode 100644 index 000000000..347280ee5 --- /dev/null +++ b/third_party/googleapis/google/apps/meet/v2beta/service.proto @@ -0,0 +1,530 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.apps.meet.v2beta; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/apps/meet/v2beta/resource.proto"; +import "google/protobuf/empty.proto"; +import "google/protobuf/field_mask.proto"; + +option csharp_namespace = "Google.Apps.Meet.V2Beta"; +option go_package = "cloud.google.com/go/apps/meet/apiv2beta/meetpb;meetpb"; +option java_multiple_files = true; +option java_outer_classname = "ServiceProto"; +option java_package = "com.google.apps.meet.v2beta"; +option php_namespace = "Google\\Apps\\Meet\\V2beta"; +option ruby_package = "Google::Apps::Meet::V2beta"; + +// REST API for services dealing with spaces. +service SpacesService { + option (google.api.default_host) = "meet.googleapis.com"; + + // [Developer Preview](https://developers.google.com/workspace/preview). + // Creates a space. + rpc CreateSpace(CreateSpaceRequest) returns (Space) { + option (google.api.http) = { + post: "/v2beta/spaces" + body: "space" + }; + option (google.api.method_signature) = "space"; + } + + // [Developer Preview](https://developers.google.com/workspace/preview). + // Gets a space by `space_id` or `meeting_code`. + rpc GetSpace(GetSpaceRequest) returns (Space) { + option (google.api.http) = { + get: "/v2beta/{name=spaces/*}" + }; + option (google.api.method_signature) = "name"; + } + + // [Developer Preview](https://developers.google.com/workspace/preview). + // Updates a space. + rpc UpdateSpace(UpdateSpaceRequest) returns (Space) { + option (google.api.http) = { + patch: "/v2beta/{space.name=spaces/*}" + body: "space" + }; + option (google.api.method_signature) = "space,update_mask"; + } + + // [Developer Preview](https://developers.google.com/workspace/preview). + // Ends an active conference (if there is one). + rpc EndActiveConference(EndActiveConferenceRequest) + returns (google.protobuf.Empty) { + option (google.api.http) = { + post: "/v2beta/{name=spaces/*}:endActiveConference" + body: "*" + }; + option (google.api.method_signature) = "name"; + } +} + +// REST API for services dealing with conference records. +service ConferenceRecordsService { + option (google.api.default_host) = "meet.googleapis.com"; + + // [Developer Preview](https://developers.google.com/workspace/preview). + // Gets a conference record by conference ID. + rpc GetConferenceRecord(GetConferenceRecordRequest) + returns (ConferenceRecord) { + option (google.api.http) = { + get: "/v2beta/{name=conferenceRecords/*}" + }; + option (google.api.method_signature) = "name"; + } + + // [Developer Preview](https://developers.google.com/workspace/preview). + // Lists the conference records by start time and in descending order. + rpc ListConferenceRecords(ListConferenceRecordsRequest) + returns (ListConferenceRecordsResponse) { + option (google.api.http) = { + get: "/v2beta/conferenceRecords" + }; + } + + // [Developer Preview](https://developers.google.com/workspace/preview). + // Gets a participant by participant ID. + rpc GetParticipant(GetParticipantRequest) returns (Participant) { + option (google.api.http) = { + get: "/v2beta/{name=conferenceRecords/*/participants/*}" + }; + option (google.api.method_signature) = "name"; + } + + // [Developer Preview](https://developers.google.com/workspace/preview). + // Lists the participants in a conference record, by default ordered by join + // time and in descending order. This API supports `fields` as standard + // parameters like every other API. However, when the `fields` request + // parameter is omitted, this API defaults to `'participants/*, + // next_page_token'`. + rpc ListParticipants(ListParticipantsRequest) + returns (ListParticipantsResponse) { + option (google.api.http) = { + get: "/v2beta/{parent=conferenceRecords/*}/participants" + }; + option (google.api.method_signature) = "parent"; + } + + // [Developer Preview](https://developers.google.com/workspace/preview). + // Gets a participant session by participant session ID. + rpc GetParticipantSession(GetParticipantSessionRequest) + returns (ParticipantSession) { + option (google.api.http) = { + get: "/v2beta/{name=conferenceRecords/*/participants/*/participantSessions/*}" + }; + option (google.api.method_signature) = "name"; + } + + // [Developer Preview](https://developers.google.com/workspace/preview). + // Lists the participant sessions of a participant in a conference record, by + // default ordered by join time and in descending order. This API supports + // `fields` as standard parameters like every other API. However, when the + // `fields` request parameter is omitted this API defaults to + // `'participantsessions/*, next_page_token'`. + rpc ListParticipantSessions(ListParticipantSessionsRequest) + returns (ListParticipantSessionsResponse) { + option (google.api.http) = { + get: "/v2beta/{parent=conferenceRecords/*/participants/*}/participantSessions" + }; + option (google.api.method_signature) = "parent"; + } + + // [Developer Preview](https://developers.google.com/workspace/preview). + // Gets a recording by recording ID. + rpc GetRecording(GetRecordingRequest) returns (Recording) { + option (google.api.http) = { + get: "/v2beta/{name=conferenceRecords/*/recordings/*}" + }; + option (google.api.method_signature) = "name"; + } + + // [Developer Preview](https://developers.google.com/workspace/preview). + // Lists the recording resources from the conference record. + rpc ListRecordings(ListRecordingsRequest) returns (ListRecordingsResponse) { + option (google.api.http) = { + get: "/v2beta/{parent=conferenceRecords/*}/recordings" + }; + option (google.api.method_signature) = "parent"; + } + + // [Developer Preview](https://developers.google.com/workspace/preview). + // Gets a transcript by transcript ID. + rpc GetTranscript(GetTranscriptRequest) returns (Transcript) { + option (google.api.http) = { + get: "/v2beta/{name=conferenceRecords/*/transcripts/*}" + }; + option (google.api.method_signature) = "name"; + } + + // [Developer Preview](https://developers.google.com/workspace/preview). + // Lists the set of transcripts from the conference record. + rpc ListTranscripts(ListTranscriptsRequest) + returns (ListTranscriptsResponse) { + option (google.api.http) = { + get: "/v2beta/{parent=conferenceRecords/*}/transcripts" + }; + option (google.api.method_signature) = "parent"; + } + + // [Developer Preview](https://developers.google.com/workspace/preview). + // Gets a `TranscriptEntry` resource by entry ID. + // + // Note: The transcript entries returned by the Google Meet API might not + // match the transcription found in the Google Docs transcript file. This can + // occur when the Google Docs transcript file is modified after generation. + rpc GetTranscriptEntry(GetTranscriptEntryRequest) returns (TranscriptEntry) { + option (google.api.http) = { + get: "/v2beta/{name=conferenceRecords/*/transcripts/*/entries/*}" + }; + option (google.api.method_signature) = "name"; + } + + // [Developer Preview](https://developers.google.com/workspace/preview). + // Lists the structured transcript entries per transcript. By default, ordered + // by start time and in ascending order. + // + // Note: The transcript entries returned by the Google Meet API might not + // match the transcription found in the Google Docs transcript file. This can + // occur when the Google Docs transcript file is modified after generation. + rpc ListTranscriptEntries(ListTranscriptEntriesRequest) + returns (ListTranscriptEntriesResponse) { + option (google.api.http) = { + get: "/v2beta/{parent=conferenceRecords/*/transcripts/*}/entries" + }; + option (google.api.method_signature) = "parent"; + } +} + +// Request to create a space. +message CreateSpaceRequest { + // Space to be created. As of May 2023, the input space can be empty. Later on + // the input space can be non-empty when space configuration is introduced. + Space space = 1; +} + +// Request to get a space. +message GetSpaceRequest { + // Required. Resource name of the space. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { type: "meet.googleapis.com/Space" } + ]; +} + +// Request to update a space. +message UpdateSpaceRequest { + // Required. Space to be updated. + Space space = 1 [(google.api.field_behavior) = REQUIRED]; + + // Optional. Field mask used to specify the fields to be updated in the space. + // If update_mask isn't provided, it defaults to '*' and updates all + // fields provided in the request, including deleting fields not set in the + // request. + google.protobuf.FieldMask update_mask = 2 + [(google.api.field_behavior) = OPTIONAL]; +} + +// Request to end an ongoing conference of a space. +message EndActiveConferenceRequest { + // Required. Resource name of the space. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { type: "meet.googleapis.com/Space" } + ]; +} + +// Request to get a conference record. +message GetConferenceRecordRequest { + // Required. Resource name of the conference. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "meet.googleapis.com/ConferenceRecord" + } + ]; +} + +// Request to fetch list of conference records per user. +message ListConferenceRecordsRequest { + // Optional. Maximum number of conference records to return. The service might + // return fewer than this value. If unspecified, at most 25 conference records + // are returned. The maximum value is 100; values above 100 are coerced to + // 100. Maximum might change in the future. + int32 page_size = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Page token returned from previous List Call. + string page_token = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. User specified filtering condition in EBNF format. The following + // are the filterable fields: + // + // * `space.meeting_code` + // * `space.name` + // * `start_time` + // * `end_time` + // + // For example, `space.meeting_code = "abc-mnop-xyz"`. + string filter = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// Response of ListConferenceRecords method. +message ListConferenceRecordsResponse { + // List of conferences in one page. + repeated ConferenceRecord conference_records = 1; + + // Token to be circulated back for further List call if current List does NOT + // include all the Conferences. Unset if all conferences have been returned. + string next_page_token = 2; +} + +// Request to get a Participant. +message GetParticipantRequest { + // Required. Resource name of the participant. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "meet.googleapis.com/Participant" + } + ]; +} + +// Request to fetch list of participant per conference. +message ListParticipantsRequest { + // Required. Format: `conferenceRecords/{conference_record}` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "meet.googleapis.com/Participant" + } + ]; + + // Maximum number of participants to return. The service might return fewer + // than this value. + // If unspecified, at most 100 participants are returned. + // The maximum value is 250; values above 250 are coerced to 250. + // Maximum might change in the future. + int32 page_size = 2; + + // Page token returned from previous List Call. + string page_token = 3; + + // Optional. User specified filtering condition in EBNF format. The following + // are the filterable fields: + // + // * `earliest_start_time` + // * `latest_end_time` + // + // For example, `latest_end_time IS NULL` returns active participants in + // the conference. + string filter = 4 [(google.api.field_behavior) = OPTIONAL]; +} + +// Response of ListParticipants method. +message ListParticipantsResponse { + // List of participants in one page. + repeated Participant participants = 1; + + // Token to be circulated back for further List call if current List doesn't + // include all the participants. Unset if all participants are returned. + string next_page_token = 2; + + // Total, exact number of `participants`. By default, this field isn't + // included in the response. Set the field mask in + // [SystemParameterContext](https://cloud.google.com/apis/docs/system-parameters) + // to receive this field in the response. + int32 total_size = 3; +} + +// Request to get a participant session. +message GetParticipantSessionRequest { + // Required. Resource name of the participant. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "meet.googleapis.com/ParticipantSession" + } + ]; +} + +// Request to fetch list of participant sessions per conference record per +// participant. +message ListParticipantSessionsRequest { + // Required. Format: + // `conferenceRecords/{conference_record}/participants/{participant}` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "meet.googleapis.com/ParticipantSession" + } + ]; + + // Optional. Maximum number of participant sessions to return. The service + // might return fewer than this value. If unspecified, at most 100 + // participants are returned. The maximum value is 250; values above 250 are + // coerced to 250. Maximum might change in the future. + int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Page token returned from previous List Call. + string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. User specified filtering condition in EBNF format. The following + // are the filterable fields: + // + // * `start_time` + // * `end_time` + // + // For example, `end_time IS NULL` returns active participant sessions in + // the conference record. + string filter = 4 [(google.api.field_behavior) = OPTIONAL]; +} + +// Response of ListParticipants method. +message ListParticipantSessionsResponse { + // List of participants in one page. + repeated ParticipantSession participant_sessions = 1; + + // Token to be circulated back for further List call if current List doesn't + // include all the participants. Unset if all participants are returned. + string next_page_token = 2; +} + +// Request message for GetRecording method. +message GetRecordingRequest { + // Required. Resource name of the recording. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { type: "meet.googleapis.com/Recording" } + ]; +} + +// Request for ListRecordings method. +message ListRecordingsRequest { + // Required. Format: `conferenceRecords/{conference_record}` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "meet.googleapis.com/Recording" + } + ]; + + // Maximum number of recordings to return. The service might return fewer + // than this value. + // If unspecified, at most 10 recordings are returned. + // The maximum value is 100; values above 100 are coerced to 100. + // Maximum might change in the future. + int32 page_size = 2; + + // Page token returned from previous List Call. + string page_token = 3; +} + +// Response for ListRecordings method. +message ListRecordingsResponse { + // List of recordings in one page. + repeated Recording recordings = 1; + + // Token to be circulated back for further List call if current List doesn't + // include all the recordings. Unset if all recordings are returned. + string next_page_token = 2; +} + +// Request for GetTranscript method. +message GetTranscriptRequest { + // Required. Resource name of the transcript. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { type: "meet.googleapis.com/Transcript" } + ]; +} + +// Request for ListTranscripts method. +message ListTranscriptsRequest { + // Required. Format: `conferenceRecords/{conference_record}` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "meet.googleapis.com/Transcript" + } + ]; + + // Maximum number of transcripts to return. The service might return fewer + // than this value. + // If unspecified, at most 10 transcripts are returned. + // The maximum value is 100; values above 100 are coerced to 100. + // Maximum might change in the future. + int32 page_size = 2; + + // Page token returned from previous List Call. + string page_token = 3; +} + +// Response for ListTranscripts method. +message ListTranscriptsResponse { + // List of transcripts in one page. + repeated Transcript transcripts = 1; + + // Token to be circulated back for further List call if current List doesn't + // include all the transcripts. Unset if all transcripts are returned. + string next_page_token = 2; +} + +// Request for GetTranscriptEntry method. +message GetTranscriptEntryRequest { + // Required. Resource name of the `TranscriptEntry`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "meet.googleapis.com/TranscriptEntry" + } + ]; +} + +// Request for ListTranscriptEntries method. +message ListTranscriptEntriesRequest { + // Required. Format: + // `conferenceRecords/{conference_record}/transcripts/{transcript}` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "meet.googleapis.com/TranscriptEntry" + } + ]; + + // Maximum number of entries to return. The service might return fewer than + // this value. + // If unspecified, at most 10 entries are returned. + // The maximum value is 100; values above 100 are coerced to 100. + // Maximum might change in the future. + int32 page_size = 2; + + // Page token returned from previous List Call. + string page_token = 3; +} + +// Response for ListTranscriptEntries method +message ListTranscriptEntriesResponse { + // List of TranscriptEntries in one page. + repeated TranscriptEntry transcript_entries = 1; + + // Token to be circulated back for further List call if current List doesn't + // include all the transcript entries. Unset if all entries are returned. + string next_page_token = 2; +} diff --git a/third_party/googleapis/google/bigtable/v2/feature_flags.proto b/third_party/googleapis/google/bigtable/v2/feature_flags.proto new file mode 100644 index 000000000..d3128c5c6 --- /dev/null +++ b/third_party/googleapis/google/bigtable/v2/feature_flags.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.bigtable.v2; + +option csharp_namespace = "Google.Cloud.Bigtable.V2"; +option go_package = "google.golang.org/genproto/googleapis/bigtable/v2;bigtable"; +option java_multiple_files = true; +option java_outer_classname = "FeatureFlagsProto"; +option java_package = "com.google.bigtable.v2"; +option php_namespace = "Google\\Cloud\\Bigtable\\V2"; +option ruby_package = "Google::Cloud::Bigtable::V2"; + +// Feature flags supported or enabled by a client. +// This is intended to be sent as part of request metadata to assure the server +// that certain behaviors are safe to enable. This proto is meant to be +// serialized and websafe-base64 encoded under the `bigtable-features` metadata +// key. The value will remain constant for the lifetime of a client and due to +// HTTP2's HPACK compression, the request overhead will be tiny. +// This is an internal implementation detail and should not be used by end users +// directly. +message FeatureFlags { + // Notify the server that the client supports reverse scans. The server will + // reject ReadRowsRequests with the reverse bit set when this is absent. + bool reverse_scans = 1; + + // Notify the server that the client enables batch write flow control by + // requesting RateLimitInfo from MutateRowsResponse. Due to technical reasons, + // this disables partial retries. + bool mutate_rows_rate_limit = 3; + + // Notify the server that the client enables batch write flow control by + // requesting RateLimitInfo from MutateRowsResponse. With partial retries + // enabled. + bool mutate_rows_rate_limit2 = 5; + + // Notify the server that the client supports the last_scanned_row field + // in ReadRowsResponse for long-running scans. + bool last_scanned_row_responses = 4; + + // Notify the server that the client supports using encoded routing cookie + // strings to retry requests with. + bool routing_cookie = 6; + + // Notify the server that the client supports using retry info back off + // durations to retry requests with. + bool retry_info = 7; +} diff --git a/third_party/googleapis/google/bytestream/BUILD.bazel b/third_party/googleapis/google/bytestream/BUILD.bazel new file mode 100644 index 000000000..7e3c20475 --- /dev/null +++ b/third_party/googleapis/google/bytestream/BUILD.bazel @@ -0,0 +1,152 @@ +# 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 = "bytestream_proto", + srcs = [ + "bytestream.proto", + ], +) + +proto_library_with_info( + name = "bytestream_proto_with_info", + deps = [ + ":bytestream_proto", + "//google/cloud:common_resources_proto", + ], +) + +############################################################################## +# Java +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "java_grpc_library", + "java_proto_library", +) + +java_proto_library( + name = "bytestream_java_proto", + deps = [":bytestream_proto"], +) + +java_grpc_library( + name = "bytestream_java_grpc", + srcs = [":bytestream_proto"], + deps = [":bytestream_java_proto"], +) + +############################################################################## +# Go +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "go_proto_library", +) + +go_proto_library( + name = "bytestream_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "google.golang.org/genproto/googleapis/bytestream", + protos = [":bytestream_proto"], +) + +############################################################################## +# Python +############################################################################## + +############################################################################## +# PHP +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "php_proto_library", +) + +php_proto_library( + name = "bytestream_php_proto", + deps = [":bytestream_proto"], +) + +############################################################################## +# Node.js +############################################################################## + +############################################################################## +# Ruby +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "ruby_grpc_library", + "ruby_proto_library", +) + +ruby_proto_library( + name = "bytestream_ruby_proto", + deps = [":bytestream_proto"], +) + +ruby_grpc_library( + name = "bytestream_ruby_grpc", + srcs = [":bytestream_proto"], + deps = [":bytestream_ruby_proto"], +) + +############################################################################## +# C# +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "csharp_grpc_library", + "csharp_proto_library", +) + +csharp_proto_library( + name = "bytestream_csharp_proto", + extra_opts = [], + deps = [":bytestream_proto"], +) + +csharp_grpc_library( + name = "bytestream_csharp_grpc", + srcs = [":bytestream_proto"], + deps = [":bytestream_csharp_proto"], +) + +############################################################################## +# C++ +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "cc_grpc_library", + "cc_proto_library", +) + +cc_proto_library( + name = "bytestream_cc_proto", + deps = [":bytestream_proto"], +) + +cc_grpc_library( + name = "bytestream_cc_grpc", + srcs = [":bytestream_proto"], + grpc_only = True, + deps = [":bytestream_cc_proto"], +) diff --git a/third_party/googleapis/google/chat/v1/BUILD.bazel b/third_party/googleapis/google/chat/v1/BUILD.bazel new file mode 100644 index 000000000..52f6f1841 --- /dev/null +++ b/third_party/googleapis/google/chat/v1/BUILD.bazel @@ -0,0 +1,394 @@ +# 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 = "chat_proto", + srcs = [ + "action_status.proto", + "annotation.proto", + "attachment.proto", + "chat_service.proto", + "contextual_addon.proto", + "deletion_metadata.proto", + "group.proto", + "history_state.proto", + "matched_url.proto", + "membership.proto", + "message.proto", + "reaction.proto", + "slash_command.proto", + "space.proto", + "space_setup.proto", + "user.proto", + "widgets.proto", + ], + deps = [ + "//google/api:annotations_proto", + "//google/api:client_proto", + "//google/api:field_behavior_proto", + "//google/api:resource_proto", + "//google/apps/card/v1:card_proto", + "//google/rpc:code_proto", + "@com_google_protobuf//:empty_proto", + "@com_google_protobuf//:field_mask_proto", + "@com_google_protobuf//:timestamp_proto", + ], +) + +proto_library_with_info( + name = "chat_proto_with_info", + deps = [ + ":chat_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 = "chat_java_proto", + deps = [":chat_proto"], +) + +java_grpc_library( + name = "chat_java_grpc", + srcs = [":chat_proto"], + deps = [":chat_java_proto"], +) + +java_gapic_library( + name = "chat_java_gapic", + srcs = [":chat_proto_with_info"], + gapic_yaml = None, + grpc_service_config = "chat_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "chat_v1.yaml", + test_deps = [ + ":chat_java_grpc", + ], + transport = "grpc+rest", + deps = [ + ":chat_java_proto", + "//google/api:api_java_proto", + ], +) + +java_gapic_test( + name = "chat_java_gapic_test_suite", + test_classes = [ + "com.google.chat.v1.ChatServiceClientHttpJsonTest", + "com.google.chat.v1.ChatServiceClientTest", + ], + runtime_deps = [":chat_java_gapic_test"], +) + +# Open Source Packages +java_gapic_assembly_gradle_pkg( + name = "google-cloud-chat-v1-java", + include_samples = True, + transport = "grpc+rest", + deps = [ + ":chat_java_gapic", + ":chat_java_grpc", + ":chat_java_proto", + ":chat_proto", + ], +) + +############################################################################## +# Go +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "go_gapic_assembly_pkg", + "go_gapic_library", + "go_proto_library", +) + +go_proto_library( + name = "chat_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "google.golang.org/genproto/googleapis/chat/v1", + protos = [":chat_proto"], + deps = [ + "//google/api:annotations_go_proto", + "//google/apps/card/v1:card_go_proto", + "//google/rpc:code_go_proto", + ], +) + +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", + metadata = True, + release_level = "beta", + rest_numeric_enums = True, + service_yaml = "chat_v1.yaml", + transport = "grpc+rest", + deps = [ + ":chat_go_proto", + ], +) + +# Open Source Packages +go_gapic_assembly_pkg( + name = "gapi-cloud-chat-v1-go", + deps = [ + ":chat_go_gapic", + ":chat_go_gapic_srcjar-metadata.srcjar", + ":chat_go_gapic_srcjar-snippets.srcjar", + ":chat_go_gapic_srcjar-test.srcjar", + ":chat_go_proto", + ], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "py_gapic_assembly_pkg", + "py_gapic_library", + "py_test", +) + +py_gapic_library( + name = "chat_py_gapic", + srcs = [":chat_proto"], + grpc_service_config = "chat_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "chat_v1.yaml", + transport = "grpc+rest", + deps = [ + "//google/apps/card/v1:card_py_proto", + ], +) + +py_test( + name = "chat_py_gapic_test", + srcs = [ + "chat_py_gapic_pytest.py", + "chat_py_gapic_test.py", + ], + legacy_create_init = False, + deps = [":chat_py_gapic"], +) + +# Open Source Packages +py_gapic_assembly_pkg( + name = "chat-v1-py", + deps = [ + ":chat_py_gapic", + ], +) + +############################################################################## +# PHP +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "php_gapic_assembly_pkg", + "php_gapic_library", + "php_proto_library", +) + +php_proto_library( + name = "chat_php_proto", + deps = [":chat_proto"], +) + +php_gapic_library( + name = "chat_php_gapic", + srcs = [":chat_proto_with_info"], + grpc_service_config = "chat_grpc_service_config.json", + migration_mode = "PRE_MIGRATION_SURFACE_ONLY", + rest_numeric_enums = True, + service_yaml = "chat_v1.yaml", + transport = "grpc+rest", + deps = [ + ":chat_php_proto", + ], +) + +# Open Source Packages +php_gapic_assembly_pkg( + name = "google-cloud-chat-v1-php", + deps = [ + ":chat_php_gapic", + ":chat_php_proto", + ], +) + +############################################################################## +# Node.js +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "nodejs_gapic_assembly_pkg", + "nodejs_gapic_library", +) + +nodejs_gapic_library( + name = "chat_nodejs_gapic", + package_name = "@google-cloud/chat", + src = ":chat_proto_with_info", + extra_protoc_parameters = ["metadata"], + grpc_service_config = "chat_grpc_service_config.json", + package = "google.chat.v1", + rest_numeric_enums = True, + service_yaml = "chat_v1.yaml", + transport = "grpc+rest", + deps = [], +) + +nodejs_gapic_assembly_pkg( + name = "chat-v1-nodejs", + deps = [ + ":chat_nodejs_gapic", + ":chat_proto", + "//google/apps/card/v1:card_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 = "chat_ruby_proto", + deps = [":chat_proto"], +) + +ruby_grpc_library( + name = "chat_ruby_grpc", + srcs = [":chat_proto"], + deps = [":chat_ruby_proto"], +) + +ruby_cloud_gapic_library( + name = "chat_ruby_gapic", + srcs = [":chat_proto_with_info"], + extra_protoc_parameters = ["ruby-cloud-gem-name=google-cloud-chat-v1"], + grpc_service_config = "chat_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "chat_v1.yaml", + transport = "grpc+rest", + deps = [ + ":chat_ruby_grpc", + ":chat_ruby_proto", + ], +) + +# Open Source Packages +ruby_gapic_assembly_pkg( + name = "google-cloud-chat-v1-ruby", + deps = [ + ":chat_ruby_gapic", + ":chat_ruby_grpc", + ":chat_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 = "chat_csharp_proto", + extra_opts = [], + deps = [":chat_proto"], +) + +csharp_grpc_library( + name = "chat_csharp_grpc", + srcs = [":chat_proto"], + deps = [":chat_csharp_proto"], +) + +csharp_gapic_library( + name = "chat_csharp_gapic", + srcs = [":chat_proto_with_info"], + common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json", + grpc_service_config = "chat_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "chat_v1.yaml", + transport = "grpc+rest", + deps = [ + ":chat_csharp_grpc", + ":chat_csharp_proto", + ], +) + +# Open Source Packages +csharp_gapic_assembly_pkg( + name = "google-cloud-chat-v1-csharp", + deps = [ + ":chat_csharp_gapic", + ":chat_csharp_grpc", + ":chat_csharp_proto", + ], +) + +############################################################################## +# C++ +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "cc_grpc_library", + "cc_proto_library", +) + +cc_proto_library( + name = "chat_cc_proto", + deps = [":chat_proto"], +) + +cc_grpc_library( + name = "chat_cc_grpc", + srcs = [":chat_proto"], + grpc_only = True, + deps = [":chat_cc_proto"], +) diff --git a/third_party/googleapis/google/chat/v1/action_status.proto b/third_party/googleapis/google/chat/v1/action_status.proto new file mode 100644 index 000000000..953948b83 --- /dev/null +++ b/third_party/googleapis/google/chat/v1/action_status.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.chat.v1; + +import "google/rpc/code.proto"; + +option go_package = "google.golang.org/genproto/googleapis/chat/v1;chat"; +option java_multiple_files = true; +option java_outer_classname = "ActionStatusProto"; +option java_package = "com.google.chat.v1"; + +// Represents the status for a request to either invoke or submit a +// [dialog](https://developers.google.com/chat/how-tos/dialogs). +message ActionStatus { + // The status code. + google.rpc.Code status_code = 1; + + // The message to send users about the status of their request. + // If unset, a generic message based on the `status_code` is sent. + string user_facing_message = 2; +} diff --git a/third_party/googleapis/google/chat/v1/annotation.proto b/third_party/googleapis/google/chat/v1/annotation.proto new file mode 100644 index 000000000..4f3806705 --- /dev/null +++ b/third_party/googleapis/google/chat/v1/annotation.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.chat.v1; + +import "google/chat/v1/user.proto"; + +option go_package = "google.golang.org/genproto/googleapis/chat/v1;chat"; +option java_multiple_files = true; +option java_outer_classname = "AnnotationProto"; +option java_package = "com.google.chat.v1"; + +// Output only. Annotations associated with the plain-text body of the message. +// To add basic formatting to a text message, see +// [Format text +// messages](https://developers.google.com/chat/format-messages). +// +// Example plain-text message body: +// ``` +// Hello @FooBot how are you!" +// ``` +// +// The corresponding annotations metadata: +// ``` +// "annotations":[{ +// "type":"USER_MENTION", +// "startIndex":6, +// "length":7, +// "userMention": { +// "user": { +// "name":"users/{user}", +// "displayName":"FooBot", +// "avatarUrl":"https://goo.gl/aeDtrS", +// "type":"BOT" +// }, +// "type":"MENTION" +// } +// }] +// ``` +message Annotation { + // The type of this annotation. + AnnotationType type = 1; + + // Start index (0-based, inclusive) in the plain-text message body this + // annotation corresponds to. + optional int32 start_index = 2; + + // Length of the substring in the plain-text message body this annotation + // corresponds to. + int32 length = 3; + + // Additional metadata about the annotation. + oneof metadata { + // The metadata of user mention. + UserMentionMetadata user_mention = 4; + + // The metadata for a slash command. + SlashCommandMetadata slash_command = 5; + } +} + +// Annotation metadata for user mentions (@). +message UserMentionMetadata { + enum Type { + // Default value for the enum. Don't use. + TYPE_UNSPECIFIED = 0; + + // Add user to space. + ADD = 1; + + // Mention user in space. + MENTION = 2; + } + + // The user mentioned. + User user = 1; + + // The type of user mention. + Type type = 2; +} + +// Annotation metadata for slash commands (/). +message SlashCommandMetadata { + enum Type { + // Default value for the enum. Don't use. + TYPE_UNSPECIFIED = 0; + + // Add Chat app to space. + ADD = 1; + + // Invoke slash command in space. + INVOKE = 2; + } + + // The Chat app whose command was invoked. + User bot = 1; + + // The type of slash command. + Type type = 2; + + // The name of the invoked slash command. + string command_name = 3; + + // The command ID of the invoked slash command. + int64 command_id = 4; + + // Indicates whether the slash command is for a dialog. + bool triggers_dialog = 5; +} + +// Type of the annotation. +enum AnnotationType { + // Default value for the enum. Don't use. + ANNOTATION_TYPE_UNSPECIFIED = 0; + + // A user is mentioned. + USER_MENTION = 1; + + // A slash command is invoked. + SLASH_COMMAND = 2; +} diff --git a/third_party/googleapis/google/chat/v1/attachment.proto b/third_party/googleapis/google/chat/v1/attachment.proto new file mode 100644 index 000000000..3cc0f676c --- /dev/null +++ b/third_party/googleapis/google/chat/v1/attachment.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.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 java_multiple_files = true; +option java_outer_classname = "AttachmentProto"; +option java_package = "com.google.chat.v1"; + +// An attachment in Google Chat. +message Attachment { + option (google.api.resource) = { + type: "chat.googleapis.com/Attachment" + pattern: "spaces/{space}/messages/{message}/attachments/{attachment}" + }; + + enum Source { + SOURCE_UNSPECIFIED = 0; + + DRIVE_FILE = 1; + + UPLOADED_CONTENT = 2; + } + + // Resource name of the attachment, in the form + // `spaces/*/messages/*/attachments/*`. + string name = 1; + + // Output only. The original file name for the content, not the full path. + string content_name = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The content type (MIME type) of the file. + string content_type = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + oneof data_ref { + // A reference to the attachment data. This field is used with the media API + // to download the attachment data. + AttachmentDataRef attachment_data_ref = 4; + + // Output only. A reference to the Google Drive attachment. This field is + // used with the Google Drive API. + DriveDataRef drive_data_ref = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Output only. The thumbnail URL which should be used to preview the + // attachment to a human user. Chat apps shouldn't use this URL to download + // attachment content. + string thumbnail_uri = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The download URL which should be used to allow a human user to + // download the attachment. Chat apps shouldn't use this URL to download + // attachment content. + string download_uri = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The source of the attachment. + Source source = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// A reference to the data of a drive attachment. +message DriveDataRef { + // The ID for the drive file. Use with the Drive API. + string drive_file_id = 2; +} + +message AttachmentDataRef { + // The resource name of the attachment data. This field is used with the media + // API to download the attachment data. + string resource_name = 1; + + // Opaque token containing a reference to an uploaded attachment. Treated by + // clients as an opaque string and used to create or update Chat messages with + // attachments. + string attachment_upload_token = 2; +} + +message GetAttachmentRequest { + // Required. Resource name of the attachment, in the form + // `spaces/*/messages/*/attachments/*`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { type: "chat.googleapis.com/Attachment" } + ]; +} + +message UploadAttachmentRequest { + // Required. Resource name of the Chat space in which the attachment is + // uploaded. Format "spaces/{space}". + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "chat.googleapis.com/Message" + } + ]; + + // Required. The filename of the attachment, including the file extension. + string filename = 4 [(google.api.field_behavior) = REQUIRED]; +} + +message UploadAttachmentResponse { + // Reference to the uploaded attachment. + AttachmentDataRef attachment_data_ref = 1; +} 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 new file mode 100644 index 000000000..d0c9e51e8 --- /dev/null +++ b/third_party/googleapis/google/chat/v1/chat_grpc_service_config.json @@ -0,0 +1,36 @@ +{ + "methodConfig": [{ + "name": [ + { "service": "google.chat.v1.ChatService", "method": "CreateMessage" }, + { "service": "google.chat.v1.ChatService", "method": "UpdateMessage" }, + { "service": "google.chat.v1.ChatService", "method": "GetMessage" }, + { "service": "google.chat.v1.ChatService", "method": "ListMessages" }, + { "service": "google.chat.v1.ChatService", "method": "DeleteMessage" }, + { "service": "google.chat.v1.ChatService", "method": "CreateSpace" }, + { "service": "google.chat.v1.ChatService", "method": "SetUpSpace" }, + { "service": "google.chat.v1.ChatService", "method": "UpdateSpace" }, + { "service": "google.chat.v1.ChatService", "method": "GetSpace" }, + { "service": "google.chat.v1.ChatService", "method": "ListSpaces" }, + { "service": "google.chat.v1.ChatService", "method": "DeleteSpace" }, + { "service": "google.chat.v1.ChatService", "method": "CreateMembership" }, + { "service": "google.chat.v1.ChatService", "method": "GetMembership" }, + { "service": "google.chat.v1.ChatService", "method": "ListMemberships" }, + { "service": "google.chat.v1.ChatService", "method": "DeleteMembership" }, + { "service": "google.chat.v1.ChatService", "method": "CreateReaction" }, + { "service": "google.chat.v1.ChatService", "method": "ListReactions" }, + { "service": "google.chat.v1.ChatService", "method": "DeleteReaction" }, + { "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": "GetAttachment" } + ], + "timeout": "30s", + "retryPolicy": { + "maxAttempts": 5, + "initialBackoff": "1s", + "maxBackoff": "10s", + "backoffMultiplier": 1.3, + "retryableStatusCodes": ["UNAVAILABLE"] + } + }] +} diff --git a/third_party/googleapis/google/chat/v1/chat_service.proto b/third_party/googleapis/google/chat/v1/chat_service.proto new file mode 100644 index 000000000..0b60e74fd --- /dev/null +++ b/third_party/googleapis/google/chat/v1/chat_service.proto @@ -0,0 +1,490 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.chat.v1; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/chat/v1/attachment.proto"; +import "google/chat/v1/membership.proto"; +import "google/chat/v1/message.proto"; +import "google/chat/v1/reaction.proto"; +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 java_multiple_files = true; +option java_outer_classname = "ChatServiceProto"; +option java_package = "com.google.chat.v1"; + +// Enables developers to build Chat apps and +// integrations on Google Chat Platform. +service ChatService { + option (google.api.default_host) = "chat.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/chat.bot," + "https://www.googleapis.com/auth/chat.delete," + "https://www.googleapis.com/auth/chat.import," + "https://www.googleapis.com/auth/chat.memberships," + "https://www.googleapis.com/auth/chat.memberships.app," + "https://www.googleapis.com/auth/chat.memberships.readonly," + "https://www.googleapis.com/auth/chat.messages," + "https://www.googleapis.com/auth/chat.messages.create," + "https://www.googleapis.com/auth/chat.messages.reactions," + "https://www.googleapis.com/auth/chat.messages.reactions.create," + "https://www.googleapis.com/auth/chat.messages.reactions.readonly," + "https://www.googleapis.com/auth/chat.messages.readonly," + "https://www.googleapis.com/auth/chat.spaces," + "https://www.googleapis.com/auth/chat.spaces.create," + "https://www.googleapis.com/auth/chat.spaces.readonly"; + + // Creates a message in a Google Chat space. For an example, see [Create a + // message](https://developers.google.com/chat/api/guides/v1/messages/create). + // + // Calling this method requires + // [authentication](https://developers.google.com/chat/api/guides/auth) and + // supports the following authentication types: + // + // - For text messages, user authentication or app authentication are + // supported. + // - For card messages, only app authentication is supported. (Only Chat apps + // can create card messages.) + rpc CreateMessage(CreateMessageRequest) returns (Message) { + option (google.api.http) = { + post: "/v1/{parent=spaces/*}/messages" + body: "message" + }; + option (google.api.method_signature) = "parent,message,message_id"; + } + + // Lists messages in a space that the caller is a member of, including + // messages from blocked members and spaces. For an example, see + // [List messages](/chat/api/guides/v1/messages/list). + // Requires [user + // authentication](https://developers.google.com/chat/api/guides/auth/users). + rpc ListMessages(ListMessagesRequest) returns (ListMessagesResponse) { + option (google.api.http) = { + get: "/v1/{parent=spaces/*}/messages" + }; + option (google.api.method_signature) = "parent"; + } + + // Lists memberships in a space. For an example, see [List + // memberships](https://developers.google.com/chat/api/guides/v1/members/list). + // Listing memberships with + // [app + // authentication](https://developers.google.com/chat/api/guides/auth/service-accounts) + // lists memberships in spaces that the Chat app has + // access to, but excludes Chat app memberships, + // including its own. Listing memberships with + // [User + // authentication](https://developers.google.com/chat/api/guides/auth/users) + // lists memberships in spaces that the authenticated user has access to. + // + // Requires + // [authentication](https://developers.google.com/chat/api/guides/auth). + // Supports + // [app + // authentication](https://developers.google.com/chat/api/guides/auth/service-accounts) + // and [user + // authentication](https://developers.google.com/chat/api/guides/auth/users). + rpc ListMemberships(ListMembershipsRequest) + returns (ListMembershipsResponse) { + option (google.api.http) = { + get: "/v1/{parent=spaces/*}/members" + }; + option (google.api.method_signature) = "parent"; + } + + // Returns details about a membership. For an example, see + // [Get a + // membership](https://developers.google.com/chat/api/guides/v1/members/get). + // + // Requires + // [authentication](https://developers.google.com/chat/api/guides/auth). + // Supports + // [app + // authentication](https://developers.google.com/chat/api/guides/auth/service-accounts) + // and [user + // authentication](https://developers.google.com/chat/api/guides/auth/users). + rpc GetMembership(GetMembershipRequest) returns (Membership) { + option (google.api.http) = { + get: "/v1/{name=spaces/*/members/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Returns details about a message. + // For an example, see [Read a + // message](https://developers.google.com/chat/api/guides/v1/messages/get). + // + // Requires + // [authentication](https://developers.google.com/chat/api/guides/auth). + // Supports + // [app + // authentication](https://developers.google.com/chat/api/guides/auth/service-accounts) + // and [user + // authentication](https://developers.google.com/chat/api/guides/auth/users). + // + // Note: Might return a message from a blocked member or space. + rpc GetMessage(GetMessageRequest) returns (Message) { + option (google.api.http) = { + get: "/v1/{name=spaces/*/messages/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Updates a message. There's a difference between the `patch` and `update` + // methods. The `patch` + // method uses a `patch` request while the `update` method uses a `put` + // request. We recommend using the `patch` method. For an example, see + // [Update a + // message](https://developers.google.com/chat/api/guides/v1/messages/update). + // + // Requires + // [authentication](https://developers.google.com/chat/api/guides/auth). + // Supports + // [app + // authentication](https://developers.google.com/chat/api/guides/auth/service-accounts) + // and [user + // authentication](https://developers.google.com/chat/api/guides/auth/users). + // When using app authentication, requests can only update messages + // created by the calling Chat app. + rpc UpdateMessage(UpdateMessageRequest) returns (Message) { + option (google.api.http) = { + put: "/v1/{message.name=spaces/*/messages/*}" + body: "message" + additional_bindings { + patch: "/v1/{message.name=spaces/*/messages/*}" + body: "message" + } + }; + option (google.api.method_signature) = "message,update_mask"; + } + + // Deletes a message. + // For an example, see [Delete a + // message](https://developers.google.com/chat/api/guides/v1/messages/delete). + // + // Requires + // [authentication](https://developers.google.com/chat/api/guides/auth). + // Supports + // [app + // authentication](https://developers.google.com/chat/api/guides/auth/service-accounts) + // and [user + // authentication](https://developers.google.com/chat/api/guides/auth/users). + // When using app authentication, requests can only delete messages + // created by the calling Chat app. + rpc DeleteMessage(DeleteMessageRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + delete: "/v1/{name=spaces/*/messages/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Gets the metadata of a message attachment. The attachment data is fetched + // using the [media + // API](https://developers.google.com/chat/api/reference/rest/v1/media/download). + // For an example, see + // [Get a message + // attachment](https://developers.google.com/chat/api/guides/v1/media-and-attachments/get). + // Requires [app + // authentication](https://developers.google.com/chat/api/guides/auth/service-accounts). + rpc GetAttachment(GetAttachmentRequest) returns (Attachment) { + option (google.api.http) = { + get: "/v1/{name=spaces/*/messages/*/attachments/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Uploads an attachment. For an example, see + // [Upload media as a file + // attachment](https://developers.google.com/chat/api/guides/v1/media-and-attachments/upload). + // Requires user + // [authentication](https://developers.google.com/chat/api/guides/auth/users). + // + // You can upload attachments up to 200 MB. Certain file types aren't + // supported. For details, see [File types blocked by Google + // Chat](https://support.google.com/chat/answer/7651457?&co=GENIE.Platform%3DDesktop#File%20types%20blocked%20in%20Google%20Chat). + rpc UploadAttachment(UploadAttachmentRequest) + returns (UploadAttachmentResponse) { + option (google.api.http) = { + post: "/v1/{parent=spaces/*}/attachments:upload" + body: "*" + }; + } + + // Lists spaces the caller is a member of. Group chats and DMs aren't listed + // until the first message is sent. For an example, see + // [List + // spaces](https://developers.google.com/chat/api/guides/v1/spaces/list). + // + // Requires + // [authentication](https://developers.google.com/chat/api/guides/auth). + // Supports + // [app + // authentication](https://developers.google.com/chat/api/guides/auth/service-accounts) + // and [user + // authentication](https://developers.google.com/chat/api/guides/auth/users). + // + // Lists spaces visible to the caller or authenticated user. Group chats + // and DMs aren't listed until the first message is sent. + rpc ListSpaces(ListSpacesRequest) returns (ListSpacesResponse) { + option (google.api.http) = { + get: "/v1/spaces" + }; + option (google.api.method_signature) = ""; + } + + // Returns details about a space. For an example, see + // [Get a space](https://developers.google.com/chat/api/guides/v1/spaces/get). + // + // Requires + // [authentication](https://developers.google.com/chat/api/guides/auth). + // Supports + // [app + // authentication](https://developers.google.com/chat/api/guides/auth/service-accounts) + // and [user + // authentication](https://developers.google.com/chat/api/guides/auth/users). + rpc GetSpace(GetSpaceRequest) returns (Space) { + option (google.api.http) = { + get: "/v1/{name=spaces/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Creates a named space. Spaces grouped by topics aren't supported. For an + // example, see [Create a + // space](https://developers.google.com/chat/api/guides/v1/spaces/create). + // + // If you receive the error message `ALREADY_EXISTS` when creating + // a space, try a different `displayName`. An existing space within + // the Google Workspace organization might already use this display name. + // + // Requires [user + // authentication](https://developers.google.com/chat/api/guides/auth/users). + rpc CreateSpace(CreateSpaceRequest) returns (Space) { + option (google.api.http) = { + post: "/v1/spaces" + body: "space" + }; + option (google.api.method_signature) = "space"; + } + + // Creates a space and adds specified users to it. The calling user is + // automatically added to the space, and shouldn't be specified as a + // membership in the request. For an example, see + // [Set up a + // space](https://developers.google.com/chat/api/guides/v1/spaces/set-up). + // + // To specify the human members to add, add memberships with the appropriate + // `member.name` in the `SetUpSpaceRequest`. To add a human user, use + // `users/{user}`, where `{user}` can be the email address for the user. For + // users in the same Workspace organization `{user}` can also be the `id` for + // the person from the People API, or the `id` for the user in the Directory + // API. For example, if the People API Person profile ID for + // `user@example.com` is `123456789`, you can add the user to the space by + // setting the `membership.member.name` to `users/user@example.com` or + // `users/123456789`. + // + // For a space or group chat, if the caller blocks or is blocked by some + // members, then those members aren't added to the created space. + // + // To create a direct message (DM) between the calling user and another human + // user, specify exactly one membership to represent the human user. If + // one user blocks the other, the request fails and the DM isn't created. + // + // To create a DM between the calling user and the calling app, set + // `Space.singleUserBotDm` to `true` and don't specify any memberships. You + // can only use this method to set up a DM with the calling app. To add the + // calling app as a member of a space or an existing DM between two human + // users, see + // [create a + // membership](https://developers.google.com/chat/api/guides/v1/members/create). + // + // If a DM already exists between two users, even when one user blocks the + // other at the time a request is made, then the existing DM is returned. + // + // Spaces with threaded replies aren't supported. If you receive the error + // message `ALREADY_EXISTS` when setting up a space, try a different + // `displayName`. An existing space within the Google Workspace organization + // might already use this display name. + // + // Requires [user + // authentication](https://developers.google.com/chat/api/guides/auth/users). + rpc SetUpSpace(SetUpSpaceRequest) returns (Space) { + option (google.api.http) = { + post: "/v1/spaces:setup" + body: "*" + }; + } + + // Updates a space. For an example, see + // [Update a + // space](https://developers.google.com/chat/api/guides/v1/spaces/update). + // + // If you're updating the `displayName` field and receive the error message + // `ALREADY_EXISTS`, try a different display name.. An existing space within + // the Google Workspace organization might already use this display name. + // + // Requires [user + // authentication](https://developers.google.com/chat/api/guides/auth/users). + rpc UpdateSpace(UpdateSpaceRequest) returns (Space) { + option (google.api.http) = { + patch: "/v1/{space.name=spaces/*}" + body: "space" + }; + option (google.api.method_signature) = "space,update_mask"; + } + + // Deletes a named space. Always performs a cascading delete, which means + // that the space's child resources—like messages posted in the space and + // memberships in the space—are also deleted. For an example, see + // [Delete a + // space](https://developers.google.com/chat/api/guides/v1/spaces/delete). + // Requires [user + // authentication](https://developers.google.com/chat/api/guides/auth/users) + // from a user who has permission to delete the space. + rpc DeleteSpace(DeleteSpaceRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + delete: "/v1/{name=spaces/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Completes the + // [import process](https://developers.google.com/chat/api/guides/import-data) + // for the specified space and makes it visible to users. + // Requires app authentication and domain-wide delegation. For more + // information, see [Authorize Google Chat apps to import + // data](https://developers.google.com/chat/api/guides/authorize-import). + rpc CompleteImportSpace(CompleteImportSpaceRequest) + returns (CompleteImportSpaceResponse) { + option (google.api.http) = { + post: "/v1/{name=spaces/*}:completeImport" + body: "*" + }; + } + + // Returns the existing direct message with the specified user. If no direct + // message space is found, returns a `404 NOT_FOUND` error. For an example, + // see + // [Find a direct message](/chat/api/guides/v1/spaces/find-direct-message). + // + // With [user + // authentication](https://developers.google.com/chat/api/guides/auth/users), + // returns the direct message space between the specified user and the + // authenticated user. + // + // With [app + // authentication](https://developers.google.com/chat/api/guides/auth/service-accounts), + // returns the direct message space between the specified user and the calling + // Chat app. + // + // Requires [user + // authentication](https://developers.google.com/chat/api/guides/auth/users) + // or [app + // authentication](https://developers.google.com/chat/api/guides/auth/service-accounts). + rpc FindDirectMessage(FindDirectMessageRequest) returns (Space) { + option (google.api.http) = { + get: "/v1/spaces:findDirectMessage" + }; + } + + // Creates a human membership or app membership for the calling app. Creating + // memberships for other apps isn't supported. For an example, see + // [ Create a + // membership](https://developers.google.com/chat/api/guides/v1/members/create). + // When creating a membership, if the specified member has their auto-accept + // policy turned off, then they're invited, and must accept the space + // invitation before joining. Otherwise, creating a membership adds the member + // directly to the specified space. Requires [user + // authentication](https://developers.google.com/chat/api/guides/auth/users). + // + // To specify the member to add, set the `membership.member.name` in the + // `CreateMembershipRequest`: + // + // - To add the calling app to a space or a direct message between two human + // users, use `users/app`. Unable to add other + // apps to the space. + // + // - To add a human user, use `users/{user}`, where `{user}` can be the email + // address for the user. For users in the same Workspace organization `{user}` + // can also be the `id` for the person from the People API, or the `id` for + // the user in the Directory API. For example, if the People API Person + // profile ID for `user@example.com` is `123456789`, you can add the user to + // the space by setting the `membership.member.name` to + // `users/user@example.com` or `users/123456789`. + rpc CreateMembership(CreateMembershipRequest) returns (Membership) { + option (google.api.http) = { + post: "/v1/{parent=spaces/*}/members" + body: "membership" + }; + option (google.api.method_signature) = "parent,membership"; + } + + // Deletes a membership. For an example, see + // [Delete a + // membership](https://developers.google.com/chat/api/guides/v1/members/delete). + // + // Requires [user + // authentication](https://developers.google.com/chat/api/guides/auth/users). + rpc DeleteMembership(DeleteMembershipRequest) returns (Membership) { + option (google.api.http) = { + delete: "/v1/{name=spaces/*/members/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Creates a reaction and adds it to a message. For an example, see + // [Create a + // reaction](https://developers.google.com/chat/api/guides/v1/reactions/create). + // Requires [user + // authentication](https://developers.google.com/chat/api/guides/auth/users). + // Only unicode emoji are supported. + rpc CreateReaction(CreateReactionRequest) returns (Reaction) { + option (google.api.http) = { + post: "/v1/{parent=spaces/*/messages/*}/reactions" + body: "reaction" + }; + option (google.api.method_signature) = "parent,reaction"; + } + + // Lists reactions to a message. For an example, see + // [List + // reactions](https://developers.google.com/chat/api/guides/v1/reactions/list). + // Requires [user + // authentication](https://developers.google.com/chat/api/guides/auth/users). + rpc ListReactions(ListReactionsRequest) returns (ListReactionsResponse) { + option (google.api.http) = { + get: "/v1/{parent=spaces/*/messages/*}/reactions" + }; + option (google.api.method_signature) = "parent"; + } + + // Deletes a reaction to a message. For an example, see + // [Delete a + // reaction](https://developers.google.com/chat/api/guides/v1/reactions/delete). + // Requires [user + // authentication](https://developers.google.com/chat/api/guides/auth/users). + rpc DeleteReaction(DeleteReactionRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + delete: "/v1/{name=spaces/*/messages/*/reactions/*}" + }; + option (google.api.method_signature) = "name"; + } +} diff --git a/third_party/googleapis/google/chat/v1/chat_v1.yaml b/third_party/googleapis/google/chat/v1/chat_v1.yaml new file mode 100644 index 000000000..5859ac065 --- /dev/null +++ b/third_party/googleapis/google/chat/v1/chat_v1.yaml @@ -0,0 +1,144 @@ +type: google.api.Service +config_version: 3 +name: chat.googleapis.com +title: Google Chat API + +apis: +- name: google.chat.v1.ChatService + +documentation: + summary: |- + Enables apps to fetch information and perform actions in Google Chat. + Authentication is a prerequisite for using the Google Chat REST API. + +authentication: + rules: + - selector: google.chat.v1.ChatService.CompleteImportSpace + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/chat.import + - selector: google.chat.v1.ChatService.CreateMembership + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/chat.import, + https://www.googleapis.com/auth/chat.memberships, + https://www.googleapis.com/auth/chat.memberships.app + - selector: google.chat.v1.ChatService.CreateMessage + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/chat.bot, + https://www.googleapis.com/auth/chat.import, + https://www.googleapis.com/auth/chat.messages, + https://www.googleapis.com/auth/chat.messages.create + - selector: google.chat.v1.ChatService.CreateReaction + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/chat.import, + https://www.googleapis.com/auth/chat.messages, + https://www.googleapis.com/auth/chat.messages.reactions, + https://www.googleapis.com/auth/chat.messages.reactions.create + - selector: google.chat.v1.ChatService.CreateSpace + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/chat.import, + https://www.googleapis.com/auth/chat.spaces, + https://www.googleapis.com/auth/chat.spaces.create + - selector: google.chat.v1.ChatService.DeleteMembership + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/chat.import, + https://www.googleapis.com/auth/chat.memberships, + https://www.googleapis.com/auth/chat.memberships.app + - selector: google.chat.v1.ChatService.DeleteMessage + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/chat.bot, + https://www.googleapis.com/auth/chat.import, + https://www.googleapis.com/auth/chat.messages + - selector: google.chat.v1.ChatService.DeleteReaction + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/chat.import, + https://www.googleapis.com/auth/chat.messages, + https://www.googleapis.com/auth/chat.messages.reactions + - selector: google.chat.v1.ChatService.DeleteSpace + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/chat.delete, + https://www.googleapis.com/auth/chat.import + - selector: google.chat.v1.ChatService.FindDirectMessage + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/chat.bot, + https://www.googleapis.com/auth/chat.spaces, + https://www.googleapis.com/auth/chat.spaces.readonly + - selector: google.chat.v1.ChatService.GetAttachment + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/chat.bot + - selector: google.chat.v1.ChatService.GetMembership + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/chat.bot, + https://www.googleapis.com/auth/chat.memberships, + https://www.googleapis.com/auth/chat.memberships.readonly + - selector: google.chat.v1.ChatService.GetMessage + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/chat.bot, + https://www.googleapis.com/auth/chat.messages, + https://www.googleapis.com/auth/chat.messages.readonly + - selector: google.chat.v1.ChatService.GetSpace + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/chat.bot, + https://www.googleapis.com/auth/chat.spaces, + https://www.googleapis.com/auth/chat.spaces.readonly + - selector: google.chat.v1.ChatService.ListMemberships + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/chat.bot, + https://www.googleapis.com/auth/chat.import, + https://www.googleapis.com/auth/chat.memberships, + https://www.googleapis.com/auth/chat.memberships.readonly + - selector: google.chat.v1.ChatService.ListMessages + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/chat.import, + https://www.googleapis.com/auth/chat.messages, + https://www.googleapis.com/auth/chat.messages.readonly + - selector: google.chat.v1.ChatService.ListReactions + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/chat.messages, + https://www.googleapis.com/auth/chat.messages.reactions, + https://www.googleapis.com/auth/chat.messages.reactions.readonly, + https://www.googleapis.com/auth/chat.messages.readonly + - selector: google.chat.v1.ChatService.ListSpaces + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/chat.bot, + https://www.googleapis.com/auth/chat.spaces, + https://www.googleapis.com/auth/chat.spaces.readonly + - selector: google.chat.v1.ChatService.SetUpSpace + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/chat.spaces, + https://www.googleapis.com/auth/chat.spaces.create + - selector: google.chat.v1.ChatService.UpdateMessage + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/chat.bot, + https://www.googleapis.com/auth/chat.import, + https://www.googleapis.com/auth/chat.messages + - selector: google.chat.v1.ChatService.UpdateSpace + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/chat.import, + https://www.googleapis.com/auth/chat.spaces + - selector: google.chat.v1.ChatService.UploadAttachment + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/chat.import, + https://www.googleapis.com/auth/chat.messages, + https://www.googleapis.com/auth/chat.messages.create diff --git a/third_party/googleapis/google/chat/v1/contextual_addon.proto b/third_party/googleapis/google/chat/v1/contextual_addon.proto new file mode 100644 index 000000000..ad3725afc --- /dev/null +++ b/third_party/googleapis/google/chat/v1/contextual_addon.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.chat.v1; + +import "google/chat/v1/widgets.proto"; + +option go_package = "google.golang.org/genproto/googleapis/chat/v1;chat"; +option java_multiple_files = true; +option java_outer_classname = "ContextualAddOnProto"; +option java_package = "com.google.chat.v1"; + +// The markup for developers to specify the contents of a contextual AddOn. +message ContextualAddOnMarkup { + // A card is a UI element that can contain UI widgets such as text and + // images. + message Card { + message CardHeader { + enum ImageStyle { + IMAGE_STYLE_UNSPECIFIED = 0; + + // Square border. + IMAGE = 1; + + // Circular border. + AVATAR = 2; + } + + // The title must be specified. The header has a fixed height: if both a + // title and subtitle is specified, each takes up one line. If only the + // title is specified, it takes up both lines. + string title = 1; + + // The subtitle of the card header. + string subtitle = 2; + + // The image's type (for example, square border or circular border). + ImageStyle image_style = 3; + + // The URL of the image in the card header. + string image_url = 4; + } + + // A section contains a collection of widgets that are rendered + // (vertically) in the order that they are specified. Across all platforms, + // cards have a narrow fixed width, so + // there's currently no need for layout properties (for example, float). + message Section { + // The header of the section. Formatted text is + // supported. For more information + // about formatting text, see + // [Formatting text in Google Chat + // apps](https://developers.google.com/chat/format-messages#card-formatting) + // and + // [Formatting + // text in Google Workspace + // Add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting). + string header = 1; + + // A section must contain at least one widget. + repeated WidgetMarkup widgets = 2; + } + + // A card action is + // the action associated with the card. For an invoice card, a + // typical action would be: delete invoice, email invoice or open the + // invoice in browser. + // + // Not supported by Google Chat apps. + message CardAction { + // The label used to be displayed in the action menu item. + string action_label = 1; + + // The onclick action for this action item. + WidgetMarkup.OnClick on_click = 2; + } + + // The header of the card. A header usually contains a title and an image. + CardHeader header = 1; + + // Sections are separated by a line divider. + repeated Section sections = 2; + + // The actions of this card. + repeated CardAction card_actions = 3; + + // Name of the card. + string name = 4; + } +} diff --git a/third_party/googleapis/google/chat/v1/deletion_metadata.proto b/third_party/googleapis/google/chat/v1/deletion_metadata.proto new file mode 100644 index 000000000..6b3ed17f0 --- /dev/null +++ b/third_party/googleapis/google/chat/v1/deletion_metadata.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.chat.v1; + +option go_package = "google.golang.org/genproto/googleapis/chat/v1;chat"; +option java_multiple_files = true; +option java_outer_classname = "DeletionMetadataProto"; +option java_package = "com.google.chat.v1"; + +// Information about a deleted message. A message is deleted when `delete_time` +// is set. +message DeletionMetadata { + // Who deleted the message and how it was deleted. + enum DeletionType { + // This value is unused. + DELETION_TYPE_UNSPECIFIED = 0; + + // User deleted their own message. + CREATOR = 1; + + // The space owner deleted the message. + SPACE_OWNER = 2; + + // A Google Workspace admin deleted the message. + ADMIN = 3; + + // A Chat app deleted its own message when it expired. + APP_MESSAGE_EXPIRY = 4; + + // A Chat app deleted the message on behalf of the user. + CREATOR_VIA_APP = 5; + + // A Chat app deleted the message on behalf of the space owner. + SPACE_OWNER_VIA_APP = 6; + } + + // Indicates who deleted the message. + DeletionType deletion_type = 1; +} diff --git a/third_party/googleapis/google/chat/v1/group.proto b/third_party/googleapis/google/chat/v1/group.proto new file mode 100644 index 000000000..7b0d9d906 --- /dev/null +++ b/third_party/googleapis/google/chat/v1/group.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.chat.v1; + +option go_package = "google.golang.org/genproto/googleapis/chat/v1;chat"; +option java_multiple_files = true; +option java_outer_classname = "GroupProto"; +option java_package = "com.google.chat.v1"; + +// A Google Group in Google Chat. +message Group { + // Resource name for a Google Group. + // + // Represents a + // [group](https://cloud.google.com/identity/docs/reference/rest/v1/groups) in + // Cloud Identity Groups API. + // + // Format: groups/{group} + string name = 1; +} diff --git a/third_party/googleapis/google/chat/v1/history_state.proto b/third_party/googleapis/google/chat/v1/history_state.proto new file mode 100644 index 000000000..adb1a6737 --- /dev/null +++ b/third_party/googleapis/google/chat/v1/history_state.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.chat.v1; + +option go_package = "google.golang.org/genproto/googleapis/chat/v1;chat"; +option java_multiple_files = true; +option java_outer_classname = "HistoryStateProto"; +option java_package = "com.google.chat.v1"; + +// The history state for messages and spaces. Specifies how long messages and +// conversation threads are kept after creation. +enum HistoryState { + // Default value. Do not use. + HISTORY_STATE_UNSPECIFIED = 0; + + // History off. [Messages and threads are kept for 24 + // hours](https://support.google.com/chat/answer/7664687). + HISTORY_OFF = 1; + + // History on. The organization's [Vault retention + // rules](https://support.google.com/vault/answer/7657597) specify for + // how long messages and threads are kept. + HISTORY_ON = 2; +} diff --git a/third_party/googleapis/google/chat/v1/matched_url.proto b/third_party/googleapis/google/chat/v1/matched_url.proto new file mode 100644 index 000000000..6e65a0fe4 --- /dev/null +++ b/third_party/googleapis/google/chat/v1/matched_url.proto @@ -0,0 +1,32 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.chat.v1; + +import "google/api/field_behavior.proto"; + +option go_package = "google.golang.org/genproto/googleapis/chat/v1;chat"; +option java_multiple_files = true; +option java_outer_classname = "MatchedUrlProto"; +option java_package = "com.google.chat.v1"; + +// A matched URL in a Chat message. Chat apps can preview matched URLs. For more +// information, see [Preview +// links](https://developers.google.com/chat/how-tos/preview-links). +message MatchedUrl { + // Output only. The URL that was matched. + string url = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/chat/v1/membership.proto b/third_party/googleapis/google/chat/v1/membership.proto new file mode 100644 index 000000000..1943a07d2 --- /dev/null +++ b/third_party/googleapis/google/chat/v1/membership.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.chat.v1; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +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 java_multiple_files = true; +option java_outer_classname = "MembershipProto"; +option java_package = "com.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. +message Membership { + option (google.api.resource) = { + type: "chat.googleapis.com/Membership" + pattern: "spaces/{space}/members/{member}" + }; + + // Specifies the member's relationship with a space. Other membership states + // might be supported in the future. + enum MembershipState { + // Default value. Don't use. + MEMBERSHIP_STATE_UNSPECIFIED = 0; + + // The user is added to the space, and can participate in the space. + JOINED = 1; + + // The user is invited to join the space, but hasn't joined it. + INVITED = 2; + + // The user doesn't belong to the space and doesn't have a pending + // invitation to join the space. + NOT_A_MEMBER = 3; + } + + // Represents a user's permitted actions in a Chat space. More enum values + // might be added in the future. + enum MembershipRole { + // Default value. For [users][google.chat.v1.Membership.member]: they + // aren't a member of the space, but can be invited. For + // [Google Groups][google.chat.v1.Membership.group_member]: they're always + // assigned this role (other enum values might be used in the future). + MEMBERSHIP_ROLE_UNSPECIFIED = 0; + + // A member of the space. The user has basic permissions, like sending + // messages to the space. In 1:1 and unnamed group conversations, everyone + // has this role. + ROLE_MEMBER = 1; + + // A space manager. The user has all basic permissions plus administrative + // permissions that let them manage the space, like adding or removing + // members. Only supported in + // [SpaceType.SPACE][google.chat.v1.Space.SpaceType]. + ROLE_MANAGER = 2; + } + + // Resource name of the membership, assigned by the server. + // + // Format: `spaces/{space}/members/{member}` + string name = 1 [ + (google.api.resource_reference) = { type: "chat.googleapis.com/Membership" } + ]; + + // Output only. State of the membership. + MembershipState state = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Optional. User's role within a Chat space, which determines their permitted + // actions in the space. + // + // [Developer Preview](https://developers.google.com/workspace/preview): + // This field can only be used as input in `UpdateMembership`. + MembershipRole role = 7 [(google.api.field_behavior) = OPTIONAL]; + + // Member associated with this membership. Other member types might be + // supported in the future. + oneof memberType { + // The Google Chat user or app the membership corresponds to. + // If your Chat app [authenticates as a + // user](https://developers.google.com/chat/api/guides/auth/users), the + // output populates the + // [user](https://developers.google.com/chat/api/reference/rest/v1/User) + // `name` and `type`. + User member = 3; + + // The Google Group the membership corresponds to. + // Only supports read operations. Other operations, like creating or + // updating a membership, aren't currently supported. + Group group_member = 5; + } + + // Optional. Immutable. The creation time of the membership, such as when a + // member joined or was invited to join a space. This field is output only, + // except when used to import historical memberships in import mode spaces. + google.protobuf.Timestamp create_time = 4 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.field_behavior) = OPTIONAL + ]; + + // Optional. Immutable. The deletion time of the membership, such as when a + // member left or was removed from a space. This field is output only, except + // when used to import historical memberships in import mode spaces. + google.protobuf.Timestamp delete_time = 8 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.field_behavior) = OPTIONAL + ]; +} + +message CreateMembershipRequest { + // Required. The resource name of the space for which to create the + // membership. + // + // Format: spaces/{space} + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "chat.googleapis.com/Membership" + } + ]; + + // Required. The membership relation to create. + // The `memberType` field must contain a user with the `user.name` and + // `user.type` fields populated. The server will assign a resource name + // and overwrite anything specified. + // When a Chat app creates a membership relation for a human user, it must use + // the `chat.memberships` scope, set `user.type` to `HUMAN`, and set + // `user.name` with format `users/{user}`, where `{user}` can be the email + // address for the user. For users in the same Workspace organization `{user}` + // can also be the `id` of the + // [person](https://developers.google.com/people/api/rest/v1/people) from the + // People API, or the `id` for the user in the Directory API. For example, if + // the People API Person profile ID for `user@example.com` is `123456789`, you + // can add the user to the space by setting the `membership.member.name` to + // `users/user@example.com` or `users/123456789`. When a Chat app creates a + // membership relation for itself, it must use the `chat.memberships.app` + // scope, set `user.type` to `BOT`, and set `user.name` to `users/app`. + Membership membership = 2 [(google.api.field_behavior) = REQUIRED]; +} + +message ListMembershipsRequest { + // Required. The resource name of the space for which to fetch a membership + // list. + // + // Format: spaces/{space} + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "chat.googleapis.com/Membership" + } + ]; + + // Optional. The maximum number of memberships to return. The service might + // return fewer than this value. + // + // If unspecified, at most 100 memberships are returned. + // + // The maximum value is 1,000. If you use a value more than 1,000, it's + // automatically changed to 1,000. + // + // Negative values return an `INVALID_ARGUMENT` error. + int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A page token, received from a previous call to list memberships. + // Provide this parameter to retrieve the subsequent page. + // + // When paginating, all other parameters provided should match the call that + // provided the page token. Passing different values to the other parameters + // might lead to unexpected results. + string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A query filter. + // + // You can filter memberships by a member's role + // ([`role`](https://developers.google.com/chat/api/reference/rest/v1/spaces.members#membershiprole)) + // and type + // ([`member.type`](https://developers.google.com/chat/api/reference/rest/v1/User#type)). + // + // To filter by role, set `role` to `ROLE_MEMBER` or `ROLE_MANAGER`. + // + // To filter by type, set `member.type` to `HUMAN` or `BOT`. + // + // To filter by both role and type, use the `AND` operator. To filter by + // either role or type, use the `OR` operator. + // + // For example, the following queries are valid: + // + // ``` + // role = "ROLE_MANAGER" OR role = "ROLE_MEMBER" + // member.type = "HUMAN" AND role = "ROLE_MANAGER" + // ``` + // + // The following queries are invalid: + // + // ``` + // member.type = "HUMAN" AND member.type = "BOT" + // role = "ROLE_MANAGER" AND role = "ROLE_MEMBER" + // ``` + // + // Invalid queries are rejected by the server with an `INVALID_ARGUMENT` + // error. + string filter = 5 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. When `true`, also returns memberships associated with a + // [Google Group][google.chat.v1.Membership.group_member], in + // addition to other types of memberships. If a + // [filter][google.chat.v1.ListMembershipsRequest.filter] is set, + // [Google Group][google.chat.v1.Membership.group_member] + // memberships that don't match the filter criteria aren't returned. + bool show_groups = 6 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. When `true`, also returns memberships associated with + // [invited][google.chat.v1.Membership.MembershipState.INVITED] members, in + // addition to other types of memberships. If a + // filter is set, + // [invited][google.chat.v1.Membership.MembershipState.INVITED] memberships + // that don't match the filter criteria aren't returned. + // + // Currently requires [user + // authentication](https://developers.google.com/chat/api/guides/auth/users). + bool show_invited = 7 [(google.api.field_behavior) = OPTIONAL]; +} + +message ListMembershipsResponse { + // Unordered list. List of memberships in the requested (or first) page. + repeated Membership memberships = 1 + [(google.api.field_behavior) = UNORDERED_LIST]; + + // A token that you can send as `pageToken` to retrieve the next page of + // results. If empty, there are no subsequent pages. + string next_page_token = 2; +} + +message GetMembershipRequest { + // Required. Resource name of the membership to retrieve. + // + // To get the app's own membership, you can optionally use + // `spaces/{space}/members/app`. + // + // Format: `spaces/{space}/members/{member}` or `spaces/{space}/members/app` + // + // When [authenticated as a + // user](https://developers.google.com/chat/api/guides/auth/users), you can + // use the user's email as an alias for `{member}`. For example, + // `spaces/{space}/members/example@gmail.com` where `example@gmail.com` is the + // email of the Google Chat user. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { type: "chat.googleapis.com/Membership" } + ]; +} + +message DeleteMembershipRequest { + // Required. Resource name of the membership to delete. Chat apps can delete + // human users' or their own memberships. Chat apps can't delete other apps' + // memberships. + // + // When deleting a human membership, requires the `chat.memberships` scope and + // `spaces/{space}/members/{member}` format. You can use the email as an + // alias for `{member}`. For example, + // `spaces/{space}/members/example@gmail.com` where `example@gmail.com` is the + // email of the Google Chat user. + // + // When deleting an app membership, requires the `chat.memberships.app` scope + // and `spaces/{space}/members/app` format. + // + // Format: `spaces/{space}/members/{member}` or `spaces/{space}/members/app`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { type: "chat.googleapis.com/Membership" } + ]; +} diff --git a/third_party/googleapis/google/chat/v1/message.proto b/third_party/googleapis/google/chat/v1/message.proto new file mode 100644 index 000000000..009b3819b --- /dev/null +++ b/third_party/googleapis/google/chat/v1/message.proto @@ -0,0 +1,642 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.chat.v1; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/apps/card/v1/card.proto"; +import "google/chat/v1/action_status.proto"; +import "google/chat/v1/annotation.proto"; +import "google/chat/v1/attachment.proto"; +import "google/chat/v1/contextual_addon.proto"; +import "google/chat/v1/deletion_metadata.proto"; +import "google/chat/v1/matched_url.proto"; +import "google/chat/v1/reaction.proto"; +import "google/chat/v1/slash_command.proto"; +import "google/chat/v1/space.proto"; +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 java_multiple_files = true; +option java_outer_classname = "MessageProto"; +option java_package = "com.google.chat.v1"; + +// A message in a Google Chat space. +message Message { + option (google.api.resource) = { + type: "chat.googleapis.com/Message" + pattern: "spaces/{space}/messages/{message}" + }; + + // Resource name of the message. + // + // Format: `spaces/{space}/messages/{message}` + // + // + // Where `{space}` is the ID of the space where the message is posted and + // `{message}` is a system-assigned ID for the message. For example, + // `spaces/AAAAAAAAAAA/messages/BBBBBBBBBBB.BBBBBBBBBBB`. + // + // If you set a custom ID when you create a message, you can use this ID to + // specify the message in a request by replacing `{message}` with the value + // from the `clientAssignedMessageId` field. For example, + // `spaces/AAAAAAAAAAA/messages/client-custom-name`. For details, see [Name + // a + // message](https://developers.google.com/chat/api/guides/v1/messages/create#name_a_created_message). + string name = 1; + + // Output only. The user who created the message. + // If your Chat app [authenticates as a + // user](https://developers.google.com/chat/api/guides/auth/users), the output + // populates the + // [user](https://developers.google.com/chat/api/reference/rest/v1/User) + // `name` and `type`. + User sender = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Optional. Immutable. For spaces created in Chat, the time at which the + // message was created. This field is output only, except when used in import + // mode spaces. + // + // For import mode spaces, set this field to the historical timestamp at which + // the message was created in the source in order to preserve the original + // creation time. + google.protobuf.Timestamp create_time = 3 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.field_behavior) = OPTIONAL + ]; + + // Output only. The time at which the message was last edited by a user. If + // the message has never been edited, this field is empty. + google.protobuf.Timestamp last_update_time = 23 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The time at which the message was deleted in + // Google Chat. If the message is never deleted, this field is empty. + google.protobuf.Timestamp delete_time = 26 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Plain-text body of the message. The first link to an image, video, or web + // page generates a + // [preview chip](https://developers.google.com/chat/how-tos/preview-links). + // You can also [@mention a Google Chat + // user](https://developers.google.com/chat/format-messages#messages-@mention), + // or everyone in the space. + // + // To learn about creating text messages, see [Send a text + // message](https://developers.google.com/chat/api/guides/v1/messages/create#create-text-messages). + string text = 4; + + // Output only. Contains the message `text` with markups added to communicate + // formatting. This field might not capture all formatting visible in the UI, + // but includes the following: + // + // * [Markup + // syntax](https://developers.google.com/chat/format-messages) + // for bold, italic, strikethrough, monospace, and monospace block. + // + // * [User + // mentions](https://developers.google.com/chat/format-messages#messages-@mention) + // using the format ``. + // + // * Custom hyperlinks using the format `<{url}|{rendered_text}>` where the + // first string is the URL and the second is the rendered text—for example, + // ``. + // + // * Custom emoji using the format `:{emoji_name}:`—for example, `:smile:`. + // This doesn't apply to Unicode emoji, such as `U+1F600` for a grinning + // face emoji. + // + // For more information, see [View text formatting sent in a + // message](https://developers.google.com/chat/format-messages#view_text_formatting_sent_in_a_message) + string formatted_text = 43 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Deprecated: Use `cards_v2` instead. + // + // Rich, formatted, and interactive cards that you can use to display UI + // elements such as: formatted texts, buttons, and clickable images. Cards are + // normally displayed below the plain-text body of the message. `cards` and + // `cards_v2` can have a maximum size of 32 KB. + repeated ContextualAddOnMarkup.Card cards = 5 [deprecated = true]; + + // An array of + // [cards](https://developers.google.com/chat/api/reference/rest/v1/cards). + // + // Only Chat apps can create cards. If your Chat app [authenticates as a + // user](https://developers.google.com/chat/api/guides/auth/users), the + // messages can't contain cards. + // + // To learn about cards and how to create them, see [Design dynamic, + // interactive, and consistent UIs with + // cards](https://developers.google.com/chat/ui). + // + // [Card builder](https://addons.gsuite.google.com/uikit/builder) + repeated CardWithId cards_v2 = 22; + + // Output only. Annotations associated with the `text` in this message. + repeated Annotation annotations = 10 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The thread the message belongs to. For example usage, see + // [Start or reply to a message + // thread](https://developers.google.com/chat/api/guides/v1/messages/create#create-message-thread). + Thread thread = 11; + + // If your Chat app [authenticates as a + // user](https://developers.google.com/chat/api/guides/auth/users), the output + // populates the + // [space](https://developers.google.com/chat/api/reference/rest/v1/spaces) + // `name`. + Space space = 12; + + // A plain-text description of the message's cards, used when the actual cards + // can't be displayed—for example, mobile notifications. + string fallback_text = 13; + + // Input only. Parameters that a Chat app can use to configure how its + // response is posted. + ActionResponse action_response = 14 + [(google.api.field_behavior) = INPUT_ONLY]; + + // Output only. Plain-text body of the message with all Chat app mentions + // stripped out. + string argument_text = 15 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Slash command information, if applicable. + SlashCommand slash_command = 17 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // User-uploaded attachment. + repeated Attachment attachment = 18; + + // Output only. A URL in `spaces.messages.text` that matches a link preview + // pattern. For more information, see [Preview + // links](https://developers.google.com/chat/how-tos/preview-links). + MatchedUrl matched_url = 20 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. When `true`, the message is a response in a reply thread. When + // `false`, the message is visible in the space's top-level conversation as + // either the first message of a thread or a message with no threaded replies. + // + // If the space doesn't support reply in threads, this field is always + // `false`. + bool thread_reply = 25 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Optional. A custom ID for the message. You can use field to identify a + // message, or to get, delete, or update a message. To set a custom ID, + // specify the + // [`messageId`](https://developers.google.com/chat/api/reference/rest/v1/spaces.messages/create#body.QUERY_PARAMETERS.message_id) + // field when you create the message. For details, see [Name a + // message](https://developers.google.com/chat/api/guides/v1/messages/create#name_a_created_message). + string client_assigned_message_id = 32; + + // Output only. The list of emoji reaction summaries on the message. + repeated EmojiReactionSummary emoji_reaction_summaries = 33 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. Input for creating a message, otherwise output only. The user + // that can view the message. When set, the message is private and only + // visible to the specified user and the Chat app. Link previews and + // attachments aren't supported for private messages. + // + // Only Chat apps can send private messages. If your Chat app [authenticates + // as a user](https://developers.google.com/chat/api/guides/auth/users) to + // send a message, the message can't be private and must omit this field. + // + // For details, see [Send private messages to Google Chat + // users](https://developers.google.com/chat/api/guides/v1/messages/private). + User private_message_viewer = 36 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. Information about a deleted message. A message is deleted when + // `delete_time` is set. + DeletionMetadata deletion_metadata = 38 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Information about a message that's quoted by a Google Chat + // user in a space. Google Chat users can quote a message to reply to it. + QuotedMessageMetadata quoted_message_metadata = 39 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. GIF images that are attached to the message. + repeated AttachedGif attached_gifs = 42 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// A GIF image that's specified by a URL. +message AttachedGif { + // Output only. The URL that hosts the GIF image. + string uri = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Information about a quoted message. +message QuotedMessageMetadata { + option (google.api.resource) = { + type: "chat.googleapis.com/QuotedMessageMetadata" + pattern: "spaces/{space}/messages/{message}/quotedMessageMetadata/{quoted_message_metadata}" + }; + + // Output only. Resource name of the quoted message. + // + // Format: `spaces/{space}/messages/{message}` + string name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { type: "chat.googleapis.com/Message" } + ]; + + // Output only. The timestamp when the quoted message was created or when the + // quoted message was last updated. + google.protobuf.Timestamp last_update_time = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// A thread in a Google Chat space. For example usage, see +// [Start or reply to a message +// thread](https://developers.google.com/chat/api/guides/v1/messages/create#create-message-thread). +// +// If you specify a thread when creating a message, you can set the +// [`messageReplyOption`](https://developers.google.com/chat/api/reference/rest/v1/spaces.messages/create#messagereplyoption) +// field to determine what happens if no matching thread is found. +message Thread { + option (google.api.resource) = { + type: "chat.googleapis.com/Thread" + pattern: "spaces/{space}/threads/{thread}" + }; + + // Output only. Resource name of the thread. + // + // Example: `spaces/{space}/threads/{thread}` + string name = 1; + + // Optional. Input for creating or updating a thread. Otherwise, output only. + // ID for the thread. Supports up to 4000 characters. + // + // This ID is unique to the Chat app that sets it. For example, if + // multiple Chat apps create a message using the same thread key, + // the messages are posted in different threads. To reply in a + // thread created by a person or another Chat app, specify the thread `name` + // field instead. + string thread_key = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// Parameters that a Chat app can use to configure how its response is posted. +message ActionResponse { + // The type of Chat app response. + enum ResponseType { + // Default type that's handled as `NEW_MESSAGE`. + TYPE_UNSPECIFIED = 0; + + // Post as a new message in the topic. + NEW_MESSAGE = 1; + + // Update the Chat app's message. This is only permitted on a `CARD_CLICKED` + // event where the message sender type is `BOT`. + UPDATE_MESSAGE = 2; + + // Update the cards on a user's message. This is only permitted as a + // response to a `MESSAGE` event with a matched url, or a `CARD_CLICKED` + // event where the message sender type is `HUMAN`. Text is ignored. + UPDATE_USER_MESSAGE_CARDS = 6; + + // Privately ask the user for additional authentication or configuration. + REQUEST_CONFIG = 3; + + // Presents a + // [dialog](https://developers.google.com/chat/how-tos/dialogs). + DIALOG = 4; + + // Widget text autocomplete options query. + UPDATE_WIDGET = 7; + } + + // List of widget autocomplete results. + message SelectionItems { + // An array of the SelectionItem objects. + repeated google.apps.card.v1.SelectionInput.SelectionItem items = 1; + } + + // The response of the updated widget. + // Used to provide autocomplete options for a widget. + message UpdatedWidget { + oneof updated_widget { + // List of widget autocomplete results + SelectionItems suggestions = 1; + } + + // The ID of the updated widget. The ID must match the one for the + // widget that triggered the update request. + string widget = 2; + } + + // Input only. The type of Chat app response. + ResponseType type = 1 [(google.api.field_behavior) = INPUT_ONLY]; + + // Input only. URL for users to authenticate or configure. (Only for + // `REQUEST_CONFIG` response types.) + string url = 2 [(google.api.field_behavior) = INPUT_ONLY]; + + // Input only. A response to an interaction event related to a + // [dialog](https://developers.google.com/chat/how-tos/dialogs). Must be + // accompanied by `ResponseType.Dialog`. + DialogAction dialog_action = 3 [(google.api.field_behavior) = INPUT_ONLY]; + + // Input only. The response of the updated widget. + UpdatedWidget updated_widget = 4 [(google.api.field_behavior) = INPUT_ONLY]; +} + +message GetMessageRequest { + // Required. Resource name of the message. + // + // Format: `spaces/{space}/messages/{message}` + // + // If you've set a custom ID for your message, you can use the value from the + // `clientAssignedMessageId` field for `{message}`. For details, see [Name a + // message] + // (https://developers.google.com/chat/api/guides/v1/messages/create#name_a_created_message). + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { type: "chat.googleapis.com/Message" } + ]; +} + +message DeleteMessageRequest { + // Required. Resource name of the message. + // + // Format: `spaces/{space}/messages/{message}` + // + // If you've set a custom ID for your message, you can use the value from the + // `clientAssignedMessageId` field for `{message}`. For details, see [Name a + // message] + // (https://developers.google.com/chat/api/guides/v1/messages/create#name_a_created_message). + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { type: "chat.googleapis.com/Message" } + ]; + + // When `true`, deleting a message also deletes its threaded replies. When + // `false`, if a message has threaded replies, deletion fails. + // + // Only applies when [authenticating as a + // user](https://developers.google.com/chat/api/guides/auth/users). Has no + // effect when [authenticating as a Chat app] + // (https://developers.google.com/chat/api/guides/auth/service-accounts). + bool force = 2; +} + +message UpdateMessageRequest { + // Required. Message with fields updated. + Message message = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The field paths to update. Separate multiple values with commas + // or use `*` to update all field paths. + // + // Currently supported field paths: + // + // - `text` + // + // - `attachment` + // + // - `cards` (Requires [app + // authentication](/chat/api/guides/auth/service-accounts).) + // + // - `cards_v2` (Requires [app + // authentication](/chat/api/guides/auth/service-accounts).) + // + // - Developer Preview: `accessory_widgets` (Requires [app + // authentication](/chat/api/guides/auth/service-accounts).) + google.protobuf.FieldMask update_mask = 2; + + // Optional. If `true` and the message isn't found, a new message is created + // and `updateMask` is ignored. The specified message ID must be + // [client-assigned](https://developers.google.com/chat/api/guides/v1/messages/create#name_a_created_message) + // or the request fails. + bool allow_missing = 4 [(google.api.field_behavior) = OPTIONAL]; +} + +// Creates a message. +message CreateMessageRequest { + // Specifies how to reply to a message. + // More states might be added in the future. + enum MessageReplyOption { + // Default. Starts a new thread. Using this option ignores any [thread + // ID][google.chat.v1.Thread.name] or + // [`thread_key`][google.chat.v1.Thread.thread_key] that's included. + MESSAGE_REPLY_OPTION_UNSPECIFIED = 0; + + // Creates the message as a reply to the thread specified by [thread + // ID][google.chat.v1.Thread.name] or + // [`thread_key`][google.chat.v1.Thread.thread_key]. If it fails, the + // message starts a new thread instead. + REPLY_MESSAGE_FALLBACK_TO_NEW_THREAD = 1; + + // Creates the message as a reply to the thread specified by [thread + // ID][google.chat.v1.Thread.name] or + // [`thread_key`][google.chat.v1.Thread.thread_key]. If a new `thread_key` + // is used, a new thread is created. If the message creation fails, a + // `NOT_FOUND` error is returned instead. + REPLY_MESSAGE_OR_FAIL = 2; + } + + // Required. The resource name of the space in which to create a message. + // + // Format: `spaces/{space}` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "chat.googleapis.com/Message" + } + ]; + + // Required. Message body. + Message message = 4 [(google.api.field_behavior) = REQUIRED]; + + // Optional. Deprecated: Use + // [thread.thread_key][google.chat.v1.Thread.thread_key] instead. ID for the + // thread. Supports up to 4000 characters. To start or add to a thread, create + // a message and specify a `threadKey` or the + // [thread.name][google.chat.v1.Thread.name]. For example usage, see [Start or + // reply to a message + // thread](https://developers.google.com/chat/api/guides/v1/messages/create#create-message-thread). + string thread_key = 6 + [deprecated = true, (google.api.field_behavior) = OPTIONAL]; + + // Optional. A unique request ID for this message. Specifying an existing + // request ID returns the message created with that ID instead of creating a + // new message. + string request_id = 7 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Specifies whether a message starts a thread or replies to one. + // Only supported in named spaces. + MessageReplyOption message_reply_option = 8 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A custom ID for a message. Lets Chat apps get, update, or delete + // a message without needing to store the system-assigned ID in the message's + // resource name (represented in the message `name` field). + // + // The value for this field must meet the following requirements: + // + // * Begins with `client-`. For example, `client-custom-name` is a valid + // custom ID, but `custom-name` is not. + // * Contains up to 63 characters and only lowercase letters, numbers, and + // hyphens. + // * Is unique within a space. A Chat app can't use the same custom ID for + // different messages. + // + // For details, see [Name a + // message](https://developers.google.com/chat/api/guides/v1/messages/create#name_a_created_message). + string message_id = 9 [(google.api.field_behavior) = OPTIONAL]; +} + +// Lists messages in the specified space, that the user is a member of. +message ListMessagesRequest { + // Required. The resource name of the space to list messages from. + // + // Format: `spaces/{space}` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "chat.googleapis.com/Message" + } + ]; + + // The maximum number of messages returned. The service might return fewer + // messages than this value. + // + // If unspecified, at most 25 are returned. + // + // The maximum value is 1,000. If you use a value more than 1,000, it's + // automatically changed to 1,000. + // + // Negative values return an `INVALID_ARGUMENT` error. + int32 page_size = 2; + + // Optional, if resuming from a previous query. + // + // A page token received from a previous list messages call. Provide this + // parameter to retrieve the subsequent page. + // + // When paginating, all other parameters provided should match the call that + // provided the page token. Passing different values to the other parameters + // might lead to unexpected results. + string page_token = 3; + + // A query filter. + // + // You can filter messages by date (`create_time`) and thread (`thread.name`). + // + // To filter messages by the date they were created, specify the `create_time` + // with a timestamp in [RFC-3339](https://www.rfc-editor.org/rfc/rfc3339) + // format and double quotation marks. For example, + // `"2023-04-21T11:30:00-04:00"`. You can use the greater than operator `>` to + // list messages that were created after a timestamp, or the less than + // operator `<` to list messages that were created before a timestamp. To + // filter messages within a time interval, use the `AND` operator between two + // timestamps. + // + // To filter by thread, specify the `thread.name`, formatted as + // `spaces/{space}/threads/{thread}`. You can only specify one + // `thread.name` per query. + // + // To filter by both thread and date, use the `AND` operator in your query. + // + // For example, the following queries are valid: + // + // ``` + // create_time > "2012-04-21T11:30:00-04:00" + // + // create_time > "2012-04-21T11:30:00-04:00" AND + // thread.name = spaces/AAAAAAAAAAA/threads/123 + // + // create_time > "2012-04-21T11:30:00+00:00" AND + // + // create_time < "2013-01-01T00:00:00+00:00" AND + // thread.name = spaces/AAAAAAAAAAA/threads/123 + // + // thread.name = spaces/AAAAAAAAAAA/threads/123 + // ``` + // + // Invalid queries are rejected by the server with an `INVALID_ARGUMENT` + // error. + string filter = 4; + + // Optional, if resuming from a previous query. + // + // How the list of messages is ordered. Specify a value to order by an + // ordering operation. Valid ordering operation values are as follows: + // + // - `ASC` for ascending. + // + // - `DESC` for descending. + // + // The default ordering is `create_time ASC`. + string order_by = 5; + + // Whether to include deleted messages. Deleted messages include deleted time + // and metadata about their deletion, but message content is unavailable. + bool show_deleted = 6; +} + +message ListMessagesResponse { + // List of messages. + repeated Message messages = 1; + + // You can send a token as `pageToken` to retrieve the next page of + // results. If empty, there are no subsequent pages. + string next_page_token = 2; +} + +// Contains a +// [dialog](https://developers.google.com/chat/how-tos/dialogs) and request +// status code. +message DialogAction { + oneof action { + // Input only. [Dialog](https://developers.google.com/chat/how-tos/dialogs) + // for the request. + Dialog dialog = 1 [(google.api.field_behavior) = INPUT_ONLY]; + } + + // Input only. Status for a request to either invoke or submit a + // [dialog](https://developers.google.com/chat/how-tos/dialogs). Displays + // a status and message to users, if necessary. + // For example, in case of an error or success. + ActionStatus action_status = 2 [(google.api.field_behavior) = INPUT_ONLY]; +} + +// Wrapper around the card body of the dialog. +message Dialog { + // Input only. Body of the dialog, which is rendered in a modal. + // Google Chat apps don't support the following card entities: + // `DateTimePicker`, `OnChangeAction`. + google.apps.card.v1.Card body = 1 [(google.api.field_behavior) = INPUT_ONLY]; +} + +// A [card](https://developers.google.com/chat/api/reference/rest/v1/cards) in a +// Google Chat message. +// +// Only Chat apps can create cards. If your Chat app [authenticates as a +// user](https://developers.google.com/chat/api/guides/auth/users), the message +// can't contain cards. +// +// [Card builder](https://addons.gsuite.google.com/uikit/builder) +message CardWithId { + // Required if the message contains multiple cards. A unique identifier for + // a card in a message. + string card_id = 1; + + // A card. Maximum size is 32 KB. + google.apps.card.v1.Card card = 2; +} diff --git a/third_party/googleapis/google/chat/v1/reaction.proto b/third_party/googleapis/google/chat/v1/reaction.proto new file mode 100644 index 000000000..b4778ecb0 --- /dev/null +++ b/third_party/googleapis/google/chat/v1/reaction.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.chat.v1; + +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 java_multiple_files = true; +option java_outer_classname = "ReactionProto"; +option java_package = "com.google.chat.v1"; + +// A reaction to a message. +message Reaction { + option (google.api.resource) = { + type: "chat.googleapis.com/Reaction" + pattern: "spaces/{space}/messages/{message}/reactions/{reaction}" + }; + + // The resource name of the reaction. + // + // Format: `spaces/{space}/messages/{message}/reactions/{reaction}` + string name = 1; + + // Output only. The user who created the reaction. + User user = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The emoji used in the reaction. + Emoji emoji = 3; +} + +// An emoji that is used as a reaction to a message. +message Emoji { + oneof content { + // A basic emoji represented by a unicode string. + string unicode = 1; + + // Output only. A custom emoji. + CustomEmoji custom_emoji = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + } +} + +// Represents a custom emoji. +message CustomEmoji { + // Unique key for the custom emoji resource. + string uid = 1; +} + +// The number of people who reacted to a message with a specific emoji. +message EmojiReactionSummary { + // Emoji associated with the reactions. + Emoji emoji = 1; + + // The total number of reactions using the associated emoji. + optional int32 reaction_count = 2; +} + +// Creates a reaction to a message. +message CreateReactionRequest { + // Required. The message where the reaction is created. + // + // Format: `spaces/{space}/messages/{message}` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "chat.googleapis.com/Reaction" + } + ]; + + // Required. The reaction to create. + Reaction reaction = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Lists reactions to a message. +message ListReactionsRequest { + // Required. The message users reacted to. + // + // Format: `spaces/{space}/messages/{message}` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "chat.googleapis.com/Reaction" + } + ]; + + // Optional. The maximum number of reactions returned. The service can return + // fewer reactions than this value. If unspecified, the default value is 25. + // The maximum value is 200; values above 200 are changed to 200. + int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. (If resuming from a previous query.) + // + // A page token received from a previous list reactions call. Provide this + // to retrieve the subsequent page. + // + // When paginating, the filter value should match the call that provided the + // page token. Passing a different value might lead to unexpected results. + string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A query filter. + // + // You can filter reactions by + // [emoji](https://developers.google.com/chat/api/reference/rest/v1/Emoji) + // (either `emoji.unicode` or `emoji.custom_emoji.uid`) and + // [user](https://developers.google.com/chat/api/reference/rest/v1/User) + // (`user.name`). + // + // To filter reactions for multiple emojis or users, join similar fields + // with the `OR` operator, such as `emoji.unicode = "🙂" OR emoji.unicode = + // "👍"` and `user.name = "users/AAAAAA" OR user.name = "users/BBBBBB"`. + // + // To filter reactions by emoji and user, use the `AND` operator, such as + // `emoji.unicode = "🙂" AND user.name = "users/AAAAAA"`. + // + // If your query uses both `AND` and `OR`, group them with parentheses. + // + // For example, the following queries are valid: + // + // ``` + // user.name = "users/{user}" + // emoji.unicode = "🙂" + // emoji.custom_emoji.uid = "{uid}" + // emoji.unicode = "🙂" OR emoji.unicode = "👍" + // emoji.unicode = "🙂" OR emoji.custom_emoji.uid = "{uid}" + // emoji.unicode = "🙂" AND user.name = "users/{user}" + // (emoji.unicode = "🙂" OR emoji.custom_emoji.uid = "{uid}") + // AND user.name = "users/{user}" + // ``` + // + // The following queries are invalid: + // + // ``` + // emoji.unicode = "🙂" AND emoji.unicode = "👍" + // emoji.unicode = "🙂" AND emoji.custom_emoji.uid = "{uid}" + // emoji.unicode = "🙂" OR user.name = "users/{user}" + // emoji.unicode = "🙂" OR emoji.custom_emoji.uid = "{uid}" OR + // user.name = "users/{user}" + // emoji.unicode = "🙂" OR emoji.custom_emoji.uid = "{uid}" + // AND user.name = "users/{user}" + // ``` + // + // Invalid queries are rejected by the server with an `INVALID_ARGUMENT` + // error. + string filter = 4 [(google.api.field_behavior) = OPTIONAL]; +} + +message ListReactionsResponse { + // List of reactions in the requested (or first) page. + repeated Reaction reactions = 1; + + // Continuation token to retrieve the next page of results. It's empty + // for the last page of results. + string next_page_token = 2; +} + +// Deletes a reaction to a message. +message DeleteReactionRequest { + // Required. Name of the reaction to delete. + // + // Format: `spaces/{space}/messages/{message}/reactions/{reaction}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { type: "chat.googleapis.com/Reaction" } + ]; +} diff --git a/third_party/googleapis/google/chat/v1/slash_command.proto b/third_party/googleapis/google/chat/v1/slash_command.proto new file mode 100644 index 000000000..8917d6868 --- /dev/null +++ b/third_party/googleapis/google/chat/v1/slash_command.proto @@ -0,0 +1,29 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.chat.v1; + +option go_package = "google.golang.org/genproto/googleapis/chat/v1;chat"; +option java_multiple_files = true; +option java_outer_classname = "SlashCommandProto"; +option java_package = "com.google.chat.v1"; + +// A [slash command](https://developers.google.com/chat/how-tos/slash-commands) +// in Google Chat. +message SlashCommand { + // The ID of the slash command invoked. + int64 command_id = 1; +} diff --git a/third_party/googleapis/google/chat/v1/space.proto b/third_party/googleapis/google/chat/v1/space.proto new file mode 100644 index 000000000..48eabeedf --- /dev/null +++ b/third_party/googleapis/google/chat/v1/space.proto @@ -0,0 +1,357 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.chat.v1; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +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 java_multiple_files = true; +option java_outer_classname = "SpaceProto"; +option java_package = "com.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. +message Space { + option (google.api.resource) = { + type: "chat.googleapis.com/Space" + pattern: "spaces/{space}" + }; + + // Deprecated: Use `SpaceType` instead. + enum Type { + TYPE_UNSPECIFIED = 0; + + // Conversations between two or more humans. + ROOM = 1; + + // 1:1 Direct Message between a human and a Chat app, where all messages are + // flat. Note that this doesn't include direct messages between two humans. + DM = 2; + } + + // The type of space. Required when creating or updating a space. Output only + // for other usage. + enum SpaceType { + // Reserved. + SPACE_TYPE_UNSPECIFIED = 0; + + // A place where people send messages, share files, and collaborate. + // A `SPACE` can include Chat apps. + SPACE = 1; + + // Group conversations between 3 or more people. + // A `GROUP_CHAT` can include Chat apps. + GROUP_CHAT = 2; + + // 1:1 messages between two humans or a human and a Chat app. + DIRECT_MESSAGE = 3; + } + + // Specifies the type of threading state in the Chat space. + enum SpaceThreadingState { + // Reserved. + SPACE_THREADING_STATE_UNSPECIFIED = 0; + + // Named spaces that support message threads. When users respond to a + // message, they can reply in-thread, which keeps their response in the + // context of the original message. + THREADED_MESSAGES = 2; + + // Named spaces where the conversation is organized by topic. Topics and + // their replies are grouped together. + GROUPED_MESSAGES = 3; + + // Direct messages (DMs) between two people and group conversations between + // 3 or more people. + UNTHREADED_MESSAGES = 4; + } + + // Details about the space including description and rules. + message SpaceDetails { + // Optional. A description of the space. For example, describe the space's + // discussion topic, functional purpose, or participants. + // + // Supports up to 150 characters. + string description = 1; + + // Optional. The space's rules, expectations, and etiquette. + // + // Supports up to 5,000 characters. + string guidelines = 2; + } + + // Resource name of the space. + // + // Format: `spaces/{space}` + string name = 1; + + // Output only. Deprecated: Use `space_type` instead. + // The type of a space. + Type type = 2 [deprecated = true, (google.api.field_behavior) = OUTPUT_ONLY]; + + // The type of space. Required when creating a space or updating the space + // type of a space. Output only for other usage. + SpaceType space_type = 10; + + // Optional. Whether the space is a DM between a Chat app and a single + // human. + bool single_user_bot_dm = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Output only. Deprecated: Use `spaceThreadingState` instead. + // Whether messages are threaded in this space. + bool threaded = 5 + [deprecated = true, (google.api.field_behavior) = OUTPUT_ONLY]; + + // The space's display name. Required when [creating a + // space](https://developers.google.com/chat/api/reference/rest/v1/spaces/create). + // If you receive the error message `ALREADY_EXISTS` when creating a space or + // updating the `displayName`, try a different `displayName`. An + // existing space within the Google Workspace organization might already use + // this display name. + // + // For direct messages, this field might be empty. + // + // Supports up to 128 characters. + string display_name = 3; + + // Immutable. Whether this space permits any Google Chat user as a member. + // Input when creating a space in a Google Workspace organization. Omit this + // field when creating spaces in the following conditions: + // + // * The authenticated user uses a Google Account. By default, + // the space permits any Google Chat user. + // + // * The space is used to [import data to Google Chat] + // (https://developers.google.com/chat/api/guides/import-data-overview). + // Import mode spaces must only permit members from the same Google + // Workspace organization. + // + // For existing spaces, this field is output only. + bool external_user_allowed = 8 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. The threading state in the Chat space. + SpaceThreadingState space_threading_state = 9 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Details about the space including description and rules. + SpaceDetails space_details = 11; + + // The message history state for messages and threads in this space. + HistoryState space_history_state = 13; + + // Optional. Whether this space is created in `Import Mode` as part of a data + // migration into Google Workspace. While spaces are being imported, they + // aren't visible to users until the import is complete. + bool import_mode = 16 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Immutable. For spaces created in Chat, the time the space was + // created. This field is output only, except when used in import mode spaces. + // + // For import mode spaces, set this field to the historical timestamp at which + // the space was created in the source in order to preserve the original + // creation time. + // + // Only populated in the output when `spaceType` is `GROUP_CHAT` or `SPACE`. + google.protobuf.Timestamp create_time = 17 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.field_behavior) = OPTIONAL + ]; + + // Output only. Whether the Chat app was installed by a Google Workspace + // administrator. Administrators can install a Chat app for their domain, + // organizational unit, or a group of users. + // + // Administrators can only install Chat apps for direct messaging between + // users and the app. To support admin install, your app must feature direct + // messaging. + bool admin_installed = 19 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +message CreateSpaceRequest { + // Required. The `displayName` and `spaceType` fields must be populated. Only + // `SpaceType.SPACE` is supported. + // + // If you receive the error message `ALREADY_EXISTS` when creating a space, + // try a different `displayName`. An existing space within the Google + // Workspace organization might already use this display name. + // + // The space `name` is assigned on the server so anything specified in this + // field will be ignored. + Space space = 1 [(google.api.field_behavior) = REQUIRED]; + + // Optional. A unique identifier for this request. + // A random UUID is recommended. + // Specifying an existing request ID returns the space created with that ID + // instead of creating a new space. + // Specifying an existing request ID from the same Chat app with a different + // authenticated user returns an error. + string request_id = 2 [(google.api.field_behavior) = OPTIONAL]; +} + +// A request to list the spaces the caller is a member of. +message ListSpacesRequest { + // Optional. The maximum number of spaces to return. The service might return + // fewer than this value. + // + // If unspecified, at most 100 spaces are returned. + // + // The maximum value is 1,000. If you use a value more than 1,000, it's + // automatically changed to 1,000. + // + // Negative values return an `INVALID_ARGUMENT` error. + int32 page_size = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A page token, received from a previous list spaces call. + // Provide this parameter to retrieve the subsequent page. + // + // When paginating, the filter value should match the call that provided the + // page token. Passing a different value may lead to unexpected results. + string page_token = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A query filter. + // + // You can filter spaces by the space type + // ([`space_type`](https://developers.google.com/chat/api/reference/rest/v1/spaces#spacetype)). + // + // To filter by space type, you must specify valid enum value, such as + // `SPACE` or `GROUP_CHAT` (the `space_type` can't be + // `SPACE_TYPE_UNSPECIFIED`). To query for multiple space types, use the `OR` + // operator. + // + // For example, the following queries are valid: + // + // ``` + // space_type = "SPACE" + // spaceType = "GROUP_CHAT" OR spaceType = "DIRECT_MESSAGE" + // ``` + // + // Invalid queries are rejected by the server with an `INVALID_ARGUMENT` + // error. + string filter = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +message ListSpacesResponse { + // List of spaces in the requested (or first) page. + repeated Space spaces = 1; + + // You can send a token as `pageToken` to retrieve the next page of + // results. If empty, there are no subsequent pages. + string next_page_token = 2; +} + +// A request to return a single space. +message GetSpaceRequest { + // Required. Resource name of the space, in the form "spaces/*". + // + // Format: `spaces/{space}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { type: "chat.googleapis.com/Space" } + ]; +} + +// A request to get direct message space based on the user resource. +message FindDirectMessageRequest { + // Required. Resource name of the user to find direct message with. + // + // Format: `users/{user}`, where `{user}` is either the `id` for the + // [person](https://developers.google.com/people/api/rest/v1/people) from the + // People API, or the `id` for the + // [user](https://developers.google.com/admin-sdk/directory/reference/rest/v1/users) + // in the Directory API. For example, if the People API profile ID is + // `123456789`, you can find a direct message with that person by using + // `users/123456789` as the `name`. When [authenticated as a + // user](https://developers.google.com/chat/api/guides/auth/users), you can + // use the email as an alias for `{user}`. For example, + // `users/example@gmail.com` where `example@gmail.com` is the email of the + // Google Chat user. + string name = 1 [(google.api.field_behavior) = REQUIRED]; +} + +// A request to update a single space. +message UpdateSpaceRequest { + // Required. Space with fields to be updated. `Space.name` must be + // populated in the form of `spaces/{space}`. Only fields + // specified by `update_mask` are updated. + Space space = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The updated field paths, comma separated if there are + // multiple. + // + // Currently supported field paths: + // + // - `display_name` (Only supports changing the display name of a space with + // the `SPACE` type, or when also including the `space_type` mask to change a + // `GROUP_CHAT` space type to `SPACE`. Trying to update the display name of a + // `GROUP_CHAT` or a `DIRECT_MESSAGE` space results in an invalid argument + // error. If you receive the error message `ALREADY_EXISTS` when updating the + // `displayName`, try a different `displayName`. An existing space within the + // Google Workspace organization might already use this display name.) + // + // - `space_type` (Only supports changing a `GROUP_CHAT` space type to + // `SPACE`. Include `display_name` together with `space_type` in the update + // mask and ensure that the specified space has a non-empty display name and + // the `SPACE` space type. Including the `space_type` mask and the `SPACE` + // type in the specified space when updating the display name is optional if + // the existing space already has the `SPACE` type. Trying to update the + // space type in other ways results in an invalid argument error). + // + // - `space_details` + // + // - `space_history_state` (Supports [turning history on or off for the + // space](https://support.google.com/chat/answer/7664687) if [the organization + // allows users to change their history + // setting](https://support.google.com/a/answer/7664184). + // Warning: mutually exclusive with all other field paths.) + // - Developer Preview: `access_settings.audience` (Supports changing the + // [access setting](https://support.google.com/chat/answer/11971020) of a + // space. If no audience is specified in the access setting, the space's + // access setting is updated to restricted. Warning: mutually exclusive with + // all other field paths.) + google.protobuf.FieldMask update_mask = 2; +} + +// Request for deleting a space. +message DeleteSpaceRequest { + // Required. Resource name of the space to delete. + // + // Format: `spaces/{space}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { type: "chat.googleapis.com/Space" } + ]; +} + +// Request message for completing the import process for a space. +message CompleteImportSpaceRequest { + // Required. Resource name of the import mode space. + // + // Format: `spaces/{space}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { type: "chat.googleapis.com/Space" } + ]; +} + +message CompleteImportSpaceResponse { + // The import mode space. + Space space = 1; +} diff --git a/third_party/googleapis/google/chat/v1/space_setup.proto b/third_party/googleapis/google/chat/v1/space_setup.proto new file mode 100644 index 000000000..55251564d --- /dev/null +++ b/third_party/googleapis/google/chat/v1/space_setup.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.chat.v1; + +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 java_multiple_files = true; +option java_outer_classname = "SpaceSetupProto"; +option java_package = "com.google.chat.v1"; + +message SetUpSpaceRequest { + // Required. The `Space.spaceType` field is required. + // + // To create a space, set `Space.spaceType` to `SPACE` and set + // `Space.displayName`. If you receive the error message `ALREADY_EXISTS` when + // setting up a space, try a different `displayName`. An existing space + // within the Google Workspace organization might already use this display + // name. + // + // To create a group chat, set `Space.spaceType` to + // `GROUP_CHAT`. Don't set `Space.displayName`. + // + // To create a 1:1 conversation between humans, + // set `Space.spaceType` to `DIRECT_MESSAGE` and set + // `Space.singleUserBotDm` to `false`. Don't set `Space.displayName` or + // `Space.spaceDetails`. + // + // To create an 1:1 conversation between a human and the calling Chat app, set + // `Space.spaceType` to `DIRECT_MESSAGE` and + // `Space.singleUserBotDm` to `true`. Don't set `Space.displayName` or + // `Space.spaceDetails`. + // + // If a `DIRECT_MESSAGE` space already exists, that space is returned instead + // of creating a new space. + Space space = 1 [(google.api.field_behavior) = REQUIRED]; + + // Optional. A unique identifier for this request. + // A random UUID is recommended. + // Specifying an existing request ID returns the space created with that ID + // instead of creating a new space. + // Specifying an existing request ID from the same Chat app with a different + // authenticated user returns an error. + string request_id = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The Google Chat users to invite to join the space. Omit the + // calling user, as they are added automatically. + // + // The set currently allows up to 20 memberships (in addition to the caller). + // + // The `Membership.member` field must contain a `user` with `name` populated + // (format: `users/{user}`) and `type` set to `User.Type.HUMAN`. You can only + // add human users when setting up a space (adding Chat apps is only supported + // for direct message setup with the calling app). You can also add members + // using the user's email as an alias for {user}. For example, the `user.name` + // can be `users/example@gmail.com`." To invite Gmail users or users from + // external Google Workspace domains, user's email must be used for + // `{user}`. + // + // Optional when setting `Space.spaceType` to `SPACE`. + // + // Required when setting `Space.spaceType` to `GROUP_CHAT`, along with at + // least two memberships. + // + // Required when setting `Space.spaceType` to `DIRECT_MESSAGE` with a human + // user, along with exactly one membership. + // + // Must be empty when creating a 1:1 conversation between a human and the + // calling Chat app (when setting `Space.spaceType` to + // `DIRECT_MESSAGE` and `Space.singleUserBotDm` to `true`). + repeated Membership memberships = 4 [(google.api.field_behavior) = OPTIONAL]; +} diff --git a/third_party/googleapis/google/chat/v1/user.proto b/third_party/googleapis/google/chat/v1/user.proto new file mode 100644 index 000000000..80a2b66f2 --- /dev/null +++ b/third_party/googleapis/google/chat/v1/user.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.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 java_multiple_files = true; +option java_outer_classname = "UserProto"; +option java_package = "com.google.chat.v1"; + +// A user in Google Chat. +// When returned as an output from a request, if your Chat app [authenticates as +// a user](https://developers.google.com/chat/api/guides/auth/users), the output +// for a `User` resource only populates the user's `name` and `type`. +message User { + enum Type { + // Default value for the enum. DO NOT USE. + TYPE_UNSPECIFIED = 0; + + // Human user. + HUMAN = 1; + + // Chat app user. + BOT = 2; + } + + // Resource name for a Google Chat [user][google.chat.v1.User]. + // + // Format: `users/{user}`. `users/app` can be used as an alias for the calling + // app [bot][google.chat.v1.User.Type.BOT] user. + // + // For [human users][google.chat.v1.User.Type.HUMAN], `{user}` is the same + // user identifier as: + // + // - the `id` for the + // [Person](https://developers.google.com/people/api/rest/v1/people) in the + // People API. For example, `users/123456789` in Chat API represents the same + // person as the `123456789` Person profile ID in People API. + // + // - the `id` for a + // [user](https://developers.google.com/admin-sdk/directory/reference/rest/v1/users) + // in the Admin SDK Directory API. + // + // - the user's email address can be used as an alias for `{user}` in API + // requests. For example, if the People API Person profile ID for + // `user@example.com` is `123456789`, you can use `users/user@example.com` as + // an alias to reference `users/123456789`. Only the canonical resource name + // (for example `users/123456789`) will be returned from the API. + string name = 1; + + // Output only. The user's display name. + string display_name = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Unique identifier of the user's Google Workspace domain. + string domain_id = 6; + + // User type. + Type type = 5; + + // Output only. When `true`, the user is deleted or their profile is not + // visible. + bool is_anonymous = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/chat/v1/widgets.proto b/third_party/googleapis/google/chat/v1/widgets.proto new file mode 100644 index 000000000..c33403d5b --- /dev/null +++ b/third_party/googleapis/google/chat/v1/widgets.proto @@ -0,0 +1,274 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.chat.v1; + +option go_package = "google.golang.org/genproto/googleapis/chat/v1;chat"; +option java_multiple_files = true; +option java_outer_classname = "WidgetsProto"; +option java_package = "com.google.chat.v1"; + +// A widget is a UI element that presents text and images. +message WidgetMarkup { + // A paragraph of text. Formatted text supported. For more information + // about formatting text, see + // [Formatting text in Google Chat + // apps](https://developers.google.com/chat/format-messages#card-formatting) + // and + // [Formatting + // text in Google Workspace + // Add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting). + message TextParagraph { + string text = 1; + } + + // The set of supported icons. + enum Icon { + ICON_UNSPECIFIED = 0; + + AIRPLANE = 1; + + BOOKMARK = 26; + + BUS = 25; + + CAR = 9; + + CLOCK = 2; + + CONFIRMATION_NUMBER_ICON = 12; + + DOLLAR = 14; + + DESCRIPTION = 27; + + EMAIL = 10; + + EVENT_PERFORMER = 20; + + EVENT_SEAT = 21; + + FLIGHT_ARRIVAL = 16; + + FLIGHT_DEPARTURE = 15; + + HOTEL = 6; + + HOTEL_ROOM_TYPE = 17; + + INVITE = 19; + + MAP_PIN = 3; + + MEMBERSHIP = 24; + + MULTIPLE_PEOPLE = 18; + + OFFER = 30; + + PERSON = 11; + + PHONE = 13; + + RESTAURANT_ICON = 7; + + SHOPPING_CART = 8; + + STAR = 5; + + STORE = 22; + + TICKET = 4; + + TRAIN = 23; + + VIDEO_CAMERA = 28; + + VIDEO_PLAY = 29; + } + + // A button. Can be a text button or an image button. + message Button { + oneof type { + // A button with text and `onclick` action. + TextButton text_button = 1; + + // A button with image and `onclick` action. + ImageButton image_button = 2; + } + } + + // A button with text and `onclick` action. + message TextButton { + // The text of the button. + string text = 1; + + // The `onclick` action of the button. + OnClick on_click = 2; + } + + // A UI element contains a key (label) and a value (content). This + // element can also contain some actions such as `onclick` button. + message KeyValue { + // At least one of icons, `top_label` and `bottom_label` must be defined. + oneof icons { + // An enum value that's replaced by the Chat API with the + // corresponding icon image. + Icon icon = 1; + + // The icon specified by a URL. + string icon_url = 2; + } + + // The text of the top label. Formatted text supported. For more information + // about formatting text, see + // [Formatting text in Google Chat + // apps](https://developers.google.com/chat/format-messages#card-formatting) + // and + // [Formatting + // text in Google Workspace + // Add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting). + string top_label = 3; + + // The text of the content. Formatted text supported and always required. + // For more information + // about formatting text, see + // [Formatting text in Google Chat + // apps](https://developers.google.com/chat/format-messages#card-formatting) + // and + // [Formatting + // text in Google Workspace + // Add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting). + string content = 4; + + // If the content should be multiline. + bool content_multiline = 9; + + // The text of the bottom label. Formatted text supported. For more + // information about formatting text, see [Formatting text in Google Chat + // apps](https://developers.google.com/chat/format-messages#card-formatting) + // and + // [Formatting + // text in Google Workspace + // Add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting). + string bottom_label = 5; + + // The `onclick` action. Only the top label, bottom label, and content + // region are clickable. + OnClick on_click = 6; + + // A control widget. You can set either `button` or `switch_widget`, + // but not both. + oneof control { + // A button that can be clicked to trigger an action. + Button button = 7; + } + } + + // An image that's specified by a URL and can have an `onclick` action. + message Image { + // The URL of the image. + string image_url = 1; + + // The `onclick` action. + OnClick on_click = 2; + + // The aspect ratio of this image (width and height). This field lets you + // reserve the right height for the image while waiting for it to load. + // It's not meant to override the built-in aspect ratio of the image. + // If unset, the server fills it by prefetching the image. + double aspect_ratio = 3; + } + + // An image button with an `onclick` action. + message ImageButton { + // The icon can be specified by an `Icon` `enum` or a URL. + oneof icons { + // The icon specified by an `enum` that indices to an icon provided by + // Chat API. + Icon icon = 1; + + // The icon specified by a URL. + string icon_url = 3; + } + + // The `onclick` action. + OnClick on_click = 2; + + // The name of this `image_button` that's used for accessibility. + // Default value is provided if this name isn't specified. + string name = 4; + } + + // An `onclick` action (for example, open a link). + message OnClick { + oneof data { + // A form action is triggered by this `onclick` action if specified. + FormAction action = 1; + + // This `onclick` action triggers an open link action if specified. + OpenLink open_link = 2; + } + } + + // A link that opens a new window. + message OpenLink { + // The URL to open. + string url = 1; + } + + // A form action describes the behavior when the form is submitted. + // For example, you can invoke Apps Script to handle the form. + message FormAction { + // List of string parameters to supply when the action method is invoked. + // For example, consider three snooze buttons: snooze now, snooze one day, + // snooze next week. You might use `action method = snooze()`, passing the + // snooze type and snooze time in the list of string parameters. + message ActionParameter { + // The name of the parameter for the action script. + string key = 1; + + // The value of the parameter. + string value = 2; + } + + // The method name is used to identify which part of the form triggered the + // form submission. This information is echoed back to the Chat app as part + // of the card click event. You can use the same method name for several + // elements that trigger a common behavior. + string action_method_name = 1; + + // List of action parameters. + repeated ActionParameter parameters = 2; + } + + // A `WidgetMarkup` can only have one of the following items. You can use + // multiple `WidgetMarkup` fields to display more items. + oneof data { + // Display a text paragraph in this widget. + TextParagraph text_paragraph = 1; + + // Display an image in this widget. + Image image = 2; + + // Display a key value item in this widget. + KeyValue key_value = 3; + } + + // A list of buttons. Buttons is also `oneof data` and only one of these + // fields should be set. + repeated Button buttons = 6; +} diff --git a/third_party/googleapis/google/cloud/aiplatform/v1/content.proto b/third_party/googleapis/google/cloud/aiplatform/v1/content.proto new file mode 100644 index 000000000..e9678f035 --- /dev/null +++ b/third_party/googleapis/google/cloud/aiplatform/v1/content.proto @@ -0,0 +1,294 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF 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.aiplatform.v1; + +import "google/api/field_behavior.proto"; +import "google/cloud/aiplatform/v1/tool.proto"; +import "google/protobuf/duration.proto"; +import "google/type/date.proto"; + +option csharp_namespace = "Google.Cloud.AIPlatform.V1"; +option go_package = "cloud.google.com/go/aiplatform/apiv1/aiplatformpb;aiplatformpb"; +option java_multiple_files = true; +option java_outer_classname = "ContentProto"; +option java_package = "com.google.cloud.aiplatform.v1"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1"; +option ruby_package = "Google::Cloud::AIPlatform::V1"; + +// Harm categories that will block the content. +enum HarmCategory { + // The harm category is unspecified. + HARM_CATEGORY_UNSPECIFIED = 0; + + // The harm category is hate speech. + HARM_CATEGORY_HATE_SPEECH = 1; + + // The harm category is dangerous content. + HARM_CATEGORY_DANGEROUS_CONTENT = 2; + + // The harm category is harassment. + HARM_CATEGORY_HARASSMENT = 3; + + // The harm category is sexually explicit content. + HARM_CATEGORY_SEXUALLY_EXPLICIT = 4; +} + +// The base structured datatype containing multi-part content of a message. +// +// A `Content` includes a `role` field designating the producer of the `Content` +// and a `parts` field containing multi-part data that contains the content of +// the message turn. +message Content { + // Optional. The producer of the content. Must be either 'user' or 'model'. + // + // Useful to set for multi-turn conversations, otherwise can be left blank + // or unset. + string role = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Required. Ordered `Parts` that constitute a single message. Parts may have + // different IANA MIME types. + repeated Part parts = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// A datatype containing media that is part of a multi-part `Content` message. +// +// A `Part` consists of data which has an associated datatype. A `Part` can only +// contain one of the accepted types in `Part.data`. +// +// A `Part` must have a fixed IANA MIME type identifying the type and subtype +// of the media if `inline_data` or `file_data` field is filled with raw bytes. +message Part { + oneof data { + // Optional. Text part (can be code). + string text = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Inlined bytes data. + Blob inline_data = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. URI based data. + FileData file_data = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A predicted [FunctionCall] returned from the model that + // contains a string representing the [FunctionDeclaration.name] with the + // parameters and their values. + FunctionCall function_call = 5 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The result output of a [FunctionCall] that contains a string + // representing the [FunctionDeclaration.name] and a structured JSON object + // containing any output from the function call. It is used as context to + // the model. + FunctionResponse function_response = 6 + [(google.api.field_behavior) = OPTIONAL]; + } + + oneof metadata { + // Optional. Video metadata. The metadata should only be specified while the + // video data is presented in inline_data or file_data. + VideoMetadata video_metadata = 4 [(google.api.field_behavior) = OPTIONAL]; + } +} + +// Raw media bytes. +// +// Text should not be sent as raw bytes, use the 'text' field. +message Blob { + // Required. The IANA standard MIME type of the source data. + string mime_type = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. Raw bytes for media formats. + bytes data = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// URI based data. +message FileData { + // Required. The IANA standard MIME type of the source data. + string mime_type = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. URI. + string file_uri = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Metadata describes the input video content. +message VideoMetadata { + // Optional. The start offset of the video. + google.protobuf.Duration start_offset = 1 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The end offset of the video. + google.protobuf.Duration end_offset = 2 + [(google.api.field_behavior) = OPTIONAL]; +} + +// Generation config. +message GenerationConfig { + // Optional. Controls the randomness of predictions. + optional float temperature = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. If specified, nucleus sampling will be used. + optional float top_p = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. If specified, top-k sampling will be used. + optional float top_k = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Number of candidates to generate. + optional int32 candidate_count = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The maximum number of output tokens to generate per message. + optional int32 max_output_tokens = 5 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Stop sequences. + repeated string stop_sequences = 6 [(google.api.field_behavior) = OPTIONAL]; +} + +// Safety settings. +message SafetySetting { + // Probability based thresholds levels for blocking. + enum HarmBlockThreshold { + // Unspecified harm block threshold. + HARM_BLOCK_THRESHOLD_UNSPECIFIED = 0; + + // Block low threshold and above (i.e. block more). + BLOCK_LOW_AND_ABOVE = 1; + + // Block medium threshold and above. + BLOCK_MEDIUM_AND_ABOVE = 2; + + // Block only high threshold (i.e. block less). + BLOCK_ONLY_HIGH = 3; + + // Block none. + BLOCK_NONE = 4; + } + + // Required. Harm category. + HarmCategory category = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The harm block threshold. + HarmBlockThreshold threshold = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Safety rating corresponding to the generated content. +message SafetyRating { + // Harm probability levels in the content. + enum HarmProbability { + // Harm probability unspecified. + HARM_PROBABILITY_UNSPECIFIED = 0; + + // Negligible level of harm. + NEGLIGIBLE = 1; + + // Low level of harm. + LOW = 2; + + // Medium level of harm. + MEDIUM = 3; + + // High level of harm. + HIGH = 4; + } + + // Output only. Harm category. + HarmCategory category = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Harm probability levels in the content. + HarmProbability probability = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Indicates whether the content was filtered out because of this + // rating. + bool blocked = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// A collection of source attributions for a piece of content. +message CitationMetadata { + // Output only. List of citations. + repeated Citation citations = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Source attributions for content. +message Citation { + // Output only. Start index into the content. + int32 start_index = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. End index into the content. + int32 end_index = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Url reference of the attribution. + string uri = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Title of the attribution. + string title = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. License of the attribution. + string license = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Publication date of the attribution. + google.type.Date publication_date = 6 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// A response candidate generated from the model. +message Candidate { + // The reason why the model stopped generating tokens. + // If empty, the model has not stopped generating the tokens. + enum FinishReason { + // The finish reason is unspecified. + FINISH_REASON_UNSPECIFIED = 0; + + // Natural stop point of the model or provided stop sequence. + STOP = 1; + + // The maximum number of tokens as specified in the request was reached. + MAX_TOKENS = 2; + + // The token generation was stopped as the response was flagged for safety + // reasons. NOTE: When streaming the Candidate.content will be empty if + // content filters blocked the output. + SAFETY = 3; + + // The token generation was stopped as the response was flagged for + // unauthorized citations. + RECITATION = 4; + + // All other reasons that stopped the token generation + OTHER = 5; + } + + // Output only. Index of the candidate. + int32 index = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Content parts of the candidate. + Content content = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The reason why the model stopped generating tokens. + // If empty, the model has not stopped generating the tokens. + FinishReason finish_reason = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. List of ratings for the safety of a response candidate. + // + // There is at most one rating per category. + repeated SafetyRating safety_ratings = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Describes the reason the mode stopped generating tokens in + // more detail. This is only filled when `finish_reason` is set. + optional string finish_message = 5 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Source attribution of the generated content. + CitationMetadata citation_metadata = 6 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/cloud/aiplatform/v1/dataset_version.proto b/third_party/googleapis/google/cloud/aiplatform/v1/dataset_version.proto new file mode 100644 index 000000000..5a6dd1110 --- /dev/null +++ b/third_party/googleapis/google/cloud/aiplatform/v1/dataset_version.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.cloud.aiplatform.v1; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.AIPlatform.V1"; +option go_package = "cloud.google.com/go/aiplatform/apiv1/aiplatformpb;aiplatformpb"; +option java_multiple_files = true; +option java_outer_classname = "DatasetVersionProto"; +option java_package = "com.google.cloud.aiplatform.v1"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1"; +option ruby_package = "Google::Cloud::AIPlatform::V1"; + +// Describes the dataset version. +message DatasetVersion { + option (google.api.resource) = { + type: "aiplatform.googleapis.com/DatasetVersion" + pattern: "projects/{project}/locations/{location}/datasets/{dataset}/datasetVersions/{dataset_version}" + }; + + // Output only. The resource name of the DatasetVersion. + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Timestamp when this DatasetVersion was created. + google.protobuf.Timestamp create_time = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Timestamp when this DatasetVersion was last updated. + google.protobuf.Timestamp update_time = 6 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Used to perform consistent read-modify-write updates. If not set, a blind + // "overwrite" update happens. + string etag = 3; + + // Output only. Name of the associated BigQuery dataset. + string big_query_dataset_name = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/cloud/aiplatform/v1/deployment_resource_pool.proto b/third_party/googleapis/google/cloud/aiplatform/v1/deployment_resource_pool.proto new file mode 100644 index 000000000..dc71b2b7b --- /dev/null +++ b/third_party/googleapis/google/cloud/aiplatform/v1/deployment_resource_pool.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.cloud.aiplatform.v1; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/aiplatform/v1/machine_resources.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.AIPlatform.V1"; +option go_package = "cloud.google.com/go/aiplatform/apiv1/aiplatformpb;aiplatformpb"; +option java_multiple_files = true; +option java_outer_classname = "DeploymentResourcePoolProto"; +option java_package = "com.google.cloud.aiplatform.v1"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1"; +option ruby_package = "Google::Cloud::AIPlatform::V1"; + +// A description of resources that can be shared by multiple DeployedModels, +// whose underlying specification consists of a DedicatedResources. +message DeploymentResourcePool { + option (google.api.resource) = { + type: "aiplatform.googleapis.com/DeploymentResourcePool" + pattern: "projects/{project}/locations/{location}/deploymentResourcePools/{deployment_resource_pool}" + }; + + // Immutable. The resource name of the DeploymentResourcePool. + // Format: + // `projects/{project}/locations/{location}/deploymentResourcePools/{deployment_resource_pool}` + string name = 1 [(google.api.field_behavior) = IMMUTABLE]; + + // Required. The underlying DedicatedResources that the DeploymentResourcePool + // uses. + DedicatedResources dedicated_resources = 2 + [(google.api.field_behavior) = REQUIRED]; + + // Output only. Timestamp when this DeploymentResourcePool was created. + google.protobuf.Timestamp create_time = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/cloud/aiplatform/v1/deployment_resource_pool_service.proto b/third_party/googleapis/google/cloud/aiplatform/v1/deployment_resource_pool_service.proto new file mode 100644 index 000000000..b9e974a06 --- /dev/null +++ b/third_party/googleapis/google/cloud/aiplatform/v1/deployment_resource_pool_service.proto @@ -0,0 +1,236 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF 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.aiplatform.v1; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/aiplatform/v1/deployed_model_ref.proto"; +import "google/cloud/aiplatform/v1/deployment_resource_pool.proto"; +import "google/cloud/aiplatform/v1/endpoint.proto"; +import "google/cloud/aiplatform/v1/operation.proto"; +import "google/longrunning/operations.proto"; +import "google/protobuf/empty.proto"; + +option csharp_namespace = "Google.Cloud.AIPlatform.V1"; +option go_package = "cloud.google.com/go/aiplatform/apiv1/aiplatformpb;aiplatformpb"; +option java_multiple_files = true; +option java_outer_classname = "DeploymentResourcePoolServiceProto"; +option java_package = "com.google.cloud.aiplatform.v1"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1"; +option ruby_package = "Google::Cloud::AIPlatform::V1"; + +// A service that manages the DeploymentResourcePool resource. +service DeploymentResourcePoolService { + option (google.api.default_host) = "aiplatform.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform"; + + // Create a DeploymentResourcePool. + rpc CreateDeploymentResourcePool(CreateDeploymentResourcePoolRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*}/deploymentResourcePools" + body: "*" + }; + option (google.api.method_signature) = + "parent,deployment_resource_pool,deployment_resource_pool_id"; + option (google.longrunning.operation_info) = { + response_type: "DeploymentResourcePool" + metadata_type: "CreateDeploymentResourcePoolOperationMetadata" + }; + } + + // Get a DeploymentResourcePool. + rpc GetDeploymentResourcePool(GetDeploymentResourcePoolRequest) + returns (DeploymentResourcePool) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/deploymentResourcePools/*}" + }; + option (google.api.method_signature) = "name"; + } + + // List DeploymentResourcePools in a location. + rpc ListDeploymentResourcePools(ListDeploymentResourcePoolsRequest) + returns (ListDeploymentResourcePoolsResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*}/deploymentResourcePools" + }; + option (google.api.method_signature) = "parent"; + } + + // Delete a DeploymentResourcePool. + rpc DeleteDeploymentResourcePool(DeleteDeploymentResourcePoolRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1/{name=projects/*/locations/*/deploymentResourcePools/*}" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "DeleteOperationMetadata" + }; + } + + // List DeployedModels that have been deployed on this DeploymentResourcePool. + rpc QueryDeployedModels(QueryDeployedModelsRequest) + returns (QueryDeployedModelsResponse) { + option (google.api.http) = { + get: "/v1/{deployment_resource_pool=projects/*/locations/*/deploymentResourcePools/*}:queryDeployedModels" + }; + option (google.api.method_signature) = "deployment_resource_pool"; + } +} + +// Request message for CreateDeploymentResourcePool method. +message CreateDeploymentResourcePoolRequest { + // Required. The parent location resource where this DeploymentResourcePool + // will be created. Format: `projects/{project}/locations/{location}` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "locations.googleapis.com/Location" + } + ]; + + // Required. The DeploymentResourcePool to create. + DeploymentResourcePool deployment_resource_pool = 2 + [(google.api.field_behavior) = REQUIRED]; + + // Required. The ID to use for the DeploymentResourcePool, which + // will become the final component of the DeploymentResourcePool's resource + // name. + // + // The maximum length is 63 characters, and valid characters + // are `/^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$/`. + string deployment_resource_pool_id = 3 + [(google.api.field_behavior) = REQUIRED]; +} + +// Runtime operation information for CreateDeploymentResourcePool method. +message CreateDeploymentResourcePoolOperationMetadata { + // The operation generic information. + GenericOperationMetadata generic_metadata = 1; +} + +// Request message for GetDeploymentResourcePool method. +message GetDeploymentResourcePoolRequest { + // Required. The name of the DeploymentResourcePool to retrieve. + // Format: + // `projects/{project}/locations/{location}/deploymentResourcePools/{deployment_resource_pool}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/DeploymentResourcePool" + } + ]; +} + +// Request message for ListDeploymentResourcePools method. +message ListDeploymentResourcePoolsRequest { + // Required. The parent Location which owns this collection of + // DeploymentResourcePools. Format: `projects/{project}/locations/{location}` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "locations.googleapis.com/Location" + } + ]; + + // The maximum number of DeploymentResourcePools to return. The service may + // return fewer than this value. + int32 page_size = 2; + + // A page token, received from a previous `ListDeploymentResourcePools` call. + // Provide this to retrieve the subsequent page. + // + // When paginating, all other parameters provided to + // `ListDeploymentResourcePools` must match the call that provided the page + // token. + string page_token = 3; +} + +// Response message for ListDeploymentResourcePools method. +message ListDeploymentResourcePoolsResponse { + // The DeploymentResourcePools from the specified location. + repeated DeploymentResourcePool deployment_resource_pools = 1; + + // A token, which can be sent as `page_token` to retrieve the next page. + // If this field is omitted, there are no subsequent pages. + string next_page_token = 2; +} + +// Runtime operation information for UpdateDeploymentResourcePool method. +message UpdateDeploymentResourcePoolOperationMetadata { + // The operation generic information. + GenericOperationMetadata generic_metadata = 1; +} + +// Request message for DeleteDeploymentResourcePool method. +message DeleteDeploymentResourcePoolRequest { + // Required. The name of the DeploymentResourcePool to delete. + // Format: + // `projects/{project}/locations/{location}/deploymentResourcePools/{deployment_resource_pool}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/DeploymentResourcePool" + } + ]; +} + +// Request message for QueryDeployedModels method. +message QueryDeployedModelsRequest { + // Required. The name of the target DeploymentResourcePool to query. + // Format: + // `projects/{project}/locations/{location}/deploymentResourcePools/{deployment_resource_pool}` + string deployment_resource_pool = 1 [(google.api.field_behavior) = REQUIRED]; + + // The maximum number of DeployedModels to return. The service may return + // fewer than this value. + int32 page_size = 2; + + // A page token, received from a previous `QueryDeployedModels` call. + // Provide this to retrieve the subsequent page. + // + // When paginating, all other parameters provided to + // `QueryDeployedModels` must match the call that provided the page + // token. + string page_token = 3; +} + +// Response message for QueryDeployedModels method. +message QueryDeployedModelsResponse { + // DEPRECATED Use deployed_model_refs instead. + repeated DeployedModel deployed_models = 1 [deprecated = true]; + + // A token, which can be sent as `page_token` to retrieve the next page. + // If this field is omitted, there are no subsequent pages. + string next_page_token = 2; + + // References to the DeployedModels that share the specified + // deploymentResourcePool. + repeated DeployedModelRef deployed_model_refs = 3; + + // The total number of DeployedModels on this DeploymentResourcePool. + int32 total_deployed_model_count = 4; + + // The total number of Endpoints that have DeployedModels on this + // DeploymentResourcePool. + int32 total_endpoint_count = 5; +} diff --git a/third_party/googleapis/google/cloud/aiplatform/v1/feature_group.proto b/third_party/googleapis/google/cloud/aiplatform/v1/feature_group.proto new file mode 100644 index 000000000..f92f5f619 --- /dev/null +++ b/third_party/googleapis/google/cloud/aiplatform/v1/feature_group.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.cloud.aiplatform.v1; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/aiplatform/v1/io.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.AIPlatform.V1"; +option go_package = "cloud.google.com/go/aiplatform/apiv1/aiplatformpb;aiplatformpb"; +option java_multiple_files = true; +option java_outer_classname = "FeatureGroupProto"; +option java_package = "com.google.cloud.aiplatform.v1"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1"; +option ruby_package = "Google::Cloud::AIPlatform::V1"; + +// Vertex AI Feature Group. +message FeatureGroup { + option (google.api.resource) = { + type: "aiplatform.googleapis.com/FeatureGroup" + pattern: "projects/{project}/locations/{location}/featureGroups/{feature_group}" + plural: "featureGroups" + singular: "featureGroup" + }; + + // Input source type for BigQuery Tables and Views. + message BigQuery { + // Required. Immutable. The BigQuery source URI that points to either a + // BigQuery Table or View. + BigQuerySource big_query_source = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.field_behavior) = REQUIRED + ]; + + // Optional. Columns to construct entity_id / row keys. Currently only + // supports 1 entity_id_column. If not provided defaults to `entity_id`. + repeated string entity_id_columns = 2 + [(google.api.field_behavior) = OPTIONAL]; + } + + oneof source { + // Indicates that features for this group come from BigQuery Table/View. + // By default treats the source as a sparse time series source, which is + // required to have an entity_id and a feature_timestamp column in the + // source. + BigQuery big_query = 7; + } + + // Identifier. Name of the FeatureGroup. Format: + // `projects/{project}/locations/{location}/featureGroups/{featureGroup}` + string name = 1 [(google.api.field_behavior) = IDENTIFIER]; + + // Output only. Timestamp when this FeatureGroup was created. + google.protobuf.Timestamp create_time = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Timestamp when this FeatureGroup was last updated. + google.protobuf.Timestamp update_time = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Optional. Used to perform consistent read-modify-write updates. If not set, + // a blind "overwrite" update happens. + string etag = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The labels with user-defined metadata to organize your + // FeatureGroup. + // + // Label keys and values can be no longer than 64 characters + // (Unicode codepoints), can only contain lowercase letters, numeric + // characters, underscores and dashes. International characters are allowed. + // + // See https://goo.gl/xmQnxf for more information on and examples of labels. + // No more than 64 user labels can be associated with one + // FeatureGroup(System labels are excluded)." System reserved label keys + // are prefixed with "aiplatform.googleapis.com/" and are immutable. + map labels = 5 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Description of the FeatureGroup. + string description = 6 [(google.api.field_behavior) = OPTIONAL]; +} diff --git a/third_party/googleapis/google/cloud/aiplatform/v1/feature_online_store.proto b/third_party/googleapis/google/cloud/aiplatform/v1/feature_online_store.proto new file mode 100644 index 000000000..a6a2040ab --- /dev/null +++ b/third_party/googleapis/google/cloud/aiplatform/v1/feature_online_store.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.cloud.aiplatform.v1; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.AIPlatform.V1"; +option go_package = "cloud.google.com/go/aiplatform/apiv1/aiplatformpb;aiplatformpb"; +option java_multiple_files = true; +option java_outer_classname = "FeatureOnlineStoreProto"; +option java_package = "com.google.cloud.aiplatform.v1"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1"; +option ruby_package = "Google::Cloud::AIPlatform::V1"; + +// Vertex AI Feature Online Store provides a centralized repository for serving +// ML features and embedding indexes at low latency. The Feature Online Store is +// a top-level container. +message FeatureOnlineStore { + option (google.api.resource) = { + type: "aiplatform.googleapis.com/FeatureOnlineStore" + pattern: "projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}" + }; + + message Bigtable { + message AutoScaling { + // Required. The minimum number of nodes to scale down to. Must be greater + // than or equal to 1. + int32 min_node_count = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The maximum number of nodes to scale up to. Must be greater + // than or equal to min_node_count, and less than or equal to 10 times of + // 'min_node_count'. + int32 max_node_count = 2 [(google.api.field_behavior) = REQUIRED]; + + // Optional. A percentage of the cluster's CPU capacity. Can be from 10% + // to 80%. When a cluster's CPU utilization exceeds the target that you + // have set, Bigtable immediately adds nodes to the cluster. When CPU + // utilization is substantially lower than the target, Bigtable removes + // nodes. If not set will default to 50%. + int32 cpu_utilization_target = 3 [(google.api.field_behavior) = OPTIONAL]; + } + + // Required. Autoscaling config applied to Bigtable Instance. + AutoScaling auto_scaling = 1 [(google.api.field_behavior) = REQUIRED]; + } + + // Possible states a featureOnlineStore can have. + enum State { + // Default value. This value is unused. + STATE_UNSPECIFIED = 0; + + // State when the featureOnlineStore configuration is not being updated and + // the fields reflect the current configuration of the featureOnlineStore. + // The featureOnlineStore is usable in this state. + STABLE = 1; + + // The state of the featureOnlineStore configuration when it is being + // updated. During an update, the fields reflect either the original + // configuration or the updated configuration of the featureOnlineStore. The + // featureOnlineStore is still usable in this state. + UPDATING = 2; + } + + oneof storage_type { + // Contains settings for the Cloud Bigtable instance that will be created + // to serve featureValues for all FeatureViews under this + // FeatureOnlineStore. + Bigtable bigtable = 8; + } + + // Identifier. Name of the FeatureOnlineStore. Format: + // `projects/{project}/locations/{location}/featureOnlineStores/{featureOnlineStore}` + string name = 1 [(google.api.field_behavior) = IDENTIFIER]; + + // Output only. Timestamp when this FeatureOnlineStore was created. + google.protobuf.Timestamp create_time = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Timestamp when this FeatureOnlineStore was last updated. + google.protobuf.Timestamp update_time = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Optional. Used to perform consistent read-modify-write updates. If not set, + // a blind "overwrite" update happens. + string etag = 5 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The labels with user-defined metadata to organize your + // FeatureOnlineStore. + // + // Label keys and values can be no longer than 64 characters + // (Unicode codepoints), can only contain lowercase letters, numeric + // characters, underscores and dashes. International characters are allowed. + // + // See https://goo.gl/xmQnxf for more information on and examples of labels. + // No more than 64 user labels can be associated with one + // FeatureOnlineStore(System labels are excluded)." System reserved label keys + // are prefixed with "aiplatform.googleapis.com/" and are immutable. + map labels = 6 [(google.api.field_behavior) = OPTIONAL]; + + // Output only. State of the featureOnlineStore. + State state = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/cloud/aiplatform/v1/feature_online_store_admin_service.proto b/third_party/googleapis/google/cloud/aiplatform/v1/feature_online_store_admin_service.proto new file mode 100644 index 000000000..13ce4a114 --- /dev/null +++ b/third_party/googleapis/google/cloud/aiplatform/v1/feature_online_store_admin_service.proto @@ -0,0 +1,620 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF 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.aiplatform.v1; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/aiplatform/v1/feature_online_store.proto"; +import "google/cloud/aiplatform/v1/feature_view.proto"; +import "google/cloud/aiplatform/v1/feature_view_sync.proto"; +import "google/cloud/aiplatform/v1/operation.proto"; +import "google/longrunning/operations.proto"; +import "google/protobuf/empty.proto"; +import "google/protobuf/field_mask.proto"; + +option csharp_namespace = "Google.Cloud.AIPlatform.V1"; +option go_package = "cloud.google.com/go/aiplatform/apiv1/aiplatformpb;aiplatformpb"; +option java_multiple_files = true; +option java_outer_classname = "FeatureOnlineStoreAdminServiceProto"; +option java_package = "com.google.cloud.aiplatform.v1"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1"; +option ruby_package = "Google::Cloud::AIPlatform::V1"; + +// The service that handles CRUD and List for resources for +// FeatureOnlineStore. +service FeatureOnlineStoreAdminService { + option (google.api.default_host) = "aiplatform.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform"; + + // Creates a new FeatureOnlineStore in a given project and location. + rpc CreateFeatureOnlineStore(CreateFeatureOnlineStoreRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*}/featureOnlineStores" + body: "feature_online_store" + }; + option (google.api.method_signature) = + "parent,feature_online_store,feature_online_store_id"; + option (google.longrunning.operation_info) = { + response_type: "FeatureOnlineStore" + metadata_type: "CreateFeatureOnlineStoreOperationMetadata" + }; + } + + // Gets details of a single FeatureOnlineStore. + rpc GetFeatureOnlineStore(GetFeatureOnlineStoreRequest) + returns (FeatureOnlineStore) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/featureOnlineStores/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Lists FeatureOnlineStores in a given project and location. + rpc ListFeatureOnlineStores(ListFeatureOnlineStoresRequest) + returns (ListFeatureOnlineStoresResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*}/featureOnlineStores" + }; + option (google.api.method_signature) = "parent"; + } + + // Updates the parameters of a single FeatureOnlineStore. + rpc UpdateFeatureOnlineStore(UpdateFeatureOnlineStoreRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + patch: "/v1/{feature_online_store.name=projects/*/locations/*/featureOnlineStores/*}" + body: "feature_online_store" + }; + option (google.api.method_signature) = "feature_online_store,update_mask"; + option (google.longrunning.operation_info) = { + response_type: "FeatureOnlineStore" + metadata_type: "UpdateFeatureOnlineStoreOperationMetadata" + }; + } + + // Deletes a single FeatureOnlineStore. The FeatureOnlineStore must not + // contain any FeatureViews. + rpc DeleteFeatureOnlineStore(DeleteFeatureOnlineStoreRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1/{name=projects/*/locations/*/featureOnlineStores/*}" + }; + option (google.api.method_signature) = "name,force"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "DeleteOperationMetadata" + }; + } + + // Creates a new FeatureView in a given FeatureOnlineStore. + rpc CreateFeatureView(CreateFeatureViewRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*/featureOnlineStores/*}/featureViews" + body: "feature_view" + }; + option (google.api.method_signature) = + "parent,feature_view,feature_view_id"; + option (google.longrunning.operation_info) = { + response_type: "FeatureView" + metadata_type: "CreateFeatureViewOperationMetadata" + }; + } + + // Gets details of a single FeatureView. + rpc GetFeatureView(GetFeatureViewRequest) returns (FeatureView) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/featureOnlineStores/*/featureViews/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Lists FeatureViews in a given FeatureOnlineStore. + rpc ListFeatureViews(ListFeatureViewsRequest) + returns (ListFeatureViewsResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*/featureOnlineStores/*}/featureViews" + }; + option (google.api.method_signature) = "parent"; + } + + // Updates the parameters of a single FeatureView. + rpc UpdateFeatureView(UpdateFeatureViewRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + patch: "/v1/{feature_view.name=projects/*/locations/*/featureOnlineStores/*/featureViews/*}" + body: "feature_view" + }; + option (google.api.method_signature) = "feature_view,update_mask"; + option (google.longrunning.operation_info) = { + response_type: "FeatureView" + metadata_type: "UpdateFeatureViewOperationMetadata" + }; + } + + // Deletes a single FeatureView. + rpc DeleteFeatureView(DeleteFeatureViewRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1/{name=projects/*/locations/*/featureOnlineStores/*/featureViews/*}" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "DeleteOperationMetadata" + }; + } + + // Triggers on-demand sync for the FeatureView. + rpc SyncFeatureView(SyncFeatureViewRequest) + returns (SyncFeatureViewResponse) { + option (google.api.http) = { + post: "/v1/{feature_view=projects/*/locations/*/featureOnlineStores/*/featureViews/*}:sync" + body: "*" + }; + option (google.api.method_signature) = "feature_view"; + } + + // Gets details of a single FeatureViewSync. + rpc GetFeatureViewSync(GetFeatureViewSyncRequest) returns (FeatureViewSync) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/featureOnlineStores/*/featureViews/*/featureViewSyncs/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Lists FeatureViewSyncs in a given FeatureView. + rpc ListFeatureViewSyncs(ListFeatureViewSyncsRequest) + returns (ListFeatureViewSyncsResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*/featureOnlineStores/*/featureViews/*}/featureViewSyncs" + }; + option (google.api.method_signature) = "parent"; + } +} + +// Request message for +// [FeatureOnlineStoreAdminService.CreateFeatureOnlineStore][google.cloud.aiplatform.v1.FeatureOnlineStoreAdminService.CreateFeatureOnlineStore]. +message CreateFeatureOnlineStoreRequest { + // Required. The resource name of the Location to create FeatureOnlineStores. + // Format: + // `projects/{project}/locations/{location}` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "aiplatform.googleapis.com/FeatureOnlineStore" + } + ]; + + // Required. The FeatureOnlineStore to create. + FeatureOnlineStore feature_online_store = 2 + [(google.api.field_behavior) = REQUIRED]; + + // Required. The ID to use for this FeatureOnlineStore, which will become the + // final component of the FeatureOnlineStore's resource name. + // + // This value may be up to 60 characters, and valid characters are + // `[a-z0-9_]`. The first character cannot be a number. + // + // The value must be unique within the project and location. + string feature_online_store_id = 3 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for +// [FeatureOnlineStoreAdminService.GetFeatureOnlineStore][google.cloud.aiplatform.v1.FeatureOnlineStoreAdminService.GetFeatureOnlineStore]. +message GetFeatureOnlineStoreRequest { + // Required. The name of the FeatureOnlineStore resource. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/FeatureOnlineStore" + } + ]; +} + +// Request message for +// [FeatureOnlineStoreAdminService.ListFeatureOnlineStores][google.cloud.aiplatform.v1.FeatureOnlineStoreAdminService.ListFeatureOnlineStores]. +message ListFeatureOnlineStoresRequest { + // Required. The resource name of the Location to list FeatureOnlineStores. + // Format: + // `projects/{project}/locations/{location}` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "aiplatform.googleapis.com/FeatureOnlineStore" + } + ]; + + // Lists the FeatureOnlineStores that match the filter expression. The + // following fields are supported: + // + // * `create_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. + // Values must be + // in RFC 3339 format. + // * `update_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. + // Values must be + // in RFC 3339 format. + // * `labels`: Supports key-value equality and key presence. + // + // Examples: + // + // * `create_time > "2020-01-01" OR update_time > "2020-01-01"` + // FeatureOnlineStores created or updated after 2020-01-01. + // * `labels.env = "prod"` + // FeatureOnlineStores with label "env" set to "prod". + string filter = 2; + + // The maximum number of FeatureOnlineStores to return. The service may return + // fewer than this value. If unspecified, at most 100 FeatureOnlineStores will + // be returned. The maximum value is 100; any value greater than 100 will be + // coerced to 100. + int32 page_size = 3; + + // A page token, received from a previous + // [FeatureOnlineStoreAdminService.ListFeatureOnlineStores][google.cloud.aiplatform.v1.FeatureOnlineStoreAdminService.ListFeatureOnlineStores] + // call. Provide this to retrieve the subsequent page. + // + // When paginating, all other parameters provided to + // [FeatureOnlineStoreAdminService.ListFeatureOnlineStores][google.cloud.aiplatform.v1.FeatureOnlineStoreAdminService.ListFeatureOnlineStores] + // must match the call that provided the page token. + string page_token = 4; + + // A comma-separated list of fields to order by, sorted in ascending order. + // Use "desc" after a field name for descending. + // Supported Fields: + // + // * `create_time` + // * `update_time` + string order_by = 5; +} + +// Response message for +// [FeatureOnlineStoreAdminService.ListFeatureOnlineStores][google.cloud.aiplatform.v1.FeatureOnlineStoreAdminService.ListFeatureOnlineStores]. +message ListFeatureOnlineStoresResponse { + // The FeatureOnlineStores matching the request. + repeated FeatureOnlineStore feature_online_stores = 1; + + // A token, which can be sent as + // [ListFeatureOnlineStoresRequest.page_token][google.cloud.aiplatform.v1.ListFeatureOnlineStoresRequest.page_token] + // to retrieve the next page. If this field is omitted, there are no + // subsequent pages. + string next_page_token = 2; +} + +// Request message for +// [FeatureOnlineStoreAdminService.UpdateFeatureOnlineStore][google.cloud.aiplatform.v1.FeatureOnlineStoreAdminService.UpdateFeatureOnlineStore]. +message UpdateFeatureOnlineStoreRequest { + // Required. The FeatureOnlineStore's `name` field is used to identify the + // FeatureOnlineStore to be updated. Format: + // `projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}` + FeatureOnlineStore feature_online_store = 1 + [(google.api.field_behavior) = REQUIRED]; + + // Field mask is used to specify the fields to be overwritten in the + // FeatureOnlineStore resource by the update. + // The fields specified in the update_mask are relative to the resource, not + // the full request. A field will be overwritten if it is in the mask. If the + // user does not provide a mask then only the non-empty fields present in the + // request will be overwritten. Set the update_mask to `*` to override all + // fields. + // + // Updatable fields: + // + // * `big_query_source` + // * `bigtable` + // * `labels` + // * `sync_config` + google.protobuf.FieldMask update_mask = 2; +} + +// Request message for +// [FeatureOnlineStoreAdminService.DeleteFeatureOnlineStore][google.cloud.aiplatform.v1.FeatureOnlineStoreAdminService.DeleteFeatureOnlineStore]. +message DeleteFeatureOnlineStoreRequest { + // Required. The name of the FeatureOnlineStore to be deleted. + // Format: + // `projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/FeatureOnlineStore" + } + ]; + + // If set to true, any FeatureViews and Features for this FeatureOnlineStore + // will also be deleted. (Otherwise, the request will only work if the + // FeatureOnlineStore has no FeatureViews.) + bool force = 2; +} + +// Request message for +// [FeatureOnlineStoreAdminService.CreateFeatureView][google.cloud.aiplatform.v1.FeatureOnlineStoreAdminService.CreateFeatureView]. +message CreateFeatureViewRequest { + // Required. The resource name of the FeatureOnlineStore to create + // FeatureViews. Format: + // `projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/FeatureOnlineStore" + } + ]; + + // Required. The FeatureView to create. + FeatureView feature_view = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The ID to use for the FeatureView, which will become the final + // component of the FeatureView's resource name. + // + // This value may be up to 60 characters, and valid characters are + // `[a-z0-9_]`. The first character cannot be a number. + // + // The value must be unique within a FeatureOnlineStore. + string feature_view_id = 3 [(google.api.field_behavior) = REQUIRED]; + + // Immutable. If set to true, one on demand sync will be run immediately, + // regardless whether the + // [FeatureView.sync_config][google.cloud.aiplatform.v1.FeatureView.sync_config] + // is configured or not. + bool run_sync_immediately = 4 [(google.api.field_behavior) = IMMUTABLE]; +} + +// Request message for +// [FeatureOnlineStoreAdminService.GetFeatureView][google.cloud.aiplatform.v1.FeatureOnlineStoreAdminService.GetFeatureView]. +message GetFeatureViewRequest { + // Required. The name of the FeatureView resource. + // Format: + // `projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}/featureViews/{feature_view}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/FeatureView" + } + ]; +} + +// Request message for +// [FeatureOnlineStoreAdminService.ListFeatureViews][google.cloud.aiplatform.v1.FeatureOnlineStoreAdminService.ListFeatureViews]. +message ListFeatureViewsRequest { + // Required. The resource name of the FeatureOnlineStore to list FeatureViews. + // Format: + // `projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "aiplatform.googleapis.com/FeatureView" + } + ]; + + // Lists the FeatureViews that match the filter expression. The following + // filters are supported: + // + // * `create_time`: Supports `=`, `!=`, `<`, `>`, `>=`, and `<=` comparisons. + // Values must be in RFC 3339 format. + // * `update_time`: Supports `=`, `!=`, `<`, `>`, `>=`, and `<=` comparisons. + // Values must be in RFC 3339 format. + // * `labels`: Supports key-value equality as well as key presence. + // + // Examples: + // + // * `create_time > \"2020-01-31T15:30:00.000000Z\" OR + // update_time > \"2020-01-31T15:30:00.000000Z\"` --> FeatureViews + // created or updated after 2020-01-31T15:30:00.000000Z. + // * `labels.active = yes AND labels.env = prod` --> FeatureViews having both + // (active: yes) and (env: prod) labels. + // * `labels.env: *` --> Any FeatureView which has a label with 'env' as the + // key. + string filter = 2; + + // The maximum number of FeatureViews to return. The service may return fewer + // than this value. If unspecified, at most 1000 FeatureViews will be + // returned. The maximum value is 1000; any value greater than 1000 will be + // coerced to 1000. + int32 page_size = 3; + + // A page token, received from a previous + // [FeatureOnlineStoreAdminService.ListFeatureViews][google.cloud.aiplatform.v1.FeatureOnlineStoreAdminService.ListFeatureViews] + // call. Provide this to retrieve the subsequent page. + // + // When paginating, all other parameters provided to + // [FeatureOnlineStoreAdminService.ListFeatureViews][google.cloud.aiplatform.v1.FeatureOnlineStoreAdminService.ListFeatureViews] + // must match the call that provided the page token. + string page_token = 4; + + // A comma-separated list of fields to order by, sorted in ascending order. + // Use "desc" after a field name for descending. + // + // Supported fields: + // + // * `feature_view_id` + // * `create_time` + // * `update_time` + string order_by = 5; +} + +// Response message for +// [FeatureOnlineStoreAdminService.ListFeatureViews][google.cloud.aiplatform.v1.FeatureOnlineStoreAdminService.ListFeatureViews]. +message ListFeatureViewsResponse { + // The FeatureViews matching the request. + repeated FeatureView feature_views = 1; + + // A token, which can be sent as + // [ListFeatureViewsRequest.page_token][google.cloud.aiplatform.v1.ListFeatureViewsRequest.page_token] + // to retrieve the next page. If this field is omitted, there are no + // subsequent pages. + string next_page_token = 2; +} + +// Request message for +// [FeatureOnlineStoreAdminService.UpdateFeatureView][google.cloud.aiplatform.v1.FeatureOnlineStoreAdminService.UpdateFeatureView]. +message UpdateFeatureViewRequest { + // Required. The FeatureView's `name` field is used to identify the + // FeatureView to be updated. Format: + // `projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}/featureViews/{feature_view}` + FeatureView feature_view = 1 [(google.api.field_behavior) = REQUIRED]; + + // Field mask is used to specify the fields to be overwritten in the + // FeatureView resource by the update. + // The fields specified in the update_mask are relative to the resource, not + // the full request. A field will be overwritten if it is in the mask. If the + // user does not provide a mask then only the non-empty fields present in the + // request will be overwritten. Set the update_mask to `*` to override all + // fields. + // + // Updatable fields: + // + // * `labels` + // * `serviceAgentType` + google.protobuf.FieldMask update_mask = 2; +} + +// Request message for [FeatureOnlineStoreAdminService.DeleteFeatureViews][]. +message DeleteFeatureViewRequest { + // Required. The name of the FeatureView to be deleted. + // Format: + // `projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}/featureViews/{feature_view}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/FeatureView" + } + ]; +} + +// Details of operations that perform create FeatureOnlineStore. +message CreateFeatureOnlineStoreOperationMetadata { + // Operation metadata for FeatureOnlineStore. + GenericOperationMetadata generic_metadata = 1; +} + +// Details of operations that perform update FeatureOnlineStore. +message UpdateFeatureOnlineStoreOperationMetadata { + // Operation metadata for FeatureOnlineStore. + GenericOperationMetadata generic_metadata = 1; +} + +// Details of operations that perform create FeatureView. +message CreateFeatureViewOperationMetadata { + // Operation metadata for FeatureView Create. + GenericOperationMetadata generic_metadata = 1; +} + +// Details of operations that perform update FeatureView. +message UpdateFeatureViewOperationMetadata { + // Operation metadata for FeatureView Update. + GenericOperationMetadata generic_metadata = 1; +} + +// Request message for +// [FeatureOnlineStoreAdminService.SyncFeatureView][google.cloud.aiplatform.v1.FeatureOnlineStoreAdminService.SyncFeatureView]. +message SyncFeatureViewRequest { + // Required. Format: + // `projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}/featureViews/{feature_view}` + string feature_view = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/FeatureView" + } + ]; +} + +// Respose message for +// [FeatureOnlineStoreAdminService.SyncFeatureView][google.cloud.aiplatform.v1.FeatureOnlineStoreAdminService.SyncFeatureView]. +message SyncFeatureViewResponse { + // Format: + // `projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}/featureViews/{feature_view}/featureViewSyncs/{feature_view_sync}` + string feature_view_sync = 1; +} + +// Request message for +// [FeatureOnlineStoreAdminService.GetFeatureViewSync][google.cloud.aiplatform.v1.FeatureOnlineStoreAdminService.GetFeatureViewSync]. +message GetFeatureViewSyncRequest { + // Required. The name of the FeatureViewSync resource. + // Format: + // `projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}/featureViews/{feature_view}/featureViewSyncs/{feature_view_sync}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/FeatureViewSync" + } + ]; +} + +// Request message for +// [FeatureOnlineStoreAdminService.ListFeatureViewSyncs][google.cloud.aiplatform.v1.FeatureOnlineStoreAdminService.ListFeatureViewSyncs]. +message ListFeatureViewSyncsRequest { + // Required. The resource name of the FeatureView to list FeatureViewSyncs. + // Format: + // `projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}/featureViews/{feature_view}` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/FeatureView" + } + ]; + + // Lists the FeatureViewSyncs that match the filter expression. The following + // filters are supported: + // + // * `create_time`: Supports `=`, `!=`, `<`, `>`, `>=`, and `<=` comparisons. + // Values must be in RFC 3339 format. + // + // Examples: + // + // * `create_time > \"2020-01-31T15:30:00.000000Z\"` --> FeatureViewSyncs + // created after 2020-01-31T15:30:00.000000Z. + string filter = 2; + + // The maximum number of FeatureViewSyncs to return. The service may return + // fewer than this value. If unspecified, at most 1000 FeatureViewSyncs will + // be returned. The maximum value is 1000; any value greater than 1000 will be + // coerced to 1000. + int32 page_size = 3; + + // A page token, received from a previous + // [FeatureOnlineStoreAdminService.ListFeatureViewSyncs][google.cloud.aiplatform.v1.FeatureOnlineStoreAdminService.ListFeatureViewSyncs] + // call. Provide this to retrieve the subsequent page. + // + // When paginating, all other parameters provided to + // [FeatureOnlineStoreAdminService.ListFeatureViewSyncs][google.cloud.aiplatform.v1.FeatureOnlineStoreAdminService.ListFeatureViewSyncs] + // must match the call that provided the page token. + string page_token = 4; + + // A comma-separated list of fields to order by, sorted in ascending order. + // Use "desc" after a field name for descending. + // + // Supported fields: + // + // * `create_time` + string order_by = 5; +} + +// Response message for +// [FeatureOnlineStoreAdminService.ListFeatureViewSyncs][google.cloud.aiplatform.v1.FeatureOnlineStoreAdminService.ListFeatureViewSyncs]. +message ListFeatureViewSyncsResponse { + // The FeatureViewSyncs matching the request. + repeated FeatureViewSync feature_view_syncs = 1; + + // A token, which can be sent as + // [ListFeatureViewSyncsRequest.page_token][google.cloud.aiplatform.v1.ListFeatureViewSyncsRequest.page_token] + // to retrieve the next page. If this field is omitted, there are no + // subsequent pages. + string next_page_token = 2; +} 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 new file mode 100644 index 000000000..c6a44037e --- /dev/null +++ b/third_party/googleapis/google/cloud/aiplatform/v1/feature_online_store_service.proto @@ -0,0 +1,256 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF 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.aiplatform.v1; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/aiplatform/v1/featurestore_online_service.proto"; +import "google/protobuf/struct.proto"; + +option csharp_namespace = "Google.Cloud.AIPlatform.V1"; +option go_package = "cloud.google.com/go/aiplatform/apiv1/aiplatformpb;aiplatformpb"; +option java_multiple_files = true; +option java_outer_classname = "FeatureOnlineStoreServiceProto"; +option java_package = "com.google.cloud.aiplatform.v1"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1"; +option ruby_package = "Google::Cloud::AIPlatform::V1"; + +// A service for fetching feature values from the online store. +service FeatureOnlineStoreService { + option (google.api.default_host) = "aiplatform.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform"; + + // Fetch feature values under a FeatureView. + rpc FetchFeatureValues(FetchFeatureValuesRequest) + returns (FetchFeatureValuesResponse) { + option (google.api.http) = { + post: "/v1/{feature_view=projects/*/locations/*/featureOnlineStores/*/featureViews/*}:fetchFeatureValues" + body: "*" + }; + option (google.api.method_signature) = "feature_view, data_key"; + } + + // Search the nearest entities under a FeatureView. + // Search only works for indexable feature view; if a feature view isn't + // indexable, returns Invalid argument response. + rpc SearchNearestEntities(SearchNearestEntitiesRequest) + returns (SearchNearestEntitiesResponse) { + option (google.api.http) = { + post: "/v1/{feature_view=projects/*/locations/*/featureOnlineStores/*/featureViews/*}:searchNearestEntities" + body: "*" + }; + } +} + +// Format of the data in the Feature View. +enum FeatureViewDataFormat { + // Not set. Will be treated as the KeyValue format. + FEATURE_VIEW_DATA_FORMAT_UNSPECIFIED = 0; + + // Return response data in key-value format. + KEY_VALUE = 1; + + // Return response data in proto Struct format. + PROTO_STRUCT = 2; +} + +// Lookup key for a feature view. +message FeatureViewDataKey { + oneof key_oneof { + // String key to use for lookup. + string key = 1; + } +} + +// Request message for +// [FeatureOnlineStoreService.FetchFeatureValues][google.cloud.aiplatform.v1.FeatureOnlineStoreService.FetchFeatureValues]. +// All the features under the requested feature view will be returned. +message FetchFeatureValuesRequest { + // Required. FeatureView resource format + // `projects/{project}/locations/{location}/featureOnlineStores/{featureOnlineStore}/featureViews/{featureView}` + string feature_view = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/FeatureView" + } + ]; + + // Optional. The request key to fetch feature values for. + FeatureViewDataKey data_key = 6 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Response data format. If not set, + // [FeatureViewDataFormat.KEY_VALUE][google.cloud.aiplatform.v1.FeatureViewDataFormat.KEY_VALUE] + // will be used. + FeatureViewDataFormat data_format = 7 + [(google.api.field_behavior) = OPTIONAL]; +} + +// Response message for +// [FeatureOnlineStoreService.FetchFeatureValues][google.cloud.aiplatform.v1.FeatureOnlineStoreService.FetchFeatureValues] +message FetchFeatureValuesResponse { + // Response structure in the format of key (feature name) and (feature) value + // pair. + message FeatureNameValuePairList { + // Feature name & value pair. + message FeatureNameValuePair { + oneof data { + // Feature value. + FeatureValue value = 2; + } + + // Feature short name. + string name = 1; + } + + // List of feature names and values. + repeated FeatureNameValuePair features = 1; + } + + oneof format { + // Feature values in KeyValue format. + FeatureNameValuePairList key_values = 3; + + // Feature values in proto Struct format. + google.protobuf.Struct proto_struct = 2; + } +} + +// A query to find a number of similar entities. +message NearestNeighborQuery { + // The embedding vector. + message Embedding { + // Optional. Individual value in the embedding. + repeated float value = 1 [(google.api.field_behavior) = OPTIONAL]; + } + + // String filter is used to search a subset of the entities by using boolean + // rules on string columns. + // For example: if a query specifies string filter + // with 'name = color, allow_tokens = {red, blue}, deny_tokens = {purple}',' + // then that query will match entities that are red or blue, but if those + // points are also purple, then they will be excluded even if they are + // red/blue. Only string filter is supported for now, numeric filter will be + // supported in the near future. + message StringFilter { + // Required. Column names in BigQuery that used as filters. + string name = 1 [(google.api.field_behavior) = REQUIRED]; + + // Optional. The allowed tokens. + repeated string allow_tokens = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The denied tokens. + repeated string deny_tokens = 3 [(google.api.field_behavior) = OPTIONAL]; + } + + // Parameters that can be overrided in each query to tune query latency and + // recall. + message Parameters { + // Optional. The number of neighbors to find via approximate search before + // exact reordering is performed; if set, this value must be > + // neighbor_count. + int32 approximate_neighbor_candidates = 1 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The fraction of the number of leaves to search, set at query + // time allows user to tune search performance. This value increase result + // in both search accuracy and latency increase. The value should be between + // 0.0 and 1.0. + double leaf_nodes_search_fraction = 2 + [(google.api.field_behavior) = OPTIONAL]; + } + + oneof instance { + // Optional. The entity id whose similar entities should be searched for. + // If embedding is set, search will use embedding instead of + // entity_id. + string entity_id = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The embedding vector that be used for similar search. + Embedding embedding = 2 [(google.api.field_behavior) = OPTIONAL]; + } + + // Optional. The number of similar entities to be retrieved from feature view + // for each query. + int32 neighbor_count = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The list of string filters. + repeated StringFilter string_filters = 4 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Crowding is a constraint on a neighbor list produced by nearest + // neighbor search requiring that no more than + // sper_crowding_attribute_neighbor_count of the k neighbors returned have the + // same value of crowding_attribute. It's used for improving result diversity. + int32 per_crowding_attribute_neighbor_count = 5 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Parameters that can be set to tune query on the fly. + Parameters parameters = 7 [(google.api.field_behavior) = OPTIONAL]; +} + +// The request message for +// [FeatureOnlineStoreService.SearchNearestEntities][google.cloud.aiplatform.v1.FeatureOnlineStoreService.SearchNearestEntities]. +message SearchNearestEntitiesRequest { + // Required. FeatureView resource format + // `projects/{project}/locations/{location}/featureOnlineStores/{featureOnlineStore}/featureViews/{featureView}` + string feature_view = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/FeatureView" + } + ]; + + // Required. The query. + NearestNeighborQuery query = 2 [(google.api.field_behavior) = REQUIRED]; + + // Optional. If set to true, the full entities (including all vector values + // and metadata) of the nearest neighbors are returned; otherwise only entity + // id of the nearest neighbors will be returned. Note that returning full + // entities will significantly increase the latency and cost of the query. + bool return_full_entity = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// Nearest neighbors for one query. +message NearestNeighbors { + // A neighbor of the query vector. + message Neighbor { + // The id of the similar entity. + string entity_id = 1; + + // The distance between the neighbor and the query vector. + double distance = 2; + + // The attributes of the neighbor, e.g. filters, crowding and metadata + // Note that full entities are returned only when "return_full_entity" + // is set to true. Otherwise, only the "entity_id" and "distance" fields + // are populated. + FetchFeatureValuesResponse entity_key_values = 3; + } + + // All its neighbors. + repeated Neighbor neighbors = 1; +} + +// Response message for +// [FeatureOnlineStoreService.SearchNearestEntities][google.cloud.aiplatform.v1.FeatureOnlineStoreService.SearchNearestEntities] +message SearchNearestEntitiesResponse { + // The nearest neighbors of the query entity. + NearestNeighbors nearest_neighbors = 1; +} diff --git a/third_party/googleapis/google/cloud/aiplatform/v1/feature_registry_service.proto b/third_party/googleapis/google/cloud/aiplatform/v1/feature_registry_service.proto new file mode 100644 index 000000000..e02ca56c1 --- /dev/null +++ b/third_party/googleapis/google/cloud/aiplatform/v1/feature_registry_service.proto @@ -0,0 +1,333 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF 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.aiplatform.v1; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/aiplatform/v1/feature.proto"; +import "google/cloud/aiplatform/v1/feature_group.proto"; +import "google/cloud/aiplatform/v1/featurestore_service.proto"; +import "google/cloud/aiplatform/v1/operation.proto"; +import "google/longrunning/operations.proto"; +import "google/protobuf/empty.proto"; +import "google/protobuf/field_mask.proto"; + +option csharp_namespace = "Google.Cloud.AIPlatform.V1"; +option go_package = "cloud.google.com/go/aiplatform/apiv1/aiplatformpb;aiplatformpb"; +option java_multiple_files = true; +option java_outer_classname = "FeatureRegistryServiceProto"; +option java_package = "com.google.cloud.aiplatform.v1"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1"; +option ruby_package = "Google::Cloud::AIPlatform::V1"; + +// The service that handles CRUD and List for resources for +// FeatureRegistry. +service FeatureRegistryService { + option (google.api.default_host) = "aiplatform.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform"; + + // Creates a new FeatureGroup in a given project and location. + rpc CreateFeatureGroup(CreateFeatureGroupRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*}/featureGroups" + body: "feature_group" + }; + option (google.api.method_signature) = + "parent,feature_group,feature_group_id"; + option (google.longrunning.operation_info) = { + response_type: "FeatureGroup" + metadata_type: "CreateFeatureGroupOperationMetadata" + }; + } + + // Gets details of a single FeatureGroup. + rpc GetFeatureGroup(GetFeatureGroupRequest) returns (FeatureGroup) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/featureGroups/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Lists FeatureGroups in a given project and location. + rpc ListFeatureGroups(ListFeatureGroupsRequest) + returns (ListFeatureGroupsResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*}/featureGroups" + }; + option (google.api.method_signature) = "parent"; + } + + // Updates the parameters of a single FeatureGroup. + rpc UpdateFeatureGroup(UpdateFeatureGroupRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + patch: "/v1/{feature_group.name=projects/*/locations/*/featureGroups/*}" + body: "feature_group" + }; + option (google.api.method_signature) = "feature_group,update_mask"; + option (google.longrunning.operation_info) = { + response_type: "FeatureGroup" + metadata_type: "UpdateFeatureGroupOperationMetadata" + }; + } + + // Deletes a single FeatureGroup. + rpc DeleteFeatureGroup(DeleteFeatureGroupRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1/{name=projects/*/locations/*/featureGroups/*}" + }; + option (google.api.method_signature) = "name,force"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "DeleteOperationMetadata" + }; + } + + // Creates a new Feature in a given FeatureGroup. + rpc CreateFeature(CreateFeatureRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*/featureGroups/*}/features" + body: "feature" + }; + option (google.api.method_signature) = "parent,feature,feature_id"; + option (google.longrunning.operation_info) = { + response_type: "Feature" + metadata_type: "CreateFeatureOperationMetadata" + }; + } + + // Gets details of a single Feature. + rpc GetFeature(GetFeatureRequest) returns (Feature) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/featureGroups/*/features/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Lists Features in a given FeatureGroup. + rpc ListFeatures(ListFeaturesRequest) returns (ListFeaturesResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*/featureGroups/*}/features" + }; + option (google.api.method_signature) = "parent"; + } + + // Updates the parameters of a single Feature. + rpc UpdateFeature(UpdateFeatureRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + patch: "/v1/{feature.name=projects/*/locations/*/featureGroups/*/features/*}" + body: "feature" + }; + option (google.api.method_signature) = "feature,update_mask"; + option (google.longrunning.operation_info) = { + response_type: "Feature" + metadata_type: "UpdateFeatureOperationMetadata" + }; + } + + // Deletes a single Feature. + rpc DeleteFeature(DeleteFeatureRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1/{name=projects/*/locations/*/featureGroups/*/features/*}" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "DeleteOperationMetadata" + }; + } +} + +// Request message for +// [FeatureRegistryService.CreateFeatureGroup][google.cloud.aiplatform.v1.FeatureRegistryService.CreateFeatureGroup]. +message CreateFeatureGroupRequest { + // Required. The resource name of the Location to create FeatureGroups. + // Format: + // `projects/{project}/locations/{location}'` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "aiplatform.googleapis.com/FeatureGroup" + } + ]; + + // Required. The FeatureGroup to create. + FeatureGroup feature_group = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The ID to use for this FeatureGroup, which will become the final + // component of the FeatureGroup's resource name. + // + // This value may be up to 60 characters, and valid characters are + // `[a-z0-9_]`. The first character cannot be a number. + // + // The value must be unique within the project and location. + string feature_group_id = 3 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for +// [FeatureRegistryService.GetFeatureGroup][google.cloud.aiplatform.v1.FeatureRegistryService.GetFeatureGroup]. +message GetFeatureGroupRequest { + // Required. The name of the FeatureGroup resource. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/FeatureGroup" + } + ]; +} + +// Request message for +// [FeatureRegistryService.ListFeatureGroups][google.cloud.aiplatform.v1.FeatureRegistryService.ListFeatureGroups]. +message ListFeatureGroupsRequest { + // Required. The resource name of the Location to list FeatureGroups. + // Format: + // `projects/{project}/locations/{location}` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "aiplatform.googleapis.com/FeatureGroup" + } + ]; + + // Lists the FeatureGroups that match the filter expression. The + // following fields are supported: + // + // * `create_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. + // Values must be + // in RFC 3339 format. + // * `update_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. + // Values must be + // in RFC 3339 format. + // * `labels`: Supports key-value equality and key presence. + // + // Examples: + // + // * `create_time > "2020-01-01" OR update_time > "2020-01-01"` + // FeatureGroups created or updated after 2020-01-01. + // * `labels.env = "prod"` + // FeatureGroups with label "env" set to "prod". + string filter = 2; + + // The maximum number of FeatureGroups to return. The service may return + // fewer than this value. If unspecified, at most 100 FeatureGroups will + // be returned. The maximum value is 100; any value greater than 100 will be + // coerced to 100. + int32 page_size = 3; + + // A page token, received from a previous + // [FeatureGroupAdminService.ListFeatureGroups][] call. + // Provide this to retrieve the subsequent page. + // + // When paginating, all other parameters provided to + // [FeatureGroupAdminService.ListFeatureGroups][] must + // match the call that provided the page token. + string page_token = 4; + + // A comma-separated list of fields to order by, sorted in ascending order. + // Use "desc" after a field name for descending. + // Supported Fields: + // + // * `create_time` + // * `update_time` + string order_by = 5; +} + +// Response message for +// [FeatureRegistryService.ListFeatureGroups][google.cloud.aiplatform.v1.FeatureRegistryService.ListFeatureGroups]. +message ListFeatureGroupsResponse { + // The FeatureGroups matching the request. + repeated FeatureGroup feature_groups = 1; + + // A token, which can be sent as + // [ListFeatureGroupsRequest.page_token][google.cloud.aiplatform.v1.ListFeatureGroupsRequest.page_token] + // to retrieve the next page. If this field is omitted, there are no + // subsequent pages. + string next_page_token = 2; +} + +// Request message for +// [FeatureRegistryService.UpdateFeatureGroup][google.cloud.aiplatform.v1.FeatureRegistryService.UpdateFeatureGroup]. +message UpdateFeatureGroupRequest { + // Required. The FeatureGroup's `name` field is used to identify the + // FeatureGroup to be updated. Format: + // `projects/{project}/locations/{location}/featureGroups/{feature_group}` + FeatureGroup feature_group = 1 [(google.api.field_behavior) = REQUIRED]; + + // Field mask is used to specify the fields to be overwritten in the + // FeatureGroup resource by the update. + // The fields specified in the update_mask are relative to the resource, not + // the full request. A field will be overwritten if it is in the mask. If the + // user does not provide a mask then only the non-empty fields present in the + // request will be overwritten. Set the update_mask to `*` to override all + // fields. + // + // Updatable fields: + // + // * `labels` + google.protobuf.FieldMask update_mask = 2; +} + +// Request message for +// [FeatureRegistryService.DeleteFeatureGroup][google.cloud.aiplatform.v1.FeatureRegistryService.DeleteFeatureGroup]. +message DeleteFeatureGroupRequest { + // Required. The name of the FeatureGroup to be deleted. + // Format: + // `projects/{project}/locations/{location}/featureGroups/{feature_group}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/FeatureGroup" + } + ]; + + // If set to true, any Features under this FeatureGroup + // will also be deleted. (Otherwise, the request will only work if the + // FeatureGroup has no Features.) + bool force = 2; +} + +// Details of operations that perform create FeatureGroup. +message CreateFeatureGroupOperationMetadata { + // Operation metadata for FeatureGroup. + GenericOperationMetadata generic_metadata = 1; +} + +// Details of operations that perform update FeatureGroup. +message UpdateFeatureGroupOperationMetadata { + // Operation metadata for FeatureGroup. + GenericOperationMetadata generic_metadata = 1; +} + +// Details of operations that perform create FeatureGroup. +message CreateRegistryFeatureOperationMetadata { + // Operation metadata for Feature. + GenericOperationMetadata generic_metadata = 1; +} + +// Details of operations that perform update Feature. +message UpdateFeatureOperationMetadata { + // Operation metadata for Feature Update. + GenericOperationMetadata generic_metadata = 1; +} diff --git a/third_party/googleapis/google/cloud/aiplatform/v1/feature_view.proto b/third_party/googleapis/google/cloud/aiplatform/v1/feature_view.proto new file mode 100644 index 000000000..6ffec4762 --- /dev/null +++ b/third_party/googleapis/google/cloud/aiplatform/v1/feature_view.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.cloud.aiplatform.v1; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.AIPlatform.V1"; +option go_package = "cloud.google.com/go/aiplatform/apiv1/aiplatformpb;aiplatformpb"; +option java_multiple_files = true; +option java_outer_classname = "FeatureViewProto"; +option java_package = "com.google.cloud.aiplatform.v1"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1"; +option ruby_package = "Google::Cloud::AIPlatform::V1"; + +// FeatureView is representation of values that the FeatureOnlineStore will +// serve based on its syncConfig. +message FeatureView { + option (google.api.resource) = { + type: "aiplatform.googleapis.com/FeatureView" + pattern: "projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}/featureViews/{feature_view}" + }; + + message BigQuerySource { + // Required. The BigQuery view URI that will be materialized on each sync + // trigger based on FeatureView.SyncConfig. + string uri = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. Columns to construct entity_id / row keys. Start by supporting + // 1 only. + repeated string entity_id_columns = 2 + [(google.api.field_behavior) = REQUIRED]; + } + + // Configuration for Sync. Only one option is set. + message SyncConfig { + // Cron schedule (https://en.wikipedia.org/wiki/Cron) to launch scheduled + // runs. To explicitly set a timezone to the cron tab, apply a prefix in + // the cron tab: "CRON_TZ=${IANA_TIME_ZONE}" or "TZ=${IANA_TIME_ZONE}". + // The ${IANA_TIME_ZONE} may only be a valid string from IANA time zone + // database. For example, "CRON_TZ=America/New_York 1 * * * *", or + // "TZ=America/New_York 1 * * * *". + string cron = 1; + } + + // A Feature Registry source for features that need to be synced to Online + // Store. + message FeatureRegistrySource { + // Features belonging to a single feature group that will be + // synced to Online Store. + message FeatureGroup { + // Required. Identifier of the feature group. + string feature_group_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. Identifiers of features under the feature group. + repeated string feature_ids = 2 [(google.api.field_behavior) = REQUIRED]; + } + + // Required. List of features that need to be synced to Online Store. + repeated FeatureGroup feature_groups = 1 + [(google.api.field_behavior) = REQUIRED]; + } + + oneof source { + // Optional. Configures how data is supposed to be extracted from a BigQuery + // source to be loaded onto the FeatureOnlineStore. + BigQuerySource big_query_source = 6 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Configures the features from a Feature Registry source that + // need to be loaded onto the FeatureOnlineStore. + FeatureRegistrySource feature_registry_source = 9 + [(google.api.field_behavior) = OPTIONAL]; + } + + // Identifier. Name of the FeatureView. Format: + // `projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}/featureViews/{feature_view}` + string name = 1 [(google.api.field_behavior) = IDENTIFIER]; + + // Output only. Timestamp when this FeatureView was created. + google.protobuf.Timestamp create_time = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Timestamp when this FeatureView was last updated. + google.protobuf.Timestamp update_time = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Optional. Used to perform consistent read-modify-write updates. If not set, + // a blind "overwrite" update happens. + string etag = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The labels with user-defined metadata to organize your + // FeatureViews. + // + // Label keys and values can be no longer than 64 characters + // (Unicode codepoints), can only contain lowercase letters, numeric + // characters, underscores and dashes. International characters are allowed. + // + // See https://goo.gl/xmQnxf for more information on and examples of labels. + // No more than 64 user labels can be associated with one + // FeatureOnlineStore(System labels are excluded)." System reserved label keys + // are prefixed with "aiplatform.googleapis.com/" and are immutable. + map labels = 5 [(google.api.field_behavior) = OPTIONAL]; + + // Configures when data is to be synced/updated for this FeatureView. At the + // end of the sync the latest featureValues for each entityId of this + // FeatureView are made ready for online serving. + SyncConfig sync_config = 7; +} diff --git a/third_party/googleapis/google/cloud/aiplatform/v1/feature_view_sync.proto b/third_party/googleapis/google/cloud/aiplatform/v1/feature_view_sync.proto new file mode 100644 index 000000000..20357882b --- /dev/null +++ b/third_party/googleapis/google/cloud/aiplatform/v1/feature_view_sync.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.cloud.aiplatform.v1; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/timestamp.proto"; +import "google/rpc/status.proto"; +import "google/type/interval.proto"; + +option csharp_namespace = "Google.Cloud.AIPlatform.V1"; +option go_package = "cloud.google.com/go/aiplatform/apiv1/aiplatformpb;aiplatformpb"; +option java_multiple_files = true; +option java_outer_classname = "FeatureViewSyncProto"; +option java_package = "com.google.cloud.aiplatform.v1"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1"; +option ruby_package = "Google::Cloud::Aiplatform::V1"; + +// FeatureViewSync is a representation of sync operation which copies data from +// data source to Feature View in Online Store. +message FeatureViewSync { + option (google.api.resource) = { + type: "aiplatform.googleapis.com/FeatureViewSync" + pattern: "projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}/featureViews/{feature_view}/featureViewSyncs/feature_view_sync" + }; + + // Identifier. Name of the FeatureViewSync. Format: + // `projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}/featureViews/{feature_view}/featureViewSyncs/{feature_view_sync}` + string name = 1 [(google.api.field_behavior) = IDENTIFIER]; + + // Output only. Time when this FeatureViewSync is created. Creation of a + // FeatureViewSync means that the job is pending / waiting for sufficient + // resources but may not have started the actual data transfer yet. + google.protobuf.Timestamp create_time = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Time when this FeatureViewSync is finished. + google.type.Interval run_time = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Final status of the FeatureViewSync. + google.rpc.Status final_status = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/cloud/aiplatform/v1/llm_utility_service.proto b/third_party/googleapis/google/cloud/aiplatform/v1/llm_utility_service.proto new file mode 100644 index 000000000..3cd98bd08 --- /dev/null +++ b/third_party/googleapis/google/cloud/aiplatform/v1/llm_utility_service.proto @@ -0,0 +1,100 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF 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.aiplatform.v1; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/aiplatform/v1/prediction_service.proto"; +import "google/protobuf/struct.proto"; + +option csharp_namespace = "Google.Cloud.AIPlatform.V1"; +option go_package = "cloud.google.com/go/aiplatform/apiv1/aiplatformpb;aiplatformpb"; +option java_multiple_files = true; +option java_outer_classname = "LlmUtilityServiceProto"; +option java_package = "com.google.cloud.aiplatform.v1"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1"; +option ruby_package = "Google::Cloud::AIPlatform::V1"; + +// Service for LLM related utility functions. +service LlmUtilityService { + option (google.api.default_host) = "aiplatform.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform"; + + // Perform a token counting. + rpc CountTokens(CountTokensRequest) returns (CountTokensResponse) { + option (google.api.http) = { + post: "/v1/{endpoint=projects/*/locations/*/endpoints/*}:countTokens" + body: "*" + additional_bindings { + post: "/v1/{endpoint=projects/*/locations/*/publishers/*/models/*}:countTokens" + body: "*" + } + }; + option (google.api.method_signature) = "endpoint,instances"; + } + + // Return a list of tokens based on the input text. + rpc ComputeTokens(ComputeTokensRequest) returns (ComputeTokensResponse) { + option (google.api.http) = { + post: "/v1/{endpoint=projects/*/locations/*/endpoints/*}:computeTokens" + body: "*" + additional_bindings { + post: "/v1/{endpoint=projects/*/locations/*/publishers/*/models/*}:computeTokens" + body: "*" + } + }; + option (google.api.method_signature) = "endpoint,instances"; + } +} + +// Request message for ComputeTokens RPC call. +message ComputeTokensRequest { + // Required. The name of the Endpoint requested to get lists of tokens and + // token ids. + string endpoint = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/Endpoint" + } + ]; + + // Required. The instances that are the input to token computing API call. + // Schema is identical to the prediction schema of the text model, even for + // the non-text models, like chat models, or Codey models. + repeated google.protobuf.Value instances = 2 + [(google.api.field_behavior) = REQUIRED]; +} + +// Tokens info with a list of tokens and the corresponding list of token ids. +message TokensInfo { + // A list of tokens from the input. + repeated bytes tokens = 1; + + // A list of token ids from the input. + repeated int64 token_ids = 2; +} + +// Response message for ComputeTokens RPC call. +message ComputeTokensResponse { + // Lists of tokens info from the input. A ComputeTokensRequest could have + // multiple instances with a prompt in each instance. We also need to return + // lists of tokens info for the request with multiple instances. + repeated TokensInfo tokens_info = 1; +} diff --git a/third_party/googleapis/google/cloud/aiplatform/v1/match_service.proto b/third_party/googleapis/google/cloud/aiplatform/v1/match_service.proto new file mode 100644 index 000000000..5b56a08b5 --- /dev/null +++ b/third_party/googleapis/google/cloud/aiplatform/v1/match_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.cloud.aiplatform.v1; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/aiplatform/v1/index.proto"; + +option csharp_namespace = "Google.Cloud.AIPlatform.V1"; +option go_package = "cloud.google.com/go/aiplatform/apiv1/aiplatformpb;aiplatformpb"; +option java_multiple_files = true; +option java_outer_classname = "MatchServiceProto"; +option java_package = "com.google.cloud.aiplatform.v1"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1"; +option ruby_package = "Google::Cloud::AIPlatform::V1"; + +// MatchService is a Google managed service for efficient vector similarity +// search at scale. +service MatchService { + option (google.api.default_host) = "aiplatform.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform"; + + // Finds the nearest neighbors of each vector within the request. + rpc FindNeighbors(FindNeighborsRequest) returns (FindNeighborsResponse) { + option (google.api.http) = { + post: "/v1/{index_endpoint=projects/*/locations/*/indexEndpoints/*}:findNeighbors" + body: "*" + }; + } + + // Reads the datapoints/vectors of the given IDs. + // A maximum of 1000 datapoints can be retrieved in a batch. + rpc ReadIndexDatapoints(ReadIndexDatapointsRequest) + returns (ReadIndexDatapointsResponse) { + option (google.api.http) = { + post: "/v1/{index_endpoint=projects/*/locations/*/indexEndpoints/*}:readIndexDatapoints" + body: "*" + }; + } +} + +// The request message for +// [MatchService.FindNeighbors][google.cloud.aiplatform.v1.MatchService.FindNeighbors]. +message FindNeighborsRequest { + // A query to find a number of the nearest neighbors (most similar vectors) + // of a vector. + message Query { + // Required. The datapoint/vector whose nearest neighbors should be searched + // for. + IndexDatapoint datapoint = 1 [(google.api.field_behavior) = REQUIRED]; + + // The number of nearest neighbors to be retrieved from database for each + // query. If not set, will use the default from the service configuration + // (https://cloud.google.com/vertex-ai/docs/matching-engine/configuring-indexes#nearest-neighbor-search-config). + int32 neighbor_count = 2; + + // Crowding is a constraint on a neighbor list produced by nearest neighbor + // search requiring that no more than some value k' of the k neighbors + // returned have the same value of crowding_attribute. + // It's used for improving result diversity. + // This field is the maximum number of matches with the same crowding tag. + int32 per_crowding_attribute_neighbor_count = 3; + + // The number of neighbors to find via approximate search before + // exact reordering is performed. If not set, the default value from scam + // config is used; if set, this value must be > 0. + int32 approximate_neighbor_count = 4; + + // The fraction of the number of leaves to search, set at query time allows + // user to tune search performance. This value increase result in both + // search accuracy and latency increase. The value should be between 0.0 + // and 1.0. If not set or set to 0.0, query uses the default value specified + // in + // NearestNeighborSearchConfig.TreeAHConfig.fraction_leaf_nodes_to_search. + double fraction_leaf_nodes_to_search_override = 5; + } + + // Required. The name of the index endpoint. + // Format: + // `projects/{project}/locations/{location}/indexEndpoints/{index_endpoint}` + string index_endpoint = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/IndexEndpoint" + } + ]; + + // The ID of the DeployedIndex that will serve the request. This request is + // sent to a specific IndexEndpoint, as per the IndexEndpoint.network. That + // IndexEndpoint also has IndexEndpoint.deployed_indexes, and each such index + // has a DeployedIndex.id field. + // The value of the field below must equal one of the DeployedIndex.id + // fields of the IndexEndpoint that is being called for this request. + string deployed_index_id = 2; + + // The list of queries. + repeated Query queries = 3; + + // If set to true, the full datapoints (including all vector values and + // restricts) of the nearest neighbors are returned. + // Note that returning full datapoint will significantly increase the + // latency and cost of the query. + bool return_full_datapoint = 4; +} + +// The response message for +// [MatchService.FindNeighbors][google.cloud.aiplatform.v1.MatchService.FindNeighbors]. +message FindNeighborsResponse { + // A neighbor of the query vector. + message Neighbor { + // The datapoint of the neighbor. + // Note that full datapoints are returned only when "return_full_datapoint" + // is set to true. Otherwise, only the "datapoint_id" and "crowding_tag" + // fields are populated. + IndexDatapoint datapoint = 1; + + // The distance between the neighbor and the query vector. + double distance = 2; + } + + // Nearest neighbors for one query. + message NearestNeighbors { + // The ID of the query datapoint. + string id = 1; + + // All its neighbors. + repeated Neighbor neighbors = 2; + } + + // The nearest neighbors of the query datapoints. + repeated NearestNeighbors nearest_neighbors = 1; +} + +// The request message for +// [MatchService.ReadIndexDatapoints][google.cloud.aiplatform.v1.MatchService.ReadIndexDatapoints]. +message ReadIndexDatapointsRequest { + // Required. The name of the index endpoint. + // Format: + // `projects/{project}/locations/{location}/indexEndpoints/{index_endpoint}` + string index_endpoint = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/IndexEndpoint" + } + ]; + + // The ID of the DeployedIndex that will serve the request. + string deployed_index_id = 2; + + // IDs of the datapoints to be searched for. + repeated string ids = 3; +} + +// The response message for +// [MatchService.ReadIndexDatapoints][google.cloud.aiplatform.v1.MatchService.ReadIndexDatapoints]. +message ReadIndexDatapointsResponse { + // The result list of datapoints. + repeated IndexDatapoint datapoints = 1; +} diff --git a/third_party/googleapis/google/cloud/aiplatform/v1/model_garden_service.proto b/third_party/googleapis/google/cloud/aiplatform/v1/model_garden_service.proto new file mode 100644 index 000000000..3a5802378 --- /dev/null +++ b/third_party/googleapis/google/cloud/aiplatform/v1/model_garden_service.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.cloud.aiplatform.v1; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/aiplatform/v1/publisher_model.proto"; + +option csharp_namespace = "Google.Cloud.AIPlatform.V1"; +option go_package = "cloud.google.com/go/aiplatform/apiv1/aiplatformpb;aiplatformpb"; +option java_multiple_files = true; +option java_outer_classname = "ModelGardenServiceProto"; +option java_package = "com.google.cloud.aiplatform.v1"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1"; +option ruby_package = "Google::Cloud::AIPlatform::V1"; + +// The interface of Model Garden Service. +service ModelGardenService { + option (google.api.default_host) = "aiplatform.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform"; + + // Gets a Model Garden publisher model. + rpc GetPublisherModel(GetPublisherModelRequest) returns (PublisherModel) { + option (google.api.http) = { + get: "/v1/{name=publishers/*/models/*}" + }; + option (google.api.method_signature) = "name"; + } +} + +// View enumeration of PublisherModel. +enum PublisherModelView { + // The default / unset value. The API will default to the BASIC view. + PUBLISHER_MODEL_VIEW_UNSPECIFIED = 0; + + // Include basic metadata about the publisher model, but not the full + // contents. + PUBLISHER_MODEL_VIEW_BASIC = 1; + + // Include everything. + PUBLISHER_MODEL_VIEW_FULL = 2; + + // Include: VersionId, ModelVersionExternalName, and SupportedActions. + PUBLISHER_MODEL_VERSION_VIEW_BASIC = 3; +} + +// Request message for +// [ModelGardenService.GetPublisherModel][google.cloud.aiplatform.v1.ModelGardenService.GetPublisherModel] +message GetPublisherModelRequest { + // Required. The name of the PublisherModel resource. + // Format: + // `publishers/{publisher}/models/{publisher_model}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/PublisherModel" + } + ]; + + // Optional. The IETF BCP-47 language code representing the language in which + // the publisher model's text information should be written in (see go/bcp47). + string language_code = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. PublisherModel view specifying which fields to read. + PublisherModelView view = 3 [(google.api.field_behavior) = OPTIONAL]; +} diff --git a/third_party/googleapis/google/cloud/aiplatform/v1/openapi.proto b/third_party/googleapis/google/cloud/aiplatform/v1/openapi.proto new file mode 100644 index 000000000..dfdcd0a42 --- /dev/null +++ b/third_party/googleapis/google/cloud/aiplatform/v1/openapi.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.cloud.aiplatform.v1; + +import "google/api/field_behavior.proto"; +import "google/protobuf/struct.proto"; + +option csharp_namespace = "Google.Cloud.AIPlatform.V1"; +option go_package = "cloud.google.com/go/aiplatform/apiv1/aiplatformpb;aiplatformpb"; +option java_multiple_files = true; +option java_outer_classname = "OpenApiProto"; +option java_package = "com.google.cloud.aiplatform.v1"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1"; +option ruby_package = "Google::Cloud::AIPlatform::V1"; + +// Type contains the list of OpenAPI data types as defined by +// https://swagger.io/docs/specification/data-models/data-types/ +enum Type { + // Not specified, should not be used. + TYPE_UNSPECIFIED = 0; + + // OpenAPI string type + STRING = 1; + + // OpenAPI number type + NUMBER = 2; + + // OpenAPI integer type + INTEGER = 3; + + // OpenAPI boolean type + BOOLEAN = 4; + + // OpenAPI array type + ARRAY = 5; + + // OpenAPI object type + OBJECT = 6; +} + +// Schema is used to define the format of input/output data. Represents a select +// subset of an [OpenAPI 3.0 schema +// object](https://spec.openapis.org/oas/v3.0.3#schema). More fields may be +// added in the future as needed. +message Schema { + // Optional. The type of the data. + Type type = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The format of the data. + // Supported formats: + // for NUMBER type: float, double + // for INTEGER type: int32, int64 + string format = 7 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The description of the data. + string description = 8 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Indicates if the value may be null. + bool nullable = 6 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Schema of the elements of Type.ARRAY. + Schema items = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Possible values of the element of Type.STRING with enum format. + // For example we can define an Enum Direction as : + // {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]} + repeated string enum = 9 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Properties of Type.OBJECT. + map properties = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Required properties of Type.OBJECT. + repeated string required = 5 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Example of the object. Will only populated when the object is the + // root. + google.protobuf.Value example = 4 [(google.api.field_behavior) = OPTIONAL]; +} diff --git a/third_party/googleapis/google/cloud/aiplatform/v1/publisher_model.proto b/third_party/googleapis/google/cloud/aiplatform/v1/publisher_model.proto new file mode 100644 index 000000000..4bfe02119 --- /dev/null +++ b/third_party/googleapis/google/cloud/aiplatform/v1/publisher_model.proto @@ -0,0 +1,312 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF 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.aiplatform.v1; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/aiplatform/v1/machine_resources.proto"; +import "google/cloud/aiplatform/v1/model.proto"; + +option csharp_namespace = "Google.Cloud.AIPlatform.V1"; +option go_package = "cloud.google.com/go/aiplatform/apiv1/aiplatformpb;aiplatformpb"; +option java_multiple_files = true; +option java_outer_classname = "PublisherModelProto"; +option java_package = "com.google.cloud.aiplatform.v1"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1"; +option ruby_package = "Google::Cloud::AIPlatform::V1"; + +// A Model Garden Publisher Model. +message PublisherModel { + option (google.api.resource) = { + type: "aiplatform.googleapis.com/PublisherModel" + pattern: "publishers/{publisher}/models/{model}" + }; + + // Reference to a resource. + message ResourceReference { + oneof reference { + // The URI of the resource. + string uri = 1; + + // The resource name of the Google Cloud resource. + string resource_name = 2; + + // Use case (CUJ) of the resource. + string use_case = 3 [deprecated = true]; + + // Description of the resource. + string description = 4 [deprecated = true]; + } + } + + // A named piece of documentation. + message Documentation { + // Required. E.g., OVERVIEW, USE CASES, DOCUMENTATION, SDK & SAMPLES, JAVA, + // NODE.JS, etc.. + string title = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. Content of this piece of document (in Markdown format). + string content = 2 [(google.api.field_behavior) = REQUIRED]; + } + + // Actions could take on this Publisher Model. + message CallToAction { + // The regional resource name or the URI. Key is region, e.g., + // us-central1, europe-west2, global, etc.. + message RegionalResourceReferences { + // Required. + map references = 1 + [(google.api.field_behavior) = REQUIRED]; + + // Required. + string title = 2 [(google.api.field_behavior) = REQUIRED]; + + // Optional. Title of the resource. + optional string resource_title = 3 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Use case (CUJ) of the resource. + optional string resource_use_case = 4 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Description of the resource. + optional string resource_description = 5 + [(google.api.field_behavior) = OPTIONAL]; + } + + // Rest API docs. + message ViewRestApi { + // Required. + repeated Documentation documentations = 1 + [(google.api.field_behavior) = REQUIRED]; + + // Required. The title of the view rest API. + string title = 2 [(google.api.field_behavior) = REQUIRED]; + } + + // Open notebooks. + message OpenNotebooks { + // Required. Regional resource references to notebooks. + repeated RegionalResourceReferences notebooks = 1 + [(google.api.field_behavior) = REQUIRED]; + } + + // Open fine tuning pipelines. + message OpenFineTuningPipelines { + // Required. Regional resource references to fine tuning pipelines. + repeated RegionalResourceReferences fine_tuning_pipelines = 1 + [(google.api.field_behavior) = REQUIRED]; + } + + // Model metadata that is needed for UploadModel or + // DeployModel/CreateEndpoint requests. + message Deploy { + // The prediction (for example, the machine) resources that the + // DeployedModel uses. + oneof prediction_resources { + // A description of resources that are dedicated to the DeployedModel, + // and that need a higher degree of manual configuration. + DedicatedResources dedicated_resources = 5; + + // A description of resources that to large degree are decided by Vertex + // AI, and require only a modest additional configuration. + AutomaticResources automatic_resources = 6; + + // The resource name of the shared DeploymentResourcePool to deploy on. + // Format: + // `projects/{project}/locations/{location}/deploymentResourcePools/{deployment_resource_pool}` + string shared_resources = 7; + } + + // Optional. Default model display name. + string model_display_name = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Large model reference. When this is set, model_artifact_spec + // is not needed. + LargeModelReference large_model_reference = 2 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The specification of the container that is to be used when + // deploying this Model in Vertex AI. Not present for Large Models. + ModelContainerSpec container_spec = 3 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The path to the directory containing the Model artifact and + // any of its supporting files. + string artifact_uri = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Required. The title of the regional resource reference. + string title = 8 [(google.api.field_behavior) = REQUIRED]; + + // Optional. The signed URI for ephemeral Cloud Storage access to model + // artifact. + string public_artifact_uri = 9 [(google.api.field_behavior) = OPTIONAL]; + } + + // Configurations for PublisherModel GKE deployment + message DeployGke { + // Optional. GKE deployment configuration in yaml format. + repeated string gke_yaml_configs = 1 + [(google.api.field_behavior) = OPTIONAL]; + } + + // Optional. To view Rest API docs. + ViewRestApi view_rest_api = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Open notebook of the PublisherModel. + RegionalResourceReferences open_notebook = 2 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Open notebooks of the PublisherModel. + optional OpenNotebooks open_notebooks = 12 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Create application using the PublisherModel. + RegionalResourceReferences create_application = 3 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Open fine-tuning pipeline of the PublisherModel. + RegionalResourceReferences open_fine_tuning_pipeline = 4 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Open fine-tuning pipelines of the PublisherModel. + optional OpenFineTuningPipelines open_fine_tuning_pipelines = 13 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Open prompt-tuning pipeline of the PublisherModel. + RegionalResourceReferences open_prompt_tuning_pipeline = 5 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Open Genie / Playground. + RegionalResourceReferences open_genie = 6 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Deploy the PublisherModel to Vertex Endpoint. + Deploy deploy = 7 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Deploy PublisherModel to Google Kubernetes Engine. + DeployGke deploy_gke = 14 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Open in Generation AI Studio. + RegionalResourceReferences open_generation_ai_studio = 8 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Request for access. + RegionalResourceReferences request_access = 9 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Open evaluation pipeline of the PublisherModel. + RegionalResourceReferences open_evaluation_pipeline = 11 + [(google.api.field_behavior) = OPTIONAL]; + } + + // An enum representing the open source category of a PublisherModel. + enum OpenSourceCategory { + // The open source category is unspecified, which should not be used. + OPEN_SOURCE_CATEGORY_UNSPECIFIED = 0; + + // Used to indicate the PublisherModel is not open sourced. + PROPRIETARY = 1; + + // Used to indicate the PublisherModel is a Google-owned open source model + // w/ Google checkpoint. + GOOGLE_OWNED_OSS_WITH_GOOGLE_CHECKPOINT = 2; + + // Used to indicate the PublisherModel is a 3p-owned open source model w/ + // Google checkpoint. + THIRD_PARTY_OWNED_OSS_WITH_GOOGLE_CHECKPOINT = 3; + + // Used to indicate the PublisherModel is a Google-owned pure open source + // model. + GOOGLE_OWNED_OSS = 4; + + // Used to indicate the PublisherModel is a 3p-owned pure open source model. + THIRD_PARTY_OWNED_OSS = 5; + } + + // An enum representing the launch stage of a PublisherModel. + enum LaunchStage { + // The model launch stage is unspecified. + LAUNCH_STAGE_UNSPECIFIED = 0; + + // Used to indicate the PublisherModel is at Experimental launch stage. + EXPERIMENTAL = 1; + + // Used to indicate the PublisherModel is at Private Preview launch stage. + PRIVATE_PREVIEW = 2; + + // Used to indicate the PublisherModel is at Public Preview launch stage. + PUBLIC_PREVIEW = 3; + + // Used to indicate the PublisherModel is at GA launch stage. + GA = 4; + } + + // An enum representing the state of the PublicModelVersion. + enum VersionState { + // The version state is unspecified. + VERSION_STATE_UNSPECIFIED = 0; + + // Used to indicate the version is stable. + VERSION_STATE_STABLE = 1; + + // Used to indicate the version is unstable. + VERSION_STATE_UNSTABLE = 2; + } + + // Output only. The resource name of the PublisherModel. + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Immutable. The version ID of the PublisherModel. + // A new version is committed when a new model version is uploaded under an + // existing model id. It is an auto-incrementing decimal number in string + // representation. + string version_id = 2 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.field_behavior) = OUTPUT_ONLY + ]; + + // Required. Indicates the open source category of the publisher model. + OpenSourceCategory open_source_category = 7 + [(google.api.field_behavior) = REQUIRED]; + + // Optional. Supported call-to-action options. + CallToAction supported_actions = 19 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Additional information about the model's Frameworks. + repeated string frameworks = 23 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Indicates the launch stage of the model. + LaunchStage launch_stage = 29 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Indicates the state of the model version. + VersionState version_state = 37 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Output only. Immutable. Used to indicate this model has a + // publisher model and provide the template of the publisher model resource + // name. + string publisher_model_template = 30 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.field_behavior) = OUTPUT_ONLY + ]; + + // Optional. The schemata that describes formats of the PublisherModel's + // predictions and explanations as given and returned via + // [PredictionService.Predict][google.cloud.aiplatform.v1.PredictionService.Predict]. + PredictSchemata predict_schemata = 31 + [(google.api.field_behavior) = OPTIONAL]; +} diff --git a/third_party/googleapis/google/cloud/aiplatform/v1/schedule.proto b/third_party/googleapis/google/cloud/aiplatform/v1/schedule.proto new file mode 100644 index 000000000..e40028b41 --- /dev/null +++ b/third_party/googleapis/google/cloud/aiplatform/v1/schedule.proto @@ -0,0 +1,172 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF 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.aiplatform.v1; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/aiplatform/v1/pipeline_service.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.AIPlatform.V1"; +option go_package = "cloud.google.com/go/aiplatform/apiv1/aiplatformpb;aiplatformpb"; +option java_multiple_files = true; +option java_outer_classname = "ScheduleProto"; +option java_package = "com.google.cloud.aiplatform.v1"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1"; +option ruby_package = "Google::Cloud::AIPlatform::V1"; + +// An instance of a Schedule periodically schedules runs to make API calls based +// on user specified time specification and API request type. +message Schedule { + option (google.api.resource) = { + type: "aiplatform.googleapis.com/Schedule" + pattern: "projects/{project}/locations/{location}/schedules/{schedule}" + }; + + // Status of a scheduled run. + message RunResponse { + // The scheduled run time based on the user-specified schedule. + google.protobuf.Timestamp scheduled_run_time = 1; + + // The response of the scheduled run. + string run_response = 2; + } + + // Possible state of the schedule. + enum State { + // Unspecified. + STATE_UNSPECIFIED = 0; + + // The Schedule is active. Runs are being scheduled on the user-specified + // timespec. + ACTIVE = 1; + + // The schedule is paused. No new runs will be created until the schedule + // is resumed. Already started runs will be allowed to complete. + PAUSED = 2; + + // The Schedule is completed. No new runs will be scheduled. Already started + // runs will be allowed to complete. Schedules in completed state cannot be + // paused or resumed. + COMPLETED = 3; + } + + // Required. + // The time specification to launch scheduled runs. + oneof time_specification { + // Cron schedule (https://en.wikipedia.org/wiki/Cron) to launch scheduled + // runs. To explicitly set a timezone to the cron tab, apply a prefix in the + // cron tab: "CRON_TZ=${IANA_TIME_ZONE}" or "TZ=${IANA_TIME_ZONE}". + // The ${IANA_TIME_ZONE} may only be a valid string from IANA time zone + // database. For example, "CRON_TZ=America/New_York 1 * * * *", or + // "TZ=America/New_York 1 * * * *". + string cron = 10; + } + + // Required. + // The API request template to launch the scheduled runs. + // User-specified ID is not supported in the request template. + oneof request { + // Request for + // [PipelineService.CreatePipelineJob][google.cloud.aiplatform.v1.PipelineService.CreatePipelineJob]. + // CreatePipelineJobRequest.parent field is required (format: + // projects/{project}/locations/{location}). + CreatePipelineJobRequest create_pipeline_job_request = 14; + } + + // Immutable. The resource name of the Schedule. + string name = 1 [(google.api.field_behavior) = IMMUTABLE]; + + // Required. User provided name of the Schedule. + // The name can be up to 128 characters long and can consist of any UTF-8 + // characters. + string display_name = 2 [(google.api.field_behavior) = REQUIRED]; + + // Optional. Timestamp after which the first run can be scheduled. + // Default to Schedule create time if not specified. + google.protobuf.Timestamp start_time = 3 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Timestamp after which no new runs can be scheduled. + // If specified, The schedule will be completed when either + // end_time is reached or when scheduled_run_count >= max_run_count. + // If not specified, new runs will keep getting scheduled until this Schedule + // is paused or deleted. Already scheduled runs will be allowed to complete. + // Unset if not specified. + google.protobuf.Timestamp end_time = 4 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Maximum run count of the schedule. + // If specified, The schedule will be completed when either + // started_run_count >= max_run_count or when end_time is reached. + // If not specified, new runs will keep getting scheduled until this Schedule + // is paused or deleted. Already scheduled runs will be allowed to complete. + // Unset if not specified. + int64 max_run_count = 16 [(google.api.field_behavior) = OPTIONAL]; + + // Output only. The number of runs started by this schedule. + int64 started_run_count = 17 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The state of this Schedule. + State state = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Timestamp when this Schedule was created. + google.protobuf.Timestamp create_time = 6 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Timestamp when this Schedule was updated. + google.protobuf.Timestamp update_time = 19 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Timestamp when this Schedule should schedule the next run. + // Having a next_run_time in the past means the runs are being started + // behind schedule. + google.protobuf.Timestamp next_run_time = 7 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Timestamp when this Schedule was last paused. + // Unset if never paused. + google.protobuf.Timestamp last_pause_time = 8 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Timestamp when this Schedule was last resumed. + // Unset if never resumed from pause. + google.protobuf.Timestamp last_resume_time = 9 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. Maximum number of runs that can be started concurrently for this + // Schedule. This is the limit for starting the scheduled requests and not the + // execution of the operations/jobs created by the requests (if applicable). + int64 max_concurrent_run_count = 11 [(google.api.field_behavior) = REQUIRED]; + + // Optional. Whether new scheduled runs can be queued when max_concurrent_runs + // limit is reached. If set to true, new runs will be queued instead of + // skipped. Default to false. + bool allow_queueing = 12 [(google.api.field_behavior) = OPTIONAL]; + + // Output only. Whether to backfill missed runs when the schedule is resumed + // from PAUSED state. If set to true, all missed runs will be scheduled. New + // runs will be scheduled after the backfill is complete. Default to false. + bool catch_up = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Response of the last scheduled run. + // This is the response for starting the scheduled requests and not the + // execution of the operations/jobs created by the requests (if applicable). + // Unset if no run has been scheduled yet. + RunResponse last_scheduled_run_response = 18 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/cloud/aiplatform/v1/schedule_service.proto b/third_party/googleapis/google/cloud/aiplatform/v1/schedule_service.proto new file mode 100644 index 000000000..67b922fa0 --- /dev/null +++ b/third_party/googleapis/google/cloud/aiplatform/v1/schedule_service.proto @@ -0,0 +1,310 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF 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.aiplatform.v1; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/aiplatform/v1/operation.proto"; +import "google/cloud/aiplatform/v1/schedule.proto"; +import "google/longrunning/operations.proto"; +import "google/protobuf/empty.proto"; +import "google/protobuf/field_mask.proto"; + +option csharp_namespace = "Google.Cloud.AIPlatform.V1"; +option go_package = "cloud.google.com/go/aiplatform/apiv1/aiplatformpb;aiplatformpb"; +option java_multiple_files = true; +option java_outer_classname = "ScheduleServiceProto"; +option java_package = "com.google.cloud.aiplatform.v1"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1"; +option ruby_package = "Google::Cloud::AIPlatform::V1"; + +// A service for creating and managing Vertex AI's Schedule resources to +// periodically launch shceudled runs to make API calls. +service ScheduleService { + option (google.api.default_host) = "aiplatform.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform"; + + // Creates a Schedule. + rpc CreateSchedule(CreateScheduleRequest) returns (Schedule) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*}/schedules" + body: "schedule" + }; + option (google.api.method_signature) = "parent,schedule"; + } + + // Deletes a Schedule. + rpc DeleteSchedule(DeleteScheduleRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1/{name=projects/*/locations/*/schedules/*}" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "DeleteOperationMetadata" + }; + } + + // Gets a Schedule. + rpc GetSchedule(GetScheduleRequest) returns (Schedule) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/schedules/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Lists Schedules in a Location. + rpc ListSchedules(ListSchedulesRequest) returns (ListSchedulesResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*}/schedules" + }; + option (google.api.method_signature) = "parent"; + } + + // Pauses a Schedule. Will mark + // [Schedule.state][google.cloud.aiplatform.v1.Schedule.state] to 'PAUSED'. If + // the schedule is paused, no new runs will be created. Already created runs + // will NOT be paused or canceled. + rpc PauseSchedule(PauseScheduleRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + post: "/v1/{name=projects/*/locations/*/schedules/*}:pause" + body: "*" + }; + option (google.api.method_signature) = "name"; + } + + // Resumes a paused Schedule to start scheduling new runs. Will mark + // [Schedule.state][google.cloud.aiplatform.v1.Schedule.state] to 'ACTIVE'. + // Only paused Schedule can be resumed. + // + // When the Schedule is resumed, new runs will be scheduled starting from the + // next execution time after the current time based on the time_specification + // in the Schedule. If [Schedule.catchUp][] is set up true, all + // missed runs will be scheduled for backfill first. + rpc ResumeSchedule(ResumeScheduleRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + post: "/v1/{name=projects/*/locations/*/schedules/*}:resume" + body: "*" + }; + option (google.api.method_signature) = "name"; + option (google.api.method_signature) = "name,catch_up"; + } + + // Updates an active or paused Schedule. + // + // When the Schedule is updated, new runs will be scheduled starting from the + // updated next execution time after the update time based on the + // time_specification in the updated Schedule. All unstarted runs before the + // update time will be skipped while already created runs will NOT be paused + // or canceled. + rpc UpdateSchedule(UpdateScheduleRequest) returns (Schedule) { + option (google.api.http) = { + patch: "/v1/{schedule.name=projects/*/locations/*/schedules/*}" + body: "schedule" + }; + option (google.api.method_signature) = "schedule,update_mask"; + } +} + +// Request message for +// [ScheduleService.CreateSchedule][google.cloud.aiplatform.v1.ScheduleService.CreateSchedule]. +message CreateScheduleRequest { + // Required. The resource name of the Location to create the Schedule in. + // Format: `projects/{project}/locations/{location}` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "locations.googleapis.com/Location" + } + ]; + + // Required. The Schedule to create. + Schedule schedule = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for +// [ScheduleService.GetSchedule][google.cloud.aiplatform.v1.ScheduleService.GetSchedule]. +message GetScheduleRequest { + // Required. The name of the Schedule resource. + // Format: + // `projects/{project}/locations/{location}/schedules/{schedule}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/Schedule" + } + ]; +} + +// Request message for +// [ScheduleService.ListSchedules][google.cloud.aiplatform.v1.ScheduleService.ListSchedules]. +message ListSchedulesRequest { + // Required. The resource name of the Location to list the Schedules from. + // Format: `projects/{project}/locations/{location}` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "locations.googleapis.com/Location" + } + ]; + + // Lists the Schedules that match the filter expression. The following + // fields are supported: + // + // * `display_name`: Supports `=`, `!=` comparisons, and `:` wildcard. + // * `state`: Supports `=` and `!=` comparisons. + // * `request`: Supports existence of the check. + // (e.g. `create_pipeline_job_request:*` --> Schedule has + // create_pipeline_job_request). + // * `create_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. + // Values must be in RFC 3339 format. + // * `start_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. + // Values must be in RFC 3339 format. + // * `end_time`: Supports `=`, `!=`, `<`, `>`, `<=`, `>=` comparisons and `:*` + // existence check. Values must be in RFC 3339 format. + // * `next_run_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` + // comparisons. Values must be in RFC 3339 format. + // + // + // Filter expressions can be combined together using logical operators + // (`NOT`, `AND` & `OR`). + // The syntax to define filter expression is based on + // https://google.aip.dev/160. + // + // Examples: + // + // * `state="ACTIVE" AND display_name:"my_schedule_*"` + // * `NOT display_name="my_schedule"` + // * `create_time>"2021-05-18T00:00:00Z"` + // * `end_time>"2021-05-18T00:00:00Z" OR NOT end_time:*` + // * `create_pipeline_job_request:*` + string filter = 2; + + // The standard list page size. + // Default to 100 if not specified. + int32 page_size = 3; + + // The standard list page token. + // Typically obtained via + // [ListSchedulesResponse.next_page_token][google.cloud.aiplatform.v1.ListSchedulesResponse.next_page_token] + // of the previous + // [ScheduleService.ListSchedules][google.cloud.aiplatform.v1.ScheduleService.ListSchedules] + // call. + string page_token = 4; + + // A comma-separated list of fields to order by. The default sort order is in + // ascending order. Use "desc" after a field name for descending. You can have + // multiple order_by fields provided. + // + // For example, using "create_time desc, end_time" will order results by + // create time in descending order, and if there are multiple schedules having + // the same create time, order them by the end time in ascending order. + // + // If order_by is not specified, it will order by default with create_time in + // descending order. + // + // Supported fields: + // + // * `create_time` + // * `start_time` + // * `end_time` + // * `next_run_time` + string order_by = 5; +} + +// Response message for +// [ScheduleService.ListSchedules][google.cloud.aiplatform.v1.ScheduleService.ListSchedules] +message ListSchedulesResponse { + // List of Schedules in the requested page. + repeated Schedule schedules = 1; + + // A token to retrieve the next page of results. + // Pass to + // [ListSchedulesRequest.page_token][google.cloud.aiplatform.v1.ListSchedulesRequest.page_token] + // to obtain that page. + string next_page_token = 2; +} + +// Request message for +// [ScheduleService.DeleteSchedule][google.cloud.aiplatform.v1.ScheduleService.DeleteSchedule]. +message DeleteScheduleRequest { + // Required. The name of the Schedule resource to be deleted. + // Format: + // `projects/{project}/locations/{location}/schedules/{schedule}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/Schedule" + } + ]; +} + +// Request message for +// [ScheduleService.PauseSchedule][google.cloud.aiplatform.v1.ScheduleService.PauseSchedule]. +message PauseScheduleRequest { + // Required. The name of the Schedule resource to be paused. + // Format: + // `projects/{project}/locations/{location}/schedules/{schedule}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/Schedule" + } + ]; +} + +// Request message for +// [ScheduleService.ResumeSchedule][google.cloud.aiplatform.v1.ScheduleService.ResumeSchedule]. +message ResumeScheduleRequest { + // Required. The name of the Schedule resource to be resumed. + // Format: + // `projects/{project}/locations/{location}/schedules/{schedule}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/Schedule" + } + ]; + + // Optional. Whether to backfill missed runs when the schedule is resumed from + // PAUSED state. If set to true, all missed runs will be scheduled. New runs + // will be scheduled after the backfill is complete. This will also update + // [Schedule.catch_up][google.cloud.aiplatform.v1.Schedule.catch_up] field. + // Default to false. + bool catch_up = 2 [(google.api.field_behavior) = OPTIONAL]; +} + +// Request message for +// [ScheduleService.UpdateSchedule][google.cloud.aiplatform.v1.ScheduleService.UpdateSchedule]. +message UpdateScheduleRequest { + // Required. The Schedule which replaces the resource on the server. + // The following restrictions will be applied: + // + // * The scheduled request type cannot be changed. + // * The non-empty fields cannot be unset. + // * The output_only fields will be ignored if specified. + Schedule schedule = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The update mask applies to the resource. See + // [google.protobuf.FieldMask][google.protobuf.FieldMask]. + google.protobuf.FieldMask update_mask = 2 + [(google.api.field_behavior) = REQUIRED]; +} diff --git a/third_party/googleapis/google/cloud/aiplatform/v1/tool.proto b/third_party/googleapis/google/cloud/aiplatform/v1/tool.proto new file mode 100644 index 000000000..0837b8095 --- /dev/null +++ b/third_party/googleapis/google/cloud/aiplatform/v1/tool.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.cloud.aiplatform.v1; + +import "google/api/field_behavior.proto"; +import "google/cloud/aiplatform/v1/openapi.proto"; +import "google/protobuf/struct.proto"; + +option csharp_namespace = "Google.Cloud.AIPlatform.V1"; +option go_package = "cloud.google.com/go/aiplatform/apiv1/aiplatformpb;aiplatformpb"; +option java_multiple_files = true; +option java_outer_classname = "ToolProto"; +option java_package = "com.google.cloud.aiplatform.v1"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1"; +option ruby_package = "Google::Cloud::AIPlatform::V1"; + +// Tool details that the model may use to generate response. +// +// A `Tool` is a piece of code that enables the system to interact with +// external systems to perform an action, or set of actions, outside of +// knowledge and scope of the model. +message Tool { + // Optional. One or more function declarations to be passed to the model along + // with the current user query. Model may decide to call a subset of these + // functions by populating [FunctionCall][content.part.function_call] in the + // response. User should provide a + // [FunctionResponse][content.part.function_response] for each function call + // in the next turn. Based on the function responses, Model will generate the + // final response back to the user. Maximum 64 function declarations can be + // provided. + repeated FunctionDeclaration function_declarations = 1 + [(google.api.field_behavior) = OPTIONAL]; +} + +// Structured representation of a function declaration as defined by the +// [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included +// in this declaration are the function name and parameters. This +// FunctionDeclaration is a representation of a block of code that can be used +// as a `Tool` by the model and executed by the client. +message FunctionDeclaration { + // Required. The name of the function to call. + // Must start with a letter or an underscore. + // Must be a-z, A-Z, 0-9, or contain underscores and dashes, with a maximum + // length of 64. + string name = 1 [(google.api.field_behavior) = REQUIRED]; + + // Optional. Description and purpose of the function. + // Model uses it to decide how and whether to call the function. + string description = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Describes the parameters to this function in JSON Schema Object + // format. Reflects the Open API 3.03 Parameter Object. string Key: the name + // of the parameter. Parameter names are case sensitive. Schema Value: the + // Schema defining the type used for the parameter. For function with no + // parameters, this can be left unset. Example with 1 required and 1 optional + // parameter: type: OBJECT properties: + // param1: + // type: STRING + // param2: + // type: INTEGER + // required: + // - param1 + Schema parameters = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// A predicted [FunctionCall] returned from the model that contains a string +// representing the [FunctionDeclaration.name] and a structured JSON object +// containing the parameters and their values. +message FunctionCall { + // Required. The name of the function to call. + // Matches [FunctionDeclaration.name]. + string name = 1 [(google.api.field_behavior) = REQUIRED]; + + // Optional. Required. The function parameters and values in JSON object + // format. See [FunctionDeclaration.parameters] for parameter details. + google.protobuf.Struct args = 2 [(google.api.field_behavior) = OPTIONAL]; +} + +// The result output from a [FunctionCall] that contains a string representing +// the [FunctionDeclaration.name] and a structured JSON object containing any +// output from the function is used as context to the model. This should contain +// the result of a [FunctionCall] made based on model prediction. +message FunctionResponse { + // Required. The name of the function to call. + // Matches [FunctionDeclaration.name] and [FunctionCall.name]. + string name = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The function response in JSON object format. + google.protobuf.Struct response = 2 [(google.api.field_behavior) = REQUIRED]; +} diff --git a/third_party/googleapis/google/cloud/aiplatform/v1beta1/content.proto b/third_party/googleapis/google/cloud/aiplatform/v1beta1/content.proto new file mode 100644 index 000000000..b5df1dbaa --- /dev/null +++ b/third_party/googleapis/google/cloud/aiplatform/v1beta1/content.proto @@ -0,0 +1,350 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF 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.aiplatform.v1beta1; + +import "google/api/field_behavior.proto"; +import "google/cloud/aiplatform/v1beta1/tool.proto"; +import "google/protobuf/duration.proto"; +import "google/type/date.proto"; + +option csharp_namespace = "Google.Cloud.AIPlatform.V1Beta1"; +option go_package = "cloud.google.com/go/aiplatform/apiv1beta1/aiplatformpb;aiplatformpb"; +option java_multiple_files = true; +option java_outer_classname = "ContentProto"; +option java_package = "com.google.cloud.aiplatform.v1beta1"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1beta1"; +option ruby_package = "Google::Cloud::AIPlatform::V1beta1"; + +// Harm categories that will block the content. +enum HarmCategory { + // The harm category is unspecified. + HARM_CATEGORY_UNSPECIFIED = 0; + + // The harm category is hate speech. + HARM_CATEGORY_HATE_SPEECH = 1; + + // The harm category is dangerous content. + HARM_CATEGORY_DANGEROUS_CONTENT = 2; + + // The harm category is harassment. + HARM_CATEGORY_HARASSMENT = 3; + + // The harm category is sexually explicit content. + HARM_CATEGORY_SEXUALLY_EXPLICIT = 4; +} + +// The base structured datatype containing multi-part content of a message. +// +// A `Content` includes a `role` field designating the producer of the `Content` +// and a `parts` field containing multi-part data that contains the content of +// the message turn. +message Content { + // Optional. The producer of the content. Must be either 'user' or 'model'. + // + // Useful to set for multi-turn conversations, otherwise can be left blank + // or unset. + string role = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Required. Ordered `Parts` that constitute a single message. Parts may have + // different IANA MIME types. + repeated Part parts = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// A datatype containing media that is part of a multi-part `Content` message. +// +// A `Part` consists of data which has an associated datatype. A `Part` can only +// contain one of the accepted types in `Part.data`. +// +// A `Part` must have a fixed IANA MIME type identifying the type and subtype +// of the media if `inline_data` or `file_data` field is filled with raw bytes. +message Part { + oneof data { + // Optional. Text part (can be code). + string text = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Inlined bytes data. + Blob inline_data = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. URI based data. + FileData file_data = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A predicted [FunctionCall] returned from the model that + // contains a string representing the [FunctionDeclaration.name] with the + // parameters and their values. + FunctionCall function_call = 5 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The result output of a [FunctionCall] that contains a string + // representing the [FunctionDeclaration.name] and a structured JSON object + // containing any output from the function call. It is used as context to + // the model. + FunctionResponse function_response = 6 + [(google.api.field_behavior) = OPTIONAL]; + } + + oneof metadata { + // Optional. Video metadata. The metadata should only be specified while the + // video data is presented in inline_data or file_data. + VideoMetadata video_metadata = 4 [(google.api.field_behavior) = OPTIONAL]; + } +} + +// Raw media bytes. +// +// Text should not be sent as raw bytes, use the 'text' field. +message Blob { + // Required. The IANA standard MIME type of the source data. + string mime_type = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. Raw bytes for media formats. + bytes data = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// URI based data. +message FileData { + // Required. The IANA standard MIME type of the source data. + string mime_type = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. URI. + string file_uri = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Metadata describes the input video content. +message VideoMetadata { + // Optional. The start offset of the video. + google.protobuf.Duration start_offset = 1 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The end offset of the video. + google.protobuf.Duration end_offset = 2 + [(google.api.field_behavior) = OPTIONAL]; +} + +// Generation config. +message GenerationConfig { + // Optional. Controls the randomness of predictions. + optional float temperature = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. If specified, nucleus sampling will be used. + optional float top_p = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. If specified, top-k sampling will be used. + optional float top_k = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Number of candidates to generate. + optional int32 candidate_count = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The maximum number of output tokens to generate per message. + optional int32 max_output_tokens = 5 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Stop sequences. + repeated string stop_sequences = 6 [(google.api.field_behavior) = OPTIONAL]; +} + +// Safety settings. +message SafetySetting { + // Probability based thresholds levels for blocking. + enum HarmBlockThreshold { + // Unspecified harm block threshold. + HARM_BLOCK_THRESHOLD_UNSPECIFIED = 0; + + // Block low threshold and above (i.e. block more). + BLOCK_LOW_AND_ABOVE = 1; + + // Block medium threshold and above. + BLOCK_MEDIUM_AND_ABOVE = 2; + + // Block only high threshold (i.e. block less). + BLOCK_ONLY_HIGH = 3; + + // Block none. + BLOCK_NONE = 4; + } + + // Required. Harm category. + HarmCategory category = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The harm block threshold. + HarmBlockThreshold threshold = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Safety rating corresponding to the generated content. +message SafetyRating { + // Harm probability levels in the content. + enum HarmProbability { + // Harm probability unspecified. + HARM_PROBABILITY_UNSPECIFIED = 0; + + // Negligible level of harm. + NEGLIGIBLE = 1; + + // Low level of harm. + LOW = 2; + + // Medium level of harm. + MEDIUM = 3; + + // High level of harm. + HIGH = 4; + } + + // Output only. Harm category. + HarmCategory category = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Harm probability levels in the content. + HarmProbability probability = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Indicates whether the content was filtered out because of this + // rating. + bool blocked = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// A collection of source attributions for a piece of content. +message CitationMetadata { + // Output only. List of citations. + repeated Citation citations = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Source attributions for content. +message Citation { + // Output only. Start index into the content. + int32 start_index = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. End index into the content. + int32 end_index = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Url reference of the attribution. + string uri = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Title of the attribution. + string title = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. License of the attribution. + string license = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Publication date of the attribution. + google.type.Date publication_date = 6 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// A response candidate generated from the model. +message Candidate { + // The reason why the model stopped generating tokens. + // If empty, the model has not stopped generating the tokens. + enum FinishReason { + // The finish reason is unspecified. + FINISH_REASON_UNSPECIFIED = 0; + + // Natural stop point of the model or provided stop sequence. + STOP = 1; + + // The maximum number of tokens as specified in the request was reached. + MAX_TOKENS = 2; + + // The token generation was stopped as the response was flagged for safety + // reasons. NOTE: When streaming the Candidate.content will be empty if + // content filters blocked the output. + SAFETY = 3; + + // The token generation was stopped as the response was flagged for + // unauthorized citations. + RECITATION = 4; + + // All other reasons that stopped the token generation + OTHER = 5; + } + + // Output only. Index of the candidate. + int32 index = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Content parts of the candidate. + Content content = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The reason why the model stopped generating tokens. + // If empty, the model has not stopped generating the tokens. + FinishReason finish_reason = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. List of ratings for the safety of a response candidate. + // + // There is at most one rating per category. + repeated SafetyRating safety_ratings = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Describes the reason the mode stopped generating tokens in + // more detail. This is only filled when `finish_reason` is set. + optional string finish_message = 5 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Source attribution of the generated content. + CitationMetadata citation_metadata = 6 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Metadata specifies sources used to ground generated content. + GroundingMetadata grounding_metadata = 7 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Segment of the content. +message Segment { + // Output only. The index of a Part object within its parent Content object. + int32 part_index = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Start index in the given Part, measured in bytes. Offset from + // the start of the Part, inclusive, starting at zero. + int32 start_index = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. End index in the given Part, measured in bytes. Offset from + // the start of the Part, exclusive, starting at zero. + int32 end_index = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Grounding attribution. +message GroundingAttribution { + // Attribution from the web. + message Web { + // Output only. URI reference of the attribution. + string uri = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Title of the attribution. + string title = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + oneof reference { + // Optional. Attribution from the web. + Web web = 3 [(google.api.field_behavior) = OPTIONAL]; + } + + // Output only. Segment of the content this attribution belongs to. + Segment segment = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Optional. Output only. Confidence score of the attribution. Ranges from 0 + // to 1. 1 is the most confident. + optional float confidence_score = 2 [ + (google.api.field_behavior) = OPTIONAL, + (google.api.field_behavior) = OUTPUT_ONLY + ]; +} + +// Metadata returned to client when grounding is enabled. +message GroundingMetadata { + // Optional. Web search queries for the following-up web search. + repeated string web_search_queries = 1 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. List of grounding attributions. + repeated GroundingAttribution grounding_attributions = 2 + [(google.api.field_behavior) = OPTIONAL]; +} diff --git a/third_party/googleapis/google/cloud/aiplatform/v1beta1/dataset_version.proto b/third_party/googleapis/google/cloud/aiplatform/v1beta1/dataset_version.proto new file mode 100644 index 000000000..7bac1f0de --- /dev/null +++ b/third_party/googleapis/google/cloud/aiplatform/v1beta1/dataset_version.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.cloud.aiplatform.v1beta1; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.AIPlatform.V1Beta1"; +option go_package = "cloud.google.com/go/aiplatform/apiv1beta1/aiplatformpb;aiplatformpb"; +option java_multiple_files = true; +option java_outer_classname = "DatasetVersionProto"; +option java_package = "com.google.cloud.aiplatform.v1beta1"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1beta1"; +option ruby_package = "Google::Cloud::AIPlatform::V1beta1"; + +// Describes the dataset version. +message DatasetVersion { + option (google.api.resource) = { + type: "aiplatform.googleapis.com/DatasetVersion" + pattern: "projects/{project}/locations/{location}/datasets/{dataset}/datasetVersions/{dataset_version}" + }; + + // Output only. The resource name of the DatasetVersion. + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Timestamp when this DatasetVersion was created. + google.protobuf.Timestamp create_time = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Timestamp when this DatasetVersion was last updated. + google.protobuf.Timestamp update_time = 6 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Used to perform consistent read-modify-write updates. If not set, a blind + // "overwrite" update happens. + string etag = 3; + + // Output only. Name of the associated BigQuery dataset. + string big_query_dataset_name = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/cloud/aiplatform/v1beta1/feature_group.proto b/third_party/googleapis/google/cloud/aiplatform/v1beta1/feature_group.proto new file mode 100644 index 000000000..93f1e062b --- /dev/null +++ b/third_party/googleapis/google/cloud/aiplatform/v1beta1/feature_group.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.cloud.aiplatform.v1beta1; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/aiplatform/v1beta1/io.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.AIPlatform.V1Beta1"; +option go_package = "cloud.google.com/go/aiplatform/apiv1beta1/aiplatformpb;aiplatformpb"; +option java_multiple_files = true; +option java_outer_classname = "FeatureGroupProto"; +option java_package = "com.google.cloud.aiplatform.v1beta1"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1beta1"; +option ruby_package = "Google::Cloud::AIPlatform::V1beta1"; + +// Vertex AI Feature Group. +message FeatureGroup { + option (google.api.resource) = { + type: "aiplatform.googleapis.com/FeatureGroup" + pattern: "projects/{project}/locations/{location}/featureGroups/{feature_group}" + plural: "featureGroups" + singular: "featureGroup" + }; + + // Input source type for BigQuery Tables and Views. + message BigQuery { + // Required. Immutable. The BigQuery source URI that points to either a + // BigQuery Table or View. + BigQuerySource big_query_source = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.field_behavior) = REQUIRED + ]; + + // Optional. Columns to construct entity_id / row keys. Currently only + // supports 1 entity_id_column. If not provided defaults to `entity_id`. + repeated string entity_id_columns = 2 + [(google.api.field_behavior) = OPTIONAL]; + } + + oneof source { + // Indicates that features for this group come from BigQuery Table/View. + // By default treats the source as a sparse time series source, which is + // required to have an entity_id and a feature_timestamp column in the + // source. + BigQuery big_query = 7; + } + + // Identifier. Name of the FeatureGroup. Format: + // `projects/{project}/locations/{location}/featureGroups/{featureGroup}` + string name = 1 [(google.api.field_behavior) = IDENTIFIER]; + + // Output only. Timestamp when this FeatureGroup was created. + google.protobuf.Timestamp create_time = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Timestamp when this FeatureGroup was last updated. + google.protobuf.Timestamp update_time = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Optional. Used to perform consistent read-modify-write updates. If not set, + // a blind "overwrite" update happens. + string etag = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The labels with user-defined metadata to organize your + // FeatureGroup. + // + // Label keys and values can be no longer than 64 characters + // (Unicode codepoints), can only contain lowercase letters, numeric + // characters, underscores and dashes. International characters are allowed. + // + // See https://goo.gl/xmQnxf for more information on and examples of labels. + // No more than 64 user labels can be associated with one + // FeatureGroup(System labels are excluded)." System reserved label keys + // are prefixed with "aiplatform.googleapis.com/" and are immutable. + map labels = 5 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Description of the FeatureGroup. + string description = 6 [(google.api.field_behavior) = OPTIONAL]; +} diff --git a/third_party/googleapis/google/cloud/aiplatform/v1beta1/feature_online_store.proto b/third_party/googleapis/google/cloud/aiplatform/v1beta1/feature_online_store.proto new file mode 100644 index 000000000..a9a94c603 --- /dev/null +++ b/third_party/googleapis/google/cloud/aiplatform/v1beta1/feature_online_store.proto @@ -0,0 +1,174 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF 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.aiplatform.v1beta1; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/aiplatform/v1beta1/service_networking.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.AIPlatform.V1Beta1"; +option go_package = "cloud.google.com/go/aiplatform/apiv1beta1/aiplatformpb;aiplatformpb"; +option java_multiple_files = true; +option java_outer_classname = "FeatureOnlineStoreProto"; +option java_package = "com.google.cloud.aiplatform.v1beta1"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1beta1"; +option ruby_package = "Google::Cloud::AIPlatform::V1beta1"; + +// Vertex AI Feature Online Store provides a centralized repository for serving +// ML features and embedding indexes at low latency. The Feature Online Store is +// a top-level container. +message FeatureOnlineStore { + option (google.api.resource) = { + type: "aiplatform.googleapis.com/FeatureOnlineStore" + pattern: "projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}" + }; + + message Bigtable { + message AutoScaling { + // Required. The minimum number of nodes to scale down to. Must be greater + // than or equal to 1. + int32 min_node_count = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The maximum number of nodes to scale up to. Must be greater + // than or equal to min_node_count, and less than or equal to 10 times of + // 'min_node_count'. + int32 max_node_count = 2 [(google.api.field_behavior) = REQUIRED]; + + // Optional. A percentage of the cluster's CPU capacity. Can be from 10% + // to 80%. When a cluster's CPU utilization exceeds the target that you + // have set, Bigtable immediately adds nodes to the cluster. When CPU + // utilization is substantially lower than the target, Bigtable removes + // nodes. If not set will default to 50%. + int32 cpu_utilization_target = 3 [(google.api.field_behavior) = OPTIONAL]; + } + + // Required. Autoscaling config applied to Bigtable Instance. + AutoScaling auto_scaling = 1 [(google.api.field_behavior) = REQUIRED]; + } + + // Optimized storage type + message Optimized {} + + // The dedicated serving endpoint for this FeatureOnlineStore. Only need to + // set when you choose Optimized storage type or enable EmbeddingManagement. + // Will use public endpoint by default. Note, for EmbeddingManagement use + // case, only [DedicatedServingEndpoint.public_endpoint_domain_name] is + // available now. + message DedicatedServingEndpoint { + // Output only. This field will be populated with the domain name to use for + // this FeatureOnlineStore + string public_endpoint_domain_name = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Optional. Private service connect config. The private service connection + // is available only for Optimized storage type, not for embedding + // management now. If + // [PrivateServiceConnectConfig.enable_private_service_connect][google.cloud.aiplatform.v1beta1.PrivateServiceConnectConfig.enable_private_service_connect] + // set to true, customers will use private service connection to send + // request. Otherwise, the connection will set to public endpoint. + PrivateServiceConnectConfig private_service_connect_config = 3 + [(google.api.field_behavior) = OPTIONAL]; + + // Output only. The name of the service attachment resource. Populated if + // private service connect is enabled and after FeatureViewSync is created. + string service_attachment = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Contains settings for embedding management. + message EmbeddingManagement { + // Optional. Immutable. Whether to enable embedding management in this + // FeatureOnlineStore. It's immutable after creation to ensure the + // FeatureOnlineStore availability. + bool enabled = 1 [ + (google.api.field_behavior) = OPTIONAL, + (google.api.field_behavior) = IMMUTABLE + ]; + } + + // Possible states a featureOnlineStore can have. + enum State { + // Default value. This value is unused. + STATE_UNSPECIFIED = 0; + + // State when the featureOnlineStore configuration is not being updated and + // the fields reflect the current configuration of the featureOnlineStore. + // The featureOnlineStore is usable in this state. + STABLE = 1; + + // The state of the featureOnlineStore configuration when it is being + // updated. During an update, the fields reflect either the original + // configuration or the updated configuration of the featureOnlineStore. The + // featureOnlineStore is still usable in this state. + UPDATING = 2; + } + + oneof storage_type { + // Contains settings for the Cloud Bigtable instance that will be created + // to serve featureValues for all FeatureViews under this + // FeatureOnlineStore. + Bigtable bigtable = 8; + + // Contains settings for the Optimized store that will be created + // to serve featureValues for all FeatureViews under this + // FeatureOnlineStore. When choose Optimized storage type, need to set + // [PrivateServiceConnectConfig.enable_private_service_connect][google.cloud.aiplatform.v1beta1.PrivateServiceConnectConfig.enable_private_service_connect] + // to use private endpoint. Otherwise will use public endpoint by default. + Optimized optimized = 12; + } + + // Identifier. Name of the FeatureOnlineStore. Format: + // `projects/{project}/locations/{location}/featureOnlineStores/{featureOnlineStore}` + string name = 1 [(google.api.field_behavior) = IDENTIFIER]; + + // Output only. Timestamp when this FeatureOnlineStore was created. + google.protobuf.Timestamp create_time = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Timestamp when this FeatureOnlineStore was last updated. + google.protobuf.Timestamp update_time = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Optional. Used to perform consistent read-modify-write updates. If not set, + // a blind "overwrite" update happens. + string etag = 5 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The labels with user-defined metadata to organize your + // FeatureOnlineStore. + // + // Label keys and values can be no longer than 64 characters + // (Unicode codepoints), can only contain lowercase letters, numeric + // characters, underscores and dashes. International characters are allowed. + // + // See https://goo.gl/xmQnxf for more information on and examples of labels. + // No more than 64 user labels can be associated with one + // FeatureOnlineStore(System labels are excluded)." System reserved label keys + // are prefixed with "aiplatform.googleapis.com/" and are immutable. + map labels = 6 [(google.api.field_behavior) = OPTIONAL]; + + // Output only. State of the featureOnlineStore. + State state = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Optional. The dedicated serving endpoint for this FeatureOnlineStore, which + // is different from common Vertex service endpoint. + DedicatedServingEndpoint dedicated_serving_endpoint = 10 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The settings for embedding management in FeatureOnlineStore. + EmbeddingManagement embedding_management = 11 + [(google.api.field_behavior) = OPTIONAL]; +} diff --git a/third_party/googleapis/google/cloud/aiplatform/v1beta1/feature_online_store_admin_service.proto b/third_party/googleapis/google/cloud/aiplatform/v1beta1/feature_online_store_admin_service.proto new file mode 100644 index 000000000..aefb99807 --- /dev/null +++ b/third_party/googleapis/google/cloud/aiplatform/v1beta1/feature_online_store_admin_service.proto @@ -0,0 +1,620 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF 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.aiplatform.v1beta1; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/aiplatform/v1beta1/feature_online_store.proto"; +import "google/cloud/aiplatform/v1beta1/feature_view.proto"; +import "google/cloud/aiplatform/v1beta1/feature_view_sync.proto"; +import "google/cloud/aiplatform/v1beta1/operation.proto"; +import "google/longrunning/operations.proto"; +import "google/protobuf/empty.proto"; +import "google/protobuf/field_mask.proto"; + +option csharp_namespace = "Google.Cloud.AIPlatform.V1Beta1"; +option go_package = "cloud.google.com/go/aiplatform/apiv1beta1/aiplatformpb;aiplatformpb"; +option java_multiple_files = true; +option java_outer_classname = "FeatureOnlineStoreAdminServiceProto"; +option java_package = "com.google.cloud.aiplatform.v1beta1"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1beta1"; +option ruby_package = "Google::Cloud::AIPlatform::V1beta1"; + +// The service that handles CRUD and List for resources for +// FeatureOnlineStore. +service FeatureOnlineStoreAdminService { + option (google.api.default_host) = "aiplatform.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform"; + + // Creates a new FeatureOnlineStore in a given project and location. + rpc CreateFeatureOnlineStore(CreateFeatureOnlineStoreRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1beta1/{parent=projects/*/locations/*}/featureOnlineStores" + body: "feature_online_store" + }; + option (google.api.method_signature) = + "parent,feature_online_store,feature_online_store_id"; + option (google.longrunning.operation_info) = { + response_type: "FeatureOnlineStore" + metadata_type: "CreateFeatureOnlineStoreOperationMetadata" + }; + } + + // Gets details of a single FeatureOnlineStore. + rpc GetFeatureOnlineStore(GetFeatureOnlineStoreRequest) + returns (FeatureOnlineStore) { + option (google.api.http) = { + get: "/v1beta1/{name=projects/*/locations/*/featureOnlineStores/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Lists FeatureOnlineStores in a given project and location. + rpc ListFeatureOnlineStores(ListFeatureOnlineStoresRequest) + returns (ListFeatureOnlineStoresResponse) { + option (google.api.http) = { + get: "/v1beta1/{parent=projects/*/locations/*}/featureOnlineStores" + }; + option (google.api.method_signature) = "parent"; + } + + // Updates the parameters of a single FeatureOnlineStore. + rpc UpdateFeatureOnlineStore(UpdateFeatureOnlineStoreRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + patch: "/v1beta1/{feature_online_store.name=projects/*/locations/*/featureOnlineStores/*}" + body: "feature_online_store" + }; + option (google.api.method_signature) = "feature_online_store,update_mask"; + option (google.longrunning.operation_info) = { + response_type: "FeatureOnlineStore" + metadata_type: "UpdateFeatureOnlineStoreOperationMetadata" + }; + } + + // Deletes a single FeatureOnlineStore. The FeatureOnlineStore must not + // contain any FeatureViews. + rpc DeleteFeatureOnlineStore(DeleteFeatureOnlineStoreRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1beta1/{name=projects/*/locations/*/featureOnlineStores/*}" + }; + option (google.api.method_signature) = "name,force"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "DeleteOperationMetadata" + }; + } + + // Creates a new FeatureView in a given FeatureOnlineStore. + rpc CreateFeatureView(CreateFeatureViewRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1beta1/{parent=projects/*/locations/*/featureOnlineStores/*}/featureViews" + body: "feature_view" + }; + option (google.api.method_signature) = + "parent,feature_view,feature_view_id"; + option (google.longrunning.operation_info) = { + response_type: "FeatureView" + metadata_type: "CreateFeatureViewOperationMetadata" + }; + } + + // Gets details of a single FeatureView. + rpc GetFeatureView(GetFeatureViewRequest) returns (FeatureView) { + option (google.api.http) = { + get: "/v1beta1/{name=projects/*/locations/*/featureOnlineStores/*/featureViews/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Lists FeatureViews in a given FeatureOnlineStore. + rpc ListFeatureViews(ListFeatureViewsRequest) + returns (ListFeatureViewsResponse) { + option (google.api.http) = { + get: "/v1beta1/{parent=projects/*/locations/*/featureOnlineStores/*}/featureViews" + }; + option (google.api.method_signature) = "parent"; + } + + // Updates the parameters of a single FeatureView. + rpc UpdateFeatureView(UpdateFeatureViewRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + patch: "/v1beta1/{feature_view.name=projects/*/locations/*/featureOnlineStores/*/featureViews/*}" + body: "feature_view" + }; + option (google.api.method_signature) = "feature_view,update_mask"; + option (google.longrunning.operation_info) = { + response_type: "FeatureView" + metadata_type: "UpdateFeatureViewOperationMetadata" + }; + } + + // Deletes a single FeatureView. + rpc DeleteFeatureView(DeleteFeatureViewRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1beta1/{name=projects/*/locations/*/featureOnlineStores/*/featureViews/*}" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "DeleteOperationMetadata" + }; + } + + // Triggers on-demand sync for the FeatureView. + rpc SyncFeatureView(SyncFeatureViewRequest) + returns (SyncFeatureViewResponse) { + option (google.api.http) = { + post: "/v1beta1/{feature_view=projects/*/locations/*/featureOnlineStores/*/featureViews/*}:sync" + body: "*" + }; + option (google.api.method_signature) = "feature_view"; + } + + // Gets details of a single FeatureViewSync. + rpc GetFeatureViewSync(GetFeatureViewSyncRequest) returns (FeatureViewSync) { + option (google.api.http) = { + get: "/v1beta1/{name=projects/*/locations/*/featureOnlineStores/*/featureViews/*/featureViewSyncs/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Lists FeatureViewSyncs in a given FeatureView. + rpc ListFeatureViewSyncs(ListFeatureViewSyncsRequest) + returns (ListFeatureViewSyncsResponse) { + option (google.api.http) = { + get: "/v1beta1/{parent=projects/*/locations/*/featureOnlineStores/*/featureViews/*}/featureViewSyncs" + }; + option (google.api.method_signature) = "parent"; + } +} + +// Request message for +// [FeatureOnlineStoreAdminService.CreateFeatureOnlineStore][google.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService.CreateFeatureOnlineStore]. +message CreateFeatureOnlineStoreRequest { + // Required. The resource name of the Location to create FeatureOnlineStores. + // Format: + // `projects/{project}/locations/{location}` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "aiplatform.googleapis.com/FeatureOnlineStore" + } + ]; + + // Required. The FeatureOnlineStore to create. + FeatureOnlineStore feature_online_store = 2 + [(google.api.field_behavior) = REQUIRED]; + + // Required. The ID to use for this FeatureOnlineStore, which will become the + // final component of the FeatureOnlineStore's resource name. + // + // This value may be up to 60 characters, and valid characters are + // `[a-z0-9_]`. The first character cannot be a number. + // + // The value must be unique within the project and location. + string feature_online_store_id = 3 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for +// [FeatureOnlineStoreAdminService.GetFeatureOnlineStore][google.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService.GetFeatureOnlineStore]. +message GetFeatureOnlineStoreRequest { + // Required. The name of the FeatureOnlineStore resource. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/FeatureOnlineStore" + } + ]; +} + +// Request message for +// [FeatureOnlineStoreAdminService.ListFeatureOnlineStores][google.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService.ListFeatureOnlineStores]. +message ListFeatureOnlineStoresRequest { + // Required. The resource name of the Location to list FeatureOnlineStores. + // Format: + // `projects/{project}/locations/{location}` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "aiplatform.googleapis.com/FeatureOnlineStore" + } + ]; + + // Lists the FeatureOnlineStores that match the filter expression. The + // following fields are supported: + // + // * `create_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. + // Values must be + // in RFC 3339 format. + // * `update_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. + // Values must be + // in RFC 3339 format. + // * `labels`: Supports key-value equality and key presence. + // + // Examples: + // + // * `create_time > "2020-01-01" OR update_time > "2020-01-01"` + // FeatureOnlineStores created or updated after 2020-01-01. + // * `labels.env = "prod"` + // FeatureOnlineStores with label "env" set to "prod". + string filter = 2; + + // The maximum number of FeatureOnlineStores to return. The service may return + // fewer than this value. If unspecified, at most 100 FeatureOnlineStores will + // be returned. The maximum value is 100; any value greater than 100 will be + // coerced to 100. + int32 page_size = 3; + + // A page token, received from a previous + // [FeatureOnlineStoreAdminService.ListFeatureOnlineStores][google.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService.ListFeatureOnlineStores] + // call. Provide this to retrieve the subsequent page. + // + // When paginating, all other parameters provided to + // [FeatureOnlineStoreAdminService.ListFeatureOnlineStores][google.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService.ListFeatureOnlineStores] + // must match the call that provided the page token. + string page_token = 4; + + // A comma-separated list of fields to order by, sorted in ascending order. + // Use "desc" after a field name for descending. + // Supported Fields: + // + // * `create_time` + // * `update_time` + string order_by = 5; +} + +// Response message for +// [FeatureOnlineStoreAdminService.ListFeatureOnlineStores][google.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService.ListFeatureOnlineStores]. +message ListFeatureOnlineStoresResponse { + // The FeatureOnlineStores matching the request. + repeated FeatureOnlineStore feature_online_stores = 1; + + // A token, which can be sent as + // [ListFeatureOnlineStoresRequest.page_token][google.cloud.aiplatform.v1beta1.ListFeatureOnlineStoresRequest.page_token] + // to retrieve the next page. If this field is omitted, there are no + // subsequent pages. + string next_page_token = 2; +} + +// Request message for +// [FeatureOnlineStoreAdminService.UpdateFeatureOnlineStore][google.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService.UpdateFeatureOnlineStore]. +message UpdateFeatureOnlineStoreRequest { + // Required. The FeatureOnlineStore's `name` field is used to identify the + // FeatureOnlineStore to be updated. Format: + // `projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}` + FeatureOnlineStore feature_online_store = 1 + [(google.api.field_behavior) = REQUIRED]; + + // Field mask is used to specify the fields to be overwritten in the + // FeatureOnlineStore resource by the update. + // The fields specified in the update_mask are relative to the resource, not + // the full request. A field will be overwritten if it is in the mask. If the + // user does not provide a mask then only the non-empty fields present in the + // request will be overwritten. Set the update_mask to `*` to override all + // fields. + // + // Updatable fields: + // + // * `big_query_source` + // * `bigtable` + // * `labels` + // * `sync_config` + google.protobuf.FieldMask update_mask = 2; +} + +// Request message for +// [FeatureOnlineStoreAdminService.DeleteFeatureOnlineStore][google.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService.DeleteFeatureOnlineStore]. +message DeleteFeatureOnlineStoreRequest { + // Required. The name of the FeatureOnlineStore to be deleted. + // Format: + // `projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/FeatureOnlineStore" + } + ]; + + // If set to true, any FeatureViews and Features for this FeatureOnlineStore + // will also be deleted. (Otherwise, the request will only work if the + // FeatureOnlineStore has no FeatureViews.) + bool force = 2; +} + +// Request message for +// [FeatureOnlineStoreAdminService.CreateFeatureView][google.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService.CreateFeatureView]. +message CreateFeatureViewRequest { + // Required. The resource name of the FeatureOnlineStore to create + // FeatureViews. Format: + // `projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/FeatureOnlineStore" + } + ]; + + // Required. The FeatureView to create. + FeatureView feature_view = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The ID to use for the FeatureView, which will become the final + // component of the FeatureView's resource name. + // + // This value may be up to 60 characters, and valid characters are + // `[a-z0-9_]`. The first character cannot be a number. + // + // The value must be unique within a FeatureOnlineStore. + string feature_view_id = 3 [(google.api.field_behavior) = REQUIRED]; + + // Immutable. If set to true, one on demand sync will be run immediately, + // regardless whether the + // [FeatureView.sync_config][google.cloud.aiplatform.v1beta1.FeatureView.sync_config] + // is configured or not. + bool run_sync_immediately = 4 [(google.api.field_behavior) = IMMUTABLE]; +} + +// Request message for +// [FeatureOnlineStoreAdminService.GetFeatureView][google.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService.GetFeatureView]. +message GetFeatureViewRequest { + // Required. The name of the FeatureView resource. + // Format: + // `projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}/featureViews/{feature_view}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/FeatureView" + } + ]; +} + +// Request message for +// [FeatureOnlineStoreAdminService.ListFeatureViews][google.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService.ListFeatureViews]. +message ListFeatureViewsRequest { + // Required. The resource name of the FeatureOnlineStore to list FeatureViews. + // Format: + // `projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "aiplatform.googleapis.com/FeatureView" + } + ]; + + // Lists the FeatureViews that match the filter expression. The following + // filters are supported: + // + // * `create_time`: Supports `=`, `!=`, `<`, `>`, `>=`, and `<=` comparisons. + // Values must be in RFC 3339 format. + // * `update_time`: Supports `=`, `!=`, `<`, `>`, `>=`, and `<=` comparisons. + // Values must be in RFC 3339 format. + // * `labels`: Supports key-value equality as well as key presence. + // + // Examples: + // + // * `create_time > \"2020-01-31T15:30:00.000000Z\" OR + // update_time > \"2020-01-31T15:30:00.000000Z\"` --> FeatureViews + // created or updated after 2020-01-31T15:30:00.000000Z. + // * `labels.active = yes AND labels.env = prod` --> FeatureViews having both + // (active: yes) and (env: prod) labels. + // * `labels.env: *` --> Any FeatureView which has a label with 'env' as the + // key. + string filter = 2; + + // The maximum number of FeatureViews to return. The service may return fewer + // than this value. If unspecified, at most 1000 FeatureViews will be + // returned. The maximum value is 1000; any value greater than 1000 will be + // coerced to 1000. + int32 page_size = 3; + + // A page token, received from a previous + // [FeatureOnlineStoreAdminService.ListFeatureViews][google.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService.ListFeatureViews] + // call. Provide this to retrieve the subsequent page. + // + // When paginating, all other parameters provided to + // [FeatureOnlineStoreAdminService.ListFeatureViews][google.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService.ListFeatureViews] + // must match the call that provided the page token. + string page_token = 4; + + // A comma-separated list of fields to order by, sorted in ascending order. + // Use "desc" after a field name for descending. + // + // Supported fields: + // + // * `feature_view_id` + // * `create_time` + // * `update_time` + string order_by = 5; +} + +// Response message for +// [FeatureOnlineStoreAdminService.ListFeatureViews][google.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService.ListFeatureViews]. +message ListFeatureViewsResponse { + // The FeatureViews matching the request. + repeated FeatureView feature_views = 1; + + // A token, which can be sent as + // [ListFeatureViewsRequest.page_token][google.cloud.aiplatform.v1beta1.ListFeatureViewsRequest.page_token] + // to retrieve the next page. If this field is omitted, there are no + // subsequent pages. + string next_page_token = 2; +} + +// Request message for +// [FeatureOnlineStoreAdminService.UpdateFeatureView][google.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService.UpdateFeatureView]. +message UpdateFeatureViewRequest { + // Required. The FeatureView's `name` field is used to identify the + // FeatureView to be updated. Format: + // `projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}/featureViews/{feature_view}` + FeatureView feature_view = 1 [(google.api.field_behavior) = REQUIRED]; + + // Field mask is used to specify the fields to be overwritten in the + // FeatureView resource by the update. + // The fields specified in the update_mask are relative to the resource, not + // the full request. A field will be overwritten if it is in the mask. If the + // user does not provide a mask then only the non-empty fields present in the + // request will be overwritten. Set the update_mask to `*` to override all + // fields. + // + // Updatable fields: + // + // * `labels` + // * `serviceAgentType` + google.protobuf.FieldMask update_mask = 2; +} + +// Request message for [FeatureOnlineStoreAdminService.DeleteFeatureViews][]. +message DeleteFeatureViewRequest { + // Required. The name of the FeatureView to be deleted. + // Format: + // `projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}/featureViews/{feature_view}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/FeatureView" + } + ]; +} + +// Details of operations that perform create FeatureOnlineStore. +message CreateFeatureOnlineStoreOperationMetadata { + // Operation metadata for FeatureOnlineStore. + GenericOperationMetadata generic_metadata = 1; +} + +// Details of operations that perform update FeatureOnlineStore. +message UpdateFeatureOnlineStoreOperationMetadata { + // Operation metadata for FeatureOnlineStore. + GenericOperationMetadata generic_metadata = 1; +} + +// Details of operations that perform create FeatureView. +message CreateFeatureViewOperationMetadata { + // Operation metadata for FeatureView Create. + GenericOperationMetadata generic_metadata = 1; +} + +// Details of operations that perform update FeatureView. +message UpdateFeatureViewOperationMetadata { + // Operation metadata for FeatureView Update. + GenericOperationMetadata generic_metadata = 1; +} + +// Request message for +// [FeatureOnlineStoreAdminService.SyncFeatureView][google.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService.SyncFeatureView]. +message SyncFeatureViewRequest { + // Required. Format: + // `projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}/featureViews/{feature_view}` + string feature_view = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/FeatureView" + } + ]; +} + +// Respose message for +// [FeatureOnlineStoreAdminService.SyncFeatureView][google.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService.SyncFeatureView]. +message SyncFeatureViewResponse { + // Format: + // `projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}/featureViews/{feature_view}/featureViewSyncs/{feature_view_sync}` + string feature_view_sync = 1; +} + +// Request message for +// [FeatureOnlineStoreAdminService.GetFeatureViewSync][google.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService.GetFeatureViewSync]. +message GetFeatureViewSyncRequest { + // Required. The name of the FeatureViewSync resource. + // Format: + // `projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}/featureViews/{feature_view}/featureViewSyncs/{feature_view_sync}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/FeatureViewSync" + } + ]; +} + +// Request message for +// [FeatureOnlineStoreAdminService.ListFeatureViewSyncs][google.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService.ListFeatureViewSyncs]. +message ListFeatureViewSyncsRequest { + // Required. The resource name of the FeatureView to list FeatureViewSyncs. + // Format: + // `projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}/featureViews/{feature_view}` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/FeatureView" + } + ]; + + // Lists the FeatureViewSyncs that match the filter expression. The following + // filters are supported: + // + // * `create_time`: Supports `=`, `!=`, `<`, `>`, `>=`, and `<=` comparisons. + // Values must be in RFC 3339 format. + // + // Examples: + // + // * `create_time > \"2020-01-31T15:30:00.000000Z\"` --> FeatureViewSyncs + // created after 2020-01-31T15:30:00.000000Z. + string filter = 2; + + // The maximum number of FeatureViewSyncs to return. The service may return + // fewer than this value. If unspecified, at most 1000 FeatureViewSyncs will + // be returned. The maximum value is 1000; any value greater than 1000 will be + // coerced to 1000. + int32 page_size = 3; + + // A page token, received from a previous + // [FeatureOnlineStoreAdminService.ListFeatureViewSyncs][google.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService.ListFeatureViewSyncs] + // call. Provide this to retrieve the subsequent page. + // + // When paginating, all other parameters provided to + // [FeatureOnlineStoreAdminService.ListFeatureViewSyncs][google.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService.ListFeatureViewSyncs] + // must match the call that provided the page token. + string page_token = 4; + + // A comma-separated list of fields to order by, sorted in ascending order. + // Use "desc" after a field name for descending. + // + // Supported fields: + // + // * `create_time` + string order_by = 5; +} + +// Response message for +// [FeatureOnlineStoreAdminService.ListFeatureViewSyncs][google.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService.ListFeatureViewSyncs]. +message ListFeatureViewSyncsResponse { + // The FeatureViewSyncs matching the request. + repeated FeatureViewSync feature_view_syncs = 1; + + // A token, which can be sent as + // [ListFeatureViewSyncsRequest.page_token][google.cloud.aiplatform.v1beta1.ListFeatureViewSyncsRequest.page_token] + // to retrieve the next page. If this field is omitted, there are no + // subsequent pages. + string next_page_token = 2; +} 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 new file mode 100644 index 000000000..ba9275837 --- /dev/null +++ b/third_party/googleapis/google/cloud/aiplatform/v1beta1/feature_online_store_service.proto @@ -0,0 +1,284 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF 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.aiplatform.v1beta1; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/aiplatform/v1beta1/featurestore_online_service.proto"; +import "google/protobuf/struct.proto"; + +option csharp_namespace = "Google.Cloud.AIPlatform.V1Beta1"; +option go_package = "cloud.google.com/go/aiplatform/apiv1beta1/aiplatformpb;aiplatformpb"; +option java_multiple_files = true; +option java_outer_classname = "FeatureOnlineStoreServiceProto"; +option java_package = "com.google.cloud.aiplatform.v1beta1"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1beta1"; +option ruby_package = "Google::Cloud::AIPlatform::V1beta1"; + +// A service for fetching feature values from the online store. +service FeatureOnlineStoreService { + option (google.api.default_host) = "aiplatform.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform"; + + // Fetch feature values under a FeatureView. + rpc FetchFeatureValues(FetchFeatureValuesRequest) + returns (FetchFeatureValuesResponse) { + option (google.api.http) = { + post: "/v1beta1/{feature_view=projects/*/locations/*/featureOnlineStores/*/featureViews/*}:fetchFeatureValues" + body: "*" + }; + option (google.api.method_signature) = "feature_view, data_key"; + } + + // Search the nearest entities under a FeatureView. + // Search only works for indexable feature view; if a feature view isn't + // indexable, returns Invalid argument response. + rpc SearchNearestEntities(SearchNearestEntitiesRequest) + returns (SearchNearestEntitiesResponse) { + option (google.api.http) = { + post: "/v1beta1/{feature_view=projects/*/locations/*/featureOnlineStores/*/featureViews/*}:searchNearestEntities" + body: "*" + }; + } +} + +// Format of the data in the Feature View. +enum FeatureViewDataFormat { + // Not set. Will be treated as the KeyValue format. + FEATURE_VIEW_DATA_FORMAT_UNSPECIFIED = 0; + + // Return response data in key-value format. + KEY_VALUE = 1; + + // Return response data in proto Struct format. + PROTO_STRUCT = 2; +} + +// Lookup key for a feature view. +message FeatureViewDataKey { + oneof key_oneof { + // String key to use for lookup. + string key = 1; + } +} + +// Request message for +// [FeatureOnlineStoreService.FetchFeatureValues][google.cloud.aiplatform.v1beta1.FeatureOnlineStoreService.FetchFeatureValues]. +// All the features under the requested feature view will be returned. +message FetchFeatureValuesRequest { + // Format of the response data. + enum Format { + option deprecated = true; + + // Not set. Will be treated as the KeyValue format. + FORMAT_UNSPECIFIED = 0; + + // Return response data in key-value format. + KEY_VALUE = 1; + + // Return response data in proto Struct format. + PROTO_STRUCT = 2; + } + + // Entity ID to fetch feature values for. + // Deprecated. Use + // [FetchFeatureValuesRequest.data_key][google.cloud.aiplatform.v1beta1.FetchFeatureValuesRequest.data_key]. + oneof entity_id { + // Simple ID. The whole string will be used as is to identify Entity to + // fetch feature values for. + string id = 3 [deprecated = true]; + } + + // Required. FeatureView resource format + // `projects/{project}/locations/{location}/featureOnlineStores/{featureOnlineStore}/featureViews/{featureView}` + string feature_view = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/FeatureView" + } + ]; + + // Optional. The request key to fetch feature values for. + FeatureViewDataKey data_key = 6 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Response data format. If not set, + // [FeatureViewDataFormat.KEY_VALUE][google.cloud.aiplatform.v1beta1.FeatureViewDataFormat.KEY_VALUE] + // will be used. + FeatureViewDataFormat data_format = 7 + [(google.api.field_behavior) = OPTIONAL]; + + // Specify response data format. If not set, KeyValue format will be used. + // Deprecated. Use + // [FetchFeatureValuesRequest.data_format][google.cloud.aiplatform.v1beta1.FetchFeatureValuesRequest.data_format]. + Format format = 5 [deprecated = true]; +} + +// Response message for +// [FeatureOnlineStoreService.FetchFeatureValues][google.cloud.aiplatform.v1beta1.FeatureOnlineStoreService.FetchFeatureValues] +message FetchFeatureValuesResponse { + // Response structure in the format of key (feature name) and (feature) value + // pair. + message FeatureNameValuePairList { + // Feature name & value pair. + message FeatureNameValuePair { + oneof data { + // Feature value. + FeatureValue value = 2; + } + + // Feature short name. + string name = 1; + } + + // List of feature names and values. + repeated FeatureNameValuePair features = 1; + } + + oneof format { + // Feature values in KeyValue format. + FeatureNameValuePairList key_values = 3; + + // Feature values in proto Struct format. + google.protobuf.Struct proto_struct = 2; + } +} + +// A query to find a number of similar entities. +message NearestNeighborQuery { + // The embedding vector. + message Embedding { + // Optional. Individual value in the embedding. + repeated float value = 1 [(google.api.field_behavior) = OPTIONAL]; + } + + // String filter is used to search a subset of the entities by using boolean + // rules on string columns. + // For example: if a query specifies string filter + // with 'name = color, allow_tokens = {red, blue}, deny_tokens = {purple}',' + // then that query will match entities that are red or blue, but if those + // points are also purple, then they will be excluded even if they are + // red/blue. Only string filter is supported for now, numeric filter will be + // supported in the near future. + message StringFilter { + // Required. Column names in BigQuery that used as filters. + string name = 1 [(google.api.field_behavior) = REQUIRED]; + + // Optional. The allowed tokens. + repeated string allow_tokens = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The denied tokens. + repeated string deny_tokens = 3 [(google.api.field_behavior) = OPTIONAL]; + } + + // Parameters that can be overrided in each query to tune query latency and + // recall. + message Parameters { + // Optional. The number of neighbors to find via approximate search before + // exact reordering is performed; if set, this value must be > + // neighbor_count. + int32 approximate_neighbor_candidates = 1 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The fraction of the number of leaves to search, set at query + // time allows user to tune search performance. This value increase result + // in both search accuracy and latency increase. The value should be between + // 0.0 and 1.0. + double leaf_nodes_search_fraction = 2 + [(google.api.field_behavior) = OPTIONAL]; + } + + oneof instance { + // Optional. The entity id whose similar entities should be searched for. + // If embedding is set, search will use embedding instead of + // entity_id. + string entity_id = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The embedding vector that be used for similar search. + Embedding embedding = 2 [(google.api.field_behavior) = OPTIONAL]; + } + + // Optional. The number of similar entities to be retrieved from feature view + // for each query. + int32 neighbor_count = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The list of string filters. + repeated StringFilter string_filters = 4 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Crowding is a constraint on a neighbor list produced by nearest + // neighbor search requiring that no more than + // sper_crowding_attribute_neighbor_count of the k neighbors returned have the + // same value of crowding_attribute. It's used for improving result diversity. + int32 per_crowding_attribute_neighbor_count = 5 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Parameters that can be set to tune query on the fly. + Parameters parameters = 7 [(google.api.field_behavior) = OPTIONAL]; +} + +// The request message for +// [FeatureOnlineStoreService.SearchNearestEntities][google.cloud.aiplatform.v1beta1.FeatureOnlineStoreService.SearchNearestEntities]. +message SearchNearestEntitiesRequest { + // Required. FeatureView resource format + // `projects/{project}/locations/{location}/featureOnlineStores/{featureOnlineStore}/featureViews/{featureView}` + string feature_view = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/FeatureView" + } + ]; + + // Required. The query. + NearestNeighborQuery query = 2 [(google.api.field_behavior) = REQUIRED]; + + // Optional. If set to true, the full entities (including all vector values + // and metadata) of the nearest neighbors are returned; otherwise only entity + // id of the nearest neighbors will be returned. Note that returning full + // entities will significantly increase the latency and cost of the query. + bool return_full_entity = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// Nearest neighbors for one query. +message NearestNeighbors { + // A neighbor of the query vector. + message Neighbor { + // The id of the similar entity. + string entity_id = 1; + + // The distance between the neighbor and the query vector. + double distance = 2; + + // The attributes of the neighbor, e.g. filters, crowding and metadata + // Note that full entities are returned only when "return_full_entity" + // is set to true. Otherwise, only the "entity_id" and "distance" fields + // are populated. + FetchFeatureValuesResponse entity_key_values = 3; + } + + // All its neighbors. + repeated Neighbor neighbors = 1; +} + +// Response message for +// [FeatureOnlineStoreService.SearchNearestEntities][google.cloud.aiplatform.v1beta1.FeatureOnlineStoreService.SearchNearestEntities] +message SearchNearestEntitiesResponse { + // The nearest neighbors of the query entity. + NearestNeighbors nearest_neighbors = 1; +} diff --git a/third_party/googleapis/google/cloud/aiplatform/v1beta1/feature_registry_service.proto b/third_party/googleapis/google/cloud/aiplatform/v1beta1/feature_registry_service.proto new file mode 100644 index 000000000..6492f9d5f --- /dev/null +++ b/third_party/googleapis/google/cloud/aiplatform/v1beta1/feature_registry_service.proto @@ -0,0 +1,333 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF 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.aiplatform.v1beta1; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/aiplatform/v1beta1/feature.proto"; +import "google/cloud/aiplatform/v1beta1/feature_group.proto"; +import "google/cloud/aiplatform/v1beta1/featurestore_service.proto"; +import "google/cloud/aiplatform/v1beta1/operation.proto"; +import "google/longrunning/operations.proto"; +import "google/protobuf/empty.proto"; +import "google/protobuf/field_mask.proto"; + +option csharp_namespace = "Google.Cloud.AIPlatform.V1Beta1"; +option go_package = "cloud.google.com/go/aiplatform/apiv1beta1/aiplatformpb;aiplatformpb"; +option java_multiple_files = true; +option java_outer_classname = "FeatureRegistryServiceProto"; +option java_package = "com.google.cloud.aiplatform.v1beta1"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1beta1"; +option ruby_package = "Google::Cloud::AIPlatform::V1beta1"; + +// The service that handles CRUD and List for resources for +// FeatureRegistry. +service FeatureRegistryService { + option (google.api.default_host) = "aiplatform.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform"; + + // Creates a new FeatureGroup in a given project and location. + rpc CreateFeatureGroup(CreateFeatureGroupRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1beta1/{parent=projects/*/locations/*}/featureGroups" + body: "feature_group" + }; + option (google.api.method_signature) = + "parent,feature_group,feature_group_id"; + option (google.longrunning.operation_info) = { + response_type: "FeatureGroup" + metadata_type: "CreateFeatureGroupOperationMetadata" + }; + } + + // Gets details of a single FeatureGroup. + rpc GetFeatureGroup(GetFeatureGroupRequest) returns (FeatureGroup) { + option (google.api.http) = { + get: "/v1beta1/{name=projects/*/locations/*/featureGroups/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Lists FeatureGroups in a given project and location. + rpc ListFeatureGroups(ListFeatureGroupsRequest) + returns (ListFeatureGroupsResponse) { + option (google.api.http) = { + get: "/v1beta1/{parent=projects/*/locations/*}/featureGroups" + }; + option (google.api.method_signature) = "parent"; + } + + // Updates the parameters of a single FeatureGroup. + rpc UpdateFeatureGroup(UpdateFeatureGroupRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + patch: "/v1beta1/{feature_group.name=projects/*/locations/*/featureGroups/*}" + body: "feature_group" + }; + option (google.api.method_signature) = "feature_group,update_mask"; + option (google.longrunning.operation_info) = { + response_type: "FeatureGroup" + metadata_type: "UpdateFeatureGroupOperationMetadata" + }; + } + + // Deletes a single FeatureGroup. + rpc DeleteFeatureGroup(DeleteFeatureGroupRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1beta1/{name=projects/*/locations/*/featureGroups/*}" + }; + option (google.api.method_signature) = "name,force"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "DeleteOperationMetadata" + }; + } + + // Creates a new Feature in a given FeatureGroup. + rpc CreateFeature(CreateFeatureRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1beta1/{parent=projects/*/locations/*/featureGroups/*}/features" + body: "feature" + }; + option (google.api.method_signature) = "parent,feature,feature_id"; + option (google.longrunning.operation_info) = { + response_type: "Feature" + metadata_type: "CreateFeatureOperationMetadata" + }; + } + + // Gets details of a single Feature. + rpc GetFeature(GetFeatureRequest) returns (Feature) { + option (google.api.http) = { + get: "/v1beta1/{name=projects/*/locations/*/featureGroups/*/features/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Lists Features in a given FeatureGroup. + rpc ListFeatures(ListFeaturesRequest) returns (ListFeaturesResponse) { + option (google.api.http) = { + get: "/v1beta1/{parent=projects/*/locations/*/featureGroups/*}/features" + }; + option (google.api.method_signature) = "parent"; + } + + // Updates the parameters of a single Feature. + rpc UpdateFeature(UpdateFeatureRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + patch: "/v1beta1/{feature.name=projects/*/locations/*/featureGroups/*/features/*}" + body: "feature" + }; + option (google.api.method_signature) = "feature,update_mask"; + option (google.longrunning.operation_info) = { + response_type: "Feature" + metadata_type: "UpdateFeatureOperationMetadata" + }; + } + + // Deletes a single Feature. + rpc DeleteFeature(DeleteFeatureRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1beta1/{name=projects/*/locations/*/featureGroups/*/features/*}" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "DeleteOperationMetadata" + }; + } +} + +// Request message for +// [FeatureRegistryService.CreateFeatureGroup][google.cloud.aiplatform.v1beta1.FeatureRegistryService.CreateFeatureGroup]. +message CreateFeatureGroupRequest { + // Required. The resource name of the Location to create FeatureGroups. + // Format: + // `projects/{project}/locations/{location}'` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "aiplatform.googleapis.com/FeatureGroup" + } + ]; + + // Required. The FeatureGroup to create. + FeatureGroup feature_group = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The ID to use for this FeatureGroup, which will become the final + // component of the FeatureGroup's resource name. + // + // This value may be up to 60 characters, and valid characters are + // `[a-z0-9_]`. The first character cannot be a number. + // + // The value must be unique within the project and location. + string feature_group_id = 3 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for +// [FeatureRegistryService.GetFeatureGroup][google.cloud.aiplatform.v1beta1.FeatureRegistryService.GetFeatureGroup]. +message GetFeatureGroupRequest { + // Required. The name of the FeatureGroup resource. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/FeatureGroup" + } + ]; +} + +// Request message for +// [FeatureRegistryService.ListFeatureGroups][google.cloud.aiplatform.v1beta1.FeatureRegistryService.ListFeatureGroups]. +message ListFeatureGroupsRequest { + // Required. The resource name of the Location to list FeatureGroups. + // Format: + // `projects/{project}/locations/{location}` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "aiplatform.googleapis.com/FeatureGroup" + } + ]; + + // Lists the FeatureGroups that match the filter expression. The + // following fields are supported: + // + // * `create_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. + // Values must be + // in RFC 3339 format. + // * `update_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. + // Values must be + // in RFC 3339 format. + // * `labels`: Supports key-value equality and key presence. + // + // Examples: + // + // * `create_time > "2020-01-01" OR update_time > "2020-01-01"` + // FeatureGroups created or updated after 2020-01-01. + // * `labels.env = "prod"` + // FeatureGroups with label "env" set to "prod". + string filter = 2; + + // The maximum number of FeatureGroups to return. The service may return + // fewer than this value. If unspecified, at most 100 FeatureGroups will + // be returned. The maximum value is 100; any value greater than 100 will be + // coerced to 100. + int32 page_size = 3; + + // A page token, received from a previous + // [FeatureGroupAdminService.ListFeatureGroups][] call. + // Provide this to retrieve the subsequent page. + // + // When paginating, all other parameters provided to + // [FeatureGroupAdminService.ListFeatureGroups][] must + // match the call that provided the page token. + string page_token = 4; + + // A comma-separated list of fields to order by, sorted in ascending order. + // Use "desc" after a field name for descending. + // Supported Fields: + // + // * `create_time` + // * `update_time` + string order_by = 5; +} + +// Response message for +// [FeatureRegistryService.ListFeatureGroups][google.cloud.aiplatform.v1beta1.FeatureRegistryService.ListFeatureGroups]. +message ListFeatureGroupsResponse { + // The FeatureGroups matching the request. + repeated FeatureGroup feature_groups = 1; + + // A token, which can be sent as + // [ListFeatureGroupsRequest.page_token][google.cloud.aiplatform.v1beta1.ListFeatureGroupsRequest.page_token] + // to retrieve the next page. If this field is omitted, there are no + // subsequent pages. + string next_page_token = 2; +} + +// Request message for +// [FeatureRegistryService.UpdateFeatureGroup][google.cloud.aiplatform.v1beta1.FeatureRegistryService.UpdateFeatureGroup]. +message UpdateFeatureGroupRequest { + // Required. The FeatureGroup's `name` field is used to identify the + // FeatureGroup to be updated. Format: + // `projects/{project}/locations/{location}/featureGroups/{feature_group}` + FeatureGroup feature_group = 1 [(google.api.field_behavior) = REQUIRED]; + + // Field mask is used to specify the fields to be overwritten in the + // FeatureGroup resource by the update. + // The fields specified in the update_mask are relative to the resource, not + // the full request. A field will be overwritten if it is in the mask. If the + // user does not provide a mask then only the non-empty fields present in the + // request will be overwritten. Set the update_mask to `*` to override all + // fields. + // + // Updatable fields: + // + // * `labels` + google.protobuf.FieldMask update_mask = 2; +} + +// Request message for +// [FeatureRegistryService.DeleteFeatureGroup][google.cloud.aiplatform.v1beta1.FeatureRegistryService.DeleteFeatureGroup]. +message DeleteFeatureGroupRequest { + // Required. The name of the FeatureGroup to be deleted. + // Format: + // `projects/{project}/locations/{location}/featureGroups/{feature_group}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/FeatureGroup" + } + ]; + + // If set to true, any Features under this FeatureGroup + // will also be deleted. (Otherwise, the request will only work if the + // FeatureGroup has no Features.) + bool force = 2; +} + +// Details of operations that perform create FeatureGroup. +message CreateFeatureGroupOperationMetadata { + // Operation metadata for FeatureGroup. + GenericOperationMetadata generic_metadata = 1; +} + +// Details of operations that perform update FeatureGroup. +message UpdateFeatureGroupOperationMetadata { + // Operation metadata for FeatureGroup. + GenericOperationMetadata generic_metadata = 1; +} + +// Details of operations that perform create FeatureGroup. +message CreateRegistryFeatureOperationMetadata { + // Operation metadata for Feature. + GenericOperationMetadata generic_metadata = 1; +} + +// Details of operations that perform update Feature. +message UpdateFeatureOperationMetadata { + // Operation metadata for Feature Update. + GenericOperationMetadata generic_metadata = 1; +} diff --git a/third_party/googleapis/google/cloud/aiplatform/v1beta1/feature_view.proto b/third_party/googleapis/google/cloud/aiplatform/v1beta1/feature_view.proto new file mode 100644 index 000000000..3e4337d4c --- /dev/null +++ b/third_party/googleapis/google/cloud/aiplatform/v1beta1/feature_view.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.cloud.aiplatform.v1beta1; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.AIPlatform.V1Beta1"; +option go_package = "cloud.google.com/go/aiplatform/apiv1beta1/aiplatformpb;aiplatformpb"; +option java_multiple_files = true; +option java_outer_classname = "FeatureViewProto"; +option java_package = "com.google.cloud.aiplatform.v1beta1"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1beta1"; +option ruby_package = "Google::Cloud::AIPlatform::V1beta1"; + +// FeatureView is representation of values that the FeatureOnlineStore will +// serve based on its syncConfig. +message FeatureView { + option (google.api.resource) = { + type: "aiplatform.googleapis.com/FeatureView" + pattern: "projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}/featureViews/{feature_view}" + }; + + message BigQuerySource { + // Required. The BigQuery view URI that will be materialized on each sync + // trigger based on FeatureView.SyncConfig. + string uri = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. Columns to construct entity_id / row keys. Start by supporting + // 1 only. + repeated string entity_id_columns = 2 + [(google.api.field_behavior) = REQUIRED]; + } + + // Configuration for Sync. Only one option is set. + message SyncConfig { + // Cron schedule (https://en.wikipedia.org/wiki/Cron) to launch scheduled + // runs. To explicitly set a timezone to the cron tab, apply a prefix in + // the cron tab: "CRON_TZ=${IANA_TIME_ZONE}" or "TZ=${IANA_TIME_ZONE}". + // The ${IANA_TIME_ZONE} may only be a valid string from IANA time zone + // database. For example, "CRON_TZ=America/New_York 1 * * * *", or + // "TZ=America/New_York 1 * * * *". + string cron = 1; + } + + // Configuration for vector search. + message VectorSearchConfig { + message BruteForceConfig {} + + message TreeAHConfig { + // Optional. Number of embeddings on each leaf node. The default value is + // 1000 if not set. + optional int64 leaf_node_embedding_count = 1 + [(google.api.field_behavior) = OPTIONAL]; + } + + enum DistanceMeasureType { + // Should not be set. + DISTANCE_MEASURE_TYPE_UNSPECIFIED = 0; + + // Euclidean (L_2) Distance. + SQUARED_L2_DISTANCE = 1; + + // Cosine Distance. Defined as 1 - cosine similarity. + // + // We strongly suggest using DOT_PRODUCT_DISTANCE + UNIT_L2_NORM instead + // of COSINE distance. Our algorithms have been more optimized for + // DOT_PRODUCT distance which, when combined with UNIT_L2_NORM, is + // mathematically equivalent to COSINE distance and results in the same + // ranking. + COSINE_DISTANCE = 2; + + // Dot Product Distance. Defined as a negative of the dot product. + DOT_PRODUCT_DISTANCE = 3; + } + + // The configuration with regard to the algorithms used for efficient + // search. + oneof algorithm_config { + // Optional. Configuration options for the tree-AH algorithm (Shallow tree + // + Asymmetric Hashing). Please refer to this paper for more details: + // https://arxiv.org/abs/1908.10396 + TreeAHConfig tree_ah_config = 8 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Configuration options for using brute force search, which + // simply implements the standard linear search in the database for each + // query. It is primarily meant for benchmarking and to generate the + // ground truth for approximate search. + BruteForceConfig brute_force_config = 9 + [(google.api.field_behavior) = OPTIONAL]; + } + + // Optional. Column of embedding. This column contains the source data to + // create index for vector search. embedding_column must be set when using + // vector search. + string embedding_column = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Columns of features that're used to filter vector search + // results. + repeated string filter_columns = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Column of crowding. This column contains crowding attribute + // which is a constraint on a neighbor list produced by nearest neighbor + // search requiring that no more than some value k' of the k neighbors + // returned have the same value of crowding_attribute. + string crowding_column = 5 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The number of dimensions of the input embedding. + optional int32 embedding_dimension = 6 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The distance measure used in nearest neighbor search. + DistanceMeasureType distance_measure_type = 7 + [(google.api.field_behavior) = OPTIONAL]; + } + + // A Feature Registry source for features that need to be synced to Online + // Store. + message FeatureRegistrySource { + // Features belonging to a single feature group that will be + // synced to Online Store. + message FeatureGroup { + // Required. Identifier of the feature group. + string feature_group_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. Identifiers of features under the feature group. + repeated string feature_ids = 2 [(google.api.field_behavior) = REQUIRED]; + } + + // Required. List of features that need to be synced to Online Store. + repeated FeatureGroup feature_groups = 1 + [(google.api.field_behavior) = REQUIRED]; + } + + oneof source { + // Optional. Configures how data is supposed to be extracted from a BigQuery + // source to be loaded onto the FeatureOnlineStore. + BigQuerySource big_query_source = 6 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Configures the features from a Feature Registry source that + // need to be loaded onto the FeatureOnlineStore. + FeatureRegistrySource feature_registry_source = 9 + [(google.api.field_behavior) = OPTIONAL]; + } + + // Identifier. Name of the FeatureView. Format: + // `projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}/featureViews/{feature_view}` + string name = 1 [(google.api.field_behavior) = IDENTIFIER]; + + // Output only. Timestamp when this FeatureView was created. + google.protobuf.Timestamp create_time = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Timestamp when this FeatureView was last updated. + google.protobuf.Timestamp update_time = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Optional. Used to perform consistent read-modify-write updates. If not set, + // a blind "overwrite" update happens. + string etag = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The labels with user-defined metadata to organize your + // FeatureViews. + // + // Label keys and values can be no longer than 64 characters + // (Unicode codepoints), can only contain lowercase letters, numeric + // characters, underscores and dashes. International characters are allowed. + // + // See https://goo.gl/xmQnxf for more information on and examples of labels. + // No more than 64 user labels can be associated with one + // FeatureOnlineStore(System labels are excluded)." System reserved label keys + // are prefixed with "aiplatform.googleapis.com/" and are immutable. + map labels = 5 [(google.api.field_behavior) = OPTIONAL]; + + // Configures when data is to be synced/updated for this FeatureView. At the + // end of the sync the latest featureValues for each entityId of this + // FeatureView are made ready for online serving. + SyncConfig sync_config = 7; + + // Optional. Configuration for vector search. It contains the required + // configurations to create an index from source data, so that approximate + // nearest neighbor (a.k.a ANN) algorithms search can be performed during + // online serving. + VectorSearchConfig vector_search_config = 8 + [(google.api.field_behavior) = OPTIONAL]; +} diff --git a/third_party/googleapis/google/cloud/aiplatform/v1beta1/feature_view_sync.proto b/third_party/googleapis/google/cloud/aiplatform/v1beta1/feature_view_sync.proto new file mode 100644 index 000000000..4f2514fe6 --- /dev/null +++ b/third_party/googleapis/google/cloud/aiplatform/v1beta1/feature_view_sync.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.cloud.aiplatform.v1beta1; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/timestamp.proto"; +import "google/rpc/status.proto"; +import "google/type/interval.proto"; + +option csharp_namespace = "Google.Cloud.AIPlatform.V1Beta1"; +option go_package = "cloud.google.com/go/aiplatform/apiv1beta1/aiplatformpb;aiplatformpb"; +option java_multiple_files = true; +option java_outer_classname = "FeatureViewSyncProto"; +option java_package = "com.google.cloud.aiplatform.v1beta1"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1beta1"; +option ruby_package = "Google::Cloud::Aiplatform::V1beta1"; + +// FeatureViewSync is a representation of sync operation which copies data from +// data source to Feature View in Online Store. +message FeatureViewSync { + option (google.api.resource) = { + type: "aiplatform.googleapis.com/FeatureViewSync" + pattern: "projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}/featureViews/{feature_view}/featureViewSyncs/feature_view_sync" + }; + + // Identifier. Name of the FeatureViewSync. Format: + // `projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}/featureViews/{feature_view}/featureViewSyncs/{feature_view_sync}` + string name = 1 [(google.api.field_behavior) = IDENTIFIER]; + + // Output only. Time when this FeatureViewSync is created. Creation of a + // FeatureViewSync means that the job is pending / waiting for sufficient + // resources but may not have started the actual data transfer yet. + google.protobuf.Timestamp create_time = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Time when this FeatureViewSync is finished. + google.type.Interval run_time = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Final status of the FeatureViewSync. + google.rpc.Status final_status = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/cloud/aiplatform/v1beta1/llm_utility_service.proto b/third_party/googleapis/google/cloud/aiplatform/v1beta1/llm_utility_service.proto new file mode 100644 index 000000000..3fddf3acc --- /dev/null +++ b/third_party/googleapis/google/cloud/aiplatform/v1beta1/llm_utility_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.cloud.aiplatform.v1beta1; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/struct.proto"; + +option csharp_namespace = "Google.Cloud.AIPlatform.V1Beta1"; +option go_package = "cloud.google.com/go/aiplatform/apiv1beta1/aiplatformpb;aiplatformpb"; +option java_multiple_files = true; +option java_outer_classname = "LlmUtilityServiceProto"; +option java_package = "com.google.cloud.aiplatform.v1beta1"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1beta1"; +option ruby_package = "Google::Cloud::AIPlatform::V1beta1"; + +// Service for LLM related utility functions. +service LlmUtilityService { + option (google.api.default_host) = "aiplatform.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform"; + + // Return a list of tokens based on the input text. + rpc ComputeTokens(ComputeTokensRequest) returns (ComputeTokensResponse) { + option (google.api.http) = { + post: "/v1beta1/{endpoint=projects/*/locations/*/endpoints/*}:computeTokens" + body: "*" + additional_bindings { + post: "/v1beta1/{endpoint=projects/*/locations/*/publishers/*/models/*}:computeTokens" + body: "*" + } + }; + option (google.api.method_signature) = "endpoint,instances"; + } +} + +// Request message for ComputeTokens RPC call. +message ComputeTokensRequest { + // Required. The name of the Endpoint requested to get lists of tokens and + // token ids. + string endpoint = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/Endpoint" + } + ]; + + // Required. The instances that are the input to token computing API call. + // Schema is identical to the prediction schema of the text model, even for + // the non-text models, like chat models, or Codey models. + repeated google.protobuf.Value instances = 2 + [(google.api.field_behavior) = REQUIRED]; +} + +// Tokens info with a list of tokens and the corresponding list of token ids. +message TokensInfo { + // A list of tokens from the input. + repeated bytes tokens = 1; + + // A list of token ids from the input. + repeated int64 token_ids = 2; +} + +// Response message for ComputeTokens RPC call. +message ComputeTokensResponse { + // Lists of tokens info from the input. A ComputeTokensRequest could have + // multiple instances with a prompt in each instance. We also need to return + // lists of tokens info for the request with multiple instances. + repeated TokensInfo tokens_info = 1; +} diff --git a/third_party/googleapis/google/cloud/aiplatform/v1beta1/model_garden_service.proto b/third_party/googleapis/google/cloud/aiplatform/v1beta1/model_garden_service.proto new file mode 100644 index 000000000..9ff41b9d5 --- /dev/null +++ b/third_party/googleapis/google/cloud/aiplatform/v1beta1/model_garden_service.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.cloud.aiplatform.v1beta1; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/aiplatform/v1beta1/publisher_model.proto"; + +option csharp_namespace = "Google.Cloud.AIPlatform.V1Beta1"; +option go_package = "cloud.google.com/go/aiplatform/apiv1beta1/aiplatformpb;aiplatformpb"; +option java_multiple_files = true; +option java_outer_classname = "ModelGardenServiceProto"; +option java_package = "com.google.cloud.aiplatform.v1beta1"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1beta1"; +option ruby_package = "Google::Cloud::AIPlatform::V1beta1"; + +// The interface of Model Garden Service. +service ModelGardenService { + option (google.api.default_host) = "aiplatform.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform"; + + // Gets a Model Garden publisher model. + rpc GetPublisherModel(GetPublisherModelRequest) returns (PublisherModel) { + option (google.api.http) = { + get: "/v1beta1/{name=publishers/*/models/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Lists publisher models in Model Garden. + rpc ListPublisherModels(ListPublisherModelsRequest) + returns (ListPublisherModelsResponse) { + option (google.api.http) = { + get: "/v1beta1/{parent=publishers/*}/models" + }; + option (google.api.method_signature) = "parent"; + } +} + +// View enumeration of PublisherModel. +enum PublisherModelView { + // The default / unset value. The API will default to the BASIC view. + PUBLISHER_MODEL_VIEW_UNSPECIFIED = 0; + + // Include basic metadata about the publisher model, but not the full + // contents. + PUBLISHER_MODEL_VIEW_BASIC = 1; + + // Include everything. + PUBLISHER_MODEL_VIEW_FULL = 2; + + // Include: VersionId, ModelVersionExternalName, and SupportedActions. + PUBLISHER_MODEL_VERSION_VIEW_BASIC = 3; +} + +// Request message for +// [ModelGardenService.GetPublisherModel][google.cloud.aiplatform.v1beta1.ModelGardenService.GetPublisherModel] +message GetPublisherModelRequest { + // Required. The name of the PublisherModel resource. + // Format: + // `publishers/{publisher}/models/{publisher_model}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/PublisherModel" + } + ]; + + // Optional. The IETF BCP-47 language code representing the language in which + // the publisher model's text information should be written in (see go/bcp47). + string language_code = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. PublisherModel view specifying which fields to read. + PublisherModelView view = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// Request message for +// [ModelGardenService.ListPublisherModels][google.cloud.aiplatform.v1beta1.ModelGardenService.ListPublisherModels]. +message ListPublisherModelsRequest { + // Required. The name of the Publisher from which to list the PublisherModels. + // Format: `publishers/{publisher}` + string parent = 1 [(google.api.field_behavior) = REQUIRED]; + + // Optional. The standard list filter. + string filter = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The standard list page size. + int32 page_size = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The standard list page token. + // Typically obtained via + // [ListPublisherModelsResponse.next_page_token][google.cloud.aiplatform.v1beta1.ListPublisherModelsResponse.next_page_token] + // of the previous + // [ModelGardenService.ListPublisherModels][google.cloud.aiplatform.v1beta1.ModelGardenService.ListPublisherModels] + // call. + string page_token = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. PublisherModel view specifying which fields to read. + PublisherModelView view = 5 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A comma-separated list of fields to order by, sorted in ascending + // order. Use "desc" after a field name for descending. + string order_by = 6 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The IETF BCP-47 language code representing the language in which + // the publisher models' text information should be written in (see go/bcp47). + // If not set, by default English (en). + string language_code = 7 [(google.api.field_behavior) = OPTIONAL]; +} + +// Response message for +// [ModelGardenService.ListPublisherModels][google.cloud.aiplatform.v1beta1.ModelGardenService.ListPublisherModels]. +message ListPublisherModelsResponse { + // List of PublisherModels in the requested page. + repeated PublisherModel publisher_models = 1; + + // A token to retrieve next page of results. + // Pass to [ListPublisherModels.page_token][] to obtain that page. + string next_page_token = 2; +} diff --git a/third_party/googleapis/google/cloud/aiplatform/v1beta1/openapi.proto b/third_party/googleapis/google/cloud/aiplatform/v1beta1/openapi.proto new file mode 100644 index 000000000..f0759d7ce --- /dev/null +++ b/third_party/googleapis/google/cloud/aiplatform/v1beta1/openapi.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.cloud.aiplatform.v1beta1; + +import "google/api/field_behavior.proto"; +import "google/protobuf/struct.proto"; + +option csharp_namespace = "Google.Cloud.AIPlatform.V1Beta1"; +option go_package = "cloud.google.com/go/aiplatform/apiv1beta1/aiplatformpb;aiplatformpb"; +option java_multiple_files = true; +option java_outer_classname = "OpenApiProto"; +option java_package = "com.google.cloud.aiplatform.v1beta1"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1beta1"; +option ruby_package = "Google::Cloud::AIPlatform::V1beta1"; + +// Type contains the list of OpenAPI data types as defined by +// https://swagger.io/docs/specification/data-models/data-types/ +enum Type { + // Not specified, should not be used. + TYPE_UNSPECIFIED = 0; + + // OpenAPI string type + STRING = 1; + + // OpenAPI number type + NUMBER = 2; + + // OpenAPI integer type + INTEGER = 3; + + // OpenAPI boolean type + BOOLEAN = 4; + + // OpenAPI array type + ARRAY = 5; + + // OpenAPI object type + OBJECT = 6; +} + +// Schema is used to define the format of input/output data. Represents a select +// subset of an [OpenAPI 3.0 schema +// object](https://spec.openapis.org/oas/v3.0.3#schema). More fields may be +// added in the future as needed. +message Schema { + // Optional. The type of the data. + Type type = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The format of the data. + // Supported formats: + // for NUMBER type: float, double + // for INTEGER type: int32, int64 + string format = 7 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The description of the data. + string description = 8 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Indicates if the value may be null. + bool nullable = 6 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Schema of the elements of Type.ARRAY. + Schema items = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Possible values of the element of Type.STRING with enum format. + // For example we can define an Enum Direction as : + // {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]} + repeated string enum = 9 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Properties of Type.OBJECT. + map properties = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Required properties of Type.OBJECT. + repeated string required = 5 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Example of the object. Will only populated when the object is the + // root. + google.protobuf.Value example = 4 [(google.api.field_behavior) = OPTIONAL]; +} diff --git a/third_party/googleapis/google/cloud/aiplatform/v1beta1/persistent_resource.proto b/third_party/googleapis/google/cloud/aiplatform/v1beta1/persistent_resource.proto new file mode 100644 index 000000000..abf5e2c85 --- /dev/null +++ b/third_party/googleapis/google/cloud/aiplatform/v1beta1/persistent_resource.proto @@ -0,0 +1,276 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF 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.aiplatform.v1beta1; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/aiplatform/v1beta1/encryption_spec.proto"; +import "google/cloud/aiplatform/v1beta1/machine_resources.proto"; +import "google/protobuf/timestamp.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Cloud.AIPlatform.V1Beta1"; +option go_package = "cloud.google.com/go/aiplatform/apiv1beta1/aiplatformpb;aiplatformpb"; +option java_multiple_files = true; +option java_outer_classname = "PersistentResourceProto"; +option java_package = "com.google.cloud.aiplatform.v1beta1"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1beta1"; +option ruby_package = "Google::Cloud::AIPlatform::V1beta1"; + +// Represents long-lasting resources that are dedicated to users to runs custom +// workloads. +// A PersistentResource can have multiple node pools and each node +// pool can have its own machine spec. +message PersistentResource { + option (google.api.resource) = { + type: "aiplatform.googleapis.com/PersistentResource" + pattern: "projects/{project}/locations/{location}/persistentResources/{persistent_resource}" + }; + + // Describes the PersistentResource state. + enum State { + // Not set. + STATE_UNSPECIFIED = 0; + + // The PROVISIONING state indicates the persistent resources is being + // created. + PROVISIONING = 1; + + // The RUNNING state indicates the persistent resource is healthy and fully + // usable. + RUNNING = 3; + + // The STOPPING state indicates the persistent resource is being deleted. + STOPPING = 4; + + // The ERROR state indicates the persistent resource may be unusable. + // Details can be found in the `error` field. + ERROR = 5; + } + + // Immutable. Resource name of a PersistentResource. + string name = 1 [(google.api.field_behavior) = IMMUTABLE]; + + // Optional. The display name of the PersistentResource. + // The name can be up to 128 characters long and can consist of any UTF-8 + // characters. + string display_name = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Required. The spec of the pools of different resources. + repeated ResourcePool resource_pools = 4 + [(google.api.field_behavior) = REQUIRED]; + + // Output only. The detailed state of a Study. + State state = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Only populated when persistent resource's state is `STOPPING` + // or `ERROR`. + google.rpc.Status error = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Time when the PersistentResource was created. + google.protobuf.Timestamp create_time = 7 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Time when the PersistentResource for the first time entered + // the `RUNNING` state. + google.protobuf.Timestamp start_time = 8 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Time when the PersistentResource was most recently updated. + google.protobuf.Timestamp update_time = 9 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Optional. The labels with user-defined metadata to organize + // PersistentResource. + // + // Label keys and values can be no longer than 64 characters + // (Unicode codepoints), can only contain lowercase letters, numeric + // characters, underscores and dashes. International characters are allowed. + // + // See https://goo.gl/xmQnxf for more information and examples of labels. + map labels = 10 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The full name of the Compute Engine + // [network](/compute/docs/networks-and-firewalls#networks) to peered with + // Vertex AI to host the persistent resources. + // For example, `projects/12345/global/networks/myVPC`. + // [Format](/compute/docs/reference/rest/v1/networks/insert) + // is of the form `projects/{project}/global/networks/{network}`. + // Where {project} is a project number, as in `12345`, and {network} is a + // network name. + // + // To specify this field, you must have already [configured VPC Network + // Peering for Vertex + // AI](https://cloud.google.com/vertex-ai/docs/general/vpc-peering). + // + // If this field is left unspecified, the resources aren't peered with any + // network. + string network = 11 [ + (google.api.field_behavior) = OPTIONAL, + (google.api.resource_reference) = { type: "compute.googleapis.com/Network" } + ]; + + // Optional. Customer-managed encryption key spec for a PersistentResource. + // If set, this PersistentResource and all sub-resources of this + // PersistentResource will be secured by this key. + EncryptionSpec encryption_spec = 12 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Persistent Resource runtime spec. + // For example, used for Ray cluster configuration. + ResourceRuntimeSpec resource_runtime_spec = 13 + [(google.api.field_behavior) = OPTIONAL]; + + // Output only. Runtime information of the Persistent Resource. + ResourceRuntime resource_runtime = 14 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Optional. A list of names for the reserved IP ranges under the VPC network + // that can be used for this persistent resource. + // + // If set, we will deploy the persistent resource within the provided IP + // ranges. Otherwise, the persistent resource is deployed to any IP + // ranges under the provided VPC network. + // + // Example: ['vertex-ai-ip-range']. + repeated string reserved_ip_ranges = 15 + [(google.api.field_behavior) = OPTIONAL]; +} + +// Represents the spec of a group of resources of the same type, +// for example machine type, disk, and accelerators, in a PersistentResource. +message ResourcePool { + // The min/max number of replicas allowed if enabling autoscaling + message AutoscalingSpec { + // Optional. min replicas in the node pool, + // must be ≤ replica_count and < max_replica_count or will throw error + optional int64 min_replica_count = 1 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. max replicas in the node pool, + // must be ≥ replica_count and > min_replica_count or will throw error + optional int64 max_replica_count = 2 + [(google.api.field_behavior) = OPTIONAL]; + } + + // Immutable. The unique ID in a PersistentResource for referring to this + // resource pool. User can specify it if necessary. Otherwise, it's generated + // automatically. + string id = 1 [(google.api.field_behavior) = IMMUTABLE]; + + // Required. Immutable. The specification of a single machine. + MachineSpec machine_spec = 2 [ + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = IMMUTABLE + ]; + + // Optional. The total number of machines to use for this resource pool. + optional int64 replica_count = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Disk spec for the machine in this node pool. + DiskSpec disk_spec = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Output only. The number of machines currently in use by training jobs for + // this resource pool. Will replace idle_replica_count. + int64 used_replica_count = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Optional. Optional spec to configure GKE autoscaling + AutoscalingSpec autoscaling_spec = 7 [(google.api.field_behavior) = OPTIONAL]; +} + +// Configuration for the runtime on a PersistentResource instance, including +// but not limited to: +// +// * Service accounts used to run the workloads. +// * Whether to make it a dedicated Ray Cluster. +message ResourceRuntimeSpec { + // Optional. Configure the use of workload identity on the PersistentResource + ServiceAccountSpec service_account_spec = 2 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Ray cluster configuration. + // Required when creating a dedicated RayCluster on the PersistentResource. + RaySpec ray_spec = 1 [(google.api.field_behavior) = OPTIONAL]; +} + +// Configuration information for the Ray cluster. +// For experimental launch, Ray cluster creation and Persistent +// cluster creation are 1:1 mapping: We will provision all the nodes within the +// Persistent cluster as Ray nodes. +message RaySpec { + // Optional. Default image for user to choose a preferred ML framework + // (for example, TensorFlow or Pytorch) by choosing from [Vertex prebuilt + // images](https://cloud.google.com/vertex-ai/docs/training/pre-built-containers). + // Either this or the resource_pool_images is required. Use this field if + // you need all the resource pools to have the same Ray image. Otherwise, use + // the {@code resource_pool_images} field. + string image_uri = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Required if image_uri isn't set. A map of resource_pool_id to + // prebuild Ray image if user need to use different images for different + // head/worker pools. This map needs to cover all the resource pool ids. + // Example: + // { + // "ray_head_node_pool": "head image" + // "ray_worker_node_pool1": "worker image" + // "ray_worker_node_pool2": "another worker image" + // } + map resource_pool_images = 6 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. This will be used to indicate which resource pool will serve as + // the Ray head node(the first node within that pool). Will use the machine + // from the first workerpool as the head node by default if this field isn't + // set. + string head_node_resource_pool_id = 7 + [(google.api.field_behavior) = OPTIONAL]; +} + +// Persistent Cluster runtime information as output +message ResourceRuntime { + // Output only. URIs for user to connect to the Cluster. + // Example: + // { + // "RAY_HEAD_NODE_INTERNAL_IP": "head-node-IP:10001" + // "RAY_DASHBOARD_URI": "ray-dashboard-address:8888" + // } + map access_uris = 1 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Configuration for the use of custom service account to run the workloads. +message ServiceAccountSpec { + // Required. If true, custom user-managed service account is enforced to run + // any workloads (for example, Vertex Jobs) on the resource. Otherwise, uses + // the [Vertex AI Custom Code Service + // Agent](https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents). + bool enable_custom_service_account = 1 + [(google.api.field_behavior) = REQUIRED]; + + // Optional. Default service account that this PersistentResource's workloads + // run as. The workloads include: + // + // * Any runtime specified via `ResourceRuntimeSpec` on creation time, + // for example, Ray. + // * Jobs submitted to PersistentResource, if no other service account + // specified in the job specs. + // + // Only works when custom service account is enabled and users have the + // `iam.serviceAccounts.actAs` permission on this service account. + // + // Required if any containers are specified in `ResourceRuntimeSpec`. + string service_account = 2 [(google.api.field_behavior) = OPTIONAL]; +} diff --git a/third_party/googleapis/google/cloud/aiplatform/v1beta1/persistent_resource_service.proto b/third_party/googleapis/google/cloud/aiplatform/v1beta1/persistent_resource_service.proto new file mode 100644 index 000000000..2213921cc --- /dev/null +++ b/third_party/googleapis/google/cloud/aiplatform/v1beta1/persistent_resource_service.proto @@ -0,0 +1,215 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF 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.aiplatform.v1beta1; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/aiplatform/v1beta1/operation.proto"; +import "google/cloud/aiplatform/v1beta1/persistent_resource.proto"; +import "google/longrunning/operations.proto"; +import "google/protobuf/empty.proto"; +import "google/protobuf/field_mask.proto"; + +option csharp_namespace = "Google.Cloud.AIPlatform.V1Beta1"; +option go_package = "cloud.google.com/go/aiplatform/apiv1beta1/aiplatformpb;aiplatformpb"; +option java_multiple_files = true; +option java_outer_classname = "PersistentResourceServiceProto"; +option java_package = "com.google.cloud.aiplatform.v1beta1"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1beta1"; +option ruby_package = "Google::Cloud::AIPlatform::V1beta1"; + +// A service for managing Vertex AI's machine learning PersistentResource. +service PersistentResourceService { + option (google.api.default_host) = "aiplatform.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform"; + + // Creates a PersistentResource. + rpc CreatePersistentResource(CreatePersistentResourceRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1beta1/{parent=projects/*/locations/*}/persistentResources" + body: "persistent_resource" + }; + option (google.api.method_signature) = + "parent,persistent_resource,persistent_resource_id"; + option (google.longrunning.operation_info) = { + response_type: "PersistentResource" + metadata_type: "CreatePersistentResourceOperationMetadata" + }; + } + + // Gets a PersistentResource. + rpc GetPersistentResource(GetPersistentResourceRequest) + returns (PersistentResource) { + option (google.api.http) = { + get: "/v1beta1/{name=projects/*/locations/*/persistentResources/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Lists PersistentResources in a Location. + rpc ListPersistentResources(ListPersistentResourcesRequest) + returns (ListPersistentResourcesResponse) { + option (google.api.http) = { + get: "/v1beta1/{parent=projects/*/locations/*}/persistentResources" + }; + option (google.api.method_signature) = "parent"; + } + + // Deletes a PersistentResource. + rpc DeletePersistentResource(DeletePersistentResourceRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1beta1/{name=projects/*/locations/*/persistentResources/*}" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "DeleteOperationMetadata" + }; + } + + // Updates a PersistentResource. + rpc UpdatePersistentResource(UpdatePersistentResourceRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + patch: "/v1beta1/{persistent_resource.name=projects/*/locations/*/persistentResources/*}" + body: "persistent_resource" + }; + option (google.api.method_signature) = "persistent_resource,update_mask"; + option (google.longrunning.operation_info) = { + response_type: "PersistentResource" + metadata_type: "UpdatePersistentResourceOperationMetadata" + }; + } +} + +// Request message for +// [PersistentResourceService.CreatePersistentResource][google.cloud.aiplatform.v1beta1.PersistentResourceService.CreatePersistentResource]. +message CreatePersistentResourceRequest { + // Required. The resource name of the Location to create the + // PersistentResource in. Format: `projects/{project}/locations/{location}` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "locations.googleapis.com/Location" + } + ]; + + // Required. The PersistentResource to create. + PersistentResource persistent_resource = 2 + [(google.api.field_behavior) = REQUIRED]; + + // Required. The ID to use for the PersistentResource, which become the final + // component of the PersistentResource's resource name. + // + // The maximum length is 63 characters, and valid characters + // are `/^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$/`. + string persistent_resource_id = 3 [(google.api.field_behavior) = REQUIRED]; +} + +// Details of operations that perform create PersistentResource. +message CreatePersistentResourceOperationMetadata { + // Operation metadata for PersistentResource. + GenericOperationMetadata generic_metadata = 1; +} + +// Details of operations that perform update PersistentResource. +message UpdatePersistentResourceOperationMetadata { + // Operation metadata for PersistentResource. + GenericOperationMetadata generic_metadata = 1; +} + +// Request message for +// [PersistentResourceService.GetPersistentResource][google.cloud.aiplatform.v1beta1.PersistentResourceService.GetPersistentResource]. +message GetPersistentResourceRequest { + // Required. The name of the PersistentResource resource. + // Format: + // `projects/{project_id_or_number}/locations/{location_id}/persistentResources/{persistent_resource_id}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/PersistentResource" + } + ]; +} + +// Request message for [PersistentResourceService.ListPersistentResource][]. +message ListPersistentResourcesRequest { + // Required. The resource name of the Location to list the PersistentResources + // from. Format: `projects/{project}/locations/{location}` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "locations.googleapis.com/Location" + } + ]; + + // Optional. The standard list page size. + int32 page_size = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The standard list page token. + // Typically obtained via + // [ListPersistentResourceResponse.next_page_token][] of the previous + // [PersistentResourceService.ListPersistentResource][] call. + string page_token = 4 [(google.api.field_behavior) = OPTIONAL]; +} + +// Response message for +// [PersistentResourceService.ListPersistentResources][google.cloud.aiplatform.v1beta1.PersistentResourceService.ListPersistentResources] +message ListPersistentResourcesResponse { + repeated PersistentResource persistent_resources = 1; + + // A token to retrieve next page of results. + // Pass to + // [ListPersistentResourcesRequest.page_token][google.cloud.aiplatform.v1beta1.ListPersistentResourcesRequest.page_token] + // to obtain that page. + string next_page_token = 2; +} + +// Request message for +// [PersistentResourceService.DeletePersistentResource][google.cloud.aiplatform.v1beta1.PersistentResourceService.DeletePersistentResource]. +message DeletePersistentResourceRequest { + // Required. The name of the PersistentResource to be deleted. + // Format: + // `projects/{project}/locations/{location}/persistentResources/{persistent_resource}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/PersistentResource" + } + ]; +} + +// Request message for UpdatePersistentResource method. +message UpdatePersistentResourceRequest { + // Required. The PersistentResource to update. + // + // The PersistentResource's `name` field is used to identify the + // PersistentResource to update. Format: + // `projects/{project}/locations/{location}/persistentResources/{persistent_resource}` + PersistentResource persistent_resource = 1 + [(google.api.field_behavior) = REQUIRED]; + + // Required. Specify the fields to be overwritten in the PersistentResource by + // the update method. + google.protobuf.FieldMask update_mask = 2 + [(google.api.field_behavior) = REQUIRED]; +} diff --git a/third_party/googleapis/google/cloud/aiplatform/v1beta1/publisher_model.proto b/third_party/googleapis/google/cloud/aiplatform/v1beta1/publisher_model.proto new file mode 100644 index 000000000..98e556fba --- /dev/null +++ b/third_party/googleapis/google/cloud/aiplatform/v1beta1/publisher_model.proto @@ -0,0 +1,326 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF 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.aiplatform.v1beta1; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/aiplatform/v1beta1/machine_resources.proto"; +import "google/cloud/aiplatform/v1beta1/model.proto"; + +option csharp_namespace = "Google.Cloud.AIPlatform.V1Beta1"; +option go_package = "cloud.google.com/go/aiplatform/apiv1beta1/aiplatformpb;aiplatformpb"; +option java_multiple_files = true; +option java_outer_classname = "PublisherModelProto"; +option java_package = "com.google.cloud.aiplatform.v1beta1"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1beta1"; +option ruby_package = "Google::Cloud::AIPlatform::V1beta1"; + +// A Model Garden Publisher Model. +message PublisherModel { + option (google.api.resource) = { + type: "aiplatform.googleapis.com/PublisherModel" + pattern: "publishers/{publisher}/models/{model}" + }; + + // Reference to a resource. + message ResourceReference { + oneof reference { + // The URI of the resource. + string uri = 1; + + // The resource name of the Google Cloud resource. + string resource_name = 2; + + // Use case (CUJ) of the resource. + string use_case = 3 [deprecated = true]; + + // Description of the resource. + string description = 4 [deprecated = true]; + } + } + + // The information about the parent of a model. + message Parent { + // Required. The display name of the parent. E.g., LaMDA, T5, Vision API, + // Natural Language API. + string display_name = 1 [(google.api.field_behavior) = REQUIRED]; + + // Optional. The Google Cloud resource name or the URI reference. + ResourceReference reference = 2 [(google.api.field_behavior) = OPTIONAL]; + } + + // A named piece of documentation. + message Documentation { + // Required. E.g., OVERVIEW, USE CASES, DOCUMENTATION, SDK & SAMPLES, JAVA, + // NODE.JS, etc.. + string title = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. Content of this piece of document (in Markdown format). + string content = 2 [(google.api.field_behavior) = REQUIRED]; + } + + // Actions could take on this Publisher Model. + message CallToAction { + // The regional resource name or the URI. Key is region, e.g., + // us-central1, europe-west2, global, etc.. + message RegionalResourceReferences { + // Required. + map references = 1 + [(google.api.field_behavior) = REQUIRED]; + + // Required. + string title = 2 [(google.api.field_behavior) = REQUIRED]; + + // Optional. Title of the resource. + optional string resource_title = 3 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Use case (CUJ) of the resource. + optional string resource_use_case = 4 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Description of the resource. + optional string resource_description = 5 + [(google.api.field_behavior) = OPTIONAL]; + } + + // Rest API docs. + message ViewRestApi { + // Required. + repeated Documentation documentations = 1 + [(google.api.field_behavior) = REQUIRED]; + + // Required. The title of the view rest API. + string title = 2 [(google.api.field_behavior) = REQUIRED]; + } + + // Open notebooks. + message OpenNotebooks { + // Required. Regional resource references to notebooks. + repeated RegionalResourceReferences notebooks = 1 + [(google.api.field_behavior) = REQUIRED]; + } + + // Open fine tuning pipelines. + message OpenFineTuningPipelines { + // Required. Regional resource references to fine tuning pipelines. + repeated RegionalResourceReferences fine_tuning_pipelines = 1 + [(google.api.field_behavior) = REQUIRED]; + } + + // Model metadata that is needed for UploadModel or + // DeployModel/CreateEndpoint requests. + message Deploy { + // The prediction (for example, the machine) resources that the + // DeployedModel uses. + oneof prediction_resources { + // A description of resources that are dedicated to the DeployedModel, + // and that need a higher degree of manual configuration. + DedicatedResources dedicated_resources = 5; + + // A description of resources that to large degree are decided by Vertex + // AI, and require only a modest additional configuration. + AutomaticResources automatic_resources = 6; + + // The resource name of the shared DeploymentResourcePool to deploy on. + // Format: + // `projects/{project}/locations/{location}/deploymentResourcePools/{deployment_resource_pool}` + string shared_resources = 7; + } + + // Optional. Default model display name. + string model_display_name = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Large model reference. When this is set, model_artifact_spec + // is not needed. + LargeModelReference large_model_reference = 2 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The specification of the container that is to be used when + // deploying this Model in Vertex AI. Not present for Large Models. + ModelContainerSpec container_spec = 3 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The path to the directory containing the Model artifact and + // any of its supporting files. + string artifact_uri = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Required. The title of the regional resource reference. + string title = 8 [(google.api.field_behavior) = REQUIRED]; + + // Optional. The signed URI for ephemeral Cloud Storage access to model + // artifact. + string public_artifact_uri = 9 [(google.api.field_behavior) = OPTIONAL]; + } + + // Configurations for PublisherModel GKE deployment + message DeployGke { + // Optional. GKE deployment configuration in yaml format. + repeated string gke_yaml_configs = 1 + [(google.api.field_behavior) = OPTIONAL]; + } + + // Optional. To view Rest API docs. + ViewRestApi view_rest_api = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Open notebook of the PublisherModel. + RegionalResourceReferences open_notebook = 2 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Open notebooks of the PublisherModel. + optional OpenNotebooks open_notebooks = 12 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Create application using the PublisherModel. + RegionalResourceReferences create_application = 3 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Open fine-tuning pipeline of the PublisherModel. + RegionalResourceReferences open_fine_tuning_pipeline = 4 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Open fine-tuning pipelines of the PublisherModel. + optional OpenFineTuningPipelines open_fine_tuning_pipelines = 13 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Open prompt-tuning pipeline of the PublisherModel. + RegionalResourceReferences open_prompt_tuning_pipeline = 5 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Open Genie / Playground. + RegionalResourceReferences open_genie = 6 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Deploy the PublisherModel to Vertex Endpoint. + Deploy deploy = 7 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Deploy PublisherModel to Google Kubernetes Engine. + DeployGke deploy_gke = 14 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Open in Generation AI Studio. + RegionalResourceReferences open_generation_ai_studio = 8 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Request for access. + RegionalResourceReferences request_access = 9 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Open evaluation pipeline of the PublisherModel. + RegionalResourceReferences open_evaluation_pipeline = 11 + [(google.api.field_behavior) = OPTIONAL]; + } + + // An enum representing the open source category of a PublisherModel. + enum OpenSourceCategory { + // The open source category is unspecified, which should not be used. + OPEN_SOURCE_CATEGORY_UNSPECIFIED = 0; + + // Used to indicate the PublisherModel is not open sourced. + PROPRIETARY = 1; + + // Used to indicate the PublisherModel is a Google-owned open source model + // w/ Google checkpoint. + GOOGLE_OWNED_OSS_WITH_GOOGLE_CHECKPOINT = 2; + + // Used to indicate the PublisherModel is a 3p-owned open source model w/ + // Google checkpoint. + THIRD_PARTY_OWNED_OSS_WITH_GOOGLE_CHECKPOINT = 3; + + // Used to indicate the PublisherModel is a Google-owned pure open source + // model. + GOOGLE_OWNED_OSS = 4; + + // Used to indicate the PublisherModel is a 3p-owned pure open source model. + THIRD_PARTY_OWNED_OSS = 5; + } + + // An enum representing the launch stage of a PublisherModel. + enum LaunchStage { + // The model launch stage is unspecified. + LAUNCH_STAGE_UNSPECIFIED = 0; + + // Used to indicate the PublisherModel is at Experimental launch stage. + EXPERIMENTAL = 1; + + // Used to indicate the PublisherModel is at Private Preview launch stage. + PRIVATE_PREVIEW = 2; + + // Used to indicate the PublisherModel is at Public Preview launch stage. + PUBLIC_PREVIEW = 3; + + // Used to indicate the PublisherModel is at GA launch stage. + GA = 4; + } + + // An enum representing the state of the PublicModelVersion. + enum VersionState { + // The version state is unspecified. + VERSION_STATE_UNSPECIFIED = 0; + + // Used to indicate the version is stable. + VERSION_STATE_STABLE = 1; + + // Used to indicate the version is unstable. + VERSION_STATE_UNSTABLE = 2; + } + + // Output only. The resource name of the PublisherModel. + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Immutable. The version ID of the PublisherModel. + // A new version is committed when a new model version is uploaded under an + // existing model id. It is an auto-incrementing decimal number in string + // representation. + string version_id = 2 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.field_behavior) = OUTPUT_ONLY + ]; + + // Required. Indicates the open source category of the publisher model. + OpenSourceCategory open_source_category = 7 + [(google.api.field_behavior) = REQUIRED]; + + // Optional. The parent that this model was customized from. E.g., Vision API, + // Natural Language API, LaMDA, T5, etc. Foundation models don't have parents. + Parent parent = 14 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Supported call-to-action options. + CallToAction supported_actions = 19 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Additional information about the model's Frameworks. + repeated string frameworks = 23 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Indicates the launch stage of the model. + LaunchStage launch_stage = 29 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Indicates the state of the model version. + VersionState version_state = 37 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Output only. Immutable. Used to indicate this model has a + // publisher model and provide the template of the publisher model resource + // name. + string publisher_model_template = 30 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.field_behavior) = OUTPUT_ONLY + ]; + + // Optional. The schemata that describes formats of the PublisherModel's + // predictions and explanations as given and returned via + // [PredictionService.Predict][google.cloud.aiplatform.v1beta1.PredictionService.Predict]. + PredictSchemata predict_schemata = 31 + [(google.api.field_behavior) = OPTIONAL]; +} diff --git a/third_party/googleapis/google/cloud/aiplatform/v1beta1/schedule.proto b/third_party/googleapis/google/cloud/aiplatform/v1beta1/schedule.proto new file mode 100644 index 000000000..266dc394d --- /dev/null +++ b/third_party/googleapis/google/cloud/aiplatform/v1beta1/schedule.proto @@ -0,0 +1,172 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF 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.aiplatform.v1beta1; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/aiplatform/v1beta1/pipeline_service.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.AIPlatform.V1Beta1"; +option go_package = "cloud.google.com/go/aiplatform/apiv1beta1/aiplatformpb;aiplatformpb"; +option java_multiple_files = true; +option java_outer_classname = "ScheduleProto"; +option java_package = "com.google.cloud.aiplatform.v1beta1"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1beta1"; +option ruby_package = "Google::Cloud::AIPlatform::V1beta1"; + +// An instance of a Schedule periodically schedules runs to make API calls based +// on user specified time specification and API request type. +message Schedule { + option (google.api.resource) = { + type: "aiplatform.googleapis.com/Schedule" + pattern: "projects/{project}/locations/{location}/schedules/{schedule}" + }; + + // Status of a scheduled run. + message RunResponse { + // The scheduled run time based on the user-specified schedule. + google.protobuf.Timestamp scheduled_run_time = 1; + + // The response of the scheduled run. + string run_response = 2; + } + + // Possible state of the schedule. + enum State { + // Unspecified. + STATE_UNSPECIFIED = 0; + + // The Schedule is active. Runs are being scheduled on the user-specified + // timespec. + ACTIVE = 1; + + // The schedule is paused. No new runs will be created until the schedule + // is resumed. Already started runs will be allowed to complete. + PAUSED = 2; + + // The Schedule is completed. No new runs will be scheduled. Already started + // runs will be allowed to complete. Schedules in completed state cannot be + // paused or resumed. + COMPLETED = 3; + } + + // Required. + // The time specification to launch scheduled runs. + oneof time_specification { + // Cron schedule (https://en.wikipedia.org/wiki/Cron) to launch scheduled + // runs. To explicitly set a timezone to the cron tab, apply a prefix in the + // cron tab: "CRON_TZ=${IANA_TIME_ZONE}" or "TZ=${IANA_TIME_ZONE}". + // The ${IANA_TIME_ZONE} may only be a valid string from IANA time zone + // database. For example, "CRON_TZ=America/New_York 1 * * * *", or + // "TZ=America/New_York 1 * * * *". + string cron = 10; + } + + // Required. + // The API request template to launch the scheduled runs. + // User-specified ID is not supported in the request template. + oneof request { + // Request for + // [PipelineService.CreatePipelineJob][google.cloud.aiplatform.v1beta1.PipelineService.CreatePipelineJob]. + // CreatePipelineJobRequest.parent field is required (format: + // projects/{project}/locations/{location}). + CreatePipelineJobRequest create_pipeline_job_request = 14; + } + + // Immutable. The resource name of the Schedule. + string name = 1 [(google.api.field_behavior) = IMMUTABLE]; + + // Required. User provided name of the Schedule. + // The name can be up to 128 characters long and can consist of any UTF-8 + // characters. + string display_name = 2 [(google.api.field_behavior) = REQUIRED]; + + // Optional. Timestamp after which the first run can be scheduled. + // Default to Schedule create time if not specified. + google.protobuf.Timestamp start_time = 3 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Timestamp after which no new runs can be scheduled. + // If specified, The schedule will be completed when either + // end_time is reached or when scheduled_run_count >= max_run_count. + // If not specified, new runs will keep getting scheduled until this Schedule + // is paused or deleted. Already scheduled runs will be allowed to complete. + // Unset if not specified. + google.protobuf.Timestamp end_time = 4 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Maximum run count of the schedule. + // If specified, The schedule will be completed when either + // started_run_count >= max_run_count or when end_time is reached. + // If not specified, new runs will keep getting scheduled until this Schedule + // is paused or deleted. Already scheduled runs will be allowed to complete. + // Unset if not specified. + int64 max_run_count = 16 [(google.api.field_behavior) = OPTIONAL]; + + // Output only. The number of runs started by this schedule. + int64 started_run_count = 17 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The state of this Schedule. + State state = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Timestamp when this Schedule was created. + google.protobuf.Timestamp create_time = 6 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Timestamp when this Schedule was updated. + google.protobuf.Timestamp update_time = 19 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Timestamp when this Schedule should schedule the next run. + // Having a next_run_time in the past means the runs are being started + // behind schedule. + google.protobuf.Timestamp next_run_time = 7 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Timestamp when this Schedule was last paused. + // Unset if never paused. + google.protobuf.Timestamp last_pause_time = 8 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Timestamp when this Schedule was last resumed. + // Unset if never resumed from pause. + google.protobuf.Timestamp last_resume_time = 9 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. Maximum number of runs that can be started concurrently for this + // Schedule. This is the limit for starting the scheduled requests and not the + // execution of the operations/jobs created by the requests (if applicable). + int64 max_concurrent_run_count = 11 [(google.api.field_behavior) = REQUIRED]; + + // Optional. Whether new scheduled runs can be queued when max_concurrent_runs + // limit is reached. If set to true, new runs will be queued instead of + // skipped. Default to false. + bool allow_queueing = 12 [(google.api.field_behavior) = OPTIONAL]; + + // Output only. Whether to backfill missed runs when the schedule is resumed + // from PAUSED state. If set to true, all missed runs will be scheduled. New + // runs will be scheduled after the backfill is complete. Default to false. + bool catch_up = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Response of the last scheduled run. + // This is the response for starting the scheduled requests and not the + // execution of the operations/jobs created by the requests (if applicable). + // Unset if no run has been scheduled yet. + RunResponse last_scheduled_run_response = 18 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/cloud/aiplatform/v1beta1/schedule_service.proto b/third_party/googleapis/google/cloud/aiplatform/v1beta1/schedule_service.proto new file mode 100644 index 000000000..ea6a1328d --- /dev/null +++ b/third_party/googleapis/google/cloud/aiplatform/v1beta1/schedule_service.proto @@ -0,0 +1,310 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF 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.aiplatform.v1beta1; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/aiplatform/v1beta1/operation.proto"; +import "google/cloud/aiplatform/v1beta1/schedule.proto"; +import "google/longrunning/operations.proto"; +import "google/protobuf/empty.proto"; +import "google/protobuf/field_mask.proto"; + +option csharp_namespace = "Google.Cloud.AIPlatform.V1Beta1"; +option go_package = "cloud.google.com/go/aiplatform/apiv1beta1/aiplatformpb;aiplatformpb"; +option java_multiple_files = true; +option java_outer_classname = "ScheduleServiceProto"; +option java_package = "com.google.cloud.aiplatform.v1beta1"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1beta1"; +option ruby_package = "Google::Cloud::AIPlatform::V1beta1"; + +// A service for creating and managing Vertex AI's Schedule resources to +// periodically launch shceudled runs to make API calls. +service ScheduleService { + option (google.api.default_host) = "aiplatform.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform"; + + // Creates a Schedule. + rpc CreateSchedule(CreateScheduleRequest) returns (Schedule) { + option (google.api.http) = { + post: "/v1beta1/{parent=projects/*/locations/*}/schedules" + body: "schedule" + }; + option (google.api.method_signature) = "parent,schedule"; + } + + // Deletes a Schedule. + rpc DeleteSchedule(DeleteScheduleRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1beta1/{name=projects/*/locations/*/schedules/*}" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "DeleteOperationMetadata" + }; + } + + // Gets a Schedule. + rpc GetSchedule(GetScheduleRequest) returns (Schedule) { + option (google.api.http) = { + get: "/v1beta1/{name=projects/*/locations/*/schedules/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Lists Schedules in a Location. + rpc ListSchedules(ListSchedulesRequest) returns (ListSchedulesResponse) { + option (google.api.http) = { + get: "/v1beta1/{parent=projects/*/locations/*}/schedules" + }; + option (google.api.method_signature) = "parent"; + } + + // Pauses a Schedule. Will mark + // [Schedule.state][google.cloud.aiplatform.v1beta1.Schedule.state] to + // 'PAUSED'. If the schedule is paused, no new runs will be created. Already + // created runs will NOT be paused or canceled. + rpc PauseSchedule(PauseScheduleRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + post: "/v1beta1/{name=projects/*/locations/*/schedules/*}:pause" + body: "*" + }; + option (google.api.method_signature) = "name"; + } + + // Resumes a paused Schedule to start scheduling new runs. Will mark + // [Schedule.state][google.cloud.aiplatform.v1beta1.Schedule.state] to + // 'ACTIVE'. Only paused Schedule can be resumed. + // + // When the Schedule is resumed, new runs will be scheduled starting from the + // next execution time after the current time based on the time_specification + // in the Schedule. If [Schedule.catchUp][] is set up true, all + // missed runs will be scheduled for backfill first. + rpc ResumeSchedule(ResumeScheduleRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + post: "/v1beta1/{name=projects/*/locations/*/schedules/*}:resume" + body: "*" + }; + option (google.api.method_signature) = "name"; + option (google.api.method_signature) = "name,catch_up"; + } + + // Updates an active or paused Schedule. + // + // When the Schedule is updated, new runs will be scheduled starting from the + // updated next execution time after the update time based on the + // time_specification in the updated Schedule. All unstarted runs before the + // update time will be skipped while already created runs will NOT be paused + // or canceled. + rpc UpdateSchedule(UpdateScheduleRequest) returns (Schedule) { + option (google.api.http) = { + patch: "/v1beta1/{schedule.name=projects/*/locations/*/schedules/*}" + body: "schedule" + }; + option (google.api.method_signature) = "schedule,update_mask"; + } +} + +// Request message for +// [ScheduleService.CreateSchedule][google.cloud.aiplatform.v1beta1.ScheduleService.CreateSchedule]. +message CreateScheduleRequest { + // Required. The resource name of the Location to create the Schedule in. + // Format: `projects/{project}/locations/{location}` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "locations.googleapis.com/Location" + } + ]; + + // Required. The Schedule to create. + Schedule schedule = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for +// [ScheduleService.GetSchedule][google.cloud.aiplatform.v1beta1.ScheduleService.GetSchedule]. +message GetScheduleRequest { + // Required. The name of the Schedule resource. + // Format: + // `projects/{project}/locations/{location}/schedules/{schedule}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/Schedule" + } + ]; +} + +// Request message for +// [ScheduleService.ListSchedules][google.cloud.aiplatform.v1beta1.ScheduleService.ListSchedules]. +message ListSchedulesRequest { + // Required. The resource name of the Location to list the Schedules from. + // Format: `projects/{project}/locations/{location}` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "locations.googleapis.com/Location" + } + ]; + + // Lists the Schedules that match the filter expression. The following + // fields are supported: + // + // * `display_name`: Supports `=`, `!=` comparisons, and `:` wildcard. + // * `state`: Supports `=` and `!=` comparisons. + // * `request`: Supports existence of the check. + // (e.g. `create_pipeline_job_request:*` --> Schedule has + // create_pipeline_job_request). + // * `create_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. + // Values must be in RFC 3339 format. + // * `start_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. + // Values must be in RFC 3339 format. + // * `end_time`: Supports `=`, `!=`, `<`, `>`, `<=`, `>=` comparisons and `:*` + // existence check. Values must be in RFC 3339 format. + // * `next_run_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` + // comparisons. Values must be in RFC 3339 format. + // + // + // Filter expressions can be combined together using logical operators + // (`NOT`, `AND` & `OR`). + // The syntax to define filter expression is based on + // https://google.aip.dev/160. + // + // Examples: + // + // * `state="ACTIVE" AND display_name:"my_schedule_*"` + // * `NOT display_name="my_schedule"` + // * `create_time>"2021-05-18T00:00:00Z"` + // * `end_time>"2021-05-18T00:00:00Z" OR NOT end_time:*` + // * `create_pipeline_job_request:*` + string filter = 2; + + // The standard list page size. + // Default to 100 if not specified. + int32 page_size = 3; + + // The standard list page token. + // Typically obtained via + // [ListSchedulesResponse.next_page_token][google.cloud.aiplatform.v1beta1.ListSchedulesResponse.next_page_token] + // of the previous + // [ScheduleService.ListSchedules][google.cloud.aiplatform.v1beta1.ScheduleService.ListSchedules] + // call. + string page_token = 4; + + // A comma-separated list of fields to order by. The default sort order is in + // ascending order. Use "desc" after a field name for descending. You can have + // multiple order_by fields provided. + // + // For example, using "create_time desc, end_time" will order results by + // create time in descending order, and if there are multiple schedules having + // the same create time, order them by the end time in ascending order. + // + // If order_by is not specified, it will order by default with create_time in + // descending order. + // + // Supported fields: + // + // * `create_time` + // * `start_time` + // * `end_time` + // * `next_run_time` + string order_by = 5; +} + +// Response message for +// [ScheduleService.ListSchedules][google.cloud.aiplatform.v1beta1.ScheduleService.ListSchedules] +message ListSchedulesResponse { + // List of Schedules in the requested page. + repeated Schedule schedules = 1; + + // A token to retrieve the next page of results. + // Pass to + // [ListSchedulesRequest.page_token][google.cloud.aiplatform.v1beta1.ListSchedulesRequest.page_token] + // to obtain that page. + string next_page_token = 2; +} + +// Request message for +// [ScheduleService.DeleteSchedule][google.cloud.aiplatform.v1beta1.ScheduleService.DeleteSchedule]. +message DeleteScheduleRequest { + // Required. The name of the Schedule resource to be deleted. + // Format: + // `projects/{project}/locations/{location}/schedules/{schedule}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/Schedule" + } + ]; +} + +// Request message for +// [ScheduleService.PauseSchedule][google.cloud.aiplatform.v1beta1.ScheduleService.PauseSchedule]. +message PauseScheduleRequest { + // Required. The name of the Schedule resource to be paused. + // Format: + // `projects/{project}/locations/{location}/schedules/{schedule}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/Schedule" + } + ]; +} + +// Request message for +// [ScheduleService.ResumeSchedule][google.cloud.aiplatform.v1beta1.ScheduleService.ResumeSchedule]. +message ResumeScheduleRequest { + // Required. The name of the Schedule resource to be resumed. + // Format: + // `projects/{project}/locations/{location}/schedules/{schedule}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/Schedule" + } + ]; + + // Optional. Whether to backfill missed runs when the schedule is resumed from + // PAUSED state. If set to true, all missed runs will be scheduled. New runs + // will be scheduled after the backfill is complete. This will also update + // [Schedule.catch_up][google.cloud.aiplatform.v1beta1.Schedule.catch_up] + // field. Default to false. + bool catch_up = 2 [(google.api.field_behavior) = OPTIONAL]; +} + +// Request message for +// [ScheduleService.UpdateSchedule][google.cloud.aiplatform.v1beta1.ScheduleService.UpdateSchedule]. +message UpdateScheduleRequest { + // Required. The Schedule which replaces the resource on the server. + // The following restrictions will be applied: + // + // * The scheduled request type cannot be changed. + // * The non-empty fields cannot be unset. + // * The output_only fields will be ignored if specified. + Schedule schedule = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The update mask applies to the resource. See + // [google.protobuf.FieldMask][google.protobuf.FieldMask]. + google.protobuf.FieldMask update_mask = 2 + [(google.api.field_behavior) = REQUIRED]; +} diff --git a/third_party/googleapis/google/cloud/aiplatform/v1beta1/tool.proto b/third_party/googleapis/google/cloud/aiplatform/v1beta1/tool.proto new file mode 100644 index 000000000..98f105eb4 --- /dev/null +++ b/third_party/googleapis/google/cloud/aiplatform/v1beta1/tool.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.cloud.aiplatform.v1beta1; + +import "google/api/field_behavior.proto"; +import "google/cloud/aiplatform/v1beta1/openapi.proto"; +import "google/protobuf/struct.proto"; + +option csharp_namespace = "Google.Cloud.AIPlatform.V1Beta1"; +option go_package = "cloud.google.com/go/aiplatform/apiv1beta1/aiplatformpb;aiplatformpb"; +option java_multiple_files = true; +option java_outer_classname = "ToolProto"; +option java_package = "com.google.cloud.aiplatform.v1beta1"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1beta1"; +option ruby_package = "Google::Cloud::AIPlatform::V1beta1"; + +// Tool details that the model may use to generate response. +// +// A `Tool` is a piece of code that enables the system to interact with +// external systems to perform an action, or set of actions, outside of +// knowledge and scope of the model. A Tool object should contain exactly +// one type of Tool. +message Tool { + // Optional. One or more function declarations to be passed to the model along + // with the current user query. Model may decide to call a subset of these + // functions by populating [FunctionCall][content.part.function_call] in the + // response. User should provide a + // [FunctionResponse][content.part.function_response] for each function call + // in the next turn. Based on the function responses, Model will generate the + // final response back to the user. Maximum 64 function declarations can be + // provided. + repeated FunctionDeclaration function_declarations = 1 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. System will always execute the provided retrieval tool(s) to get + // external knowledge to answer the prompt. Retrieval results are presented to + // the model for generation. + Retrieval retrieval = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Specialized retrieval tool that is powered by Google search. + GoogleSearchRetrieval google_search_retrieval = 3 + [(google.api.field_behavior) = OPTIONAL]; +} + +// Structured representation of a function declaration as defined by the +// [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included +// in this declaration are the function name and parameters. This +// FunctionDeclaration is a representation of a block of code that can be used +// as a `Tool` by the model and executed by the client. +message FunctionDeclaration { + // Required. The name of the function to call. + // Must start with a letter or an underscore. + // Must be a-z, A-Z, 0-9, or contain underscores and dashes, with a maximum + // length of 64. + string name = 1 [(google.api.field_behavior) = REQUIRED]; + + // Optional. Description and purpose of the function. + // Model uses it to decide how and whether to call the function. + string description = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Describes the parameters to this function in JSON Schema Object + // format. Reflects the Open API 3.03 Parameter Object. string Key: the name + // of the parameter. Parameter names are case sensitive. Schema Value: the + // Schema defining the type used for the parameter. For function with no + // parameters, this can be left unset. Example with 1 required and 1 optional + // parameter: type: OBJECT properties: + // param1: + // type: STRING + // param2: + // type: INTEGER + // required: + // - param1 + Schema parameters = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// A predicted [FunctionCall] returned from the model that contains a string +// representing the [FunctionDeclaration.name] and a structured JSON object +// containing the parameters and their values. +message FunctionCall { + // Required. The name of the function to call. + // Matches [FunctionDeclaration.name]. + string name = 1 [(google.api.field_behavior) = REQUIRED]; + + // Optional. Required. The function parameters and values in JSON object + // format. See [FunctionDeclaration.parameters] for parameter details. + google.protobuf.Struct args = 2 [(google.api.field_behavior) = OPTIONAL]; +} + +// The result output from a [FunctionCall] that contains a string representing +// the [FunctionDeclaration.name] and a structured JSON object containing any +// output from the function is used as context to the model. This should contain +// the result of a [FunctionCall] made based on model prediction. +message FunctionResponse { + // Required. The name of the function to call. + // Matches [FunctionDeclaration.name] and [FunctionCall.name]. + string name = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The function response in JSON object format. + google.protobuf.Struct response = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Defines a retrieval tool that model can call to access external knowledge. +message Retrieval { + oneof source { + // Set to use data source powered by Vertex AI Search. + VertexAISearch vertex_ai_search = 2; + } + + // Optional. Disable using the result from this tool in detecting grounding + // attribution. This does not affect how the result is given to the model for + // generation. + bool disable_attribution = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// Retrieve from Vertex AI Search datastore for grounding. +// See https://cloud.google.com/vertex-ai-search-and-conversation +message VertexAISearch { + // Required. Fully-qualified Vertex AI Search's datastore resource ID. + // projects/<>/locations/<>/collections/<>/dataStores/<> + string datastore = 1 [(google.api.field_behavior) = REQUIRED]; +} + +// Tool to retrieve public web data for grounding, powered by Google. +message GoogleSearchRetrieval { + // Optional. Disable using the result from this tool in detecting grounding + // attribution. This does not affect how the result is given to the model for + // generation. + bool disable_attribution = 1 [(google.api.field_behavior) = OPTIONAL]; +} diff --git a/third_party/googleapis/google/cloud/alloydb/BUILD.bazel b/third_party/googleapis/google/cloud/alloydb/BUILD.bazel new file mode 100644 index 000000000..ee44030ca --- /dev/null +++ b/third_party/googleapis/google/cloud/alloydb/BUILD.bazel @@ -0,0 +1,37 @@ +# This build file includes a target for the Ruby wrapper library for +# google-cloud-alloy_db. + +# 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 alloydb. +# 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 = "alloydb_ruby_wrapper", + srcs = ["//google/cloud/alloydb/v1:alloydb_proto_with_info"], + extra_protoc_parameters = [ + "ruby-cloud-gem-name=google-cloud-alloy_db", + "ruby-cloud-gem-namespace=Google::Cloud::AlloyDB", + "ruby-cloud-wrapper-of=v1:0.8;v1beta:0.6", + ], + service_yaml = "//google/cloud/alloydb/v1:alloydb_v1.yaml", + transport = "grpc+rest", +) + +# Open Source package. +ruby_gapic_assembly_pkg( + name = "google-cloud-alloydb-ruby", + deps = [ + ":alloydb_ruby_wrapper", + ], +) diff --git a/third_party/googleapis/google/cloud/alloydb/connectors/v1/BUILD.bazel b/third_party/googleapis/google/cloud/alloydb/connectors/v1/BUILD.bazel new file mode 100644 index 000000000..ecd29be1b --- /dev/null +++ b/third_party/googleapis/google/cloud/alloydb/connectors/v1/BUILD.bazel @@ -0,0 +1,200 @@ +# This file was automatically generated by BuildFileGenerator + +# 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") + +proto_library( + name = "connectors_proto", + srcs = [ + "resources.proto", + ], + deps = [ + "//google/api:field_behavior_proto", + ], +) + +############################################################################## +# Java +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "java_proto_library", + "java_gapic_assembly_gradle_pkg", +) + +java_proto_library( + name = "connectors_java_proto", + deps = [":connectors_proto"], +) + +# Open Source Packages +java_gapic_assembly_gradle_pkg( + name = "google-cloud-alloydb-connectors-v1-java", + deps = [ + ":connectors_proto", + ":connectors_java_proto", + ], +) + +############################################################################## +# Go +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "go_proto_library", + "go_gapic_assembly_pkg", +) + +go_proto_library( + name = "connectors_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "cloud.google.com/go/alloydb/connectors/apiv1/connectorspb", + protos = [":connectors_proto"], + deps = [ + "//google/api:annotations_go_proto", + ], +) + +go_gapic_assembly_pkg( + name = "google-cloud-alloydb-connectors-v1-go", + deps = [ + ":connectors_go_proto", + ], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "moved_proto_library", + "py_grpc_library", + "py_proto_library", + "py_gapic_library", + "py_gapic_assembly_pkg", +) + +moved_proto_library( + name = "connectors_moved_proto", + srcs = [":connectors_proto"], + deps = [ + "//google/api:field_behavior_proto", + ], +) + +py_proto_library( + name = "connectors_py_proto", + deps = [":connectors_moved_proto"], +) + +py_grpc_library( + name = "connectors_py_grpc", + srcs = [":connectors_moved_proto"], + deps = [":connectors_py_proto"], +) + +py_gapic_library( + name = "connectors_py_gapic", + srcs = [":connectors_proto"], + rest_numeric_enums = False, + transport = "grpc+rest", +) + +# Open Source Packages +py_gapic_assembly_pkg( + name = "google-cloud-alloydb-connectors-v1-py", + deps = [ + ":connectors_py_gapic", + ], +) + +############################################################################## +# PHP +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "php_gapic_assembly_pkg", + "php_proto_library", +) + +php_proto_library( + name = "connectors_php_proto", + deps = [":connectors_proto"], +) + +php_gapic_assembly_pkg( + name = "google-cloud-alloydb-connectors-v1-php", + deps = [ + ":connectors_php_proto", + ], +) + +############################################################################## +# Ruby +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "ruby_grpc_library", + "ruby_proto_library", +) + +ruby_proto_library( + name = "connectors_ruby_proto", + deps = [":connectors_proto"], +) + +ruby_grpc_library( + name = "connectors_ruby_grpc", + srcs = [":connectors_proto"], + deps = [":connectors_ruby_proto"], +) + +############################################################################## +# C# +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "csharp_proto_library", + "csharp_gapic_assembly_pkg", +) + +csharp_proto_library( + name = "connectors_csharp_proto", + deps = [":connectors_proto"], +) + +# Open Source Packages +csharp_gapic_assembly_pkg( + name = "google-cloud-alloydb-connectors-v1-csharp", + package_name = "Google.Cloud.AlloyDb.Connectors.V1", + generate_nongapic_package = True, + deps = [ + ":connectors_csharp_proto", + ], +) + +############################################################################## +# C++ +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "cc_grpc_library", + "cc_proto_library", +) + +cc_proto_library( + name = "connectors_cc_proto", + deps = [":connectors_proto"], +) + +cc_grpc_library( + name = "connectors_cc_grpc", + srcs = [":connectors_proto"], + grpc_only = True, + deps = [":connectors_cc_proto"], +) diff --git a/third_party/googleapis/google/cloud/alloydb/connectors/v1/connectors_v1.yaml b/third_party/googleapis/google/cloud/alloydb/connectors/v1/connectors_v1.yaml new file mode 100644 index 000000000..23cad56ee --- /dev/null +++ b/third_party/googleapis/google/cloud/alloydb/connectors/v1/connectors_v1.yaml @@ -0,0 +1,35 @@ +type: google.api.Service +config_version: 3 +name: connectors.googleapis.com +title: AlloyDB connectors + +types: +- name: google.cloud.alloydb.connectors.v1.MetadataExchangeRequest +- name: google.cloud.alloydb.connectors.v1.MetadataExchangeResponse + +publishing: + new_issue_uri: https://issuetracker.google.com/issues/new?component=1194526&template=1689942 + documentation_uri: https://cloud.google.com/alloydb/docs + api_short_name: alloydb + github_label: 'api: alloydb' + doc_tag_prefix: alloydb + organization: CLOUD + library_settings: + - version: google.cloud.alloydb.connectors.v1 + launch_stage: GA + java_settings: + common: + destinations: + - PACKAGE_MANAGER + python_settings: + common: + destinations: + - PACKAGE_MANAGER + node_settings: + common: + destinations: + - PACKAGE_MANAGER + go_settings: + common: + destinations: + - PACKAGE_MANAGER diff --git a/third_party/googleapis/google/cloud/alloydb/connectors/v1/resources.proto b/third_party/googleapis/google/cloud/alloydb/connectors/v1/resources.proto new file mode 100644 index 000000000..00f00cfbe --- /dev/null +++ b/third_party/googleapis/google/cloud/alloydb/connectors/v1/resources.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.cloud.alloydb.connectors.v1; + +import "google/api/field_behavior.proto"; + +option csharp_namespace = "Google.Cloud.AlloyDb.Connectors.V1"; +option go_package = "cloud.google.com/go/alloydb/connectors/apiv1/connectorspb;connectorspb"; +option java_multiple_files = true; +option java_outer_classname = "ResourcesProto"; +option java_package = "com.google.cloud.alloydb.connectors.v1"; +option php_namespace = "Google\\Cloud\\AlloyDb\\Connectors\\V1"; +option ruby_package = "Google::Cloud::AlloyDb::Connectors::V1"; + +// Message used by AlloyDB connectors to exchange client and connection metadata +// with the server after a successful TLS handshake. This metadata includes an +// IAM token, which is used to authenticate users based on their IAM identity. +// The sole purpose of this message is for the use of AlloyDB connectors. +// Clients should not rely on this message directly as there can be breaking +// changes in the future. +message MetadataExchangeRequest { + // AuthType contains all supported authentication types. + enum AuthType { + // Authentication type is unspecified and DB_NATIVE is used by default + AUTH_TYPE_UNSPECIFIED = 0; + + // Database native authentication (user/password) + DB_NATIVE = 1; + + // Automatic IAM authentication + AUTO_IAM = 2; + } + + // Optional. Connector information. + string user_agent = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Authentication type. + AuthType auth_type = 2; + + // IAM token used for both IAM user authentiation and + // `alloydb.instances.connect` permission check. + string oauth2_token = 3; +} + +// Message for response to metadata exchange request. The sole purpose of this +// message is for the use of AlloyDB connectors. Clients should not rely on this +// message directly as there can be breaking changes in the future. +message MetadataExchangeResponse { + // Response code. + enum ResponseCode { + // Unknown response code + RESPONSE_CODE_UNSPECIFIED = 0; + + // Success + OK = 1; + + // Failure + ERROR = 2; + } + + // Response code. + ResponseCode response_code = 1; + + // Optional. Error message. + string error = 2 [(google.api.field_behavior) = OPTIONAL]; +} diff --git a/third_party/googleapis/google/cloud/alloydb/connectors/v1alpha/BUILD.bazel b/third_party/googleapis/google/cloud/alloydb/connectors/v1alpha/BUILD.bazel new file mode 100644 index 000000000..391629e12 --- /dev/null +++ b/third_party/googleapis/google/cloud/alloydb/connectors/v1alpha/BUILD.bazel @@ -0,0 +1,186 @@ +# This file was automatically generated by BuildFileGenerator + +# 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") + +proto_library( + name = "connectors_proto", + srcs = [ + "resources.proto", + ], + deps = [ + "//google/api:field_behavior_proto", + ], +) + +############################################################################## +# Java +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "java_gapic_assembly_gradle_pkg", + "java_grpc_library", + "java_proto_library", +) + +java_proto_library( + name = "connectors_java_proto", + deps = [":connectors_proto"], +) + +java_grpc_library( + name = "connectors_java_grpc", + srcs = [":connectors_proto"], + deps = [":connectors_java_proto"], +) + +# Open Source Packages +java_gapic_assembly_gradle_pkg( + name = "google-cloud-alloydb-connectors-v1alpha-java", + deps = [ + ":connectors_java_proto", + ":connectors_proto", + ], +) + +############################################################################## +# Go +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "go_proto_library", + "go_gapic_assembly_pkg", +) + +go_proto_library( + name = "connectors_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "cloud.google.com/go/alloydb/connectors/apiv1alpha/connectorspb", + protos = [":connectors_proto"], + deps = [ + "//google/api:annotations_go_proto", + ], +) + +go_gapic_assembly_pkg( + name = "connectors-v1alpha-go", + deps = [ + ":connectors_go_proto", + ], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "moved_proto_library", + "py_grpc_library", + "py_proto_library", +) + +moved_proto_library( + name = "connectors_moved_proto", + srcs = [":connectors_proto"], + deps = [ + "//google/api:field_behavior_proto", + ], +) + +py_proto_library( + name = "connectors_py_proto", + deps = [":connectors_moved_proto"], +) + +py_grpc_library( + name = "connectors_py_grpc", + srcs = [":connectors_moved_proto"], + deps = [":connectors_py_proto"], +) + +############################################################################## +# PHP +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "php_gapic_assembly_pkg", + "php_proto_library", +) + +php_proto_library( + name = "connectors_php_proto", + deps = [":connectors_proto"], +) + +php_gapic_assembly_pkg( + name = "connectors-v1alpha-php", + deps = [ + ":connectors_php_proto", + ], +) + +############################################################################## +# Ruby +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "ruby_grpc_library", + "ruby_proto_library", +) + +ruby_proto_library( + name = "connectors_ruby_proto", + deps = [":connectors_proto"], +) + +ruby_grpc_library( + name = "connectors_ruby_grpc", + srcs = [":connectors_proto"], + deps = [":connectors_ruby_proto"], +) + +############################################################################## +# C# +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "csharp_grpc_library", + "csharp_proto_library", +) + +csharp_proto_library( + name = "connectors_csharp_proto", + deps = [":connectors_proto"], +) + +csharp_grpc_library( + name = "connectors_csharp_grpc", + srcs = [":connectors_proto"], + deps = [":connectors_csharp_proto"], +) + +############################################################################## +# C++ +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "cc_grpc_library", + "cc_proto_library", +) + +cc_proto_library( + name = "connectors_cc_proto", + deps = [":connectors_proto"], +) + +cc_grpc_library( + name = "connectors_cc_grpc", + srcs = [":connectors_proto"], + grpc_only = True, + deps = [":connectors_cc_proto"], +) diff --git a/third_party/googleapis/google/cloud/alloydb/connectors/v1alpha/connectors_v1alpha.yaml b/third_party/googleapis/google/cloud/alloydb/connectors/v1alpha/connectors_v1alpha.yaml new file mode 100644 index 000000000..b4816cd90 --- /dev/null +++ b/third_party/googleapis/google/cloud/alloydb/connectors/v1alpha/connectors_v1alpha.yaml @@ -0,0 +1,35 @@ +type: google.api.Service +config_version: 3 +name: connectors.googleapis.com +title: AlloyDB connectors + +types: +- name: google.cloud.alloydb.connectors.v1alpha.MetadataExchangeRequest +- name: google.cloud.alloydb.connectors.v1alpha.MetadataExchangeResponse + +publishing: + new_issue_uri: https://issuetracker.google.com/issues/new?component=1194526&template=1689942 + documentation_uri: https://cloud.google.com/alloydb/docs + api_short_name: alloydb + github_label: 'api: alloydb' + doc_tag_prefix: alloydb + organization: CLOUD + library_settings: + - version: google.cloud.alloydb.connectors.v1alpha + launch_stage: ALPHA + java_settings: + common: + destinations: + - PACKAGE_MANAGER + python_settings: + common: + destinations: + - PACKAGE_MANAGER + node_settings: + common: + destinations: + - PACKAGE_MANAGER + go_settings: + common: + destinations: + - PACKAGE_MANAGER diff --git a/third_party/googleapis/google/cloud/alloydb/connectors/v1alpha/resources.proto b/third_party/googleapis/google/cloud/alloydb/connectors/v1alpha/resources.proto new file mode 100644 index 000000000..cdbf8e5b5 --- /dev/null +++ b/third_party/googleapis/google/cloud/alloydb/connectors/v1alpha/resources.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.cloud.alloydb.connectors.v1alpha; + +import "google/api/field_behavior.proto"; + +option csharp_namespace = "Google.Cloud.AlloyDb.Connectors.V1Alpha"; +option go_package = "cloud.google.com/go/alloydb/connectors/apiv1alpha/connectorspb;connectorspb"; +option java_multiple_files = true; +option java_outer_classname = "ResourcesProto"; +option java_package = "com.google.cloud.alloydb.connectors.v1alpha"; +option php_namespace = "Google\\Cloud\\AlloyDb\\Connectors\\V1alpha"; +option ruby_package = "Google::Cloud::AlloyDb::Connectors::V1alpha"; + +// Message used by AlloyDB connectors to exchange client and connection metadata +// with the server after a successful TLS handshake. This metadata includes an +// IAM token, which is used to authenticate users based on their IAM identity. +// The sole purpose of this message is for the use of AlloyDB connectors. +// Clients should not rely on this message directly as there can be breaking +// changes in the future. +message MetadataExchangeRequest { + // AuthType contains all supported authentication types. + enum AuthType { + // Authentication type is unspecified and DB_NATIVE is used by default + AUTH_TYPE_UNSPECIFIED = 0; + + // Database native authentication (user/password) + DB_NATIVE = 1; + + // Automatic IAM authentication + AUTO_IAM = 2; + } + + // Optional. Connector information. + string user_agent = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Authentication type. + AuthType auth_type = 2; + + // IAM token used for both IAM user authentiation and + // `alloydb.instances.connect` permission check. + string oauth2_token = 3; +} + +// Message for response to metadata exchange request. The sole purpose of this +// message is for the use of AlloyDB connectors. Clients should not rely on this +// message directly as there can be breaking changes in the future. +message MetadataExchangeResponse { + // Response code. + enum ResponseCode { + // Unknown response code + RESPONSE_CODE_UNSPECIFIED = 0; + + // Success + OK = 1; + + // Failure + ERROR = 2; + } + + // Response code. + ResponseCode response_code = 1; + + // Optional. Error message. + string error = 2 [(google.api.field_behavior) = OPTIONAL]; +} diff --git a/third_party/googleapis/google/cloud/alloydb/connectors/v1beta/BUILD.bazel b/third_party/googleapis/google/cloud/alloydb/connectors/v1beta/BUILD.bazel new file mode 100644 index 000000000..95a66398c --- /dev/null +++ b/third_party/googleapis/google/cloud/alloydb/connectors/v1beta/BUILD.bazel @@ -0,0 +1,183 @@ +# This file was automatically generated by BuildFileGenerator + +# 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") + +proto_library( + name = "connectors_proto", + srcs = [ + "resources.proto", + ], + deps = [ + "//google/api:field_behavior_proto", + ], +) + +############################################################################## +# Java +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "java_proto_library", + "java_gapic_assembly_gradle_pkg", +) + +java_proto_library( + name = "connectors_java_proto", + deps = [":connectors_proto"], +) + +# Open Source Packages +java_gapic_assembly_gradle_pkg( + name = "google-cloud-alloydb-connectors-v1beta-java", + deps = [ + ":connectors_proto", + ":connectors_java_proto", + ], +) + +############################################################################## +# Go +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "go_proto_library", + "go_gapic_assembly_pkg", +) + +go_proto_library( + name = "connectors_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "cloud.google.com/go/alloydb/connectors/apiv1beta/connectorspb", + protos = [":connectors_proto"], + deps = [ + "//google/api:annotations_go_proto", + ], +) + +go_gapic_assembly_pkg( + name = "google-cloud-alloydb-connectors-v1beta-go", + deps = [ + ":connectors_go_proto", + ], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "moved_proto_library", + "py_grpc_library", + "py_proto_library", +) + +moved_proto_library( + name = "connectors_moved_proto", + srcs = [":connectors_proto"], + deps = [ + "//google/api:field_behavior_proto", + ], +) + +py_proto_library( + name = "connectors_py_proto", + deps = [":connectors_moved_proto"], +) + +py_grpc_library( + name = "connectors_py_grpc", + srcs = [":connectors_moved_proto"], + deps = [":connectors_py_proto"], +) + +############################################################################## +# PHP +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "php_gapic_assembly_pkg", + "php_proto_library", +) + +php_proto_library( + name = "connectors_php_proto", + deps = [":connectors_proto"], +) + +php_gapic_assembly_pkg( + name = "google-cloud-alloydb-connectors-v1beta-php", + deps = [ + ":connectors_php_proto", + ], +) + +############################################################################## +# Ruby +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "ruby_grpc_library", + "ruby_proto_library", +) + +ruby_proto_library( + name = "connectors_ruby_proto", + deps = [":connectors_proto"], +) + +ruby_grpc_library( + name = "connectors_ruby_grpc", + srcs = [":connectors_proto"], + deps = [":connectors_ruby_proto"], +) + +############################################################################## +# C# +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "csharp_proto_library", + "csharp_gapic_assembly_pkg", +) + +csharp_proto_library( + name = "connectors_csharp_proto", + deps = [":connectors_proto"], +) + +# Open Source Packages +csharp_gapic_assembly_pkg( + name = "google-cloud-alloydb-connectors-v1beta-csharp", + package_name = "Google.Cloud.AlloyDb.Connectors.V1Beta", + generate_nongapic_package = True, + deps = [ + ":connectors_csharp_proto", + ], +) + +############################################################################## +# C++ +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "cc_grpc_library", + "cc_proto_library", +) + +cc_proto_library( + name = "connectors_cc_proto", + deps = [":connectors_proto"], +) + +cc_grpc_library( + name = "connectors_cc_grpc", + srcs = [":connectors_proto"], + grpc_only = True, + deps = [":connectors_cc_proto"], +) diff --git a/third_party/googleapis/google/cloud/alloydb/connectors/v1beta/connectors_v1beta.yaml b/third_party/googleapis/google/cloud/alloydb/connectors/v1beta/connectors_v1beta.yaml new file mode 100644 index 000000000..7cc083419 --- /dev/null +++ b/third_party/googleapis/google/cloud/alloydb/connectors/v1beta/connectors_v1beta.yaml @@ -0,0 +1,35 @@ +type: google.api.Service +config_version: 3 +name: connectors.googleapis.com +title: AlloyDB connectors + +types: +- name: google.cloud.alloydb.connectors.v1beta.MetadataExchangeRequest +- name: google.cloud.alloydb.connectors.v1beta.MetadataExchangeResponse + +publishing: + new_issue_uri: https://issuetracker.google.com/issues/new?component=1194526&template=1689942 + documentation_uri: https://cloud.google.com/alloydb/docs + api_short_name: alloydb + github_label: 'api: alloydb' + doc_tag_prefix: alloydb + organization: CLOUD + library_settings: + - version: google.cloud.alloydb.connectors.v1beta + launch_stage: BETA + java_settings: + common: + destinations: + - PACKAGE_MANAGER + python_settings: + common: + destinations: + - PACKAGE_MANAGER + node_settings: + common: + destinations: + - PACKAGE_MANAGER + go_settings: + common: + destinations: + - PACKAGE_MANAGER diff --git a/third_party/googleapis/google/cloud/alloydb/connectors/v1beta/resources.proto b/third_party/googleapis/google/cloud/alloydb/connectors/v1beta/resources.proto new file mode 100644 index 000000000..9aefe2617 --- /dev/null +++ b/third_party/googleapis/google/cloud/alloydb/connectors/v1beta/resources.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.cloud.alloydb.connectors.v1beta; + +import "google/api/field_behavior.proto"; + +option csharp_namespace = "Google.Cloud.AlloyDb.Connectors.V1Beta"; +option go_package = "cloud.google.com/go/alloydb/connectors/apiv1beta/connectorspb;connectorspb"; +option java_multiple_files = true; +option java_outer_classname = "ResourcesProto"; +option java_package = "com.google.cloud.alloydb.connectors.v1beta"; +option php_namespace = "Google\\Cloud\\AlloyDb\\Connectors\\V1beta"; +option ruby_package = "Google::Cloud::AlloyDb::Connectors::V1beta"; + +// Message used by AlloyDB connectors to exchange client and connection metadata +// with the server after a successful TLS handshake. This metadata includes an +// IAM token, which is used to authenticate users based on their IAM identity. +// The sole purpose of this message is for the use of AlloyDB connectors. +// Clients should not rely on this message directly as there can be breaking +// changes in the future. +message MetadataExchangeRequest { + // AuthType contains all supported authentication types. + enum AuthType { + // Authentication type is unspecified and DB_NATIVE is used by default + AUTH_TYPE_UNSPECIFIED = 0; + + // Database native authentication (user/password) + DB_NATIVE = 1; + + // Automatic IAM authentication + AUTO_IAM = 2; + } + + // Optional. Connector information. + string user_agent = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Authentication type. + AuthType auth_type = 2; + + // IAM token used for both IAM user authentiation and + // `alloydb.instances.connect` permission check. + string oauth2_token = 3; +} + +// Message for response to metadata exchange request. The sole purpose of this +// message is for the use of AlloyDB connectors. Clients should not rely on this +// message directly as there can be breaking changes in the future. +message MetadataExchangeResponse { + // Response code. + enum ResponseCode { + // Unknown response code + RESPONSE_CODE_UNSPECIFIED = 0; + + // Success + OK = 1; + + // Failure + ERROR = 2; + } + + // Response code. + ResponseCode response_code = 1; + + // Optional. Error message. + string error = 2 [(google.api.field_behavior) = OPTIONAL]; +} diff --git a/third_party/googleapis/google/cloud/backupdr/logging/v1/README.md b/third_party/googleapis/google/cloud/backupdr/logging/v1/README.md new file mode 100644 index 000000000..9cfa7fac4 --- /dev/null +++ b/third_party/googleapis/google/cloud/backupdr/logging/v1/README.md @@ -0,0 +1,3 @@ +# Cloud Backup and DR Logging Integration + +The proto files in this directory serve as documentation for the format of the event Logs with Backup and DR Service. Event logs is used to view the operations performed in Backup and DR Service. Backup/recovery appliances produce events with event IDs and associated error messages. In many cases, additional information is provided in the form of error codes with their own associated error messages that come from the underlying component that experienced an error or warning that in turn produced an event. diff --git a/third_party/googleapis/google/cloud/backupdr/logging/v1/reportlog.proto b/third_party/googleapis/google/cloud/backupdr/logging/v1/reportlog.proto new file mode 100644 index 000000000..78113201c --- /dev/null +++ b/third_party/googleapis/google/cloud/backupdr/logging/v1/reportlog.proto @@ -0,0 +1,272 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF 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.backupdr.logging.v1; + +option go_package = "cloud.google.com/go/backupdr/logging/apiv1/loggingpb;loggingpb"; +option java_multiple_files = true; +option java_outer_classname = "ReportLogProto"; +option java_package = "com.google.cloud.backupdr.logging.v1"; +option csharp_namespace = "Google.Cloud.BackupDR.Logging.V1"; +option php_namespace = "Google\\Cloud\\BackupDR\\Logging\\V1"; +option ruby_package = "Google::Cloud::BackupDR::Logging::V1"; + +// This is a BackupRecoveryJobReportLog published as part of GCBDR Reporting. +message BackupRecoveryJobReportLog { + // The job_name field displays the name of the job being reported. + string job_name = 1; + + // The job_name field displays the category of the job whether it is Backup or + // Recovery Job. + string job_category = 2; + + // The job_type field displays the type of the job. + string job_type = 3; + + // The log_backup field displays whether the backup taken is only for logs, DB + // or both. + string log_backup = 4; + + // The job_status field displays the status of the job. + string job_status = 5; + + // The resource_name field displays the name of the resource. + string resource_name = 6; + + // The resource_type field displays the type of the resource. + string resource_type = 7; + + // The error_code field displays the error code. + int32 error_code = 8; + + // The error_message field displays the error message if the job is not + // successful. + string error_message = 9; + + // The job_initiation_failure_reason field displays the reason for failure, + // if the job was not run. + string job_initiation_failure_reason = 10; + + // The job_start_time field displays the timestamp when the job started. + string job_start_time = 11; + + // The job_end_time field displays the timestamp when the job ended. + string job_end_time = 12; + + // The job_queued_time field displays the timestamp when the job was + // queued for running. + string job_queued_time = 13; + + // The job_duration_in_hours field displays the duration in hours which the + // job took to complete. + double job_duration_in_hours = 14; + + // The hostname field displays the name of the host. + string hostname = 15; + + // The appliance_name field displays the name of the backup appliance. + string appliance_name = 16; + + // The backup_rule_policy_name field displays the policy name which is + // associated with this job. + string backup_rule_policy_name = 17; + + // The backup_plan_policy_template field displays the name of the backup plan + // for this application. + string backup_plan_policy_template = 18; + + // The backup_type field displays the type of backup taken: Log, Incremental + // or Full Copy. + string backup_type = 19; + + // The recovery_point field displays the timestamp of recovery point. + string recovery_point = 20; + + // The backup_consistency field displays whether the backup is crash + // consistent or application consistent. + string backup_consistency = 21; + + // The target_host_name field displays the target host name. + string target_host_name = 22; + + // The target_appliance_name field displays the target appliance name. + string target_appliance_name = 23; + + // The target_pool_name field displays target pool name. + string target_pool_name = 24; + + // The resource_data_size_in_gib field displays resource data size in Gib. + double resource_data_size_in_gib = 25; + + // The data_copied_in_gib field displays the amount of the data copied + // during backup in Gib. + double data_copied_in_gib = 26; + + // The onvault_pool_storage_consumed_in_gib field displays the amount of + // onvault pool storage consumed in Gib. + double onvault_pool_storage_consumed_in_gib = 27; + + // The pre_compress_in_gib field displays the size before compression in Gib. + double pre_compress_in_gib = 28; + + // The compression_ratio field displays the ratio of post compression size to + // pre compression size. + double compression_ratio = 29; + + // The data_change_rate field displays the percentage of data copied during + // backup to application size. + double data_change_rate = 30; + + // The snapshot_disk_size_in_gib field displays the snapshot disk size in Gib. + double snapshot_disk_size_in_gib = 31; + + // The data_written_in_gib field displays the amount of + // remote data written in Gib. + double data_written_in_gib = 32; + + // The data_sent_in_gib field displays the amount of + // network data sent in Gib. + double data_sent_in_gib = 33; + + // The job_id field displays the id of the job being reported. + string job_id = 34; + + // The host_id field displays the host id. + string host_id = 35; + + // The backup_rule_policy_id field displays the policy id. + string backup_rule_policy_id = 36; + + // The resource_id field displays the resource id. + string resource_id = 37; + + // The target_pool_id field displays the target pool id. + string target_pool_id = 38; + + // The target_host_id field displays the target host id. + string target_host_id = 39; + + // The target_appliance_id field displays the target appliance id. + string target_appliance_id = 40; +} + +// This is a UnprotectedResourceLogReport published as part of GCBDR +// Reporting. +message UnprotectedResourceReportLog { + // Required. Name of the host where the application/resource resides. + string host_name = 1; + + // Required. Name of the application/resource. + string resource_name = 2; + + // Required. Type of the application/resource. + string resource_type = 3; + + // Optional. Name of the database instance for instance members. + string instance_name = 4; + + // Required. Date when the Appliance was Discovered first. + string discovered_on = 5; + + // Required. Name of the appliance on which it was discovered. + string discovered_by = 6; + + // Required. Id of the Appliance + string appliance_id = 7; + + // Required. Id of the application/resource + string resource_id = 8; + + // Required. Id of the Host where the application/resource resides. + string host_id = 9; +} + +// This is a DailyScheduleComplianceReportLog published as part of GCBDR +// Reporting. +message DailyScheduleComplianceReportLog { + // Required. Resource/App Name. + string resource_name = 1; + + // Required. Resource/App Type. + string resource_type = 2; + + // Required. Policy Name. + string backup_rule_policy_name = 3; + + // Required. Policy Template Name. + string backup_plan_policy_template = 4; + + // Required. Name of the host where the app/resource resides. + string host_name = 5; + + // Required. Appliance Name. + string appliance_name = 6; + + // Required. Date for which compliance is being reported. + string date = 7; + + // Required. Backup Window Start time. + string backup_window_start_time = 8; + + // Required. JobType of the policy. + string job_type = 9; + + // Required. Compliance status for the policy. + string status = 10; + + // Required. Description for the status reason. + string comment = 11; + + // Required. Resource/App Id. + string resource_id = 12; + + // Required. Host Id. + string host_id = 13; + + // Required. Policy Template Id + string backup_plan_policy_template_id = 14; + + // Required. Policy Id. + string backup_rule_policy_id = 15; + + // Required. Appliance Id. + string appliance_id = 16; +} + +// This is a BackupStorageUtilizationReportLog published as part of GCBDR +// Reporting. +message BackupStorageUtilizationReportLog { + // Optional. The appliance name. + string appliance_name = 1; + + // Required. The storage resource type. + string storage_type = 2; + + // Required. The storage pool name. + string pool_name = 3; + + // Required. Total capacity of the pool in GiB. + double total_capacity_in_gib = 4; + + // Required. Used capacity of the pool in GiB. + double used_capacity_in_gib = 5; + + // Required. Utilization percentage of a storage pool. + double utilization_percentage = 6; + + // Required. Appliance id. + string appliance_id = 7; +} diff --git a/third_party/googleapis/google/cloud/baremetalsolution/v2/common.proto b/third_party/googleapis/google/cloud/baremetalsolution/v2/common.proto new file mode 100644 index 000000000..6a9f917bd --- /dev/null +++ b/third_party/googleapis/google/cloud/baremetalsolution/v2/common.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.cloud.baremetalsolution.v2; + +option csharp_namespace = "Google.Cloud.BareMetalSolution.V2"; +option go_package = "cloud.google.com/go/baremetalsolution/apiv2/baremetalsolutionpb;baremetalsolutionpb"; +option java_multiple_files = true; +option java_outer_classname = "CommonProto"; +option java_package = "com.google.cloud.baremetalsolution.v2"; +option php_namespace = "Google\\Cloud\\BareMetalSolution\\V2"; +option ruby_package = "Google::Cloud::BareMetalSolution::V2"; + +// Performance tier of the Volume. +enum VolumePerformanceTier { + // Value is not specified. + VOLUME_PERFORMANCE_TIER_UNSPECIFIED = 0; + + // Regular volumes, shared aggregates. + VOLUME_PERFORMANCE_TIER_SHARED = 1; + + // Assigned aggregates. + VOLUME_PERFORMANCE_TIER_ASSIGNED = 2; + + // High throughput aggregates. + VOLUME_PERFORMANCE_TIER_HT = 3; +} + +// The possible values for a workload profile. +enum WorkloadProfile { + // The workload profile is in an unknown state. + WORKLOAD_PROFILE_UNSPECIFIED = 0; + + // The workload profile is generic. + WORKLOAD_PROFILE_GENERIC = 1; + + // The workload profile is hana. + WORKLOAD_PROFILE_HANA = 2; +} diff --git a/third_party/googleapis/google/cloud/baremetalsolution/v2/osimage.proto b/third_party/googleapis/google/cloud/baremetalsolution/v2/osimage.proto new file mode 100644 index 000000000..1ce5a4011 --- /dev/null +++ b/third_party/googleapis/google/cloud/baremetalsolution/v2/osimage.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.cloud.baremetalsolution.v2; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Cloud.BareMetalSolution.V2"; +option go_package = "cloud.google.com/go/baremetalsolution/apiv2/baremetalsolutionpb;baremetalsolutionpb"; +option java_multiple_files = true; +option java_outer_classname = "OsImageProto"; +option java_package = "com.google.cloud.baremetalsolution.v2"; +option php_namespace = "Google\\Cloud\\BareMetalSolution\\V2"; +option ruby_package = "Google::Cloud::BareMetalSolution::V2"; + +// Operation System image. +message OSImage { + option (google.api.resource) = { + type: "baremetalsolution.googleapis.com/OsImage" + pattern: "projects/{project}/locations/{location}/osImages/{os_image}" + plural: "osImages" + singular: "osImage" + }; + + // Output only. OS Image's unique name. + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // OS Image code. + string code = 2; + + // OS Image description. + string description = 3; + + // Instance types this image is applicable to. + // [Available + // types](https://cloud.google.com/bare-metal/docs/bms-planning#server_configurations) + repeated string applicable_instance_types = 4; + + // Network templates that can be used with this OS Image. + repeated string supported_network_templates = 5; +} + +// Request for getting all available OS images. +message ListOSImagesRequest { + // Required. Parent value for ListProvisioningQuotasRequest. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "locations.googleapis.com/Location" + } + ]; + + // Requested page size. The server might return fewer items than requested. + // If unspecified, server will pick an appropriate default. + // Notice that page_size field is not supported and won't be respected in + // the API request for now, will be updated when pagination is supported. + int32 page_size = 2; + + // A token identifying a page of results from the server. + string page_token = 3; +} + +// Request for getting all available OS images. +message ListOSImagesResponse { + // The OS images available. + repeated OSImage os_images = 1; + + // Token to retrieve the next page of results, or empty if there are no more + // results in the list. + string next_page_token = 2; +} diff --git a/third_party/googleapis/google/cloud/baremetalsolution/v2/provisioning.proto b/third_party/googleapis/google/cloud/baremetalsolution/v2/provisioning.proto new file mode 100644 index 000000000..3b19e5b63 --- /dev/null +++ b/third_party/googleapis/google/cloud/baremetalsolution/v2/provisioning.proto @@ -0,0 +1,608 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF 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.baremetalsolution.v2; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/baremetalsolution/v2/common.proto"; +import "google/cloud/baremetalsolution/v2/network.proto"; +import "google/protobuf/field_mask.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.BareMetalSolution.V2"; +option go_package = "cloud.google.com/go/baremetalsolution/apiv2/baremetalsolutionpb;baremetalsolutionpb"; +option java_multiple_files = true; +option java_outer_classname = "ProvisioningProto"; +option java_package = "com.google.cloud.baremetalsolution.v2"; +option php_namespace = "Google\\Cloud\\BareMetalSolution\\V2"; +option ruby_package = "Google::Cloud::BareMetalSolution::V2"; + +// A provisioning configuration. +message ProvisioningConfig { + option (google.api.resource) = { + type: "baremetalsolution.googleapis.com/ProvisioningConfig" + pattern: "projects/{project}/locations/{location}/provisioningConfigs/{provisioning_config}" + }; + + // The possible states for this ProvisioningConfig. + enum State { + // State wasn't specified. + STATE_UNSPECIFIED = 0; + + // ProvisioningConfig is a draft and can be freely modified. + DRAFT = 1; + + // ProvisioningConfig was already submitted and cannot be modified. + SUBMITTED = 2; + + // ProvisioningConfig was in the provisioning state. Initially this state + // comes from the work order table in big query when SNOW is used. Later + // this field can be set by the work order API. + PROVISIONING = 3; + + // ProvisioningConfig was provisioned, meaning the resources exist. + PROVISIONED = 4; + + // ProvisioningConfig was validated. A validation tool will be run to + // set this state. + VALIDATED = 5; + + // ProvisioningConfig was canceled. + CANCELLED = 6; + + // The request is submitted for provisioning, with error return. + FAILED = 7; + } + + // Output only. The system-generated name of the provisioning config. This + // follows the UUID format. + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Instances to be created. + repeated InstanceConfig instances = 2; + + // Networks to be created. + repeated NetworkConfig networks = 3; + + // Volumes to be created. + repeated VolumeConfig volumes = 4; + + // A generated ticket id to track provisioning request. + string ticket_id = 5; + + // A service account to enable customers to access instance credentials upon + // handover. + string handover_service_account = 6; + + // Email provided to send a confirmation with provisioning config to. + // Deprecated in favour of email field in request messages. + string email = 7 [deprecated = true]; + + // Output only. State of ProvisioningConfig. + State state = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Optional. Location name of this ProvisioningConfig. + // It is optional only for Intake UI transition period. + string location = 9 [(google.api.field_behavior) = OPTIONAL]; + + // Output only. Last update timestamp. + google.protobuf.Timestamp update_time = 10 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. URI to Cloud Console UI view of this provisioning config. + string cloud_console_uri = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // If true, VPC SC is enabled for the cluster. + bool vpc_sc_enabled = 12; + + // Optional status messages associated with the FAILED state. + string status_message = 13; + + // Optional. The user-defined identifier of the provisioning config. + string custom_id = 14 [(google.api.field_behavior) = OPTIONAL]; +} + +// Request for SubmitProvisioningConfig. +message SubmitProvisioningConfigRequest { + // Required. The parent project and location containing the + // ProvisioningConfig. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "locations.googleapis.com/Location" + } + ]; + + // Required. The ProvisioningConfig to create. + ProvisioningConfig provisioning_config = 2 + [(google.api.field_behavior) = REQUIRED]; + + // Optional. Email provided to send a confirmation with provisioning config + // to. + string email = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// Response for SubmitProvisioningConfig. +message SubmitProvisioningConfigResponse { + // The submitted provisioning config. + ProvisioningConfig provisioning_config = 1; +} + +// A provisioning quota for a given project. +message ProvisioningQuota { + option (google.api.resource) = { + type: "baremetalsolution.googleapis.com/ProvisioningQuota" + pattern: "projects/{project}/locations/{location}/provisioningQuotas/{provisioning_quota}" + }; + + // The available asset types for intake. + enum AssetType { + // The unspecified type. + ASSET_TYPE_UNSPECIFIED = 0; + + // The server asset type. + ASSET_TYPE_SERVER = 1; + + // The storage asset type. + ASSET_TYPE_STORAGE = 2; + + // The network asset type. + ASSET_TYPE_NETWORK = 3; + } + + // Output only. The name of the provisioning quota. + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The asset type of this provisioning quota. + AssetType asset_type = 2; + + // The gcp service of the provisioning quota. + string gcp_service = 3; + + // The specific location of the provisioining quota. + string location = 4; + + // The available count of the provisioning quota. + int32 available_count = 5; + + // The quota of one asset type. + oneof quota { + // Instance quota. + InstanceQuota instance_quota = 6; + } + + // Available quantity based on asset type. + oneof availability { + // Server count. + int64 server_count = 7; + + // Network bandwidth, Gbps + int64 network_bandwidth = 8; + + // Storage size (GB). + int64 storage_gib = 9; + } +} + +// Message for requesting the list of provisioning quotas. +message ListProvisioningQuotasRequest { + // Required. Parent value for ListProvisioningQuotasRequest. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "locations.googleapis.com/Location" + } + ]; + + // Requested page size. The server might return fewer items than requested. + // If unspecified, server will pick an appropriate default. + // Notice that page_size field is not supported and won't be respected in + // the API request for now, will be updated when pagination is supported. + int32 page_size = 2; + + // A token identifying a page of results from the server. + string page_token = 3; +} + +// Response message for the list of provisioning quotas. +message ListProvisioningQuotasResponse { + // The provisioning quotas registered in this project. + repeated ProvisioningQuota provisioning_quotas = 1; + + // Token to retrieve the next page of results, or empty if there are no more + // results in the list. + string next_page_token = 2; +} + +// Configuration parameters for a new instance. +message InstanceConfig { + option (google.api.resource) = { + type: "baremetalsolution.googleapis.com/InstanceConfig" + pattern: "projects/{project}/locations/{location}/instanceConfigs/{instance_config}" + }; + + // A network. + message NetworkAddress { + // Id of the network to use, within the same ProvisioningConfig request. + string network_id = 1; + + // IPv4 address to be assigned to the server. + string address = 2; + + // Name of the existing network to use. + string existing_network_id = 3; + } + + // The network configuration of the instance. + enum NetworkConfig { + // The unspecified network configuration. + NETWORKCONFIG_UNSPECIFIED = 0; + + // Instance part of single client network and single private network. + SINGLE_VLAN = 1; + + // Instance part of multiple (or single) client networks and private + // networks. + MULTI_VLAN = 2; + } + + // Output only. The name of the instance config. + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // A transient unique identifier to idenfity an instance within an + // ProvisioningConfig request. + string id = 2; + + // Instance type. + // [Available + // types](https://cloud.google.com/bare-metal/docs/bms-planning#server_configurations) + string instance_type = 3; + + // Whether the instance should be provisioned with Hyperthreading enabled. + bool hyperthreading = 4; + + // OS image to initialize the instance. + // [Available + // images](https://cloud.google.com/bare-metal/docs/bms-planning#server_configurations) + string os_image = 5; + + // Client network address. Filled if InstanceConfig.multivlan_config is false. + NetworkAddress client_network = 6 [deprecated = true]; + + // Private network address, if any. Filled if InstanceConfig.multivlan_config + // is false. + NetworkAddress private_network = 7 [deprecated = true]; + + // User note field, it can be used by customers to add additional information + // for the BMS Ops team . + string user_note = 8; + + // If true networks can be from different projects of the same vendor account. + bool account_networks_enabled = 9; + + // The type of network configuration on the instance. + NetworkConfig network_config = 10; + + // Server network template name. Filled if InstanceConfig.multivlan_config is + // true. + string network_template = 11; + + // List of logical interfaces for the instance. The number of logical + // interfaces will be the same as number of hardware bond/nic on the chosen + // network template. Filled if InstanceConfig.multivlan_config is true. + repeated LogicalInterface logical_interfaces = 12; + + // List of names of ssh keys used to provision the instance. + repeated string ssh_key_names = 13; +} + +// Configuration parameters for a new volume. +message VolumeConfig { + option (google.api.resource) = { + type: "baremetalsolution.googleapis.com/VolumeConfig" + pattern: "projects/{project}/locations/{location}/volumeConfigs/{volume_config}" + }; + + // The types of Volumes. + enum Type { + // The unspecified type. + TYPE_UNSPECIFIED = 0; + + // This Volume is on flash. + FLASH = 1; + + // This Volume is on disk. + DISK = 2; + } + + // The protocol used to access the volume. + enum Protocol { + // Unspecified value. + PROTOCOL_UNSPECIFIED = 0; + + // Fibre channel. + PROTOCOL_FC = 1; + + // Network file system. + PROTOCOL_NFS = 2; + } + + // A LUN(Logical Unit Number) range. + message LunRange { + // Number of LUNs to create. + int32 quantity = 1; + + // The requested size of each LUN, in GB. + int32 size_gb = 2; + } + + // A NFS export entry. + message NfsExport { + // Permissions that can granted for an export. + enum Permissions { + // Unspecified value. + PERMISSIONS_UNSPECIFIED = 0; + + // Read-only permission. + READ_ONLY = 1; + + // Read-write permission. + READ_WRITE = 2; + } + + // Network to use to publish the export. + string network_id = 1; + + // A client object. + oneof client { + // Either a single machine, identified by an ID, or a comma-separated + // list of machine IDs. + string machine_id = 2; + + // A CIDR range. + string cidr = 3; + } + + // Export permissions. + Permissions permissions = 4; + + // Disable root squashing, which is a feature of NFS. + // Root squash is a special mapping of the remote superuser (root) identity + // when using identity authentication. + bool no_root_squash = 5; + + // Allow the setuid flag. + bool allow_suid = 6; + + // Allow dev flag in NfsShare AllowedClientsRequest. + bool allow_dev = 7; + } + + // Output only. The name of the volume config. + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // A transient unique identifier to identify a volume within an + // ProvisioningConfig request. + string id = 2; + + // Whether snapshots should be enabled. + bool snapshots_enabled = 3; + + // The type of this Volume. + Type type = 4; + + // Volume protocol. + Protocol protocol = 5; + + // The requested size of this volume, in GB. + int32 size_gb = 6; + + // LUN ranges to be configured. Set only when protocol is PROTOCOL_FC. + repeated LunRange lun_ranges = 7; + + // Machine ids connected to this volume. Set only when protocol is + // PROTOCOL_FC. + repeated string machine_ids = 8; + + // NFS exports. Set only when protocol is PROTOCOL_NFS. + repeated NfsExport nfs_exports = 9; + + // User note field, it can be used by customers to add additional information + // for the BMS Ops team . + string user_note = 10; + + // The GCP service of the storage volume. Available gcp_service are in + // https://cloud.google.com/bare-metal/docs/bms-planning. + string gcp_service = 11; + + // Performance tier of the Volume. + // Default is SHARED. + VolumePerformanceTier performance_tier = 12; +} + +// Configuration parameters for a new network. +message NetworkConfig { + option (google.api.resource) = { + type: "baremetalsolution.googleapis.com/NetworkConfig" + pattern: "projects/{project}/locations/{location}/networkConfigs/{network_config}" + }; + + // Network type. + enum Type { + // Unspecified value. + TYPE_UNSPECIFIED = 0; + + // Client network, that is a network peered to a GCP VPC. + CLIENT = 1; + + // Private network, that is a network local to the BMS POD. + PRIVATE = 2; + } + + // Interconnect bandwidth. + enum Bandwidth { + // Unspecified value. + BANDWIDTH_UNSPECIFIED = 0; + + // 1 Gbps. + BW_1_GBPS = 1; + + // 2 Gbps. + BW_2_GBPS = 2; + + // 5 Gbps. + BW_5_GBPS = 3; + + // 10 Gbps. + BW_10_GBPS = 4; + } + + // A GCP vlan attachment. + message IntakeVlanAttachment { + // Identifier of the VLAN attachment. + string id = 1; + + // Attachment pairing key. + string pairing_key = 2; + } + + // Service network block. + enum ServiceCidr { + // Unspecified value. + SERVICE_CIDR_UNSPECIFIED = 0; + + // Services are disabled for the given network. + DISABLED = 1; + + // Use the highest /26 block of the network to host services. + HIGH_26 = 2; + + // Use the highest /27 block of the network to host services. + HIGH_27 = 3; + + // Use the highest /28 block of the network to host services. + HIGH_28 = 4; + } + + // Output only. The name of the network config. + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // A transient unique identifier to identify a volume within an + // ProvisioningConfig request. + string id = 2; + + // The type of this network, either Client or Private. + Type type = 3; + + // Interconnect bandwidth. Set only when type is CLIENT. + Bandwidth bandwidth = 4; + + // List of VLAN attachments. As of now there are always 2 attachments, but it + // is going to change in the future (multi vlan). + repeated IntakeVlanAttachment vlan_attachments = 5; + + // CIDR range of the network. + string cidr = 6; + + // Service CIDR, if any. + ServiceCidr service_cidr = 7; + + // User note field, it can be used by customers to add additional information + // for the BMS Ops team . + string user_note = 8; + + // The GCP service of the network. Available gcp_service are in + // https://cloud.google.com/bare-metal/docs/bms-planning. + string gcp_service = 9; + + // Whether the VLAN attachment pair is located in the same project. + bool vlan_same_project = 10; + + // The JumboFramesEnabled option for customer to set. + bool jumbo_frames_enabled = 11; +} + +// A resource budget. +message InstanceQuota { + option (google.api.resource) = { + type: "baremetalsolution.googleapis.com/InstanceQuota" + pattern: "projects/{project}/locations/{location}/instanceQuotas/{instance_quota}" + }; + + // Output only. The name of the instance quota. + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Instance type. + // Deprecated: use gcp_service. + string instance_type = 2 [deprecated = true]; + + // The gcp service of the provisioning quota. + string gcp_service = 5; + + // Location where the quota applies. + string location = 3; + + // Number of machines than can be created for the given location and + // instance_type. + int32 available_machine_count = 4; +} + +// Request for GetProvisioningConfig. +message GetProvisioningConfigRequest { + // Required. Name of the ProvisioningConfig. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "baremetalsolution.googleapis.com/ProvisioningConfig" + } + ]; +} + +// Request for CreateProvisioningConfig. +message CreateProvisioningConfigRequest { + // Required. The parent project and location containing the + // ProvisioningConfig. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "locations.googleapis.com/Location" + } + ]; + + // Required. The ProvisioningConfig to create. + ProvisioningConfig provisioning_config = 2 + [(google.api.field_behavior) = REQUIRED]; + + // Optional. Email provided to send a confirmation with provisioning config + // to. + string email = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// Message for updating a ProvisioningConfig. +message UpdateProvisioningConfigRequest { + // Required. The ProvisioningConfig to update. + ProvisioningConfig provisioning_config = 1 + [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of fields to update. + google.protobuf.FieldMask update_mask = 2 + [(google.api.field_behavior) = REQUIRED]; + + // Optional. Email provided to send a confirmation with provisioning config + // to. + string email = 3 [(google.api.field_behavior) = OPTIONAL]; +} diff --git a/third_party/googleapis/google/cloud/baremetalsolution/v2/ssh_key.proto b/third_party/googleapis/google/cloud/baremetalsolution/v2/ssh_key.proto new file mode 100644 index 000000000..535355d17 --- /dev/null +++ b/third_party/googleapis/google/cloud/baremetalsolution/v2/ssh_key.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.cloud.baremetalsolution.v2; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Cloud.BareMetalSolution.V2"; +option go_package = "cloud.google.com/go/baremetalsolution/apiv2/baremetalsolutionpb;baremetalsolutionpb"; +option java_multiple_files = true; +option java_outer_classname = "SshKeyProto"; +option java_package = "com.google.cloud.baremetalsolution.v2"; +option php_namespace = "Google\\Cloud\\BareMetalSolution\\V2"; +option ruby_package = "Google::Cloud::BareMetalSolution::V2"; + +// An SSH key, used for authorizing with the interactive serial console feature. +message SSHKey { + option (google.api.resource) = { + type: "baremetalsolution.googleapis.com/SshKey" + pattern: "projects/{project}/locations/{location}/sshKeys/{ssh_key}" + }; + + // Output only. The name of this SSH key. + // Currently, the only valid value for the location is "global". + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The public SSH key. This must be in OpenSSH .authorized_keys format. + string public_key = 2; +} + +// Message for listing the public SSH keys in a project. +message ListSSHKeysRequest { + // Required. The parent containing the SSH keys. + // Currently, the only valid value for the location is "global". + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "locations.googleapis.com/Location" + } + ]; + + // The maximum number of items to return. + int32 page_size = 2; + + // The next_page_token value returned from a previous List request, if any. + string page_token = 3; +} + +// Message for response of ListSSHKeys. +message ListSSHKeysResponse { + // The SSH keys registered in the project. + repeated SSHKey ssh_keys = 1; + + // Token to retrieve the next page of results, or empty if there are no more + // results in the list. + string next_page_token = 90; +} + +// Message for registering a public SSH key in a project. +message CreateSSHKeyRequest { + // Required. The parent containing the SSH keys. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "locations.googleapis.com/Location" + } + ]; + + // Required. The SSH key to register. + SSHKey ssh_key = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The ID to use for the key, which will become the final component + // of the key's resource name. + // + // This value must match the regex: + // [a-zA-Z0-9@.\-_]{1,64} + string ssh_key_id = 3 [(google.api.field_behavior) = REQUIRED]; +} + +// Message for deleting an SSH key from a project. +message DeleteSSHKeyRequest { + // Required. The name of the SSH key to delete. + // Currently, the only valid value for the location is "global". + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "baremetalsolution.googleapis.com/SshKey" + } + ]; +} diff --git a/third_party/googleapis/google/cloud/baremetalsolution/v2/volume_snapshot.proto b/third_party/googleapis/google/cloud/baremetalsolution/v2/volume_snapshot.proto new file mode 100644 index 000000000..37969e142 --- /dev/null +++ b/third_party/googleapis/google/cloud/baremetalsolution/v2/volume_snapshot.proto @@ -0,0 +1,152 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF 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.baremetalsolution.v2; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.BareMetalSolution.V2"; +option go_package = "cloud.google.com/go/baremetalsolution/apiv2/baremetalsolutionpb;baremetalsolutionpb"; +option java_multiple_files = true; +option java_outer_classname = "VolumeSnapshotProto"; +option java_package = "com.google.cloud.baremetalsolution.v2"; +option php_namespace = "Google\\Cloud\\BareMetalSolution\\V2"; +option ruby_package = "Google::Cloud::BareMetalSolution::V2"; + +// A snapshot of a volume. Only boot volumes can have snapshots. +message VolumeSnapshot { + option (google.api.resource) = { + type: "baremetalsolution.googleapis.com/VolumeSnapshot" + pattern: "projects/{project}/locations/{location}/volumes/{volume}/snapshots/{snapshot}" + }; + + // Represents the type of a snapshot. + enum SnapshotType { + // Type is not specified. + SNAPSHOT_TYPE_UNSPECIFIED = 0; + + // Snapshot was taken manually by user. + AD_HOC = 1; + + // Snapshot was taken automatically as a part of a snapshot schedule. + SCHEDULED = 2; + } + + // The name of the snapshot. + string name = 1; + + // Output only. An identifier for the snapshot, generated by the backend. + string id = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The description of the snapshot. + string description = 2; + + // Output only. The creation time of the snapshot. + google.protobuf.Timestamp create_time = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The name of the volume which this snapshot belongs to. + string storage_volume = 5 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "baremetalsolution.googleapis.com/Volume" + } + ]; + + // Output only. The type of the snapshot which indicates whether it was + // scheduled or manual/ad-hoc. + SnapshotType type = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Message for requesting volume snapshot information. +message GetVolumeSnapshotRequest { + // Required. The name of the snapshot. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "baremetalsolution.googleapis.com/VolumeSnapshot" + } + ]; +} + +// Message for requesting a list of volume snapshots. +message ListVolumeSnapshotsRequest { + // Required. Parent value for ListVolumesRequest. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "baremetalsolution.googleapis.com/Volume" + } + ]; + + // Requested page size. The server might return fewer items than requested. + // If unspecified, server will pick an appropriate default. + int32 page_size = 2; + + // A token identifying a page of results from the server. + string page_token = 3; +} + +// Response message containing the list of volume snapshots. +message ListVolumeSnapshotsResponse { + // The list of snapshots. + repeated VolumeSnapshot volume_snapshots = 1; + + // A token identifying a page of results from the server. + string next_page_token = 2; + + // Locations that could not be reached. + repeated string unreachable = 3; +} + +// Message for deleting named Volume snapshot. +message DeleteVolumeSnapshotRequest { + // Required. The name of the snapshot to delete. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "baremetalsolution.googleapis.com/VolumeSnapshot" + } + ]; +} + +// Message for creating a volume snapshot. +message CreateVolumeSnapshotRequest { + // Required. The volume to snapshot. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "baremetalsolution.googleapis.com/Volume" + } + ]; + + // Required. The snapshot to create. + VolumeSnapshot volume_snapshot = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Message for restoring a volume snapshot. +message RestoreVolumeSnapshotRequest { + // Required. Name of the snapshot which will be used to restore its parent + // volume. + string volume_snapshot = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "baremetalsolution.googleapis.com/VolumeSnapshot" + } + ]; +} diff --git a/third_party/googleapis/google/cloud/bigquery/biglake/v1/BUILD.bazel b/third_party/googleapis/google/cloud/bigquery/biglake/v1/BUILD.bazel new file mode 100644 index 000000000..b9d8c9590 --- /dev/null +++ b/third_party/googleapis/google/cloud/bigquery/biglake/v1/BUILD.bazel @@ -0,0 +1,371 @@ +# 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 = "biglake_proto", + srcs = [ + "metastore.proto", + ], + deps = [ + "//google/api:annotations_proto", + "//google/api:client_proto", + "//google/api:field_behavior_proto", + "//google/api:resource_proto", + "@com_google_protobuf//:field_mask_proto", + "@com_google_protobuf//:timestamp_proto", + ], +) + +proto_library_with_info( + name = "biglake_proto_with_info", + deps = [ + ":biglake_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 = "biglake_java_proto", + deps = [":biglake_proto"], +) + +java_grpc_library( + name = "biglake_java_grpc", + srcs = [":biglake_proto"], + deps = [":biglake_java_proto"], +) + +java_gapic_library( + name = "biglake_java_gapic", + srcs = [":biglake_proto_with_info"], + gapic_yaml = None, + grpc_service_config = "biglake_v1_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "biglake_v1.yaml", + test_deps = [ + ":biglake_java_grpc", + ], + transport = "grpc+rest", + deps = [ + ":biglake_java_proto", + "//google/api:api_java_proto", + ], +) + +java_gapic_test( + name = "biglake_java_gapic_test_suite", + test_classes = [ + "com.google.cloud.bigquery.biglake.v1.MetastoreServiceClientHttpJsonTest", + "com.google.cloud.bigquery.biglake.v1.MetastoreServiceClientTest", + ], + runtime_deps = [":biglake_java_gapic_test"], +) + +# Open Source Packages +java_gapic_assembly_gradle_pkg( + name = "google-cloud-bigquery-biglake-v1-java", + include_samples = True, + transport = "grpc+rest", + deps = [ + ":biglake_java_gapic", + ":biglake_java_grpc", + ":biglake_java_proto", + ":biglake_proto", + ], +) + +############################################################################## +# Go +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "go_gapic_assembly_pkg", + "go_gapic_library", + "go_proto_library", +) + +go_proto_library( + name = "biglake_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "cloud.google.com/go/bigquery/biglake/apiv1/biglakepb", + protos = [":biglake_proto"], + deps = [ + "//google/api:annotations_go_proto", + ], +) + +go_gapic_library( + name = "biglake_go_gapic", + srcs = [":biglake_proto_with_info"], + grpc_service_config = "biglake_v1_grpc_service_config.json", + importpath = "cloud.google.com/go/bigquery/biglake/apiv1;biglake", + metadata = True, + release_level = "ga", + rest_numeric_enums = True, + service_yaml = "biglake_v1.yaml", + transport = "grpc+rest", + deps = [ + ":biglake_go_proto", + ], +) + +# Open Source Packages +go_gapic_assembly_pkg( + name = "gapi-cloud-bigquery-biglake-v1-go", + deps = [ + ":biglake_go_gapic", + ":biglake_go_gapic_srcjar-metadata.srcjar", + ":biglake_go_gapic_srcjar-snippets.srcjar", + ":biglake_go_gapic_srcjar-test.srcjar", + ":biglake_go_proto", + ], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "py_gapic_assembly_pkg", + "py_gapic_library", + "py_test", +) + +py_gapic_library( + name = "biglake_py_gapic", + srcs = [":biglake_proto"], + grpc_service_config = "biglake_v1_grpc_service_config.json", + opt_args = [ + "python-gapic-namespace=google.cloud", + "python-gapic-name=bigquery_biglake", + ], + rest_numeric_enums = True, + service_yaml = "biglake_v1.yaml", + transport = "grpc+rest", + deps = [ + ], +) + +py_test( + name = "biglake_py_gapic_test", + srcs = [ + "biglake_py_gapic_pytest.py", + "biglake_py_gapic_test.py", + ], + legacy_create_init = False, + deps = [":biglake_py_gapic"], +) + +# Open Source Packages +py_gapic_assembly_pkg( + name = "bigquery-biglake-v1-py", + deps = [ + ":biglake_py_gapic", + ], +) + +############################################################################## +# PHP +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "php_gapic_assembly_pkg", + "php_gapic_library", + "php_proto_library", +) + +php_proto_library( + name = "biglake_php_proto", + deps = [":biglake_proto"], +) + +php_gapic_library( + name = "biglake_php_gapic", + srcs = [":biglake_proto_with_info"], + grpc_service_config = "biglake_v1_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "biglake_v1.yaml", + transport = "grpc+rest", + deps = [":biglake_php_proto"], +) + +# Open Source Packages +php_gapic_assembly_pkg( + name = "google-cloud-bigquery-biglake-v1-php", + deps = [ + ":biglake_php_gapic", + ":biglake_php_proto", + ], +) + +############################################################################## +# Node.js +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "nodejs_gapic_assembly_pkg", + "nodejs_gapic_library", +) + +nodejs_gapic_library( + name = "biglake_nodejs_gapic", + package_name = "@google-cloud/biglake", + src = ":biglake_proto_with_info", + extra_protoc_parameters = ["metadata"], + grpc_service_config = "biglake_v1_grpc_service_config.json", + package = "google.cloud.bigquery.biglake.v1", + rest_numeric_enums = True, + service_yaml = "biglake_v1.yaml", + transport = "grpc+rest", + deps = [], +) + +nodejs_gapic_assembly_pkg( + name = "bigquery-biglake-v1-nodejs", + deps = [ + ":biglake_nodejs_gapic", + ":biglake_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 = "biglake_ruby_proto", + deps = [":biglake_proto"], +) + +ruby_grpc_library( + name = "biglake_ruby_grpc", + srcs = [":biglake_proto"], + deps = [":biglake_ruby_proto"], +) + +ruby_cloud_gapic_library( + name = "biglake_ruby_gapic", + srcs = [":biglake_proto_with_info"], + extra_protoc_parameters = [ + "ruby-cloud-gem-name=google-cloud-bigquery-biglake-v1", + ], + grpc_service_config = "biglake_v1_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "biglake_v1.yaml", + deps = [ + ":biglake_ruby_grpc", + ":biglake_ruby_proto", + ], +) + +# Open Source Packages +ruby_gapic_assembly_pkg( + name = "google-cloud-bigquery-biglake-v1-ruby", + deps = [ + ":biglake_ruby_gapic", + ":biglake_ruby_grpc", + ":biglake_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 = "biglake_csharp_proto", + deps = [":biglake_proto"], +) + +csharp_grpc_library( + name = "biglake_csharp_grpc", + srcs = [":biglake_proto"], + deps = [":biglake_csharp_proto"], +) + +csharp_gapic_library( + name = "biglake_csharp_gapic", + srcs = [":biglake_proto_with_info"], + common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json", + grpc_service_config = "biglake_v1_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "biglake_v1.yaml", + deps = [ + ":biglake_csharp_grpc", + ":biglake_csharp_proto", + ], +) + +# Open Source Packages +csharp_gapic_assembly_pkg( + name = "google-cloud-bigquery-biglake-v1-csharp", + deps = [ + ":biglake_csharp_gapic", + ":biglake_csharp_grpc", + ":biglake_csharp_proto", + ], +) + +############################################################################## +# C++ +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "cc_grpc_library", + "cc_proto_library", +) + +cc_proto_library( + name = "biglake_cc_proto", + deps = [":biglake_proto"], +) + +cc_grpc_library( + name = "biglake_cc_grpc", + srcs = [":biglake_proto"], + grpc_only = True, + deps = [":biglake_cc_proto"], +) diff --git a/third_party/googleapis/google/cloud/bigquery/biglake/v1/biglake_v1.yaml b/third_party/googleapis/google/cloud/bigquery/biglake/v1/biglake_v1.yaml new file mode 100644 index 000000000..31dbb3a27 --- /dev/null +++ b/third_party/googleapis/google/cloud/bigquery/biglake/v1/biglake_v1.yaml @@ -0,0 +1,50 @@ +type: google.api.Service +config_version: 3 +name: biglake.googleapis.com +title: BigLake API + +apis: +- name: google.cloud.bigquery.biglake.v1.MetastoreService + +documentation: + summary: |- + The BigLake API provides access to BigLake Metastore, a serverless, fully + managed, and highly available metastore for open-source data that can be + used for querying Apache Iceberg tables in BigQuery. + +backend: + rules: + - selector: 'google.cloud.bigquery.biglake.v1.MetastoreService.*' + deadline: 30.0 + +authentication: + rules: + - selector: 'google.cloud.bigquery.biglake.v1.MetastoreService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/bigquery, + https://www.googleapis.com/auth/cloud-platform + +publishing: + new_issue_uri: https://issuetracker.google.com/issues/new?component=187149&template=1019829 + documentation_uri: https://cloud.google.com/bigquery/docs/iceberg-tables#create-using-biglake-metastore + api_short_name: biglake + github_label: 'api: biglake' + doc_tag_prefix: biglake + organization: CLOUD + library_settings: + - version: google.cloud.bigquery.biglake.v1 + launch_stage: GA + rest_numeric_enums: true + java_settings: + common: + destinations: + - PACKAGE_MANAGER + python_settings: + common: + destinations: + - PACKAGE_MANAGER + go_settings: + common: + destinations: + - PACKAGE_MANAGER diff --git a/third_party/googleapis/google/cloud/bigquery/biglake/v1/biglake_v1_grpc_service_config.json b/third_party/googleapis/google/cloud/bigquery/biglake/v1/biglake_v1_grpc_service_config.json new file mode 100644 index 000000000..3e18f8e1d --- /dev/null +++ b/third_party/googleapis/google/cloud/bigquery/biglake/v1/biglake_v1_grpc_service_config.json @@ -0,0 +1,22 @@ +{ + "methodConfig": [ + { + "name": [ + { + "service": "google.cloud.bigquery.biglake.v1.MetastoreService" + } + ], + "timeout": "60s", + "retryPolicy": { + "maxAttempts": 5, + "initialBackoff": "1s", + "maxBackoff": "10s", + "backoffMultiplier": 1.3, + "retryableStatusCodes": [ + "DEADLINE_EXCEEDED", + "UNAVAILABLE" + ] + } + } + ] +} diff --git a/third_party/googleapis/google/cloud/bigquery/biglake/v1/metastore.proto b/third_party/googleapis/google/cloud/bigquery/biglake/v1/metastore.proto new file mode 100644 index 000000000..e20a59737 --- /dev/null +++ b/third_party/googleapis/google/cloud/bigquery/biglake/v1/metastore.proto @@ -0,0 +1,668 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF 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.bigquery.biglake.v1; + +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/protobuf/timestamp.proto"; + +option go_package = "cloud.google.com/go/bigquery/biglake/apiv1/biglakepb;biglakepb"; +option java_multiple_files = true; +option java_outer_classname = "MetastoreProto"; +option java_package = "com.google.cloud.bigquery.biglake.v1"; + +// BigLake Metastore is a serverless, highly available, multi-tenant runtime +// metastore for Google Cloud Data Analytics products. +// +// The BigLake Metastore API defines the following resource model: +// +// * A collection of Google Cloud projects: `/projects/*` +// * Each project has a collection of available locations: `/locations/*` +// * Each location has a collection of catalogs: `/catalogs/*` +// * Each catalog has a collection of databases: `/databases/*` +// * Each database has a collection of tables: `/tables/*` +service MetastoreService { + option (google.api.default_host) = "biglake.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/bigquery," + "https://www.googleapis.com/auth/cloud-platform"; + + // Creates a new catalog. + rpc CreateCatalog(CreateCatalogRequest) returns (Catalog) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*}/catalogs" + body: "catalog" + }; + option (google.api.method_signature) = "parent,catalog,catalog_id"; + } + + // Deletes an existing catalog specified by the catalog ID. + rpc DeleteCatalog(DeleteCatalogRequest) returns (Catalog) { + option (google.api.http) = { + delete: "/v1/{name=projects/*/locations/*/catalogs/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Gets the catalog specified by the resource name. + rpc GetCatalog(GetCatalogRequest) returns (Catalog) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/catalogs/*}" + }; + option (google.api.method_signature) = "name"; + } + + // List all catalogs in a specified project. + rpc ListCatalogs(ListCatalogsRequest) returns (ListCatalogsResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*}/catalogs" + }; + option (google.api.method_signature) = "parent"; + } + + // Creates a new database. + rpc CreateDatabase(CreateDatabaseRequest) returns (Database) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*/catalogs/*}/databases" + body: "database" + }; + option (google.api.method_signature) = "parent,database,database_id"; + } + + // Deletes an existing database specified by the database ID. + rpc DeleteDatabase(DeleteDatabaseRequest) returns (Database) { + option (google.api.http) = { + delete: "/v1/{name=projects/*/locations/*/catalogs/*/databases/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Updates an existing database specified by the database ID. + rpc UpdateDatabase(UpdateDatabaseRequest) returns (Database) { + option (google.api.http) = { + patch: "/v1/{database.name=projects/*/locations/*/catalogs/*/databases/*}" + body: "database" + }; + option (google.api.method_signature) = "database,update_mask"; + } + + // Gets the database specified by the resource name. + rpc GetDatabase(GetDatabaseRequest) returns (Database) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/catalogs/*/databases/*}" + }; + option (google.api.method_signature) = "name"; + } + + // List all databases in a specified catalog. + rpc ListDatabases(ListDatabasesRequest) returns (ListDatabasesResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*/catalogs/*}/databases" + }; + option (google.api.method_signature) = "parent"; + } + + // Creates a new table. + rpc CreateTable(CreateTableRequest) returns (Table) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*/catalogs/*/databases/*}/tables" + body: "table" + }; + option (google.api.method_signature) = "parent,table,table_id"; + } + + // Deletes an existing table specified by the table ID. + rpc DeleteTable(DeleteTableRequest) returns (Table) { + option (google.api.http) = { + delete: "/v1/{name=projects/*/locations/*/catalogs/*/databases/*/tables/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Updates an existing table specified by the table ID. + rpc UpdateTable(UpdateTableRequest) returns (Table) { + option (google.api.http) = { + patch: "/v1/{table.name=projects/*/locations/*/catalogs/*/databases/*/tables/*}" + body: "table" + }; + option (google.api.method_signature) = "table,update_mask"; + } + + // Renames an existing table specified by the table ID. + rpc RenameTable(RenameTableRequest) returns (Table) { + option (google.api.http) = { + post: "/v1/{name=projects/*/locations/*/catalogs/*/databases/*/tables/*}:rename" + body: "*" + }; + option (google.api.method_signature) = "name,new_name"; + } + + // Gets the table specified by the resource name. + rpc GetTable(GetTableRequest) returns (Table) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/catalogs/*/databases/*/tables/*}" + }; + option (google.api.method_signature) = "name"; + } + + // List all tables in a specified database. + rpc ListTables(ListTablesRequest) returns (ListTablesResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*/catalogs/*/databases/*}/tables" + }; + option (google.api.method_signature) = "parent"; + } +} + +// View on Table. Represents which fields will be populated for calls that +// return Table objects. +enum TableView { + // Default value. The API will default to the BASIC view. + TABLE_VIEW_UNSPECIFIED = 0; + + // Include only table names. + // This is the default value. + BASIC = 1; + + // Include everything. + FULL = 2; +} + +// Catalog is the container of databases. +message Catalog { + option (google.api.resource) = { + type: "biglake.googleapis.com/Catalog" + pattern: "projects/{project}/locations/{location}/catalogs/{catalog}" + }; + + // Output only. The resource name. + // Format: + // projects/{project_id_or_number}/locations/{location_id}/catalogs/{catalog_id} + string name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { type: "biglake.googleapis.com/Catalog" } + ]; + + // Output only. The creation time of the catalog. + google.protobuf.Timestamp create_time = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The last modification time of the catalog. + google.protobuf.Timestamp update_time = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The deletion time of the catalog. Only set after the catalog + // is deleted. + google.protobuf.Timestamp delete_time = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The time when this catalog is considered expired. Only set + // after the catalog is deleted. + google.protobuf.Timestamp expire_time = 5 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Database is the container of tables. +message Database { + option (google.api.resource) = { + type: "biglake.googleapis.com/Database" + pattern: "projects/{project}/locations/{location}/catalogs/{catalog}/databases/{database}" + }; + + // The database type. + enum Type { + // The type is not specified. + TYPE_UNSPECIFIED = 0; + + // Represents a database storing tables compatible with Hive Metastore + // tables. + HIVE = 1; + } + + // Options specified for the database type. + oneof options { + // Options of a Hive database. + HiveDatabaseOptions hive_options = 7; + } + + // Output only. The resource name. + // Format: + // projects/{project_id_or_number}/locations/{location_id}/catalogs/{catalog_id}/databases/{database_id} + string name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "biglake.googleapis.com/Database" + } + ]; + + // Output only. The creation time of the database. + google.protobuf.Timestamp create_time = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The last modification time of the database. + google.protobuf.Timestamp update_time = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The deletion time of the database. Only set after the database + // is deleted. + google.protobuf.Timestamp delete_time = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The time when this database is considered expired. Only set + // after the database is deleted. + google.protobuf.Timestamp expire_time = 5 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The database type. + Type type = 6; +} + +// Represents a table. +message Table { + option (google.api.resource) = { + type: "biglake.googleapis.com/Table" + pattern: "projects/{project}/locations/{location}/catalogs/{catalog}/databases/{database}/tables/{table}" + }; + + // The table type. + enum Type { + // The type is not specified. + TYPE_UNSPECIFIED = 0; + + // Represents a table compatible with Hive Metastore tables. + HIVE = 1; + } + + // Options specified for the table type. + oneof options { + // Options of a Hive table. + HiveTableOptions hive_options = 7; + } + + // Output only. The resource name. + // Format: + // projects/{project_id_or_number}/locations/{location_id}/catalogs/{catalog_id}/databases/{database_id}/tables/{table_id} + string name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { type: "biglake.googleapis.com/Table" } + ]; + + // Output only. The creation time of the table. + google.protobuf.Timestamp create_time = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The last modification time of the table. + google.protobuf.Timestamp update_time = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The deletion time of the table. Only set after the table is + // deleted. + google.protobuf.Timestamp delete_time = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The time when this table is considered expired. Only set after + // the table is deleted. + google.protobuf.Timestamp expire_time = 5 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The table type. + Type type = 6; + + // The checksum of a table object computed by the server based on the value of + // other fields. It may be sent on update requests to ensure the client has an + // up-to-date value before proceeding. It is only checked for update table + // operations. + string etag = 8; +} + +// Request message for the CreateCatalog method. +message CreateCatalogRequest { + // Required. The parent resource where this catalog will be created. + // Format: projects/{project_id_or_number}/locations/{location_id} + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "locations.googleapis.com/Location" + } + ]; + + // Required. The catalog to create. + // The `name` field does not need to be provided. + Catalog catalog = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The ID to use for the catalog, which will become the final + // component of the catalog's resource name. + string catalog_id = 3 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for the DeleteCatalog method. +message DeleteCatalogRequest { + // Required. The name of the catalog to delete. + // Format: + // projects/{project_id_or_number}/locations/{location_id}/catalogs/{catalog_id} + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { type: "biglake.googleapis.com/Catalog" } + ]; +} + +// Request message for the GetCatalog method. +message GetCatalogRequest { + // Required. The name of the catalog to retrieve. + // Format: + // projects/{project_id_or_number}/locations/{location_id}/catalogs/{catalog_id} + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { type: "biglake.googleapis.com/Catalog" } + ]; +} + +// Request message for the ListCatalogs method. +message ListCatalogsRequest { + // Required. The parent, which owns this collection of catalogs. + // Format: projects/{project_id_or_number}/locations/{location_id} + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "locations.googleapis.com/Location" + } + ]; + + // The maximum number of catalogs to return. The service may return fewer than + // this value. + // If unspecified, at most 50 catalogs will be returned. + // The maximum value is 1000; values above 1000 will be coerced to 1000. + int32 page_size = 2; + + // A page token, received from a previous `ListCatalogs` call. + // Provide this to retrieve the subsequent page. + // + // When paginating, all other parameters provided to `ListCatalogs` must match + // the call that provided the page token. + string page_token = 3; +} + +// Response message for the ListCatalogs method. +message ListCatalogsResponse { + // The catalogs from the specified project. + repeated Catalog catalogs = 1; + + // A token, which can be sent as `page_token` to retrieve the next page. + // If this field is omitted, there are no subsequent pages. + string next_page_token = 2; +} + +// Request message for the CreateDatabase method. +message CreateDatabaseRequest { + // Required. The parent resource where this database will be created. + // Format: + // projects/{project_id_or_number}/locations/{location_id}/catalogs/{catalog_id} + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { type: "biglake.googleapis.com/Catalog" } + ]; + + // Required. The database to create. + // The `name` field does not need to be provided. + Database database = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The ID to use for the database, which will become the final + // component of the database's resource name. + string database_id = 3 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for the DeleteDatabase method. +message DeleteDatabaseRequest { + // Required. The name of the database to delete. + // Format: + // projects/{project_id_or_number}/locations/{location_id}/catalogs/{catalog_id}/databases/{database_id} + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "biglake.googleapis.com/Database" + } + ]; +} + +// Request message for the UpdateDatabase method. +message UpdateDatabaseRequest { + // Required. The database to update. + // + // The database's `name` field is used to identify the database to update. + // Format: + // projects/{project_id_or_number}/locations/{location_id}/catalogs/{catalog_id}/databases/{database_id} + Database database = 1 [(google.api.field_behavior) = REQUIRED]; + + // The list of fields to update. + // + // For the `FieldMask` definition, see + // https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask + // If not set, defaults to all of the fields that are allowed to update. + google.protobuf.FieldMask update_mask = 2; +} + +// Request message for the GetDatabase method. +message GetDatabaseRequest { + // Required. The name of the database to retrieve. + // Format: + // projects/{project_id_or_number}/locations/{location_id}/catalogs/{catalog_id}/databases/{database_id} + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "biglake.googleapis.com/Database" + } + ]; +} + +// Request message for the ListDatabases method. +message ListDatabasesRequest { + // Required. The parent, which owns this collection of databases. + // Format: + // projects/{project_id_or_number}/locations/{location_id}/catalogs/{catalog_id} + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { type: "biglake.googleapis.com/Catalog" } + ]; + + // The maximum number of databases to return. The service may return fewer + // than this value. + // If unspecified, at most 50 databases will be returned. + // The maximum value is 1000; values above 1000 will be coerced to 1000. + int32 page_size = 2; + + // A page token, received from a previous `ListDatabases` call. + // Provide this to retrieve the subsequent page. + // + // When paginating, all other parameters provided to `ListDatabases` must + // match the call that provided the page token. + string page_token = 3; +} + +// Response message for the ListDatabases method. +message ListDatabasesResponse { + // The databases from the specified catalog. + repeated Database databases = 1; + + // A token, which can be sent as `page_token` to retrieve the next page. + // If this field is omitted, there are no subsequent pages. + string next_page_token = 2; +} + +// Request message for the CreateTable method. +message CreateTableRequest { + // Required. The parent resource where this table will be created. + // Format: + // projects/{project_id_or_number}/locations/{location_id}/catalogs/{catalog_id}/databases/{database_id} + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "biglake.googleapis.com/Database" + } + ]; + + // Required. The table to create. The `name` field does not need to be + // provided for the table creation. + Table table = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The ID to use for the table, which will become the final + // component of the table's resource name. + string table_id = 3 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for the DeleteTable method. +message DeleteTableRequest { + // Required. The name of the table to delete. + // Format: + // projects/{project_id_or_number}/locations/{location_id}/catalogs/{catalog_id}/databases/{database_id}/tables/{table_id} + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { type: "biglake.googleapis.com/Table" } + ]; +} + +// Request message for the UpdateTable method. +message UpdateTableRequest { + // Required. The table to update. + // + // The table's `name` field is used to identify the table to update. + // Format: + // projects/{project_id_or_number}/locations/{location_id}/catalogs/{catalog_id}/databases/{database_id}/tables/{table_id} + Table table = 1 [(google.api.field_behavior) = REQUIRED]; + + // The list of fields to update. + // + // For the `FieldMask` definition, see + // https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask + // If not set, defaults to all of the fields that are allowed to update. + google.protobuf.FieldMask update_mask = 2; +} + +// Request message for the RenameTable method in MetastoreService +message RenameTableRequest { + // Required. The table's `name` field is used to identify the table to rename. + // Format: + // projects/{project_id_or_number}/locations/{location_id}/catalogs/{catalog_id}/databases/{database_id}/tables/{table_id} + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { type: "biglake.googleapis.com/Table" } + ]; + + // Required. The new `name` for the specified table, must be in the same + // database. Format: + // projects/{project_id_or_number}/locations/{location_id}/catalogs/{catalog_id}/databases/{database_id}/tables/{table_id} + string new_name = 2 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { type: "biglake.googleapis.com/Table" } + ]; +} + +// Request message for the GetTable method. +message GetTableRequest { + // Required. The name of the table to retrieve. + // Format: + // projects/{project_id_or_number}/locations/{location_id}/catalogs/{catalog_id}/databases/{database_id}/tables/{table_id} + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { type: "biglake.googleapis.com/Table" } + ]; +} + +// Request message for the ListTables method. +message ListTablesRequest { + // Required. The parent, which owns this collection of tables. + // Format: + // projects/{project_id_or_number}/locations/{location_id}/catalogs/{catalog_id}/databases/{database_id} + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "biglake.googleapis.com/Database" + } + ]; + + // The maximum number of tables to return. The service may return fewer than + // this value. + // If unspecified, at most 50 tables will be returned. + // The maximum value is 1000; values above 1000 will be coerced to 1000. + int32 page_size = 2; + + // A page token, received from a previous `ListTables` call. + // Provide this to retrieve the subsequent page. + // + // When paginating, all other parameters provided to `ListTables` must match + // the call that provided the page token. + string page_token = 3; + + // The view for the returned tables. + TableView view = 4; +} + +// Response message for the ListTables method. +message ListTablesResponse { + // The tables from the specified database. + repeated Table tables = 1; + + // A token, which can be sent as `page_token` to retrieve the next page. + // If this field is omitted, there are no subsequent pages. + string next_page_token = 2; +} + +// Options of a Hive database. +message HiveDatabaseOptions { + // Cloud Storage folder URI where the database data is stored, starting with + // "gs://". + string location_uri = 1; + + // Stores user supplied Hive database parameters. + map parameters = 2; +} + +// Options of a Hive table. +message HiveTableOptions { + // Serializer and deserializer information. + message SerDeInfo { + // The fully qualified Java class name of the serialization library. + string serialization_lib = 1; + } + + // Stores physical storage information of the data. + message StorageDescriptor { + // Cloud Storage folder URI where the table data is stored, starting with + // "gs://". + string location_uri = 1; + + // The fully qualified Java class name of the input format. + string input_format = 2; + + // The fully qualified Java class name of the output format. + string output_format = 3; + + // Serializer and deserializer information. + SerDeInfo serde_info = 4; + } + + // Stores user supplied Hive table parameters. + map parameters = 1; + + // Hive table type. For example, MANAGED_TABLE, EXTERNAL_TABLE. + string table_type = 2; + + // Stores physical storage information of the data. + StorageDescriptor storage_descriptor = 3; +} diff --git a/third_party/googleapis/google/cloud/channel/v1/billing_accounts.proto b/third_party/googleapis/google/cloud/channel/v1/billing_accounts.proto new file mode 100644 index 000000000..7ab8ba006 --- /dev/null +++ b/third_party/googleapis/google/cloud/channel/v1/billing_accounts.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.cloud.channel.v1; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/timestamp.proto"; + +option go_package = "cloud.google.com/go/channel/apiv1/channelpb;channelpb"; +option java_multiple_files = true; +option java_outer_classname = "BillingAccountsProto"; +option java_package = "com.google.cloud.channel.v1"; + +// Represents a billing account. +message BillingAccount { + option (google.api.resource) = { + type: "cloudchannel.googleapis.com/BillingAccount" + pattern: "accounts/{account}/billingAccounts/{billing_account}" + }; + + // Output only. Resource name of the billing account. + // Format: accounts/{account_id}/billingAccounts/{billing_account_id}. + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Display name of the billing account. + string display_name = 2; + + // Output only. The time when this billing account was created. + google.protobuf.Timestamp create_time = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The 3-letter currency code defined in ISO 4217. + string currency_code = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The CLDR region code. + string region_code = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/cloud/channel/v1/entitlement_changes.proto b/third_party/googleapis/google/cloud/channel/v1/entitlement_changes.proto new file mode 100644 index 000000000..ef4f4da60 --- /dev/null +++ b/third_party/googleapis/google/cloud/channel/v1/entitlement_changes.proto @@ -0,0 +1,193 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF 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.channel.v1; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/channel/v1/entitlements.proto"; +import "google/protobuf/timestamp.proto"; + +option go_package = "cloud.google.com/go/channel/apiv1/channelpb;channelpb"; +option java_multiple_files = true; +option java_outer_classname = "EntitlementChangesProto"; +option java_package = "com.google.cloud.channel.v1"; + +// Change event entry for Entitlement order history +message EntitlementChange { + // Specifies the type of change action + enum ChangeType { + // Not used. + CHANGE_TYPE_UNSPECIFIED = 0; + + // New Entitlement was created. + CREATED = 1; + + // Price plan associated with an Entitlement was changed. + PRICE_PLAN_SWITCHED = 3; + + // Number of seats committed for a commitment Entitlement was changed. + COMMITMENT_CHANGED = 4; + + // An annual Entitlement was renewed. + RENEWED = 5; + + // Entitlement was suspended. + SUSPENDED = 6; + + // Entitlement was activated. + ACTIVATED = 7; + + // Entitlement was cancelled. + CANCELLED = 8; + + // Entitlement was upgraded or downgraded for ex. from Google Workspace + // Business Standard to Google Workspace Business Plus. + SKU_CHANGED = 9; + + // The settings for renewal of an Entitlement have changed. + RENEWAL_SETTING_CHANGED = 10; + + // Use for Google Workspace subscription. + // Either a trial was converted to a paid subscription or a new subscription + // with no trial is created. + PAID_SUBSCRIPTION_STARTED = 11; + + // License cap was changed for the entitlement. + LICENSE_CAP_CHANGED = 12; + + // The suspension details have changed (but it is still suspended). + SUSPENSION_DETAILS_CHANGED = 13; + + // The trial end date was extended. + TRIAL_END_DATE_EXTENDED = 14; + + // Entitlement started trial. + TRIAL_STARTED = 15; + } + + // Specifies the type of operator responsible for the change + enum OperatorType { + // Not used. + OPERATOR_TYPE_UNSPECIFIED = 0; + + // Customer service representative. + CUSTOMER_SERVICE_REPRESENTATIVE = 1; + + // System auto job. + SYSTEM = 2; + + // Customer user. + CUSTOMER = 3; + + // Reseller user. + RESELLER = 4; + } + + // Cancellation reason for the entitlement + enum CancellationReason { + // Not used. + CANCELLATION_REASON_UNSPECIFIED = 0; + + // Reseller triggered a cancellation of the service. + SERVICE_TERMINATED = 1; + + // Relationship between the reseller and customer has ended due to a + // transfer. + RELATIONSHIP_ENDED = 2; + + // Entitlement transferred away from reseller while still keeping other + // entitlement(s) with the reseller. + PARTIAL_TRANSFER = 3; + } + + // The Entitlement's activation reason + enum ActivationReason { + // Not used. + ACTIVATION_REASON_UNSPECIFIED = 0; + + // Reseller reactivated a suspended Entitlement. + RESELLER_REVOKED_SUSPENSION = 1; + + // Customer accepted pending terms of service. + CUSTOMER_ACCEPTED_PENDING_TOS = 2; + + // Reseller updated the renewal settings on an entitlement that was + // suspended due to cancellation, and this update reactivated the + // entitlement. + RENEWAL_SETTINGS_CHANGED = 3; + + // Other reasons (Activated temporarily for cancellation, added a payment + // plan to a trial entitlement, etc.) + OTHER_ACTIVATION_REASON = 100; + } + + // The reason the change was made + oneof change_reason { + // Suspension reason for the Entitlement. + Entitlement.SuspensionReason suspension_reason = 9; + + // Cancellation reason for the Entitlement. + CancellationReason cancellation_reason = 10; + + // The Entitlement's activation reason + ActivationReason activation_reason = 11; + + // e.g. purchase_number change reason, entered by CRS. + string other_change_reason = 100; + } + + // Required. Resource name of an entitlement in the form: + // accounts/{account_id}/customers/{customer_id}/entitlements/{entitlement_id} + string entitlement = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "cloudchannel.googleapis.com/Entitlement" + } + ]; + + // Required. Resource name of the Offer at the time of change. + // Takes the form: accounts/{account_id}/offers/{offer_id}. + string offer = 2 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "cloudchannel.googleapis.com/Offer" + } + ]; + + // Service provisioned for an Entitlement. + ProvisionedService provisioned_service = 3; + + // The change action type. + ChangeType change_type = 4; + + // The submitted time of the change. + google.protobuf.Timestamp create_time = 5; + + // Operator type responsible for the change. + OperatorType operator_type = 6; + + // Extended parameters, such as: + // purchase_order_number, gcp_details; + // internal_correlation_id, long_running_operation_id, order_id; + // etc. + repeated Parameter parameters = 8; + + // Human-readable identifier that shows what operator made a change. + // When the operator_type is RESELLER, this is the user's email address. + // For all other operator types, this is empty. + string operator = 12; +} diff --git a/third_party/googleapis/google/cloud/cloudcontrolspartner/v1beta/BUILD.bazel b/third_party/googleapis/google/cloud/cloudcontrolspartner/v1beta/BUILD.bazel new file mode 100644 index 000000000..7ed4f0fb6 --- /dev/null +++ b/third_party/googleapis/google/cloud/cloudcontrolspartner/v1beta/BUILD.bazel @@ -0,0 +1,385 @@ +# 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 = "cloudcontrolspartner_proto", + srcs = [ + "access_approval_requests.proto", + "completion_state.proto", + "core.proto", + "customer_workloads.proto", + "customers.proto", + "ekm_connections.proto", + "monitoring.proto", + "partner_permissions.proto", + "partners.proto", + "violations.proto", + ], + deps = [ + "//google/api:annotations_proto", + "//google/api:client_proto", + "//google/api:field_behavior_proto", + "//google/api:resource_proto", + "//google/type:interval_proto", + "@com_google_protobuf//:timestamp_proto", + ], +) + +proto_library_with_info( + name = "cloudcontrolspartner_proto_with_info", + deps = [ + ":cloudcontrolspartner_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 = "cloudcontrolspartner_java_proto", + deps = [":cloudcontrolspartner_proto"], +) + +java_grpc_library( + name = "cloudcontrolspartner_java_grpc", + srcs = [":cloudcontrolspartner_proto"], + deps = [":cloudcontrolspartner_java_proto"], +) + +java_gapic_library( + name = "cloudcontrolspartner_java_gapic", + srcs = [":cloudcontrolspartner_proto_with_info"], + gapic_yaml = None, + grpc_service_config = "cloudcontrolspartner_v1beta_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "cloudcontrolspartner_v1beta.yaml", + test_deps = [ + ":cloudcontrolspartner_java_grpc", + ], + transport = "grpc+rest", + deps = [ + ":cloudcontrolspartner_java_proto", + "//google/api:api_java_proto", + ], +) + +java_gapic_test( + name = "cloudcontrolspartner_java_gapic_test_suite", + test_classes = [ + "com.google.cloud.cloudcontrolspartner.v1beta.CloudControlsPartnerCoreClientHttpJsonTest", + "com.google.cloud.cloudcontrolspartner.v1beta.CloudControlsPartnerCoreClientTest", + "com.google.cloud.cloudcontrolspartner.v1beta.CloudControlsPartnerMonitoringClientHttpJsonTest", + "com.google.cloud.cloudcontrolspartner.v1beta.CloudControlsPartnerMonitoringClientTest", + ], + runtime_deps = [":cloudcontrolspartner_java_gapic_test"], +) + +# Open Source Packages +java_gapic_assembly_gradle_pkg( + name = "google-cloud-cloudcontrolspartner-v1beta-java", + transport = "grpc+rest", + deps = [ + ":cloudcontrolspartner_java_gapic", + ":cloudcontrolspartner_java_grpc", + ":cloudcontrolspartner_java_proto", + ":cloudcontrolspartner_proto", + ], + include_samples = True, +) + +############################################################################## +# Go +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "go_gapic_assembly_pkg", + "go_gapic_library", + "go_proto_library", +) + +go_proto_library( + name = "cloudcontrolspartner_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "cloud.google.com/go/cloudcontrolspartner/apiv1beta/cloudcontrolspartnerpb", + protos = [":cloudcontrolspartner_proto"], + deps = [ + "//google/api:annotations_go_proto", + "//google/type:interval_go_proto", + ], +) + +go_gapic_library( + name = "cloudcontrolspartner_go_gapic", + srcs = [":cloudcontrolspartner_proto_with_info"], + grpc_service_config = "cloudcontrolspartner_v1beta_grpc_service_config.json", + importpath = "cloud.google.com/go/cloudcontrolspartner/apiv1beta;cloudcontrolspartner", + metadata = True, + release_level = "beta", + rest_numeric_enums = True, + service_yaml = "cloudcontrolspartner_v1beta.yaml", + transport = "grpc+rest", + deps = [ + ":cloudcontrolspartner_go_proto", + ], +) + +# Open Source Packages +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_proto", + ], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "py_gapic_assembly_pkg", + "py_gapic_library", + "py_test", +) + +py_gapic_library( + name = "cloudcontrolspartner_py_gapic", + srcs = [":cloudcontrolspartner_proto"], + grpc_service_config = "cloudcontrolspartner_v1beta_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "cloudcontrolspartner_v1beta.yaml", + transport = "grpc+rest", + deps = [ + ], +) + +py_test( + name = "cloudcontrolspartner_py_gapic_test", + srcs = [ + "cloudcontrolspartner_py_gapic_pytest.py", + "cloudcontrolspartner_py_gapic_test.py", + ], + legacy_create_init = False, + deps = [":cloudcontrolspartner_py_gapic"], +) + +# Open Source Packages +py_gapic_assembly_pkg( + name = "cloudcontrolspartner-v1beta-py", + deps = [ + ":cloudcontrolspartner_py_gapic", + ], +) + +############################################################################## +# PHP +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "php_gapic_assembly_pkg", + "php_gapic_library", + "php_proto_library", +) + +php_proto_library( + name = "cloudcontrolspartner_php_proto", + deps = [":cloudcontrolspartner_proto"], +) + +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", + service_yaml = "cloudcontrolspartner_v1beta.yaml", + transport = "grpc+rest", + deps = [ + ":cloudcontrolspartner_php_proto", + ], +) + +# Open Source Packages +php_gapic_assembly_pkg( + name = "google-cloud-cloudcontrolspartner-v1beta-php", + deps = [ + ":cloudcontrolspartner_php_gapic", + ":cloudcontrolspartner_php_proto", + ], +) + +############################################################################## +# Node.js +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "nodejs_gapic_assembly_pkg", + "nodejs_gapic_library", +) + +nodejs_gapic_library( + name = "cloudcontrolspartner_nodejs_gapic", + package_name = "@google-cloud/cloudcontrolspartner", + src = ":cloudcontrolspartner_proto_with_info", + extra_protoc_parameters = ["metadata"], + grpc_service_config = "cloudcontrolspartner_v1beta_grpc_service_config.json", + package = "google.cloud.cloudcontrolspartner.v1beta", + rest_numeric_enums = True, + service_yaml = "cloudcontrolspartner_v1beta.yaml", + transport = "grpc+rest", + deps = [], +) + +nodejs_gapic_assembly_pkg( + name = "cloudcontrolspartner-v1beta-nodejs", + deps = [ + ":cloudcontrolspartner_nodejs_gapic", + ":cloudcontrolspartner_proto", + ], +) + +############################################################################## +# Ruby +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "ruby_gapic_assembly_pkg", + "ruby_cloud_gapic_library", + "ruby_grpc_library", + "ruby_proto_library", +) + +ruby_proto_library( + name = "cloudcontrolspartner_ruby_proto", + deps = [":cloudcontrolspartner_proto"], +) + +ruby_grpc_library( + name = "cloudcontrolspartner_ruby_grpc", + srcs = [":cloudcontrolspartner_proto"], + deps = [":cloudcontrolspartner_ruby_proto"], +) + +ruby_cloud_gapic_library( + name = "cloudcontrolspartner_ruby_gapic", + srcs = [":cloudcontrolspartner_proto_with_info"], + extra_protoc_parameters = [ + "ruby-cloud-gem-name=google-cloud-cloudcontrolspartner-v1beta", + ], + grpc_service_config = "cloudcontrolspartner_v1beta_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "cloudcontrolspartner_v1beta.yaml", + transport = "grpc+rest", + deps = [ + ":cloudcontrolspartner_ruby_grpc", + ":cloudcontrolspartner_ruby_proto", + ], +) + +# Open Source Packages +ruby_gapic_assembly_pkg( + name = "google-cloud-cloudcontrolspartner-v1beta-ruby", + deps = [ + ":cloudcontrolspartner_ruby_gapic", + ":cloudcontrolspartner_ruby_grpc", + ":cloudcontrolspartner_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 = "cloudcontrolspartner_csharp_proto", + extra_opts = [], + deps = [":cloudcontrolspartner_proto"], +) + +csharp_grpc_library( + name = "cloudcontrolspartner_csharp_grpc", + srcs = [":cloudcontrolspartner_proto"], + deps = [":cloudcontrolspartner_csharp_proto"], +) + +csharp_gapic_library( + name = "cloudcontrolspartner_csharp_gapic", + srcs = [":cloudcontrolspartner_proto_with_info"], + common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json", + grpc_service_config = "cloudcontrolspartner_v1beta_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "cloudcontrolspartner_v1beta.yaml", + transport = "grpc+rest", + deps = [ + ":cloudcontrolspartner_csharp_grpc", + ":cloudcontrolspartner_csharp_proto", + ], +) + +# Open Source Packages +csharp_gapic_assembly_pkg( + name = "google-cloud-cloudcontrolspartner-v1beta-csharp", + deps = [ + ":cloudcontrolspartner_csharp_gapic", + ":cloudcontrolspartner_csharp_grpc", + ":cloudcontrolspartner_csharp_proto", + ], +) + +############################################################################## +# C++ +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "cc_grpc_library", + "cc_proto_library", +) + +cc_proto_library( + name = "cloudcontrolspartner_cc_proto", + deps = [":cloudcontrolspartner_proto"], +) + +cc_grpc_library( + name = "cloudcontrolspartner_cc_grpc", + srcs = [":cloudcontrolspartner_proto"], + grpc_only = True, + deps = [":cloudcontrolspartner_cc_proto"], +) diff --git a/third_party/googleapis/google/cloud/cloudcontrolspartner/v1beta/access_approval_requests.proto b/third_party/googleapis/google/cloud/cloudcontrolspartner/v1beta/access_approval_requests.proto new file mode 100644 index 000000000..1a7d9ccf3 --- /dev/null +++ b/third_party/googleapis/google/cloud/cloudcontrolspartner/v1beta/access_approval_requests.proto @@ -0,0 +1,146 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF 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.cloudcontrolspartner.v1beta; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.CloudControlsPartner.V1Beta"; +option go_package = "cloud.google.com/go/cloudcontrolspartner/apiv1beta/cloudcontrolspartnerpb;cloudcontrolspartnerpb"; +option java_multiple_files = true; +option java_outer_classname = "AccessApprovalRequestsProto"; +option java_package = "com.google.cloud.cloudcontrolspartner.v1beta"; +option php_namespace = "Google\\Cloud\\CloudControlsPartner\\V1beta"; +option ruby_package = "Google::Cloud::CloudControlsPartner::V1beta"; + +// Details about the Access request. +message AccessApprovalRequest { + option (google.api.resource) = { + type: "cloudcontrolspartner.googleapis.com/AccessApprovalRequest" + pattern: "organizations/{organization}/locations/{location}/customers/{customer}/workloads/{workload}/accessApprovalRequests/{access_approval_request}" + plural: "accessApprovalRequests" + singular: "accessApprovalRequest" + }; + + // Identifier. Format: + // organizations/{organization}/locations/{location}/customers/{customer}/workloads/{workload}/accessApprovalRequests/{access_approval_request}. + string name = 1 [(google.api.field_behavior) = IDENTIFIER]; + + // The time at which approval was requested. + google.protobuf.Timestamp request_time = 2; + + // The justification for which approval is being requested. + AccessReason requested_reason = 3; + + // The requested expiration for the approval. If the request is approved, + // access will be granted from the time of approval until the expiration time. + google.protobuf.Timestamp requested_expiration_time = 4; +} + +// Request for getting the access requests associated with a workload. +message ListAccessApprovalRequestsRequest { + // Required. Parent resource + // Format: + // organizations/{organization}/locations/{location}/customers/{customer}/workloads/{workload} + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "cloudcontrolspartner.googleapis.com/AccessApprovalRequest" + } + ]; + + // Optional. The maximum number of access requests to return. The service may + // return fewer than this value. If unspecified, at most 500 access requests + // will be returned. + int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A page token, received from a previous + // `ListAccessApprovalRequests` call. Provide this to retrieve the subsequent + // page. + string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Filtering results. + string filter = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Hint for how to order the results. + string order_by = 5 [(google.api.field_behavior) = OPTIONAL]; +} + +// Response message for list access requests. +message ListAccessApprovalRequestsResponse { + // List of access approval requests + repeated AccessApprovalRequest access_approval_requests = 1; + + // A token that can be sent as `page_token` to retrieve the next page. + // If this field is omitted, there are no subsequent pages. + string next_page_token = 2; + + // Locations that could not be reached. + repeated string unreachable = 3; +} + +// Reason for the access. +message AccessReason { + // Type of access justification. + enum Type { + // Default value for proto, shouldn't be used. + TYPE_UNSPECIFIED = 0; + + // Customer made a request or raised an issue that required the principal to + // access customer data. `detail` is of the form ("#####" is the issue ID): + // + // - "Feedback Report: #####" + // - "Case Number: #####" + // - "Case ID: #####" + // - "E-PIN Reference: #####" + // - "Google-#####" + // - "T-#####" + CUSTOMER_INITIATED_SUPPORT = 1; + + // The principal accessed customer data in order to diagnose or resolve a + // suspected issue in services. Often this access is used to confirm that + // customers are not affected by a suspected service issue or to remediate a + // reversible system issue. + GOOGLE_INITIATED_SERVICE = 2; + + // Google initiated service for security, fraud, abuse, or compliance + // purposes. + GOOGLE_INITIATED_REVIEW = 3; + + // The principal was compelled to access customer data in order to respond + // to a legal third party data request or process, including legal processes + // from customers themselves. + THIRD_PARTY_DATA_REQUEST = 4; + + // The principal accessed customer data in order to diagnose or resolve a + // suspected issue in services or a known outage. + GOOGLE_RESPONSE_TO_PRODUCTION_ALERT = 5; + + // Similar to 'GOOGLE_INITIATED_SERVICE' or 'GOOGLE_INITIATED_REVIEW', but + // with universe agnostic naming. The principal accessed customer data in + // order to diagnose or resolve a suspected issue in services or a known + // outage, or for security, fraud, abuse, or compliance review purposes. + CLOUD_INITIATED_ACCESS = 6; + } + + // Type of access justification. + Type type = 1; + + // More detail about certain reason types. See comments for each type above. + string detail = 2; +} diff --git a/third_party/googleapis/google/cloud/cloudcontrolspartner/v1beta/cloudcontrolspartner_v1beta.yaml b/third_party/googleapis/google/cloud/cloudcontrolspartner/v1beta/cloudcontrolspartner_v1beta.yaml new file mode 100644 index 000000000..e16532205 --- /dev/null +++ b/third_party/googleapis/google/cloud/cloudcontrolspartner/v1beta/cloudcontrolspartner_v1beta.yaml @@ -0,0 +1,39 @@ +type: google.api.Service +config_version: 3 +name: cloudcontrolspartner.googleapis.com +title: Cloud Controls Partner API + +apis: +- name: google.cloud.cloudcontrolspartner.v1beta.CloudControlsPartnerCore +- name: google.cloud.cloudcontrolspartner.v1beta.CloudControlsPartnerMonitoring + +types: +- name: google.cloud.cloudcontrolspartner.v1beta.OperationMetadata + +documentation: + summary: |- + Provides insights about your customers and their Assured Workloads based on + your Sovereign Controls by Partners offering. + +authentication: + rules: + - selector: 'google.cloud.cloudcontrolspartner.v1beta.CloudControlsPartnerCore.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + - selector: google.cloud.cloudcontrolspartner.v1beta.CloudControlsPartnerMonitoring.GetViolation + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + - selector: google.cloud.cloudcontrolspartner.v1beta.CloudControlsPartnerMonitoring.ListViolations + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + +publishing: + new_issue_uri: https://issuetracker.google.com/issues/new?component=1504051 + documentation_uri: https://cloud.google.com/cloud-controls-partner/docs + api_short_name: cloudcontrolspartner + github_label: 'api: cloudcontrolspartner' + doc_tag_prefix: cloudcontrolspartner + organization: CLOUD diff --git a/third_party/googleapis/google/cloud/cloudcontrolspartner/v1beta/cloudcontrolspartner_v1beta_grpc_service_config.json b/third_party/googleapis/google/cloud/cloudcontrolspartner/v1beta/cloudcontrolspartner_v1beta_grpc_service_config.json new file mode 100644 index 000000000..30ebddec1 --- /dev/null +++ b/third_party/googleapis/google/cloud/cloudcontrolspartner/v1beta/cloudcontrolspartner_v1beta_grpc_service_config.json @@ -0,0 +1,23 @@ +{ + "methodConfig": [{ + "name": [ + { "service": "google.cloud.cloudcontrolspartner.v1beta.CloudControlsPartnerCore", "method": "GetCustomer" }, + { "service": "google.cloud.cloudcontrolspartner.v1beta.CloudControlsPartnerCore", "method": "GetEkmConnections" }, + { "service": "google.cloud.cloudcontrolspartner.v1beta.CloudControlsPartnerCore", "method": "GetPartnerPermissions" }, + { "service": "google.cloud.cloudcontrolspartner.v1beta.CloudControlsPartnerCore", "method": "GetWorkload" }, + { "service": "google.cloud.cloudcontrolspartner.v1beta.CloudControlsPartnerCore", "method": "ListAccessApprovalRequests" }, + { "service": "google.cloud.cloudcontrolspartner.v1beta.CloudControlsPartnerCore", "method": "ListCustomers" }, + { "service": "google.cloud.cloudcontrolspartner.v1beta.CloudControlsPartnerCore", "method": "ListWorkloads" }, + { "service": "google.cloud.cloudcontrolspartner.v1beta.CloudControlsPartnerMonitoring", "method": "GetViolation" }, + { "service": "google.cloud.cloudcontrolspartner.v1beta.CloudControlsPartnerMonitoring", "method": "ListViolations" } + ], + "timeout": "60s", + "retryPolicy": { + "maxAttempts": 5, + "initialBackoff": "1s", + "maxBackoff": "10s", + "backoffMultiplier": 1.3, + "retryableStatusCodes": ["UNAVAILABLE"] + } + }] +} \ No newline at end of file diff --git a/third_party/googleapis/google/cloud/cloudcontrolspartner/v1beta/completion_state.proto b/third_party/googleapis/google/cloud/cloudcontrolspartner/v1beta/completion_state.proto new file mode 100644 index 000000000..8c3782f61 --- /dev/null +++ b/third_party/googleapis/google/cloud/cloudcontrolspartner/v1beta/completion_state.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.cloud.cloudcontrolspartner.v1beta; + +option csharp_namespace = "Google.Cloud.CloudControlsPartner.V1Beta"; +option go_package = "cloud.google.com/go/cloudcontrolspartner/apiv1beta/cloudcontrolspartnerpb;cloudcontrolspartnerpb"; +option java_multiple_files = true; +option java_outer_classname = "CompletionStateProto"; +option java_package = "com.google.cloud.cloudcontrolspartner.v1beta"; +option php_namespace = "Google\\Cloud\\CloudControlsPartner\\V1beta"; +option ruby_package = "Google::Cloud::CloudControlsPartner::V1beta"; + +// Enum for possible completion states. +enum CompletionState { + // Unspecified completion state. + COMPLETION_STATE_UNSPECIFIED = 0; + + // Task started (has start date) but not yet completed. + PENDING = 1; + + // Succeeded state. + SUCCEEDED = 2; + + // Failed state. + FAILED = 3; + + // Not applicable state. + NOT_APPLICABLE = 4; +} diff --git a/third_party/googleapis/google/cloud/cloudcontrolspartner/v1beta/core.proto b/third_party/googleapis/google/cloud/cloudcontrolspartner/v1beta/core.proto new file mode 100644 index 000000000..d81c670ce --- /dev/null +++ b/third_party/googleapis/google/cloud/cloudcontrolspartner/v1beta/core.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.cloud.cloudcontrolspartner.v1beta; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/cloudcontrolspartner/v1beta/access_approval_requests.proto"; +import "google/cloud/cloudcontrolspartner/v1beta/customer_workloads.proto"; +import "google/cloud/cloudcontrolspartner/v1beta/customers.proto"; +import "google/cloud/cloudcontrolspartner/v1beta/ekm_connections.proto"; +import "google/cloud/cloudcontrolspartner/v1beta/partner_permissions.proto"; +import "google/cloud/cloudcontrolspartner/v1beta/partners.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.CloudControlsPartner.V1Beta"; +option go_package = "cloud.google.com/go/cloudcontrolspartner/apiv1beta/cloudcontrolspartnerpb;cloudcontrolspartnerpb"; +option java_multiple_files = true; +option java_outer_classname = "CoreProto"; +option java_package = "com.google.cloud.cloudcontrolspartner.v1beta"; +option php_namespace = "Google\\Cloud\\CloudControlsPartner\\V1beta"; +option ruby_package = "Google::Cloud::CloudControlsPartner::V1beta"; +option (google.api.resource_definition) = { + type: "cloudcontrolspartner.googleapis.com/OrganizationLocation" + pattern: "organizations/{organization}/locations/{location}" +}; + +// Service describing handlers for resources +service CloudControlsPartnerCore { + option (google.api.default_host) = "cloudcontrolspartner.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform"; + + // Gets details of a single workload + rpc GetWorkload(GetWorkloadRequest) returns (Workload) { + option (google.api.http) = { + get: "/v1beta/{name=organizations/*/locations/*/customers/*/workloads/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Lists customer workloads for a given customer org id + rpc ListWorkloads(ListWorkloadsRequest) returns (ListWorkloadsResponse) { + option (google.api.http) = { + get: "/v1beta/{parent=organizations/*/locations/*/customers/*}/workloads" + }; + option (google.api.method_signature) = "parent"; + } + + // Gets details of a single customer + rpc GetCustomer(GetCustomerRequest) returns (Customer) { + option (google.api.http) = { + get: "/v1beta/{name=organizations/*/locations/*/customers/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Lists customers of a partner identified by its GCP organization id + rpc ListCustomers(ListCustomersRequest) returns (ListCustomersResponse) { + option (google.api.http) = { + get: "/v1beta/{parent=organizations/*/locations/*}/customers" + }; + option (google.api.method_signature) = "parent"; + } + + // Gets the EKM connections associated with a workload + rpc GetEkmConnections(GetEkmConnectionsRequest) returns (EkmConnections) { + option (google.api.http) = { + get: "/v1beta/{name=organizations/*/locations/*/customers/*/workloads/*/ekmConnections}" + }; + option (google.api.method_signature) = "name"; + } + + // Gets the partner permissions granted for a workload + rpc GetPartnerPermissions(GetPartnerPermissionsRequest) + returns (PartnerPermissions) { + option (google.api.http) = { + get: "/v1beta/{name=organizations/*/locations/*/customers/*/workloads/*/partnerPermissions}" + }; + option (google.api.method_signature) = "name"; + } + + // Lists access requests associated with a workload + rpc ListAccessApprovalRequests(ListAccessApprovalRequestsRequest) + returns (ListAccessApprovalRequestsResponse) { + option (google.api.http) = { + get: "/v1beta/{parent=organizations/*/locations/*/customers/*/workloads/*}/accessApprovalRequests" + }; + option (google.api.method_signature) = "parent"; + } + + // Get details of a Partner. + rpc GetPartner(GetPartnerRequest) returns (Partner) { + option (google.api.http) = { + get: "/v1beta/{name=organizations/*/locations/*/partner}" + }; + option (google.api.method_signature) = "name"; + } +} + +// 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_message = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Identifies whether the user has requested cancellation + // of the operation. Operations that have been cancelled successfully + // have [Operation.error][] value with a + // [google.rpc.Status.code][google.rpc.Status.code] of 1, corresponding to + // `Code.CANCELLED`. + bool requested_cancellation = 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/cloudcontrolspartner/v1beta/customer_workloads.proto b/third_party/googleapis/google/cloud/cloudcontrolspartner/v1beta/customer_workloads.proto new file mode 100644 index 000000000..ba74f64af --- /dev/null +++ b/third_party/googleapis/google/cloud/cloudcontrolspartner/v1beta/customer_workloads.proto @@ -0,0 +1,182 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF 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.cloudcontrolspartner.v1beta; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/cloudcontrolspartner/v1beta/completion_state.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.CloudControlsPartner.V1Beta"; +option go_package = "cloud.google.com/go/cloudcontrolspartner/apiv1beta/cloudcontrolspartnerpb;cloudcontrolspartnerpb"; +option java_multiple_files = true; +option java_outer_classname = "CustomerWorkloadsProto"; +option java_package = "com.google.cloud.cloudcontrolspartner.v1beta"; +option php_namespace = "Google\\Cloud\\CloudControlsPartner\\V1beta"; +option ruby_package = "Google::Cloud::CloudControlsPartner::V1beta"; + +// Contains metadata around the [Workload +// resource](https://cloud.google.com/assured-workloads/docs/reference/rest/Shared.Types/Workload) +// in the Assured Workloads API. +message Workload { + option (google.api.resource) = { + type: "cloudcontrolspartner.googleapis.com/Workload" + pattern: "organizations/{organization}/locations/{location}/customers/{customer}/workloads/{workload}" + plural: "workloads" + singular: "workload" + }; + + // Supported Assured Workloads Partners. + enum Partner { + // Unknown Partner. + PARTNER_UNSPECIFIED = 0; + + // Enum representing S3NS (Thales) partner. + PARTNER_LOCAL_CONTROLS_BY_S3NS = 1; + + // Enum representing T_SYSTEM (TSI) partner. + PARTNER_SOVEREIGN_CONTROLS_BY_T_SYSTEMS = 2; + + // Enum representing SIA_MINSAIT (Indra) partner. + PARTNER_SOVEREIGN_CONTROLS_BY_SIA_MINSAIT = 3; + + // Enum representing PSN (TIM) partner. + PARTNER_SOVEREIGN_CONTROLS_BY_PSN = 4; + + // Enum representing CNTXT (Kingdom of Saudi Arabia) partner. + PARTNER_SOVEREIGN_CONTROLS_BY_CNTXT = 6; + + // Enum representing CNXT (Kingdom of Saudi Arabia) partner offering without + // EKM provisioning. + PARTNER_SOVEREIGN_CONTROLS_BY_CNTXT_NO_EKM = 7; + } + + // Identifier. Format: + // organizations/{organization}/locations/{location}/customers/{customer}/workloads/{workload} + string name = 1 [(google.api.field_behavior) = IDENTIFIER]; + + // Output only. Folder id this workload is associated with + int64 folder_id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Time the resource was created. + google.protobuf.Timestamp create_time = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The name of container folder of the assured workload + string folder = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Container for workload onboarding steps. + WorkloadOnboardingState workload_onboarding_state = 5; + + // Indicates whether a workload is fully onboarded. + bool is_onboarded = 6; + + // The project id of the key management project for the workload + string key_management_project_id = 7; + + // The gcp location of the workload + string location = 8; + + // Partner associated with this workload. + Partner partner = 9; +} + +// Request to list customer workloads. +message ListWorkloadsRequest { + // Required. Parent resource + // Format: + // organizations/{organization}/locations/{location}/customers/{customer} + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "cloudcontrolspartner.googleapis.com/Workload" + } + ]; + + // The maximum number of workloads to return. The service may return fewer + // than this value. If unspecified, at most 500 workloads will be returned. + int32 page_size = 2; + + // A page token, received from a previous `ListWorkloads` call. + // Provide this to retrieve the subsequent page. + string page_token = 3; + + // Optional. Filtering results. + string filter = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Hint for how to order the results. + string order_by = 5 [(google.api.field_behavior) = OPTIONAL]; +} + +// Response message for list customer workloads requests. +message ListWorkloadsResponse { + // List of customer workloads + repeated Workload workloads = 1; + + // A token that can be sent as `page_token` to retrieve the next page. + // If this field is omitted, there are no subsequent pages. + string next_page_token = 2; + + // Locations that could not be reached. + repeated string unreachable = 3; +} + +// Message for getting a customer workload. +message GetWorkloadRequest { + // Required. Format: + // organizations/{organization}/locations/{location}/customers/{customer}/workloads/{workload} + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "cloudcontrolspartner.googleapis.com/Workload" + } + ]; +} + +// Container for workload onboarding steps. +message WorkloadOnboardingState { + // List of workload onboarding steps. + repeated WorkloadOnboardingStep onboarding_steps = 1; +} + +// Container for workload onboarding information. +message WorkloadOnboardingStep { + // Enum for possible onboarding steps. + enum Step { + // Unspecified step. + STEP_UNSPECIFIED = 0; + + // EKM Provisioned step. + EKM_PROVISIONED = 1; + + // Signed Access Approval step. + SIGNED_ACCESS_APPROVAL_CONFIGURED = 2; + } + + // The onboarding step. + Step step = 1; + + // The starting time of the onboarding step. + google.protobuf.Timestamp start_time = 2; + + // The completion time of the onboarding step. + google.protobuf.Timestamp completion_time = 3; + + // Output only. The completion state of the onboarding step. + CompletionState completion_state = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/cloud/cloudcontrolspartner/v1beta/customers.proto b/third_party/googleapis/google/cloud/cloudcontrolspartner/v1beta/customers.proto new file mode 100644 index 000000000..2d1127504 --- /dev/null +++ b/third_party/googleapis/google/cloud/cloudcontrolspartner/v1beta/customers.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.cloud.cloudcontrolspartner.v1beta; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/cloudcontrolspartner/v1beta/completion_state.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.CloudControlsPartner.V1Beta"; +option go_package = "cloud.google.com/go/cloudcontrolspartner/apiv1beta/cloudcontrolspartnerpb;cloudcontrolspartnerpb"; +option java_multiple_files = true; +option java_outer_classname = "CustomersProto"; +option java_package = "com.google.cloud.cloudcontrolspartner.v1beta"; +option php_namespace = "Google\\Cloud\\CloudControlsPartner\\V1beta"; +option ruby_package = "Google::Cloud::CloudControlsPartner::V1beta"; + +// Contains metadata around a Cloud Controls Partner Customer +message Customer { + option (google.api.resource) = { + type: "cloudcontrolspartner.googleapis.com/Customer" + pattern: "organizations/{organization}/locations/{location}/customers/{customer}" + plural: "customers" + singular: "customer" + }; + + // Identifier. Format: + // organizations/{organization}/locations/{location}/customers/{customer} + string name = 1 [(google.api.field_behavior) = IDENTIFIER]; + + // The customer organization's display name. E.g. "google.com". + string display_name = 2; + + // Container for customer onboarding steps + CustomerOnboardingState customer_onboarding_state = 3; + + // Indicates whether a customer is fully onboarded + bool is_onboarded = 4; +} + +// Request to list customers +message ListCustomersRequest { + // Required. Parent resource + // Format: organizations/{organization}/locations/{location} + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "cloudcontrolspartner.googleapis.com/Customer" + } + ]; + + // The maximum number of Customers to return. The service may return fewer + // than this value. If unspecified, at most 500 Customers will be returned. + int32 page_size = 2; + + // A page token, received from a previous `ListCustomers` call. + // Provide this to retrieve the subsequent page. + string page_token = 3; + + // Optional. Filtering results + string filter = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Hint for how to order the results + string order_by = 5 [(google.api.field_behavior) = OPTIONAL]; +} + +// Response message for list customer Customers requests +message ListCustomersResponse { + // List of customers + repeated Customer customers = 1; + + // A token that can be sent as `page_token` to retrieve the next page. + // If this field is omitted, there are no subsequent pages. + string next_page_token = 2; + + // Locations that could not be reached. + repeated string unreachable = 3; +} + +// Message for getting a customer +message GetCustomerRequest { + // Required. Format: + // organizations/{organization}/locations/{location}/customers/{customer} + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "cloudcontrolspartner.googleapis.com/Customer" + } + ]; +} + +// Container for customer onboarding steps +message CustomerOnboardingState { + // List of customer onboarding steps + repeated CustomerOnboardingStep onboarding_steps = 1; +} + +// Container for customer onboarding information +message CustomerOnboardingStep { + // Enum for possible onboarding steps + enum Step { + // Unspecified step + STEP_UNSPECIFIED = 0; + + // KAJ Enrollment + KAJ_ENROLLMENT = 1; + + // Customer Environment + CUSTOMER_ENVIRONMENT = 2; + } + + // The onboarding step + Step step = 1; + + // The starting time of the onboarding step + google.protobuf.Timestamp start_time = 2; + + // The completion time of the onboarding step + google.protobuf.Timestamp completion_time = 3; + + // Output only. Current state of the step + CompletionState completion_state = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/cloud/cloudcontrolspartner/v1beta/ekm_connections.proto b/third_party/googleapis/google/cloud/cloudcontrolspartner/v1beta/ekm_connections.proto new file mode 100644 index 000000000..efefa4844 --- /dev/null +++ b/third_party/googleapis/google/cloud/cloudcontrolspartner/v1beta/ekm_connections.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.cloud.cloudcontrolspartner.v1beta; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Cloud.CloudControlsPartner.V1Beta"; +option go_package = "cloud.google.com/go/cloudcontrolspartner/apiv1beta/cloudcontrolspartnerpb;cloudcontrolspartnerpb"; +option java_multiple_files = true; +option java_outer_classname = "EkmConnectionsProto"; +option java_package = "com.google.cloud.cloudcontrolspartner.v1beta"; +option php_namespace = "Google\\Cloud\\CloudControlsPartner\\V1beta"; +option ruby_package = "Google::Cloud::CloudControlsPartner::V1beta"; + +// The EKM connections associated with a workload +message EkmConnections { + option (google.api.resource) = { + type: "cloudcontrolspartner.googleapis.com/EkmConnections" + pattern: "organizations/{organization}/locations/{location}/customers/{customer}/workloads/{workload}/ekmConnections" + }; + + // Identifier. Format: + // organizations/{organization}/locations/{location}/customers/{customer}/workloads/{workload}/ekmConnections + string name = 1 [(google.api.field_behavior) = IDENTIFIER]; + + // The EKM connections associated with the workload + repeated EkmConnection ekm_connections = 2; +} + +// Request for getting the EKM connections associated with a workload +message GetEkmConnectionsRequest { + // Required. Format: + // organizations/{organization}/locations/{location}/customers/{customer}/workloads/{workload}/ekmConnections + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "cloudcontrolspartner.googleapis.com/EkmConnections" + } + ]; +} + +// Details about the EKM connection +message EkmConnection { + // Information around the error that occurred if the connection state is + // anything other than available or unspecified + message ConnectionError { + // The error domain for the error + string error_domain = 1; + + // The error message for the error + string error_message = 2; + } + + // The EKM connection state. + enum ConnectionState { + // Unspecified EKM connection state + CONNECTION_STATE_UNSPECIFIED = 0; + + // Available EKM connection state + AVAILABLE = 1; + + // Not available EKM connection state + NOT_AVAILABLE = 2; + + // Error EKM connection state + ERROR = 3; + + // Permission denied EKM connection state + PERMISSION_DENIED = 4; + } + + // Resource name of the EKM connection in the format: + // projects/{project}/locations/{location}/ekmConnections/{ekm_connection} + string connection_name = 1; + + // Output only. The connection state + ConnectionState connection_state = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The connection error that occurred if any + ConnectionError connection_error = 3; +} diff --git a/third_party/googleapis/google/cloud/cloudcontrolspartner/v1beta/monitoring.proto b/third_party/googleapis/google/cloud/cloudcontrolspartner/v1beta/monitoring.proto new file mode 100644 index 000000000..1e433f62a --- /dev/null +++ b/third_party/googleapis/google/cloud/cloudcontrolspartner/v1beta/monitoring.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.cloud.cloudcontrolspartner.v1beta; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/cloud/cloudcontrolspartner/v1beta/violations.proto"; + +option csharp_namespace = "Google.Cloud.CloudControlsPartner.V1Beta"; +option go_package = "cloud.google.com/go/cloudcontrolspartner/apiv1beta/cloudcontrolspartnerpb;cloudcontrolspartnerpb"; +option java_multiple_files = true; +option java_outer_classname = "MonitoringProto"; +option java_package = "com.google.cloud.cloudcontrolspartner.v1beta"; +option php_namespace = "Google\\Cloud\\CloudControlsPartner\\V1beta"; +option ruby_package = "Google::Cloud::CloudControlsPartner::V1beta"; + +// Service describing handlers for resources +service CloudControlsPartnerMonitoring { + option (google.api.default_host) = "cloudcontrolspartner.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform"; + + // Lists Violations for a workload + // Callers may also choose to read across multiple Customers or for a single + // customer as per + // [AIP-159](https://google.aip.dev/159) by using '-' (the hyphen or dash + // character) as a wildcard character instead of {customer} & {workload}. + // Format: + // `organizations/{organization}/locations/{location}/customers/{customer}/workloads/{workload}` + rpc ListViolations(ListViolationsRequest) returns (ListViolationsResponse) { + option (google.api.http) = { + get: "/v1beta/{parent=organizations/*/locations/*/customers/*/workloads/*}/violations" + }; + option (google.api.method_signature) = "parent"; + } + + // Gets details of a single Violation. + rpc GetViolation(GetViolationRequest) returns (Violation) { + option (google.api.http) = { + get: "/v1beta/{name=organizations/*/locations/*/customers/*/workloads/*/violations/*}" + }; + option (google.api.method_signature) = "name"; + } +} diff --git a/third_party/googleapis/google/cloud/cloudcontrolspartner/v1beta/partner_permissions.proto b/third_party/googleapis/google/cloud/cloudcontrolspartner/v1beta/partner_permissions.proto new file mode 100644 index 000000000..6011b0221 --- /dev/null +++ b/third_party/googleapis/google/cloud/cloudcontrolspartner/v1beta/partner_permissions.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.cloud.cloudcontrolspartner.v1beta; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Cloud.CloudControlsPartner.V1Beta"; +option go_package = "cloud.google.com/go/cloudcontrolspartner/apiv1beta/cloudcontrolspartnerpb;cloudcontrolspartnerpb"; +option java_multiple_files = true; +option java_outer_classname = "PartnerPermissionsProto"; +option java_package = "com.google.cloud.cloudcontrolspartner.v1beta"; +option php_namespace = "Google\\Cloud\\CloudControlsPartner\\V1beta"; +option ruby_package = "Google::Cloud::CloudControlsPartner::V1beta"; + +// The permissions granted to the partner for a workload +message PartnerPermissions { + option (google.api.resource) = { + type: "cloudcontrolspartner.googleapis.com/PartnerPermissions" + pattern: "organizations/{organization}/locations/{location}/customers/{customer}/workloads/{workload}/partnerPermissions" + }; + + enum Permission { + // Unspecified partner permission + PERMISSION_UNSPECIFIED = 0; + + // Permission for Access Transparency and emergency logs + ACCESS_TRANSPARENCY_AND_EMERGENCY_ACCESS_LOGS = 1; + + // Permission for Assured Workloads monitoring violations + ASSURED_WORKLOADS_MONITORING = 2; + + // Permission for Access Approval requests + ACCESS_APPROVAL_REQUESTS = 3; + + // Permission for External Key Manager connection status + ASSURED_WORKLOADS_EKM_CONNECTION_STATUS = 4; + } + + // Identifier. Format: + // organizations/{organization}/locations/{location}/customers/{customer}/workloads/{workload}/partnerPermissions + string name = 1 [(google.api.field_behavior) = IDENTIFIER]; + + // The partner permissions granted for the workload + repeated Permission partner_permissions = 2; +} + +// Request for getting the partner permissions granted for a workload +message GetPartnerPermissionsRequest { + // Required. Name of the resource to get in the format: + // organizations/{organization}/locations/{location}/customers/{customer}/workloads/{workload}/partnerPermissions + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "cloudcontrolspartner.googleapis.com/PartnerPermissions" + } + ]; +} diff --git a/third_party/googleapis/google/cloud/cloudcontrolspartner/v1beta/partners.proto b/third_party/googleapis/google/cloud/cloudcontrolspartner/v1beta/partners.proto new file mode 100644 index 000000000..b84c34380 --- /dev/null +++ b/third_party/googleapis/google/cloud/cloudcontrolspartner/v1beta/partners.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.cloud.cloudcontrolspartner.v1beta; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.CloudControlsPartner.V1Beta"; +option go_package = "cloud.google.com/go/cloudcontrolspartner/apiv1beta/cloudcontrolspartnerpb;cloudcontrolspartnerpb"; +option java_multiple_files = true; +option java_outer_classname = "PartnersProto"; +option java_package = "com.google.cloud.cloudcontrolspartner.v1beta"; +option php_namespace = "Google\\Cloud\\CloudControlsPartner\\V1beta"; +option ruby_package = "Google::Cloud::CloudControlsPartner::V1beta"; + +// Message describing Partner resource +message Partner { + option (google.api.resource) = { + type: "cloudcontrolspartner.googleapis.com/Partner" + pattern: "organizations/{organization}/locations/{location}/partner" + singular: "partner" + }; + + // Identifier. The resource name of the partner. + // Format: organizations/{organization}/locations/{location}/partner + // Example: "organizations/123456/locations/us-central1/partner" + string name = 1 [(google.api.field_behavior) = IDENTIFIER]; + + // List of SKUs the partner is offering + repeated Sku skus = 3; + + // List of Google Cloud supported EKM partners supported by the partner + repeated EkmMetadata ekm_solutions = 4; + + // List of Google Cloud regions that the partner sells services to customers. + // Valid Google Cloud regions found here: + // 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. + string partner_project_id = 7; + + // Output only. Time the resource was created + google.protobuf.Timestamp create_time = 9 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The last time the resource was updated + google.protobuf.Timestamp update_time = 10 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Message for getting a Partner +message GetPartnerRequest { + // Required. Format: organizations/{organization}/locations/{location}/partner + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "cloudcontrolspartner.googleapis.com/Partner" + } + ]; +} + +// Represents the SKU a partner owns inside Google Cloud to sell to customers. +message Sku { + // Argentum product SKU, that is associated with the partner offerings to + // customers used by Syntro for billing purposes. SKUs can represent resold + // Google products or support services. + string id = 1; + + // Display name of the product identified by the SKU. A partner may want to + // show partner branded names for their offerings such as local sovereign + // cloud solutions. + string display_name = 2; +} + +// Holds information needed by Mudbray to use partner EKMs for workloads. +message EkmMetadata { + // Represents Google Cloud supported external key management partners + // [Google Cloud EKM partners + // docs](https://cloud.google.com/kms/docs/ekm#supported_partners). + enum EkmSolution { + // Unspecified EKM solution + EKM_SOLUTION_UNSPECIFIED = 0; + + // EKM Partner Fortanix + FORTANIX = 1; + + // EKM Partner FutureX + FUTUREX = 2; + + // EKM Partner Thales + THALES = 3; + + // EKM Partner Virtu + VIRTRU = 4; + } + + // The Cloud EKM partner. + EkmSolution ekm_solution = 1; + + // Endpoint for sending requests to the EKM for key provisioning during + // Assured Workload creation. + string ekm_endpoint_uri = 2; +} diff --git a/third_party/googleapis/google/cloud/cloudcontrolspartner/v1beta/violations.proto b/third_party/googleapis/google/cloud/cloudcontrolspartner/v1beta/violations.proto new file mode 100644 index 000000000..ea2531cd9 --- /dev/null +++ b/third_party/googleapis/google/cloud/cloudcontrolspartner/v1beta/violations.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.cloud.cloudcontrolspartner.v1beta; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/timestamp.proto"; +import "google/type/interval.proto"; + +option csharp_namespace = "Google.Cloud.CloudControlsPartner.V1Beta"; +option go_package = "cloud.google.com/go/cloudcontrolspartner/apiv1beta/cloudcontrolspartnerpb;cloudcontrolspartnerpb"; +option java_multiple_files = true; +option java_outer_classname = "ViolationsProto"; +option java_package = "com.google.cloud.cloudcontrolspartner.v1beta"; +option php_namespace = "Google\\Cloud\\CloudControlsPartner\\V1beta"; +option ruby_package = "Google::Cloud::CloudControlsPartner::V1beta"; + +// Details of resource Violation +message Violation { + option (google.api.resource) = { + type: "cloudcontrolspartner.googleapis.com/Violation" + pattern: "organizations/{organization}/locations/{location}/customers/{customer}/workloads/{workload}/violations/{violation}" + plural: "violations" + singular: "violation" + }; + + // Represents remediation guidance to resolve compliance violation for + // AssuredWorkload + message Remediation { + // Instructions to remediate violation + message Instructions { + // Remediation instructions to resolve violation via gcloud cli + message Gcloud { + // Gcloud command to resolve violation + repeated string gcloud_commands = 1; + + // Steps to resolve violation via gcloud cli + repeated string steps = 2; + + // Additional urls for more information about steps + repeated string additional_links = 3; + } + + // Remediation instructions to resolve violation via cloud console + message Console { + // Link to console page where violations can be resolved + repeated string console_uris = 1; + + // Steps to resolve violation via cloud console + repeated string steps = 2; + + // Additional urls for more information about steps + repeated string additional_links = 3; + } + + // Remediation instructions to resolve violation via gcloud cli + Gcloud gcloud_instructions = 1; + + // Remediation instructions to resolve violation via cloud console + Console console_instructions = 2; + } + + // Classifying remediation into various types based on the kind of + // violation. For example, violations caused due to changes in boolean org + // policy requires different remediation instructions compared to violation + // caused due to changes in allowed values of list org policy. + enum RemediationType { + // Unspecified remediation type + REMEDIATION_TYPE_UNSPECIFIED = 0; + + // Remediation type for boolean org policy + REMEDIATION_BOOLEAN_ORG_POLICY_VIOLATION = 1; + + // Remediation type for list org policy which have allowed values in the + // monitoring rule + REMEDIATION_LIST_ALLOWED_VALUES_ORG_POLICY_VIOLATION = 2; + + // Remediation type for list org policy which have denied values in the + // monitoring rule + REMEDIATION_LIST_DENIED_VALUES_ORG_POLICY_VIOLATION = 3; + + // Remediation type for gcp.restrictCmekCryptoKeyProjects + REMEDIATION_RESTRICT_CMEK_CRYPTO_KEY_PROJECTS_ORG_POLICY_VIOLATION = 4; + + // Remediation type for resource violation. + REMEDIATION_RESOURCE_VIOLATION = 5; + } + + // Required. Remediation instructions to resolve violations + Instructions instructions = 1 [(google.api.field_behavior) = REQUIRED]; + + // Values that can resolve the violation + // For example: for list org policy violations, this will either be the list + // of allowed or denied values + repeated string compliant_values = 2; + + // Output only. Remediation type based on the type of org policy values + // violated + RemediationType remediation_type = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Violation State Values + enum State { + // Unspecified state. + STATE_UNSPECIFIED = 0; + + // Violation is resolved. + RESOLVED = 1; + + // Violation is Unresolved + UNRESOLVED = 2; + + // Violation is Exception + EXCEPTION = 3; + } + + // Identifier. Format: + // organizations/{organization}/locations/{location}/customers/{customer}/workloads/{workload}/violations/{violation} + string name = 1 [(google.api.field_behavior) = IDENTIFIER]; + + // Output only. Description for the Violation. + // e.g. OrgPolicy gcp.resourceLocations has non compliant value. + string description = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Time of the event which triggered the Violation. + google.protobuf.Timestamp begin_time = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The last time when the Violation record was updated. + google.protobuf.Timestamp update_time = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Time of the event which fixed the Violation. + // If the violation is ACTIVE this will be empty. + google.protobuf.Timestamp resolve_time = 5 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Category under which this violation is mapped. + // e.g. Location, Service Usage, Access, Encryption, etc. + string category = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. State of the violation + State state = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Immutable. Name of the OrgPolicy which was modified with + // non-compliant change and resulted this violation. Format: + // projects/{project_number}/policies/{constraint_name} + // folders/{folder_id}/policies/{constraint_name} + // organizations/{organization_id}/policies/{constraint_name} + string non_compliant_org_policy = 8 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.field_behavior) = IMMUTABLE + ]; + + // The folder_id of the violation + int64 folder_id = 9; + + // Output only. Compliance violation remediation + Remediation remediation = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Message for requesting list of Violations +message ListViolationsRequest { + // Required. Parent resource + // Format + // organizations/{organization}/locations/{location}/customers/{customer}/workloads/{workload} + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "cloudcontrolspartner.googleapis.com/Violation" + } + ]; + + // Optional. The maximum number of customers row to return. The service may + // return fewer than this value. If unspecified, at most 10 customers will be + // returned. + int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A page token, received from a previous `ListViolations` call. + // Provide this to retrieve the subsequent page. + string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Filtering results + string filter = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Hint for how to order the results + string order_by = 5 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Specifies the interval for retrieving violations. + // if unspecified, all violations will be returned. + google.type.Interval interval = 6 [(google.api.field_behavior) = OPTIONAL]; +} + +// Response message for list customer violation requests +message ListViolationsResponse { + // List of violation + repeated Violation violations = 1; + + // A token that can be sent as `page_token` to retrieve the next page. + // If this field is omitted, there are no subsequent pages. + string next_page_token = 2; + + // Workloads that could not be reached due to permission errors or any other + // error. Ref: https://google.aip.dev/217 + repeated string unreachable = 3; +} + +// Message for getting a Violation +message GetViolationRequest { + // Required. Format: + // organizations/{organization}/locations/{location}/customers/{customer}/workloads/{workload}/violations/{violation} + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "cloudcontrolspartner.googleapis.com/Violation" + } + ]; +} diff --git a/third_party/googleapis/google/cloud/clouddms/v1/conversionworkspace_resources.proto b/third_party/googleapis/google/cloud/clouddms/v1/conversionworkspace_resources.proto new file mode 100644 index 000000000..6d5c6e625 --- /dev/null +++ b/third_party/googleapis/google/cloud/clouddms/v1/conversionworkspace_resources.proto @@ -0,0 +1,1366 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF 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.clouddms.v1; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/clouddms/v1/clouddms_resources.proto"; +import "google/protobuf/empty.proto"; +import "google/protobuf/struct.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.CloudDms.V1"; +option go_package = "cloud.google.com/go/clouddms/apiv1/clouddmspb;clouddmspb"; +option java_multiple_files = true; +option java_outer_classname = "ConversionWorkspaceResourcesProto"; +option java_package = "com.google.cloud.clouddms.v1"; +option php_namespace = "Google\\Cloud\\CloudDms\\V1"; +option ruby_package = "Google::Cloud::CloudDMS::V1"; + +// The type and version of a source or destination database. +message DatabaseEngineInfo { + // Required. Engine type. + DatabaseEngine engine = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. Engine named version, for example 12.c.1. + string version = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// The main conversion workspace resource entity. +message ConversionWorkspace { + option (google.api.resource) = { + type: "datamigration.googleapis.com/ConversionWorkspace" + pattern: "projects/{project}/locations/{location}/conversionWorkspaces/{conversion_workspace}" + plural: "conversionWorkspaces" + singular: "conversionWorkspace" + }; + + // Full name of the workspace resource, in the form of: + // projects/{project}/locations/{location}/conversionWorkspaces/{conversion_workspace}. + string name = 1; + + // Required. The source engine details. + DatabaseEngineInfo source = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The destination engine details. + DatabaseEngineInfo destination = 3 [(google.api.field_behavior) = REQUIRED]; + + // Optional. A generic list of settings for the workspace. + // The settings are database pair dependant and can indicate default behavior + // for the mapping rules engine or turn on or off specific features. + // Such examples can be: convert_foreign_key_to_interleave=true, + // skip_triggers=false, ignore_non_table_synonyms=true + map global_settings = 4 + [(google.api.field_behavior) = OPTIONAL]; + + // Output only. Whether the workspace has uncommitted changes (changes which + // were made after the workspace was committed). + bool has_uncommitted_changes = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The latest commit ID. + string latest_commit_id = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The timestamp when the workspace was committed. + google.protobuf.Timestamp latest_commit_time = 7 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The timestamp when the workspace resource was created. + google.protobuf.Timestamp create_time = 9 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The timestamp when the workspace resource was last updated. + google.protobuf.Timestamp update_time = 10 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Optional. The display name for the workspace. + string display_name = 11 [(google.api.field_behavior) = OPTIONAL]; +} + +// Execution log of a background job. +message BackgroundJobLogEntry { + // Final state after a job completes. + enum JobCompletionState { + // The status is not specified. This state is used when job is not yet + // finished. + JOB_COMPLETION_STATE_UNSPECIFIED = 0; + + // Success. + SUCCEEDED = 1; + + // Error. + FAILED = 2; + } + + // Details regarding a Seed background job. + message SeedJobDetails { + // Output only. The connection profile which was used for the seed job. + string connection_profile = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Details regarding an Import Rules background job. + message ImportRulesJobDetails { + // Output only. File names used for the import rules job. + repeated string files = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The requested file format. + ImportRulesFileFormat file_format = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Details regarding a Convert background job. + message ConvertJobDetails { + // Output only. AIP-160 based filter used to specify the entities to convert + string filter = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Details regarding an Apply background job. + message ApplyJobDetails { + // Output only. The connection profile which was used for the apply job. + string connection_profile = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. AIP-160 based filter used to specify the entities to apply + string filter = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // The background job log entry ID. + string id = 1; + + // The type of job that was executed. + BackgroundJobType job_type = 2; + + // The timestamp when the background job was started. + google.protobuf.Timestamp start_time = 3; + + // The timestamp when the background job was finished. + google.protobuf.Timestamp finish_time = 4; + + // Output only. Job completion state, i.e. the final state after the job + // completed. + JobCompletionState completion_state = 5 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Job completion comment, such as how many entities were seeded, + // how many warnings were found during conversion, and similar information. + string completion_comment = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Whether the client requested the conversion workspace to be + // committed after a successful completion of the job. + bool request_autocommit = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + oneof job_details { + // Output only. Seed job details. + SeedJobDetails seed_job_details = 100 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Import rules job details. + ImportRulesJobDetails import_rules_job_details = 101 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Convert job details. + ConvertJobDetails convert_job_details = 102 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Apply job details. + ApplyJobDetails apply_job_details = 103 + [(google.api.field_behavior) = OUTPUT_ONLY]; + } +} + +// A filter defining the entities that a mapping rule should be applied to. +// When more than one field is specified, the rule is applied only to +// entities which match all the fields. +message MappingRuleFilter { + // Optional. The rule should be applied to entities whose parent entity + // (fully qualified name) matches the given value. + // For example, if the rule applies to a table entity, the expected value + // should be a schema (schema). If the rule applies to a column or index + // entity, the expected value can be either a schema (schema) or a table + // (schema.table) + string parent_entity = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The rule should be applied to entities whose non-qualified name + // starts with the given prefix. + string entity_name_prefix = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The rule should be applied to entities whose non-qualified name + // ends with the given suffix. + string entity_name_suffix = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The rule should be applied to entities whose non-qualified name + // contains the given string. + string entity_name_contains = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The rule should be applied to specific entities defined by their + // fully qualified names. + repeated string entities = 5 [(google.api.field_behavior) = OPTIONAL]; +} + +// Definition of a transformation that is to be applied to a group of entities +// in the source schema. Several such transformations can be applied to an +// entity sequentially to define the corresponding entity in the target schema. +message MappingRule { + option (google.api.resource) = { + type: "datamigration.googleapis.com/MappingRule" + pattern: "projects/{project}/locations/{location}/conversionWorkspaces/{conversion_workspace}/mappingRules/{mapping_rule}" + plural: "mappingRules" + singular: "mappingRule" + }; + + // The current mapping rule state such as enabled, disabled or deleted. + enum State { + // The state of the mapping rule is unknown. + STATE_UNSPECIFIED = 0; + + // The rule is enabled. + ENABLED = 1; + + // The rule is disabled. + DISABLED = 2; + + // The rule is logically deleted. + DELETED = 3; + } + + // Full name of the mapping rule resource, in the form of: + // projects/{project}/locations/{location}/conversionWorkspaces/{set}/mappingRule/{rule}. + string name = 1; + + // Optional. A human readable name + string display_name = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The mapping rule state + State state = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Required. The rule scope + DatabaseEntityType rule_scope = 4 [(google.api.field_behavior) = REQUIRED]; + + // Required. The rule filter + MappingRuleFilter filter = 5 [(google.api.field_behavior) = REQUIRED]; + + // Required. The order in which the rule is applied. Lower order rules are + // applied before higher value rules so they may end up being overridden. + int64 rule_order = 6 [(google.api.field_behavior) = REQUIRED]; + + // Output only. The revision ID of the mapping rule. + // A new revision is committed whenever the mapping rule is changed in any + // way. The format is an 8-character hexadecimal string. + string revision_id = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The timestamp that the revision was created. + google.protobuf.Timestamp revision_create_time = 8 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The rule specific details. + oneof details { + // Optional. Rule to specify how a single entity should be renamed. + SingleEntityRename single_entity_rename = 102 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Rule to specify how multiple entities should be renamed. + MultiEntityRename multi_entity_rename = 103 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Rule to specify how multiple entities should be relocated into + // a different schema. + EntityMove entity_move = 105 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Rule to specify how a single column is converted. + SingleColumnChange single_column_change = 106 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Rule to specify how multiple columns should be converted to a + // different data type. + MultiColumnDatatypeChange multi_column_data_type_change = 107 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Rule to specify how the data contained in a column should be + // transformed (such as trimmed, rounded, etc) provided that the data meets + // certain criteria. + ConditionalColumnSetValue conditional_column_set_value = 108 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Rule to specify how multiple tables should be converted with an + // additional rowid column. + ConvertRowIdToColumn convert_rowid_column = 114 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Rule to specify the primary key for a table + SetTablePrimaryKey set_table_primary_key = 115 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Rule to specify how a single package is converted. + SinglePackageChange single_package_change = 116 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Rule to change the sql code for an entity, for example, + // function, procedure. + SourceSqlChange source_sql_change = 117 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Rule to specify the list of columns to include or exclude from + // a table. + FilterTableColumns filter_table_columns = 118 + [(google.api.field_behavior) = OPTIONAL]; + } +} + +// Options to configure rule type SingleEntityRename. +// The rule is used to rename an entity. +// +// The rule filter field can refer to only one entity. +// +// The rule scope can be one of: Database, Schema, Table, Column, Constraint, +// Index, View, Function, Stored Procedure, Materialized View, Sequence, UDT, +// Synonym +message SingleEntityRename { + // Required. The new name of the destination entity + string new_name = 1 [(google.api.field_behavior) = REQUIRED]; +} + +// Options to configure rule type MultiEntityRename. +// The rule is used to rename multiple entities. +// +// The rule filter field can refer to one or more entities. +// +// The rule scope can be one of: Database, Schema, Table, Column, Constraint, +// Index, View, Function, Stored Procedure, Materialized View, Sequence, UDT +message MultiEntityRename { + // Optional. The pattern used to generate the new entity's name. This pattern + // must include the characters '{name}', which will be replaced with the name + // of the original entity. For example, the pattern 't_{name}' for an entity + // name jobs would be converted to 't_jobs'. + // + // If unspecified, the default value for this field is '{name}' + string new_name_pattern = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Additional transformation that can be done on the source entity + // name before it is being used by the new_name_pattern, for example lower + // case. If no transformation is desired, use NO_TRANSFORMATION + EntityNameTransformation source_name_transformation = 2 + [(google.api.field_behavior) = OPTIONAL]; +} + +// Options to configure rule type EntityMove. +// The rule is used to move an entity to a new schema. +// +// The rule filter field can refer to one or more entities. +// +// The rule scope can be one of: Table, Column, Constraint, Index, View, +// Function, Stored Procedure, Materialized View, Sequence, UDT +message EntityMove { + // Required. The new schema + string new_schema = 1 [(google.api.field_behavior) = REQUIRED]; +} + +// Options to configure rule type SingleColumnChange. +// The rule is used to change the properties of a column. +// +// The rule filter field can refer to one entity. +// +// The rule scope can be one of: Column. +// +// When using this rule, if a field is not specified than the destination +// column's configuration will be the same as the one in the source column.. +message SingleColumnChange { + // Optional. Column data type name. + string data_type = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Charset override - instead of table level charset. + string charset = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Collation override - instead of table level collation. + string collation = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Column length - e.g. 50 as in varchar (50) - when relevant. + int64 length = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Column precision - e.g. 8 as in double (8,2) - when relevant. + int32 precision = 5 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Column scale - e.g. 2 as in double (8,2) - when relevant. + int32 scale = 6 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Column fractional seconds precision - e.g. 2 as in timestamp (2) + // - when relevant. + int32 fractional_seconds_precision = 7 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Is the column of array type. + bool array = 8 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The length of the array, only relevant if the column type is an + // array. + int32 array_length = 9 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Is the column nullable. + bool nullable = 10 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Is the column auto-generated/identity. + bool auto_generated = 11 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Is the column a UDT (User-defined Type). + bool udt = 12 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Custom engine specific features. + google.protobuf.Struct custom_features = 13 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Specifies the list of values allowed in the column. + repeated string set_values = 14 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Comment associated with the column. + string comment = 15 [(google.api.field_behavior) = OPTIONAL]; +} + +// Options to configure rule type MultiColumnDatatypeChange. +// The rule is used to change the data type and associated properties of +// multiple columns at once. +// +// The rule filter field can refer to one or more entities. +// +// The rule scope can be one of:Column. +// +// This rule requires additional filters to be specified beyond the basic rule +// filter field, which is the source data type, but the rule supports additional +// filtering capabilities such as the minimum and maximum field length. All +// additional filters which are specified are required to be met in order for +// the rule to be applied (logical AND between the fields). +message MultiColumnDatatypeChange { + // Required. Filter on source data type. + string source_data_type_filter = 1 [(google.api.field_behavior) = REQUIRED]; + + // Filter on source column parameters. + oneof source_filter { + // Optional. Filter for text-based data types like varchar. + SourceTextFilter source_text_filter = 100 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Filter for fixed point number data types such as + // NUMERIC/NUMBER. + SourceNumericFilter source_numeric_filter = 101 + [(google.api.field_behavior) = OPTIONAL]; + } + + // Required. New data type. + string new_data_type = 2 [(google.api.field_behavior) = REQUIRED]; + + // Optional. Column length - e.g. varchar (50) - if not specified and relevant + // uses the source column length. + int64 override_length = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Column scale - when relevant - if not specified and relevant + // uses the source column scale. + int32 override_scale = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Column precision - when relevant - if not specified and relevant + // uses the source column precision. + int32 override_precision = 5 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Column fractional seconds precision - used only for timestamp + // based datatypes - if not specified and relevant uses the source column + // fractional seconds precision. + int32 override_fractional_seconds_precision = 6 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Custom engine specific features. + google.protobuf.Struct custom_features = 7 + [(google.api.field_behavior) = OPTIONAL]; +} + +// Filter for text-based data types like varchar. +message SourceTextFilter { + // Optional. The filter will match columns with length greater than or equal + // to this number. + int64 source_min_length_filter = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The filter will match columns with length smaller than or equal + // to this number. + int64 source_max_length_filter = 2 [(google.api.field_behavior) = OPTIONAL]; +} + +// Filter for fixed point number data types such as NUMERIC/NUMBER +message SourceNumericFilter { + // Optional. The filter will match columns with scale greater than or equal to + // this number. + int32 source_min_scale_filter = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The filter will match columns with scale smaller than or equal to + // this number. + int32 source_max_scale_filter = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The filter will match columns with precision greater than or + // equal to this number. + int32 source_min_precision_filter = 3 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The filter will match columns with precision smaller than or + // equal to this number. + int32 source_max_precision_filter = 4 + [(google.api.field_behavior) = OPTIONAL]; + + // Required. Enum to set the option defining the datatypes numeric filter has + // to be applied to + NumericFilterOption numeric_filter_option = 5 + [(google.api.field_behavior) = REQUIRED]; +} + +// Options to configure rule type ConditionalColumnSetValue. +// The rule is used to transform the data which is being replicated/migrated. +// +// The rule filter field can refer to one or more entities. +// +// The rule scope can be one of: Column. +message ConditionalColumnSetValue { + oneof source_filter { + // Optional. Optional filter on source column length. Used for text based + // data types like varchar. + SourceTextFilter source_text_filter = 100 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Optional filter on source column precision and scale. Used for + // fixed point numbers such as NUMERIC/NUMBER data types. + SourceNumericFilter source_numeric_filter = 101 + [(google.api.field_behavior) = OPTIONAL]; + } + + // Required. Description of data transformation during migration. + ValueTransformation value_transformation = 1 + [(google.api.field_behavior) = REQUIRED]; + + // Optional. Custom engine specific features. + google.protobuf.Struct custom_features = 2 + [(google.api.field_behavior) = OPTIONAL]; +} + +// Description of data transformation during migration as part of the +// ConditionalColumnSetValue. +message ValueTransformation { + oneof filter { + // Optional. Value is null + google.protobuf.Empty is_null = 100 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Value is found in the specified list. + ValueListFilter value_list = 101 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Filter on relation between source value and compare value of + // type integer. + IntComparisonFilter int_comparison = 102 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Filter on relation between source value and compare value of + // type double. + DoubleComparisonFilter double_comparison = 103 + [(google.api.field_behavior) = OPTIONAL]; + } + + oneof action { + // Optional. Set to null + google.protobuf.Empty assign_null = 200 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Set to a specific value (value is converted to fit the target + // data type) + AssignSpecificValue assign_specific_value = 201 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Set to min_value - if integer or numeric, will use + // int.minvalue, etc + google.protobuf.Empty assign_min_value = 202 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Set to max_value - if integer or numeric, will use + // int.maxvalue, etc + google.protobuf.Empty assign_max_value = 203 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Allows the data to change scale + RoundToScale round_scale = 204 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Applies a hash function on the data + ApplyHash apply_hash = 205 [(google.api.field_behavior) = OPTIONAL]; + } +} + +// Options to configure rule type ConvertROWIDToColumn. +// The rule is used to add column rowid to destination tables based on an Oracle +// rowid function/property. +// +// The rule filter field can refer to one or more entities. +// +// The rule scope can be one of: Table. +// +// This rule requires additional filter to be specified beyond the basic rule +// filter field, which is whether or not to work on tables which already have a +// primary key defined. +message ConvertRowIdToColumn { + // Required. Only work on tables without primary key defined + bool only_if_no_primary_key = 1 [(google.api.field_behavior) = REQUIRED]; +} + +// Options to configure rule type SetTablePrimaryKey. +// The rule is used to specify the columns and name to configure/alter the +// primary key of a table. +// +// The rule filter field can refer to one entity. +// +// The rule scope can be one of: Table. +message SetTablePrimaryKey { + // Required. List of column names for the primary key + repeated string primary_key_columns = 1 + [(google.api.field_behavior) = REQUIRED]; + + // Optional. Name for the primary key + string primary_key = 2 [(google.api.field_behavior) = OPTIONAL]; +} + +// Options to configure rule type SinglePackageChange. +// The rule is used to alter the sql code for a package entities. +// +// The rule filter field can refer to one entity. +// +// The rule scope can be: Package +message SinglePackageChange { + // Optional. Sql code for package description + string package_description = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Sql code for package body + string package_body = 2 [(google.api.field_behavior) = OPTIONAL]; +} + +// Options to configure rule type SourceSqlChange. +// The rule is used to alter the sql code for database entities. +// +// The rule filter field can refer to one entity. +// +// The rule scope can be: StoredProcedure, Function, Trigger, View +message SourceSqlChange { + // Required. Sql code for source (stored procedure, function, trigger or view) + string sql_code = 1 [(google.api.field_behavior) = REQUIRED]; +} + +// Options to configure rule type FilterTableColumns. +// The rule is used to filter the list of columns to include or exclude from a +// table. +// +// The rule filter field can refer to one entity. +// +// The rule scope can be: Table +// +// Only one of the two lists can be specified for the rule. +message FilterTableColumns { + // Optional. List of columns to be included for a particular table. + repeated string include_columns = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. List of columns to be excluded for a particular table. + repeated string exclude_columns = 2 [(google.api.field_behavior) = OPTIONAL]; +} + +// A list of values to filter by in ConditionalColumnSetValue +message ValueListFilter { + // Required. Indicates whether the filter matches rows with values that are + // present in the list or those with values not present in it. + ValuePresentInList value_present_list = 1 + [(google.api.field_behavior) = REQUIRED]; + + // Required. The list to be used to filter by + repeated string values = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. Whether to ignore case when filtering by values. Defaults to + // false + bool ignore_case = 3 [(google.api.field_behavior) = REQUIRED]; +} + +// Filter based on relation between source value and compare value of type +// integer in ConditionalColumnSetValue +message IntComparisonFilter { + // Required. Relation between source value and compare value + ValueComparison value_comparison = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. Integer compare value to be used + int64 value = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Filter based on relation between source +// value and compare value of type double in ConditionalColumnSetValue +message DoubleComparisonFilter { + // Required. Relation between source value and compare value + ValueComparison value_comparison = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. Double compare value to be used + double value = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Set to a specific value (value is converted to fit the target data type) +message AssignSpecificValue { + // Required. Specific value to be assigned + string value = 1 [(google.api.field_behavior) = REQUIRED]; +} + +// Apply a hash function on the value. +message ApplyHash { + oneof hash_function { + // Optional. Generate UUID from the data's byte array + google.protobuf.Empty uuid_from_bytes = 100 + [(google.api.field_behavior) = OPTIONAL]; + } +} + +// This allows the data to change scale, for example if the source is 2 digits +// after the decimal point, specify round to scale value = 2. If for example the +// value needs to be converted to an integer, use round to scale value = 0. +message RoundToScale { + // Required. Scale value to be used + int32 scale = 1 [(google.api.field_behavior) = REQUIRED]; +} + +// The base entity type for all the database related entities. +// The message contains the entity name, the name of its parent, the entity +// type, and the specific details per entity type. +message DatabaseEntity { + // The type of database entities tree. + enum TreeType { + // Tree type unspecified. + TREE_TYPE_UNSPECIFIED = 0; + + // Tree of entities loaded from a source database. + SOURCE = 1; + + // Tree of entities converted from the source tree using the mapping rules. + DRAFT = 2; + + // Tree of entities observed on the destination database. + DESTINATION = 3; + } + + // The short name (e.g. table name) of the entity. + string short_name = 1; + + // The full name of the parent entity (e.g. schema name). + string parent_entity = 2; + + // The type of tree the entity belongs to. + TreeType tree = 3; + + // The type of the database entity (table, view, index, ...). + DatabaseEntityType entity_type = 4; + + // Details about entity mappings. + // For source tree entities, this holds the draft entities which were + // generated by the mapping rules. + // For draft tree entities, this holds the source entities which were + // converted to form the draft entity. + // Destination entities will have no mapping details. + repeated EntityMapping mappings = 5; + + // Details about the entity DDL script. Multiple DDL scripts are provided for + // child entities such as a table entity will have one DDL for the table with + // additional DDLs for each index, constraint and such. + repeated EntityDdl entity_ddl = 6; + + // Details about the various issues found for the entity. + repeated EntityIssue issues = 7; + + // The specific body for each entity type. + oneof entity_body { + // Database. + DatabaseInstanceEntity database = 101; + + // Schema. + SchemaEntity schema = 102; + + // Table. + TableEntity table = 103; + + // View. + ViewEntity view = 104; + + // Sequence. + SequenceEntity sequence = 105; + + // Stored procedure. + StoredProcedureEntity stored_procedure = 106; + + // Function. + FunctionEntity database_function = 107; + + // Synonym. + SynonymEntity synonym = 108; + + // Package. + PackageEntity database_package = 109; + + // UDT. + UDTEntity udt = 110; + + // Materialized view. + MaterializedViewEntity materialized_view = 111; + } +} + +// DatabaseInstance acts as a parent entity to other database entities. +message DatabaseInstanceEntity { + // Custom engine specific features. + google.protobuf.Struct custom_features = 1; +} + +// Schema typically has no parent entity, but can have a parent entity +// DatabaseInstance (for database engines which support it). For some database +// engines, the terms schema and user can be used interchangeably when they +// refer to a namespace or a collection of other database entities. Can store +// additional information which is schema specific. +message SchemaEntity { + // Custom engine specific features. + google.protobuf.Struct custom_features = 1; +} + +// Table's parent is a schema. +message TableEntity { + // Table columns. + repeated ColumnEntity columns = 1; + + // Table constraints. + repeated ConstraintEntity constraints = 2; + + // Table indices. + repeated IndexEntity indices = 3; + + // Table triggers. + repeated TriggerEntity triggers = 4; + + // Custom engine specific features. + google.protobuf.Struct custom_features = 5; + + // Comment associated with the table. + string comment = 6; +} + +// Column is not used as an independent entity, it is retrieved as part of a +// Table entity. +message ColumnEntity { + // Column name. + string name = 1; + + // Column data type. + string data_type = 2; + + // Charset override - instead of table level charset. + string charset = 3; + + // Collation override - instead of table level collation. + string collation = 4; + + // Column length - e.g. varchar (50). + int64 length = 5; + + // Column precision - when relevant. + int32 precision = 6; + + // Column scale - when relevant. + int32 scale = 7; + + // Column fractional second precision - used for timestamp based datatypes. + int32 fractional_seconds_precision = 8; + + // Is the column of array type. + bool array = 9; + + // If the column is array, of which length. + int32 array_length = 10; + + // Is the column nullable. + bool nullable = 11; + + // Is the column auto-generated/identity. + bool auto_generated = 12; + + // Is the column a UDT. + bool udt = 13; + + // Custom engine specific features. + google.protobuf.Struct custom_features = 14; + + // Specifies the list of values allowed in the column. + // Only used for set data type. + repeated string set_values = 15; + + // Comment associated with the column. + string comment = 16; + + // Column order in the table. + int32 ordinal_position = 17; + + // Default value of the column. + string default_value = 18; +} + +// Constraint is not used as an independent entity, it is retrieved +// as part of another entity such as Table or View. +message ConstraintEntity { + // The name of the table constraint. + string name = 1; + + // Type of constraint, for example unique, primary key, foreign key (currently + // only primary key is supported). + string type = 2; + + // Table columns used as part of the Constraint, for example primary key + // constraint should list the columns which constitutes the key. + repeated string table_columns = 3; + + // Custom engine specific features. + google.protobuf.Struct custom_features = 4; + + // Reference columns which may be associated with the constraint. For example, + // if the constraint is a FOREIGN_KEY, this represents the list of full names + // of referenced columns by the foreign key. + repeated string reference_columns = 5; + + // Reference table which may be associated with the constraint. For example, + // if the constraint is a FOREIGN_KEY, this represents the list of full name + // of the referenced table by the foreign key. + string reference_table = 6; + + // Table which is associated with the constraint. In case the constraint + // is defined on a table, this field is left empty as this information is + // stored in parent_name. However, if constraint is defined on a view, this + // field stores the table name on which the view is defined. + string table_name = 7; +} + +// Index is not used as an independent entity, it is retrieved as part of a +// Table entity. +message IndexEntity { + // The name of the index. + string name = 1; + + // Type of index, for example B-TREE. + string type = 2; + + // Table columns used as part of the Index, for example B-TREE index should + // list the columns which constitutes the index. + repeated string table_columns = 3; + + // Boolean value indicating whether the index is unique. + bool unique = 4; + + // Custom engine specific features. + google.protobuf.Struct custom_features = 5; +} + +// Trigger is not used as an independent entity, it is retrieved as part of a +// Table entity. +message TriggerEntity { + // The name of the trigger. + string name = 1; + + // The DML, DDL, or database events that fire the trigger, for example + // INSERT, UPDATE. + repeated string triggering_events = 2; + + // Indicates when the trigger fires, for example BEFORE STATEMENT, AFTER EACH + // ROW. + string trigger_type = 3; + + // The SQL code which creates the trigger. + string sql_code = 4; + + // Custom engine specific features. + google.protobuf.Struct custom_features = 5; +} + +// View's parent is a schema. +message ViewEntity { + // The SQL code which creates the view. + string sql_code = 1; + + // Custom engine specific features. + google.protobuf.Struct custom_features = 2; + + // View constraints. + repeated ConstraintEntity constraints = 3; +} + +// Sequence's parent is a schema. +message SequenceEntity { + // Increment value for the sequence. + int64 increment = 1; + + // Start number for the sequence represented as bytes to accommodate large. + // numbers + bytes start_value = 2; + + // Maximum number for the sequence represented as bytes to accommodate large. + // numbers + bytes max_value = 3; + + // Minimum number for the sequence represented as bytes to accommodate large. + // numbers + bytes min_value = 4; + + // Indicates whether the sequence value should cycle through. + bool cycle = 5; + + // Indicates number of entries to cache / precreate. + int64 cache = 6; + + // Custom engine specific features. + google.protobuf.Struct custom_features = 7; +} + +// Stored procedure's parent is a schema. +message StoredProcedureEntity { + // The SQL code which creates the stored procedure. + string sql_code = 1; + + // Custom engine specific features. + google.protobuf.Struct custom_features = 2; +} + +// Function's parent is a schema. +message FunctionEntity { + // The SQL code which creates the function. + string sql_code = 1; + + // Custom engine specific features. + google.protobuf.Struct custom_features = 2; +} + +// MaterializedView's parent is a schema. +message MaterializedViewEntity { + // The SQL code which creates the view. + string sql_code = 1; + + // Custom engine specific features. + google.protobuf.Struct custom_features = 2; +} + +// Synonym's parent is a schema. +message SynonymEntity { + // The name of the entity for which the synonym is being created (the source). + string source_entity = 1; + + // The type of the entity for which the synonym is being created + // (usually a table or a sequence). + DatabaseEntityType source_type = 2; + + // Custom engine specific features. + google.protobuf.Struct custom_features = 3; +} + +// Package's parent is a schema. +message PackageEntity { + // The SQL code which creates the package. + string package_sql_code = 1; + + // The SQL code which creates the package body. If the package specification + // has cursors or subprograms, then the package body is mandatory. + string package_body = 2; + + // Custom engine specific features. + google.protobuf.Struct custom_features = 3; +} + +// UDT's parent is a schema. +message UDTEntity { + // The SQL code which creates the udt. + string udt_sql_code = 1; + + // The SQL code which creates the udt body. + string udt_body = 2; + + // Custom engine specific features. + google.protobuf.Struct custom_features = 3; +} + +// Details of the mappings of a database entity. +message EntityMapping { + // Source entity full name. + // The source entity can also be a column, index or constraint using the + // same naming notation schema.table.column. + string source_entity = 1; + + // Target entity full name. + // The draft entity can also include a column, index or constraint using the + // same naming notation schema.table.column. + string draft_entity = 2; + + // Type of source entity. + DatabaseEntityType source_type = 4; + + // Type of draft entity. + DatabaseEntityType draft_type = 5; + + // Entity mapping log entries. + // Multiple rules can be effective and contribute changes to a converted + // entity, such as a rule can handle the entity name, another rule can handle + // an entity type. In addition, rules which did not change the entity are also + // logged along with the reason preventing them to do so. + repeated EntityMappingLogEntry mapping_log = 3; +} + +// A single record of a rule which was used for a mapping. +message EntityMappingLogEntry { + // Which rule caused this log entry. + string rule_id = 1; + + // Rule revision ID. + string rule_revision_id = 2; + + // Comment. + string mapping_comment = 3; +} + +// A single DDL statement for a specific entity +message EntityDdl { + // Type of DDL (Create, Alter). + string ddl_type = 1; + + // The name of the database entity the ddl refers to. + string entity = 2; + + // The actual ddl code. + string ddl = 3; + + // The entity type (if the DDL is for a sub entity). + DatabaseEntityType entity_type = 4; + + // EntityIssues found for this ddl. + repeated string issue_id = 100; +} + +// Issue related to the entity. +message EntityIssue { + // Type of issue. + enum IssueType { + // Unspecified issue type. + ISSUE_TYPE_UNSPECIFIED = 0; + + // Issue originated from the DDL + ISSUE_TYPE_DDL = 1; + + // Issue originated during the apply process + ISSUE_TYPE_APPLY = 2; + + // Issue originated during the convert process + ISSUE_TYPE_CONVERT = 3; + } + + // Severity of issue. + enum IssueSeverity { + // Unspecified issue severity + ISSUE_SEVERITY_UNSPECIFIED = 0; + + // Info + ISSUE_SEVERITY_INFO = 1; + + // Warning + ISSUE_SEVERITY_WARNING = 2; + + // Error + ISSUE_SEVERITY_ERROR = 3; + } + + // Issue position. + message Position { + // Issue line number + int32 line = 1; + + // Issue column number + int32 column = 2; + + // Issue offset + int32 offset = 3; + + // Issue length + int32 length = 4; + } + + // Unique Issue ID. + string id = 1; + + // The type of the issue. + IssueType type = 2; + + // Severity of the issue + IssueSeverity severity = 3; + + // Issue detailed message + string message = 4; + + // Error/Warning code + string code = 5; + + // The ddl which caused the issue, if relevant. + optional string ddl = 6; + + // The position of the issue found, if relevant. + optional Position position = 7; + + // The entity type (if the DDL is for a sub entity). + DatabaseEntityType entity_type = 8; +} + +// Enum used by ValueListFilter to indicate whether the source value is in the +// supplied list +enum ValuePresentInList { + // Value present in list unspecified + VALUE_PRESENT_IN_LIST_UNSPECIFIED = 0; + + // If the source value is in the supplied list at value_list + VALUE_PRESENT_IN_LIST_IF_VALUE_LIST = 1; + + // If the source value is not in the supplied list at value_list + VALUE_PRESENT_IN_LIST_IF_VALUE_NOT_LIST = 2; +} + +// The type of database entities supported, +enum DatabaseEntityType { + // Unspecified database entity type. + DATABASE_ENTITY_TYPE_UNSPECIFIED = 0; + + // Schema. + DATABASE_ENTITY_TYPE_SCHEMA = 1; + + // Table. + DATABASE_ENTITY_TYPE_TABLE = 2; + + // Column. + DATABASE_ENTITY_TYPE_COLUMN = 3; + + // Constraint. + DATABASE_ENTITY_TYPE_CONSTRAINT = 4; + + // Index. + DATABASE_ENTITY_TYPE_INDEX = 5; + + // Trigger. + DATABASE_ENTITY_TYPE_TRIGGER = 6; + + // View. + DATABASE_ENTITY_TYPE_VIEW = 7; + + // Sequence. + DATABASE_ENTITY_TYPE_SEQUENCE = 8; + + // Stored Procedure. + DATABASE_ENTITY_TYPE_STORED_PROCEDURE = 9; + + // Function. + DATABASE_ENTITY_TYPE_FUNCTION = 10; + + // Synonym. + DATABASE_ENTITY_TYPE_SYNONYM = 11; + + // Package. + DATABASE_ENTITY_TYPE_DATABASE_PACKAGE = 12; + + // UDT. + DATABASE_ENTITY_TYPE_UDT = 13; + + // Materialized View. + DATABASE_ENTITY_TYPE_MATERIALIZED_VIEW = 14; + + // Database. + DATABASE_ENTITY_TYPE_DATABASE = 15; +} + +// Entity Name Transformation Types +enum EntityNameTransformation { + // Entity name transformation unspecified. + ENTITY_NAME_TRANSFORMATION_UNSPECIFIED = 0; + + // No transformation. + ENTITY_NAME_TRANSFORMATION_NO_TRANSFORMATION = 1; + + // Transform to lower case. + ENTITY_NAME_TRANSFORMATION_LOWER_CASE = 2; + + // Transform to upper case. + ENTITY_NAME_TRANSFORMATION_UPPER_CASE = 3; + + // Transform to capitalized case. + ENTITY_NAME_TRANSFORMATION_CAPITALIZED_CASE = 4; +} + +// The types of jobs that can be executed in the background. +enum BackgroundJobType { + // Unspecified background job type. + BACKGROUND_JOB_TYPE_UNSPECIFIED = 0; + + // Job to seed from the source database. + BACKGROUND_JOB_TYPE_SOURCE_SEED = 1; + + // Job to convert the source database into a draft of the destination + // database. + BACKGROUND_JOB_TYPE_CONVERT = 2; + + // Job to apply the draft tree onto the destination. + BACKGROUND_JOB_TYPE_APPLY_DESTINATION = 3; + + // Job to import and convert mapping rules from an external source such as an + // ora2pg config file. + BACKGROUND_JOB_TYPE_IMPORT_RULES_FILE = 5; +} + +// The format for the import rules file. +enum ImportRulesFileFormat { + // Unspecified rules format. + IMPORT_RULES_FILE_FORMAT_UNSPECIFIED = 0; + + // HarbourBridge session file. + IMPORT_RULES_FILE_FORMAT_HARBOUR_BRIDGE_SESSION_FILE = 1; + + // Ora2Pg configuration file. + IMPORT_RULES_FILE_FORMAT_ORATOPG_CONFIG_FILE = 2; +} + +// Enum used by IntComparisonFilter and DoubleComparisonFilter to indicate the +// relation between source value and compare value. +enum ValueComparison { + // Value comparison unspecified. + VALUE_COMPARISON_UNSPECIFIED = 0; + + // Value is smaller than the Compare value. + VALUE_COMPARISON_IF_VALUE_SMALLER_THAN = 1; + + // Value is smaller or equal than the Compare value. + VALUE_COMPARISON_IF_VALUE_SMALLER_EQUAL_THAN = 2; + + // Value is larger than the Compare value. + VALUE_COMPARISON_IF_VALUE_LARGER_THAN = 3; + + // Value is larger or equal than the Compare value. + VALUE_COMPARISON_IF_VALUE_LARGER_EQUAL_THAN = 4; +} + +// Specifies the columns on which numeric filter needs to be applied. +enum NumericFilterOption { + // Numeric filter option unspecified + NUMERIC_FILTER_OPTION_UNSPECIFIED = 0; + + // Numeric filter option that matches all numeric columns. + NUMERIC_FILTER_OPTION_ALL = 1; + + // Numeric filter option that matches columns having numeric datatypes with + // specified precision and scale within the limited range of filter. + NUMERIC_FILTER_OPTION_LIMIT = 2; + + // Numeric filter option that matches only the numeric columns with no + // precision and scale specified. + NUMERIC_FILTER_OPTION_LIMITLESS = 3; +} diff --git a/third_party/googleapis/google/cloud/commerce/consumer/procurement/BUILD.bazel b/third_party/googleapis/google/cloud/commerce/consumer/procurement/BUILD.bazel new file mode 100644 index 000000000..3b598ee33 --- /dev/null +++ b/third_party/googleapis/google/cloud/commerce/consumer/procurement/BUILD.bazel @@ -0,0 +1,36 @@ +# This build file includes a target for the Ruby wrapper library for +# google-cloud-commerce-consumer-procurement. + +# 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 commerce-consumer-procurement. +# 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 = "commerceconsumerprocurement_ruby_wrapper", + srcs = ["//google/cloud/commerce/consumer/procurement/v1:procurement_proto_with_info"], + extra_protoc_parameters = [ + "ruby-cloud-gem-name=google-cloud-commerce-consumer-procurement", + "ruby-cloud-wrapper-of=v1:0.3" + ], + service_yaml = "//google/cloud/commerce/consumer/procurement/v1:cloudcommerceconsumerprocurement_v1.yaml", + transport = "grpc+rest", +) + +# Open Source package. +ruby_gapic_assembly_pkg( + name = "google-cloud-consumer-procurement-ruby", + deps = [ + ":commerceconsumerprocurement_ruby_wrapper", + ], +) \ No newline at end of file diff --git a/third_party/googleapis/google/cloud/commerce/consumer/procurement/v1/BUILD.bazel b/third_party/googleapis/google/cloud/commerce/consumer/procurement/v1/BUILD.bazel new file mode 100644 index 000000000..b7e58c3ec --- /dev/null +++ b/third_party/googleapis/google/cloud/commerce/consumer/procurement/v1/BUILD.bazel @@ -0,0 +1,379 @@ +# 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 = "procurement_proto", + srcs = [ + "order.proto", + "procurement_service.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//:timestamp_proto", + ], +) + +proto_library_with_info( + name = "procurement_proto_with_info", + deps = [ + ":procurement_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 = "procurement_java_proto", + deps = [":procurement_proto"], +) + +java_grpc_library( + name = "procurement_java_grpc", + srcs = [":procurement_proto"], + deps = [":procurement_java_proto"], +) + +java_gapic_library( + name = "procurement_java_gapic", + srcs = [":procurement_proto_with_info"], + gapic_yaml = None, + grpc_service_config = "commerceconsumerprocurement_v1_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "cloudcommerceconsumerprocurement_v1.yaml", + test_deps = [ + ":procurement_java_grpc", + ], + transport = "grpc+rest", + deps = [ + ":procurement_java_proto", + "//google/api:api_java_proto", + ], +) + +java_gapic_test( + name = "procurement_java_gapic_test_suite", + test_classes = [ + "com.google.cloud.commerce.consumer.procurement.v1.ConsumerProcurementServiceClientHttpJsonTest", + "com.google.cloud.commerce.consumer.procurement.v1.ConsumerProcurementServiceClientTest", + ], + runtime_deps = [":procurement_java_gapic_test"], +) + +# Open Source Packages +java_gapic_assembly_gradle_pkg( + name = "google-cloud-consumer-procurement-v1-java", + include_samples = True, + transport = "grpc+rest", + deps = [ + ":procurement_java_gapic", + ":procurement_java_grpc", + ":procurement_java_proto", + ":procurement_proto", + ], +) + +############################################################################## +# Go +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "go_gapic_assembly_pkg", + "go_gapic_library", + "go_proto_library", +) + +go_proto_library( + name = "procurement_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "cloud.google.com/go/commerce/consumer/procurement/apiv1/procurementpb", + protos = [":procurement_proto"], + deps = [ + "//google/api:annotations_go_proto", + "//google/longrunning:longrunning_go_proto", + ], +) + +go_gapic_library( + name = "procurement_go_gapic", + srcs = [":procurement_proto_with_info"], + grpc_service_config = "commerceconsumerprocurement_v1_grpc_service_config.json", + importpath = "cloud.google.com/go/commerce/consumer/procurement/apiv1;procurement", + metadata = True, + release_level = "beta", + rest_numeric_enums = True, + service_yaml = "cloudcommerceconsumerprocurement_v1.yaml", + transport = "grpc+rest", + deps = [ + ":procurement_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-consumer-procurement-v1-go", + deps = [ + ":procurement_go_gapic", + ":procurement_go_gapic_srcjar-metadata.srcjar", + ":procurement_go_gapic_srcjar-snippets.srcjar", + ":procurement_go_gapic_srcjar-test.srcjar", + ":procurement_go_proto", + ], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "py_gapic_assembly_pkg", + "py_gapic_library", + "py_test", +) + +py_gapic_library( + name = "procurement_py_gapic", + srcs = [":procurement_proto"], + grpc_service_config = "commerceconsumerprocurement_v1_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "cloudcommerceconsumerprocurement_v1.yaml", + transport = "grpc+rest", + deps = [ + ], + opt_args = [ + "python-gapic-namespace=google.cloud", + "python-gapic-name=commerce_consumer_procurement", + ], +) + +py_test( + name = "procurement_py_gapic_test", + srcs = [ + "procurement_py_gapic_pytest.py", + "procurement_py_gapic_test.py", + ], + legacy_create_init = False, + deps = [":procurement_py_gapic"], +) + +# Open Source Packages +py_gapic_assembly_pkg( + name = "consumer-procurement-v1-py", + deps = [ + ":procurement_py_gapic", + ], +) + +############################################################################## +# PHP +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "php_gapic_assembly_pkg", + "php_gapic_library", + "php_proto_library", +) + +php_proto_library( + name = "procurement_php_proto", + deps = [":procurement_proto"], +) + +php_gapic_library( + name = "procurement_php_gapic", + srcs = [":procurement_proto_with_info"], + grpc_service_config = "commerceconsumerprocurement_v1_grpc_service_config.json", + migration_mode = "NEW_SURFACE_ONLY", + rest_numeric_enums = True, + service_yaml = "cloudcommerceconsumerprocurement_v1.yaml", + transport = "grpc+rest", + deps = [ + ":procurement_php_proto", + ], +) + +# Open Source Packages +php_gapic_assembly_pkg( + name = "google-cloud-consumer-procurement-v1-php", + deps = [ + ":procurement_php_gapic", + ":procurement_php_proto", + ], +) + +############################################################################## +# Node.js +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "nodejs_gapic_assembly_pkg", + "nodejs_gapic_library", +) + +nodejs_gapic_library( + name = "procurement_nodejs_gapic", + package_name = "@google-cloud/procurement", + src = ":procurement_proto_with_info", + extra_protoc_parameters = ["metadata"], + grpc_service_config = "commerceconsumerprocurement_v1_grpc_service_config.json", + package = "google.cloud.commerce.consumer.procurement.v1", + rest_numeric_enums = True, + service_yaml = "cloudcommerceconsumerprocurement_v1.yaml", + transport = "grpc+rest", + deps = [], +) + +nodejs_gapic_assembly_pkg( + name = "consumer-procurement-v1-nodejs", + deps = [ + ":procurement_nodejs_gapic", + ":procurement_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 = "procurement_ruby_proto", + deps = [":procurement_proto"], +) + +ruby_grpc_library( + name = "procurement_ruby_grpc", + srcs = [":procurement_proto"], + deps = [":procurement_ruby_proto"], +) + +ruby_cloud_gapic_library( + name = "procurement_ruby_gapic", + srcs = [":procurement_proto_with_info"], + extra_protoc_parameters = ["ruby-cloud-gem-name=google-cloud-commerce-consumer-procurement-v1"], + grpc_service_config = "commerceconsumerprocurement_v1_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "cloudcommerceconsumerprocurement_v1.yaml", + transport = "grpc+rest", + deps = [ + ":procurement_ruby_grpc", + ":procurement_ruby_proto", + ], +) + +# Open Source Packages +ruby_gapic_assembly_pkg( + name = "google-cloud-consumer-procurement-v1-ruby", + deps = [ + ":procurement_ruby_gapic", + ":procurement_ruby_grpc", + ":procurement_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 = "procurement_csharp_proto", + extra_opts = [""], + deps = [":procurement_proto"], +) + +csharp_grpc_library( + name = "procurement_csharp_grpc", + srcs = [":procurement_proto"], + deps = [":procurement_csharp_proto"], +) + +csharp_gapic_library( + name = "procurement_csharp_gapic", + srcs = [":procurement_proto_with_info"], + common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json", + grpc_service_config = "commerceconsumerprocurement_v1_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "cloudcommerceconsumerprocurement_v1.yaml", + deps = [ + ":procurement_csharp_grpc", + ":procurement_csharp_proto", + ], +) + +# Open Source Packages +csharp_gapic_assembly_pkg( + name = "google-cloud-consumer-procurement-v1-csharp", + deps = [ + ":procurement_csharp_gapic", + ":procurement_csharp_grpc", + ":procurement_csharp_proto", + ], +) + +############################################################################## +# C++ +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "cc_grpc_library", + "cc_proto_library", +) + +cc_proto_library( + name = "procurement_cc_proto", + deps = [":procurement_proto"], +) + +cc_grpc_library( + name = "procurement_cc_grpc", + srcs = [":procurement_proto"], + grpc_only = True, + deps = [":procurement_cc_proto"], +) diff --git a/third_party/googleapis/google/cloud/commerce/consumer/procurement/v1/cloudcommerceconsumerprocurement_v1.yaml b/third_party/googleapis/google/cloud/commerce/consumer/procurement/v1/cloudcommerceconsumerprocurement_v1.yaml new file mode 100644 index 000000000..866c14a3e --- /dev/null +++ b/third_party/googleapis/google/cloud/commerce/consumer/procurement/v1/cloudcommerceconsumerprocurement_v1.yaml @@ -0,0 +1,79 @@ +type: google.api.Service +config_version: 3 +name: cloudcommerceconsumerprocurement.googleapis.com +title: Cloud Commerce Consumer Procurement API + +apis: +- name: google.cloud.commerce.consumer.procurement.v1.ConsumerProcurementService +- name: google.longrunning.Operations + +types: +- name: google.cloud.commerce.consumer.procurement.v1.PlaceOrderMetadata + +documentation: + summary: Enables consumers to procure products served by Cloud Marketplace platform + +http: + rules: + - selector: google.longrunning.Operations.GetOperation + get: '/v1/{name=billingAccounts/*/orders/*/operations/*}' + +authentication: + rules: + - selector: 'google.cloud.commerce.consumer.procurement.v1.ConsumerProcurementService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + - selector: google.longrunning.Operations.GetOperation + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + +publishing: + new_issue_uri: https://issuetracker.google.com/issues/new?component=1396141 + documentation_uri: https://cloud.google.com/marketplace/docs/ + api_short_name: cloudcommerceconsumerprocurement + github_label: 'api: cloudcommerceconsumerprocurement' + doc_tag_prefix: cloudcommerceconsumerprocurement + organization: CLOUD + library_settings: + - version: google.cloud.commerce.consumer.procurement.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 + - version: google.cloud.commerce.consumer.procurement.v1alpha1 + launch_stage: ALPHA + java_settings: + common: + destinations: + - PACKAGE_MANAGER diff --git a/third_party/googleapis/google/cloud/commerce/consumer/procurement/v1/commerceconsumerprocurement_v1_grpc_service_config.json b/third_party/googleapis/google/cloud/commerce/consumer/procurement/v1/commerceconsumerprocurement_v1_grpc_service_config.json new file mode 100644 index 000000000..4124b6964 --- /dev/null +++ b/third_party/googleapis/google/cloud/commerce/consumer/procurement/v1/commerceconsumerprocurement_v1_grpc_service_config.json @@ -0,0 +1,33 @@ +{ + "methodConfig": [ + { + "name": [ + { + "service": "google.cloud.commerce.consumer.procurement.v1.ConsumerProcurementService", + "method": "GetOrder" + }, + { + "service": "google.cloud.commerce.consumer.procurement.v1.ConsumerProcurementService", + "method": "ListOrders" + } + ], + "timeout": "60s", + "retryPolicy": { + "maxAttempts": 5, + "initialBackoff": "1s", + "maxBackoff": "60s", + "backoffMultiplier": 1.3, + "retryableStatusCodes": ["UNAVAILABLE"] + } + }, + { + "name": [ + { + "service": "google.cloud.commerce.consumer.procurement.v1.ConsumerProcurementService", + "method": "PlaceOrder" + } + ], + "timeout": "60s" + } + ] +} diff --git a/third_party/googleapis/google/cloud/commerce/consumer/procurement/v1/order.proto b/third_party/googleapis/google/cloud/commerce/consumer/procurement/v1/order.proto new file mode 100644 index 000000000..13f500df6 --- /dev/null +++ b/third_party/googleapis/google/cloud/commerce/consumer/procurement/v1/order.proto @@ -0,0 +1,267 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF 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.commerce.consumer.procurement.v1; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.Commerce.Consumer.Procurement.V1"; +option go_package = "cloud.google.com/go/commerce/consumer/procurement/apiv1/procurementpb;procurementpb"; +option java_multiple_files = true; +option java_package = "com.google.cloud.commerce.consumer.procurement.v1"; +option php_namespace = "Google\\Cloud\\Commerce\\Consumer\\Procurement\\V1"; +option ruby_package = "Google::Cloud::Commerce::Consumer::Procurement::V1"; +option (google.api.resource_definition) = { + type: "commerceoffercatalog.googleapis.com/Offer" + pattern: "services/{service}/standardOffers/{offer}" + pattern: "billingAccounts/{consumer_billing_account}/offers/{offer}" +}; + +// Type of a line item change. +enum LineItemChangeType { + // Sentinel value. Do not use. + LINE_ITEM_CHANGE_TYPE_UNSPECIFIED = 0; + + // The change is to create a new line item. + LINE_ITEM_CHANGE_TYPE_CREATE = 1; + + // The change is to update an existing line item. + LINE_ITEM_CHANGE_TYPE_UPDATE = 2; + + // The change is to cancel an existing line item. + LINE_ITEM_CHANGE_TYPE_CANCEL = 3; + + // The change is to revert a cancellation. + LINE_ITEM_CHANGE_TYPE_REVERT_CANCELLATION = 4; +} + +// State of a change. +enum LineItemChangeState { + // Sentinel value. Do not use. + LINE_ITEM_CHANGE_STATE_UNSPECIFIED = 0; + + // Change is in this state when a change is initiated and waiting for + // partner approval. + LINE_ITEM_CHANGE_STATE_PENDING_APPROVAL = 1; + + // Change is in this state after it's approved by the partner or auto-approved + // but before it takes effect. The change can be overwritten + // or cancelled depending on the new line item info property (pending Private + // Offer change cannot be cancelled and can only be overwritten by another + // Private Offer). + LINE_ITEM_CHANGE_STATE_APPROVED = 2; + + // Change is in this state after it's been activated. + LINE_ITEM_CHANGE_STATE_COMPLETED = 3; + + // Change is in this state if it was rejected by the partner. + LINE_ITEM_CHANGE_STATE_REJECTED = 4; + + // Change is in this state if it was abandoned by the user. + LINE_ITEM_CHANGE_STATE_ABANDONED = 5; + + // Change is in this state if it's currently being provisioned downstream. The + // change can't be overwritten or cancelled when it's in this state. + LINE_ITEM_CHANGE_STATE_ACTIVATING = 6; +} + +// Predefined types for line item change state reason. +enum LineItemChangeStateReasonType { + // Default value, indicating there's no predefined type for change state + // reason. + LINE_ITEM_CHANGE_STATE_REASON_TYPE_UNSPECIFIED = 0; + + // Change is in current state due to term expiration. + LINE_ITEM_CHANGE_STATE_REASON_TYPE_EXPIRED = 1; + + // Change is in current state due to user-initiated cancellation. + LINE_ITEM_CHANGE_STATE_REASON_TYPE_USER_CANCELLED = 2; + + // Change is in current state due to system-initiated cancellation. + LINE_ITEM_CHANGE_STATE_REASON_TYPE_SYSTEM_CANCELLED = 3; +} + +// Represents a purchase made by a customer on Cloud Marketplace. +// Creating an order makes sure that both the Google backend systems +// as well as external service provider's systems (if needed) allow use of +// purchased products and ensures the appropriate billing events occur. +// +// An Order can be made against one Product with multiple add-ons (optional) or +// one Quote which might reference multiple products. +// +// Customers typically choose a price plan for each Product purchased when +// they create an order and can change their plan later, if the product allows. +message Order { + option (google.api.resource) = { + type: "cloudcommerceconsumerprocurement.googleapis.com/Order" + pattern: "billingAccounts/{billing_account}/orders/{order}" + }; + + // Output only. The resource name of the order. + // Has the form + // `billingAccounts/{billing_account}/orders/{order}`. + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. The user-specified name of the order. + string display_name = 10 [(google.api.field_behavior) = REQUIRED]; + + // Output only. The items being purchased. + repeated LineItem line_items = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Line items that were cancelled. + repeated LineItem cancelled_line_items = 7 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The creation timestamp. + google.protobuf.Timestamp create_time = 8 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The last update timestamp. + google.protobuf.Timestamp update_time = 9 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The weak etag of the order. + string etag = 11; +} + +// A single item within an order. +message LineItem { + // Output only. Line item ID. + string line_item_id = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Current state and information of this item. It tells what, + // e.g. which offer, is currently effective. + LineItemInfo line_item_info = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. A change made on the item which is pending and not yet + // effective. Absence of this field indicates the line item is not undergoing + // a change. + LineItemChange pending_change = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Changes made on the item that are not pending anymore which + // might be because they already took effect, were reverted by the customer, + // or were rejected by the partner. No more operations are allowed on these + // changes. + repeated LineItemChange change_history = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// A change made on a line item. +message LineItemChange { + // Output only. Change ID. + // All changes made within one order update operation have the same change_id. + string change_id = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. Type of the change to make. + LineItemChangeType change_type = 2 [(google.api.field_behavior) = REQUIRED]; + + // Output only. Line item info before the change. + LineItemInfo old_line_item_info = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Line item info after the change. + LineItemInfo new_line_item_info = 4; + + // Output only. State of the change. + LineItemChangeState change_state = 5 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Provider-supplied message explaining the LineItemChange's + // state. Mainly used to communicate progress and ETA for provisioning in the + // case of `PENDING_APPROVAL`, and to explain why the change request was + // denied or canceled in the case of `REJECTED` and `CANCELED` states. + string state_reason = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Predefined enum types for why this line item change is in + // current state. For example, a line item change's state could be + // `LINE_ITEM_CHANGE_STATE_COMPLETED` because of end-of-term expiration, + // immediate cancellation initiated by the user, or system-initiated + // cancellation. + LineItemChangeStateReasonType change_state_reason_type = 10 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. A time at which the change became or will become (in case of + // pending change) effective. + google.protobuf.Timestamp change_effective_time = 7 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The time when change was initiated. + google.protobuf.Timestamp create_time = 8 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The time when change was updated, e.g. approved/rejected by + // partners or cancelled by the user. + google.protobuf.Timestamp update_time = 9 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Line item information. +message LineItemInfo { + // Optional. The name of the offer can have either of these formats: + // 'billingAccounts/{billing_account}/offers/{offer}', + // or 'services/{service}/standardOffers/{offer}'. + string offer = 13 [ + (google.api.field_behavior) = OPTIONAL, + (google.api.resource_reference) = { + type: "commerceoffercatalog.googleapis.com/Offer" + } + ]; + + // Optional. User-provided parameters. + repeated Parameter parameters = 9 [(google.api.field_behavior) = OPTIONAL]; + + // Output only. Information about the subscription created, if applicable. + Subscription subscription = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// User-provided Parameters. +message Parameter { + message Value { + // The kind of value. + oneof kind { + // Represents an int64 value. + int64 int64_value = 3; + + // Represents a string value. + string string_value = 4; + + // Represents a double value. + double double_value = 5; + } + } + + // Name of the parameter. + string name = 1; + + // Value of parameter. + Value value = 2; +} + +// Subscription information. +message Subscription { + // The timestamp when the subscription begins, if applicable. + google.protobuf.Timestamp start_time = 3; + + // The timestamp when the subscription ends, if applicable. + google.protobuf.Timestamp end_time = 1; + + // Whether auto renewal is enabled by user choice on current subscription. + // This field indicates order/subscription status after pending plan change is + // cancelled or rejected. + bool auto_renewal_enabled = 2; +} diff --git a/third_party/googleapis/google/cloud/commerce/consumer/procurement/v1/procurement_service.proto b/third_party/googleapis/google/cloud/commerce/consumer/procurement/v1/procurement_service.proto new file mode 100644 index 000000000..3fa40309a --- /dev/null +++ b/third_party/googleapis/google/cloud/commerce/consumer/procurement/v1/procurement_service.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.cloud.commerce.consumer.procurement.v1; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/commerce/consumer/procurement/v1/order.proto"; +import "google/longrunning/operations.proto"; + +option csharp_namespace = "Google.Cloud.Commerce.Consumer.Procurement.V1"; +option go_package = "cloud.google.com/go/commerce/consumer/procurement/apiv1/procurementpb;procurementpb"; +option java_multiple_files = true; +option java_package = "com.google.cloud.commerce.consumer.procurement.v1"; +option php_namespace = "Google\\Cloud\\Commerce\\Consumer\\Procurement\\V1"; +option ruby_package = "Google::Cloud::Commerce::Consumer::Procurement::V1"; + +// ConsumerProcurementService allows customers to make purchases of products +// served by the Cloud Commerce platform. +// +// +// When purchases are made, the +// [ConsumerProcurementService][google.cloud.commerce.consumer.procurement.v1.ConsumerProcurementService] +// programs the appropriate backends, including both Google's own +// infrastructure, as well as third-party systems, and to enable billing setup +// for charging for the procured item. +// +service ConsumerProcurementService { + option (google.api.default_host) = + "cloudcommerceconsumerprocurement.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform"; + + // Creates a new [Order][google.cloud.commerce.consumer.procurement.v1.Order]. + // + // This API only supports GCP spend-based committed use + // discounts specified by GCP documentation. + // + // The returned long-running operation is in-progress until the backend + // completes the creation of the resource. Once completed, the order is + // in + // [OrderState.ORDER_STATE_ACTIVE][google.cloud.commerce.consumer.procurement.v1.OrderState.ORDER_STATE_ACTIVE]. + // In case of failure, the order resource will be removed. + rpc PlaceOrder(PlaceOrderRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{parent=billingAccounts/*}/orders:place" + body: "*" + }; + option (google.longrunning.operation_info) = { + response_type: "Order" + metadata_type: "PlaceOrderMetadata" + }; + } + + // Returns the requested + // [Order][google.cloud.commerce.consumer.procurement.v1.Order] resource. + rpc GetOrder(GetOrderRequest) returns (Order) { + option (google.api.http) = { + get: "/v1/{name=billingAccounts/*/orders/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Lists [Order][google.cloud.commerce.consumer.procurement.v1.Order] + // resources that the user has access to, within the scope of the parent + // resource. + rpc ListOrders(ListOrdersRequest) returns (ListOrdersResponse) { + option (google.api.http) = { + get: "/v1/{parent=billingAccounts/*}/orders" + }; + option (google.api.method_signature) = "parent"; + } +} + +// Request message for +// [ConsumerProcurementService.PlaceOrder][google.cloud.commerce.consumer.procurement.v1.ConsumerProcurementService.PlaceOrder]. +message PlaceOrderRequest { + // Required. The resource name of the parent resource. + // This field has the form `billingAccounts/{billing-account-id}`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "cloudbilling.googleapis.com/BillingAccount" + } + ]; + + // Required. The user-specified name of the order being placed. + string display_name = 6 [(google.api.field_behavior) = REQUIRED]; + + // Optional. Places order for offer. Required when an offer-based order is + // being placed. + repeated LineItemInfo line_item_info = 10 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A unique identifier for this request. + // The server will ignore subsequent requests that provide a duplicate request + // ID for at least 120 minutes after the first request. + // + // The request ID must be a valid + // [UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier#Format). + string request_id = 7 [(google.api.field_behavior) = OPTIONAL]; +} + +// Message stored in the metadata field of the Operation returned by +// [ConsumerProcurementService.PlaceOrder][google.cloud.commerce.consumer.procurement.v1.ConsumerProcurementService.PlaceOrder]. +message PlaceOrderMetadata {} + +// Request message for +// [ConsumerProcurementService.GetOrder][google.cloud.commerce.consumer.procurement.v1.ConsumerProcurementService.GetOrder] +message GetOrderRequest { + // Required. The name of the order to retrieve. + string name = 1 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for +// [ConsumerProcurementService.ListOrders][google.cloud.commerce.consumer.procurement.v1.ConsumerProcurementService.ListOrders]. +message ListOrdersRequest { + // Required. The parent resource to query for orders. + // This field has the form `billingAccounts/{billing-account-id}`. + string parent = 1 [(google.api.field_behavior) = REQUIRED]; + + // The maximum number of entries requested. + // The default page size is 25 and the maximum page size is 200. + int32 page_size = 2; + + // The token for fetching the next page. + string page_token = 3; + + // Filter that you can use to limit the list request. + // + // A query string that can match a selected set of attributes + // with string values. For example, `display_name=abc`. + // Supported query attributes are + // + // * `display_name` + // + // If the query contains special characters other than letters, + // underscore, or digits, the phrase must be quoted with double quotes. For + // example, `display_name="foo:bar"`, where the display name needs to be + // quoted because it contains special character colon. + // + // Queries can be combined with `OR`, and `NOT` to form more complex queries. + // You can also group them to force a desired evaluation order. + // For example, `display_name=abc OR display_name=def`. + string filter = 4; +} + +// Response message for +// [ConsumerProcurementService.ListOrders][google.cloud.commerce.consumer.procurement.v1.ConsumerProcurementService.ListOrders]. +message ListOrdersResponse { + // The list of orders in this response. + repeated Order orders = 1; + + // The token for fetching the next page. + string next_page_token = 2; +} diff --git a/third_party/googleapis/google/cloud/commerce/consumer/procurement/v1alpha1/commerceconsumerprocurement_v1alpha1_grpc_service_config.json b/third_party/googleapis/google/cloud/commerce/consumer/procurement/v1alpha1/commerceconsumerprocurement_v1alpha1_grpc_service_config.json new file mode 100644 index 000000000..20d7ea196 --- /dev/null +++ b/third_party/googleapis/google/cloud/commerce/consumer/procurement/v1alpha1/commerceconsumerprocurement_v1alpha1_grpc_service_config.json @@ -0,0 +1,33 @@ +{ + "methodConfig": [ + { + "name": [ + { + "service": "google.cloud.commerce.consumer.procurement.v1alpha1.ConsumerProcurementService", + "method": "GetOrder" + }, + { + "service": "google.cloud.commerce.consumer.procurement.v1alpha1.ConsumerProcurementService", + "method": "ListOrders" + } + ], + "timeout": "60s", + "retryPolicy": { + "maxAttempts": 5, + "initialBackoff": "1s", + "maxBackoff": "60s", + "backoffMultiplier": 1.3, + "retryableStatusCodes": ["UNAVAILABLE"] + } + }, + { + "name": [ + { + "service": "google.cloud.commerce.consumer.procurement.v1alpha1.ConsumerProcurementService", + "method": "PlaceOrder" + } + ], + "timeout": "60s" + } + ] +} diff --git a/third_party/googleapis/google/cloud/confidentialcomputing/BUILD.bazel b/third_party/googleapis/google/cloud/confidentialcomputing/BUILD.bazel new file mode 100644 index 000000000..91d752441 --- /dev/null +++ b/third_party/googleapis/google/cloud/confidentialcomputing/BUILD.bazel @@ -0,0 +1,36 @@ +# This build file includes a target for the Ruby wrapper library for +# google-cloud-confidential_computing. + +# 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 confidentialcomputing. +# 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 = "confidentialcomputing_ruby_wrapper", + srcs = ["//google/cloud/confidentialcomputing/v1:confidentialcomputing_proto_with_info"], + extra_protoc_parameters = [ + "ruby-cloud-gem-name=google-cloud-confidential_computing", + "ruby-cloud-wrapper-of=v1:0.7", + ], + service_yaml = "//google/cloud/confidentialcomputing/v1:confidentialcomputing_v1.yaml", + transport = "grpc+rest", +) + +# Open Source package. +ruby_gapic_assembly_pkg( + name = "google-cloud-confidentialcomputing-ruby", + deps = [ + ":confidentialcomputing_ruby_wrapper", + ], +) diff --git a/third_party/googleapis/google/cloud/confidentialcomputing/v1/BUILD.bazel b/third_party/googleapis/google/cloud/confidentialcomputing/v1/BUILD.bazel new file mode 100644 index 000000000..a87fdb489 --- /dev/null +++ b/third_party/googleapis/google/cloud/confidentialcomputing/v1/BUILD.bazel @@ -0,0 +1,374 @@ +# 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 = "confidentialcomputing_proto", + srcs = [ + "service.proto", + ], + deps = [ + "//google/api:annotations_proto", + "//google/api:client_proto", + "//google/api:field_behavior_proto", + "//google/api:resource_proto", + "//google/rpc:status_proto", + "@com_google_protobuf//:timestamp_proto", + ], +) + +proto_library_with_info( + name = "confidentialcomputing_proto_with_info", + deps = [ + ":confidentialcomputing_proto", + "//google/cloud:common_resources_proto", + "//google/cloud/location:location_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 = "confidentialcomputing_java_proto", + deps = [":confidentialcomputing_proto"], +) + +java_grpc_library( + name = "confidentialcomputing_java_grpc", + srcs = [":confidentialcomputing_proto"], + deps = [":confidentialcomputing_java_proto"], +) + +java_gapic_library( + name = "confidentialcomputing_java_gapic", + srcs = [":confidentialcomputing_proto_with_info"], + gapic_yaml = None, + grpc_service_config = "confidentialcomputing_v1_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "confidentialcomputing_v1.yaml", + test_deps = [ + "//google/cloud/location:location_java_grpc", + ":confidentialcomputing_java_grpc", + ], + transport = "grpc+rest", + deps = [ + ":confidentialcomputing_java_proto", + "//google/api:api_java_proto", + "//google/cloud/location:location_java_proto", + ], +) + +java_gapic_test( + name = "confidentialcomputing_java_gapic_test_suite", + test_classes = [ + "com.google.cloud.confidentialcomputing.v1.ConfidentialComputingClientHttpJsonTest", + "com.google.cloud.confidentialcomputing.v1.ConfidentialComputingClientTest", + ], + runtime_deps = [":confidentialcomputing_java_gapic_test"], +) + +# Open Source Packages +java_gapic_assembly_gradle_pkg( + name = "google-cloud-confidentialcomputing-v1-java", + include_samples = True, + transport = "grpc+rest", + deps = [ + ":confidentialcomputing_java_gapic", + ":confidentialcomputing_java_grpc", + ":confidentialcomputing_java_proto", + ":confidentialcomputing_proto", + ], +) + +############################################################################## +# Go +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "go_gapic_assembly_pkg", + "go_gapic_library", + "go_proto_library", +) + +go_proto_library( + name = "confidentialcomputing_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "cloud.google.com/go/confidentialcomputing/apiv1/confidentialcomputingpb", + protos = [":confidentialcomputing_proto"], + deps = [ + "//google/api:annotations_go_proto", + "//google/rpc:status_go_proto", + ], +) + +go_gapic_library( + name = "confidentialcomputing_go_gapic", + srcs = [":confidentialcomputing_proto_with_info"], + grpc_service_config = "confidentialcomputing_v1_grpc_service_config.json", + importpath = "cloud.google.com/go/confidentialcomputing/apiv1;confidentialcomputing", + metadata = True, + release_level = "ga", + rest_numeric_enums = True, + service_yaml = "confidentialcomputing_v1.yaml", + transport = "grpc+rest", + deps = [ + ":confidentialcomputing_go_proto", + "//google/cloud/location:location_go_proto", + ], +) + +# Open Source Packages +go_gapic_assembly_pkg( + name = "gapi-cloud-confidentialcomputing-v1-go", + deps = [ + ":confidentialcomputing_go_gapic", + ":confidentialcomputing_go_gapic_srcjar-metadata.srcjar", + ":confidentialcomputing_go_gapic_srcjar-snippets.srcjar", + ":confidentialcomputing_go_gapic_srcjar-test.srcjar", + ":confidentialcomputing_go_proto", + ], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "py_gapic_assembly_pkg", + "py_gapic_library", + "py_test", +) + +py_gapic_library( + name = "confidentialcomputing_py_gapic", + srcs = [":confidentialcomputing_proto"], + grpc_service_config = "confidentialcomputing_v1_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "confidentialcomputing_v1.yaml", + transport = "grpc+rest", + deps = [ + ], +) + +py_test( + name = "confidentialcomputing_py_gapic_test", + srcs = [ + "confidentialcomputing_py_gapic_pytest.py", + "confidentialcomputing_py_gapic_test.py", + ], + legacy_create_init = False, + deps = [":confidentialcomputing_py_gapic"], +) + +# Open Source Packages +py_gapic_assembly_pkg( + name = "confidentialcomputing-v1-py", + deps = [ + ":confidentialcomputing_py_gapic", + ], +) + +############################################################################## +# PHP +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "php_gapic_assembly_pkg", + "php_gapic_library", + "php_proto_library", +) + +php_proto_library( + name = "confidentialcomputing_php_proto", + deps = [":confidentialcomputing_proto"], +) + +php_gapic_library( + name = "confidentialcomputing_php_gapic", + srcs = [":confidentialcomputing_proto_with_info"], + grpc_service_config = "confidentialcomputing_v1_grpc_service_config.json", + migration_mode = "MIGRATING", + rest_numeric_enums = True, + service_yaml = "confidentialcomputing_v1.yaml", + transport = "grpc+rest", + deps = [ + ":confidentialcomputing_php_proto", + ], +) + +# Open Source Packages +php_gapic_assembly_pkg( + name = "google-cloud-confidentialcomputing-v1-php", + deps = [ + ":confidentialcomputing_php_gapic", + ":confidentialcomputing_php_proto", + ], +) + +############################################################################## +# Node.js +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "nodejs_gapic_assembly_pkg", + "nodejs_gapic_library", +) + +nodejs_gapic_library( + name = "confidentialcomputing_nodejs_gapic", + package_name = "@google-cloud/confidentialcomputing", + src = ":confidentialcomputing_proto_with_info", + extra_protoc_parameters = ["metadata"], + grpc_service_config = "confidentialcomputing_v1_grpc_service_config.json", + package = "google.cloud.confidentialcomputing.v1", + rest_numeric_enums = True, + service_yaml = "confidentialcomputing_v1.yaml", + transport = "grpc+rest", + deps = [], +) + +nodejs_gapic_assembly_pkg( + name = "confidentialcomputing-v1-nodejs", + deps = [ + ":confidentialcomputing_nodejs_gapic", + ":confidentialcomputing_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 = "confidentialcomputing_ruby_proto", + deps = [":confidentialcomputing_proto"], +) + +ruby_grpc_library( + name = "confidentialcomputing_ruby_grpc", + srcs = [":confidentialcomputing_proto"], + deps = [":confidentialcomputing_ruby_proto"], +) + +ruby_cloud_gapic_library( + name = "confidentialcomputing_ruby_gapic", + srcs = [":confidentialcomputing_proto_with_info"], + extra_protoc_parameters = ["ruby-cloud-gem-name=google-cloud-confidential_computing-v1"], + grpc_service_config = "confidentialcomputing_v1_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "confidentialcomputing_v1.yaml", + transport = "grpc+rest", + deps = [ + ":confidentialcomputing_ruby_grpc", + ":confidentialcomputing_ruby_proto", + ], +) + +# Open Source Packages +ruby_gapic_assembly_pkg( + name = "google-cloud-confidentialcomputing-v1-ruby", + deps = [ + ":confidentialcomputing_ruby_gapic", + ":confidentialcomputing_ruby_grpc", + ":confidentialcomputing_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 = "confidentialcomputing_csharp_proto", + deps = [":confidentialcomputing_proto"], +) + +csharp_grpc_library( + name = "confidentialcomputing_csharp_grpc", + srcs = [":confidentialcomputing_proto"], + deps = [":confidentialcomputing_csharp_proto"], +) + +csharp_gapic_library( + name = "confidentialcomputing_csharp_gapic", + srcs = [":confidentialcomputing_proto_with_info"], + common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json", + grpc_service_config = "confidentialcomputing_v1_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "confidentialcomputing_v1.yaml", + deps = [ + ":confidentialcomputing_csharp_grpc", + ":confidentialcomputing_csharp_proto", + ], +) + +# Open Source Packages +csharp_gapic_assembly_pkg( + name = "google-cloud-confidentialcomputing-v1-csharp", + deps = [ + ":confidentialcomputing_csharp_gapic", + ":confidentialcomputing_csharp_grpc", + ":confidentialcomputing_csharp_proto", + ], +) + +############################################################################## +# C++ +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "cc_grpc_library", + "cc_proto_library", +) + +cc_proto_library( + name = "confidentialcomputing_cc_proto", + deps = [":confidentialcomputing_proto"], +) + +cc_grpc_library( + name = "confidentialcomputing_cc_grpc", + srcs = [":confidentialcomputing_proto"], + grpc_only = True, + deps = [":confidentialcomputing_cc_proto"], +) diff --git a/third_party/googleapis/google/cloud/confidentialcomputing/v1/confidentialcomputing_v1.yaml b/third_party/googleapis/google/cloud/confidentialcomputing/v1/confidentialcomputing_v1.yaml new file mode 100644 index 000000000..86c1d1489 --- /dev/null +++ b/third_party/googleapis/google/cloud/confidentialcomputing/v1/confidentialcomputing_v1.yaml @@ -0,0 +1,86 @@ +type: google.api.Service +config_version: 3 +name: confidentialcomputing.googleapis.com +title: Confidential Computing API + +apis: +- name: google.cloud.confidentialcomputing.v1.ConfidentialComputing +- name: google.cloud.location.Locations + +documentation: + summary: Attestation verifier for Confidential Space. + 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. + +http: + rules: + - selector: google.cloud.location.Locations.GetLocation + get: '/v1/{name=projects/*/locations/*}' + - selector: google.cloud.location.Locations.ListLocations + get: '/v1/{name=projects/*}/locations' + +authentication: + rules: + - selector: google.cloud.confidentialcomputing.v1.ConfidentialComputing.CreateChallenge + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + - selector: google.cloud.confidentialcomputing.v1.ConfidentialComputing.VerifyAttestation + 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 + +publishing: + new_issue_uri: https://issuetracker.google.com/issues/new?component=1134314&template=1640550 + documentation_uri: https://cloud.google.com/confidential-computing + api_short_name: confidentialcomputing + github_label: 'api: confidentialcomputing' + doc_tag_prefix: confidentialcomputing + organization: CLOUD + library_settings: + - version: google.cloud.confidentialcomputing.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 diff --git a/third_party/googleapis/google/cloud/confidentialcomputing/v1/confidentialcomputing_v1_grpc_service_config.json b/third_party/googleapis/google/cloud/confidentialcomputing/v1/confidentialcomputing_v1_grpc_service_config.json new file mode 100644 index 000000000..c39cefb96 --- /dev/null +++ b/third_party/googleapis/google/cloud/confidentialcomputing/v1/confidentialcomputing_v1_grpc_service_config.json @@ -0,0 +1,22 @@ +{ + "methodConfig": [{ + "name": [ + { "service": "google.cloud.confidentialcomputing.v1.ConfidentialComputing", "method": "CreateChallenge" }, + { "service": "google.cloud.confidentialcomputing.v1.ConfidentialComputing", "method": "VerifyAttestation" } + ], + "timeout": "60s", + "retryPolicy": { + "maxAttempts": 5, + "initialBackoff": "1s", + "maxBackoff": "60s", + "backoffMultiplier": 1.3, + "retryableStatusCodes": ["UNAVAILABLE"] + } + }, + { + "name": [ + { "service": "google.cloud.confidentialcomputing.v1.ConfidentialComputing" } + ], + "timeout": "60s" + }] +} \ No newline at end of file diff --git a/third_party/googleapis/google/cloud/confidentialcomputing/v1/service.proto b/third_party/googleapis/google/cloud/confidentialcomputing/v1/service.proto new file mode 100644 index 000000000..ab348807f --- /dev/null +++ b/third_party/googleapis/google/cloud/confidentialcomputing/v1/service.proto @@ -0,0 +1,272 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF 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.confidentialcomputing.v1; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/timestamp.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Cloud.ConfidentialComputing.V1"; +option go_package = "cloud.google.com/go/confidentialcomputing/apiv1/confidentialcomputingpb;confidentialcomputingpb"; +option java_multiple_files = true; +option java_outer_classname = "ServiceProto"; +option java_package = "com.google.cloud.confidentialcomputing.v1"; +option php_namespace = "Google\\Cloud\\ConfidentialComputing\\V1"; +option ruby_package = "Google::Cloud::ConfidentialComputing::V1"; + +// Service describing handlers for resources +service ConfidentialComputing { + option (google.api.default_host) = "confidentialcomputing.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform"; + + // Creates a new Challenge in a given project and location. + rpc CreateChallenge(CreateChallengeRequest) returns (Challenge) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*}/challenges" + body: "challenge" + }; + option (google.api.method_signature) = "parent,challenge"; + } + + // Verifies the provided attestation info, returning a signed OIDC token. + rpc VerifyAttestation(VerifyAttestationRequest) + returns (VerifyAttestationResponse) { + option (google.api.http) = { + post: "/v1/{challenge=projects/*/locations/*/challenges/*}:verifyAttestation" + body: "*" + }; + } +} + +// SigningAlgorithm enumerates all the supported signing algorithms. +enum SigningAlgorithm { + // Unspecified signing algorithm. + SIGNING_ALGORITHM_UNSPECIFIED = 0; + + // RSASSA-PSS with a SHA256 digest. + RSASSA_PSS_SHA256 = 1; + + // RSASSA-PKCS1 v1.5 with a SHA256 digest. + RSASSA_PKCS1V15_SHA256 = 2; + + // ECDSA on the P-256 Curve with a SHA256 digest. + ECDSA_P256_SHA256 = 3; +} + +// Token type enum contains the different types of token responses Confidential +// Space supports +enum TokenType { + // Unspecified token type + TOKEN_TYPE_UNSPECIFIED = 0; + + // OpenID Connect (OIDC) token type + TOKEN_TYPE_OIDC = 1; +} + +// A Challenge from the server used to guarantee freshness of attestations +message Challenge { + option (google.api.resource) = { + type: "confidentialcomputing.googleapis.com/Challenge" + pattern: "projects/{project}/locations/{location}/challenges/{uuid}" + }; + + // Output only. The resource name for this Challenge in the format + // `projects/*/locations/*/challenges/*` + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The time at which this Challenge was created + google.protobuf.Timestamp create_time = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The time at which this Challenge will no longer be usable. It + // is also the expiration time for any tokens generated from this Challenge. + google.protobuf.Timestamp expire_time = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Indicates if this challenge has been used to generate a token. + bool used = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Identical to nonce, but as a string. + string tpm_nonce = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Message for creating a Challenge +message CreateChallengeRequest { + // Required. The resource name of the location where the Challenge will be + // used, in the format `projects/*/locations/*`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "locations.googleapis.com/Location" + } + ]; + + // Required. The Challenge to be created. Currently this field can be empty as + // all the Challenge fields are set by the server. + Challenge challenge = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// A request for an OIDC token, providing all the necessary information needed +// for this service to verify the plaform state of the requestor. +message VerifyAttestationRequest { + // Required. The name of the Challenge whose nonce was used to generate the + // attestation, in the format `projects/*/locations/*/challenges/*`. The + // provided Challenge will be consumed, and cannot be used again. + string challenge = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "confidentialcomputing.googleapis.com/Challenge" + } + ]; + + // Optional. Credentials used to populate the "emails" claim in the + // claims_token. + GcpCredentials gcp_credentials = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Required. The TPM-specific data provided by the attesting platform, used to + // populate any of the claims regarding platform state. + TpmAttestation tpm_attestation = 3 [(google.api.field_behavior) = REQUIRED]; + + // Optional. Optional information related to the Confidential Space TEE. + ConfidentialSpaceInfo confidential_space_info = 4 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A collection of optional, workload-specified claims that modify + // the token output. + TokenOptions token_options = 5 [(google.api.field_behavior) = OPTIONAL]; +} + +// A response once an attestation has been successfully verified, containing a +// signed OIDC token. +message VerifyAttestationResponse { + // Output only. Same as claims_token, but as a string. + string oidc_claims_token = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. A list of messages that carry the partial error details + // related to VerifyAttestation. + repeated google.rpc.Status partial_errors = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Credentials issued by GCP which are linked to the platform attestation. These +// will be verified server-side as part of attestaion verification. +message GcpCredentials { + // Same as id_tokens, but as a string. + repeated string service_account_id_tokens = 2; +} + +// Options to modify claims in the token to generate custom-purpose tokens. +message TokenOptions { + // Optional. Optional string to issue the token with a custom audience claim. + // Required if one or more nonces are specified. + string audience = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Optional parameter to place one or more nonces in the eat_nonce + // claim in the output token. The minimum size for JSON-encoded EATs is 10 + // bytes and the maximum size is 74 bytes. + repeated string nonce = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Optional token type to select what type of token to return. + TokenType token_type = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// TPM2 data containing everything necessary to validate any platform state +// measured into the TPM. +message TpmAttestation { + // Information about Platform Control Registers (PCRs) including a signature + // over their values, which can be used for remote validation. + message Quote { + // The hash algorithm of the PCR bank being quoted, encoded as a TPM_ALG_ID + int32 hash_algo = 1; + + // Raw binary values of each PCRs being quoted. + map pcr_values = 2; + + // TPM2 quote, encoded as a TPMS_ATTEST + bytes raw_quote = 3; + + // TPM2 signature, encoded as a TPMT_SIGNATURE + bytes raw_signature = 4; + } + + // TPM2 PCR Quotes generated by calling TPM2_Quote on each PCR bank. + repeated Quote quotes = 1; + + // The binary TCG Event Log containing events measured into the TPM by the + // platform firmware and operating system. Formatted as described in the + // "TCG PC Client Platform Firmware Profile Specification". + bytes tcg_event_log = 2; + + // An Event Log containing additional events measured into the TPM that are + // not already present in the tcg_event_log. Formatted as described in the + // "Canonical Event Log Format" TCG Specification. + bytes canonical_event_log = 3; + + // DER-encoded X.509 certificate of the Attestation Key (otherwise known as + // an AK or a TPM restricted signing key) used to generate the quotes. + bytes ak_cert = 4; + + // List of DER-encoded X.509 certificates which, together with the ak_cert, + // chain back to a trusted Root Certificate. + repeated bytes cert_chain = 5; +} + +// ConfidentialSpaceInfo contains information related to the Confidential Space +// TEE. +message ConfidentialSpaceInfo { + // Optional. A list of signed entities containing container image signatures + // that can be used for server-side signature verification. + repeated SignedEntity signed_entities = 1 + [(google.api.field_behavior) = OPTIONAL]; +} + +// SignedEntity represents an OCI image object containing everything necessary +// to verify container image signatures. +message SignedEntity { + // Optional. A list of container image signatures attached to an OCI image + // object. + repeated ContainerImageSignature container_image_signatures = 1 + [(google.api.field_behavior) = OPTIONAL]; +} + +// ContainerImageSignature holds necessary metadata to verify a container image +// signature. +message ContainerImageSignature { + // Optional. The binary signature payload following the SimpleSigning format + // https://github.com/sigstore/cosign/blob/main/specs/SIGNATURE_SPEC.md#simple-signing. + // This payload includes the container image digest. + bytes payload = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A signature over the payload. + // The container image digest is incorporated into the signature as follows: + // 1. Generate a SimpleSigning format payload that includes the container + // image digest. + // 2. Generate a signature over SHA256 digest of the payload. + // The signature generation process can be represented as follows: + // `Sign(sha256(SimpleSigningPayload(sha256(Image Manifest))))` + bytes signature = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Reserved for future use. + bytes public_key = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Reserved for future use. + SigningAlgorithm sig_alg = 4 [(google.api.field_behavior) = OPTIONAL]; +} diff --git a/third_party/googleapis/google/cloud/confidentialcomputing/v1alpha1/BUILD.bazel b/third_party/googleapis/google/cloud/confidentialcomputing/v1alpha1/BUILD.bazel new file mode 100644 index 000000000..150129e86 --- /dev/null +++ b/third_party/googleapis/google/cloud/confidentialcomputing/v1alpha1/BUILD.bazel @@ -0,0 +1,369 @@ +# 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 = "confidentialcomputing_proto", + srcs = [ + "service.proto", + ], + deps = [ + "//google/api:annotations_proto", + "//google/api:client_proto", + "//google/api:field_behavior_proto", + "//google/api:resource_proto", + "@com_google_protobuf//:timestamp_proto", + ], +) + +proto_library_with_info( + name = "confidentialcomputing_proto_with_info", + deps = [ + ":confidentialcomputing_proto", + "//google/cloud:common_resources_proto", + "//google/cloud/location:location_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 = "confidentialcomputing_java_proto", + deps = [":confidentialcomputing_proto"], +) + +java_grpc_library( + name = "confidentialcomputing_java_grpc", + srcs = [":confidentialcomputing_proto"], + deps = [":confidentialcomputing_java_proto"], +) + +java_gapic_library( + name = "confidentialcomputing_java_gapic", + srcs = [":confidentialcomputing_proto_with_info"], + gapic_yaml = None, + grpc_service_config = "confidentialcomputing_v1alpha1_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "confidentialcomputing_v1alpha1.yaml", + test_deps = [ + ":confidentialcomputing_java_grpc", + "//google/cloud/location:location_java_grpc", + ], + transport = "grpc+rest", + deps = [ + ":confidentialcomputing_java_proto", + "//google/api:api_java_proto", + "//google/cloud/location:location_java_proto", + ], +) + +java_gapic_test( + name = "confidentialcomputing_java_gapic_test_suite", + test_classes = [ + "com.google.cloud.confidentialcomputing.v1alpha1.ConfidentialComputingClientHttpJsonTest", + "com.google.cloud.confidentialcomputing.v1alpha1.ConfidentialComputingClientTest", + ], + runtime_deps = [":confidentialcomputing_java_gapic_test"], +) + +# Open Source Packages +java_gapic_assembly_gradle_pkg( + name = "google-cloud-confidentialcomputing-v1alpha1-java", + include_samples = True, + transport = "grpc+rest", + deps = [ + ":confidentialcomputing_java_gapic", + ":confidentialcomputing_java_grpc", + ":confidentialcomputing_java_proto", + ":confidentialcomputing_proto", + ], +) + +############################################################################## +# Go +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "go_gapic_assembly_pkg", + "go_gapic_library", + "go_proto_library", +) + +go_proto_library( + name = "confidentialcomputing_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "cloud.google.com/go/confidentialcomputing/apiv1alpha1/confidentialcomputingpb", + protos = [":confidentialcomputing_proto"], + deps = [ + "//google/api:annotations_go_proto", + ], +) + +go_gapic_library( + name = "confidentialcomputing_go_gapic", + srcs = [":confidentialcomputing_proto_with_info"], + grpc_service_config = "confidentialcomputing_v1alpha1_grpc_service_config.json", + importpath = "cloud.google.com/go/confidentialcomputing/apiv1alpha1;confidentialcomputing", + metadata = True, + release_level = "beta", + rest_numeric_enums = True, + service_yaml = "confidentialcomputing_v1alpha1.yaml", + transport = "grpc+rest", + deps = [ + ":confidentialcomputing_go_proto", + "//google/cloud/location:location_go_proto", + ], +) + +# Open Source Packages +go_gapic_assembly_pkg( + name = "gapi-cloud-confidentialcomputing-v1alpha1-go", + deps = [ + ":confidentialcomputing_go_gapic", + ":confidentialcomputing_go_gapic_srcjar-metadata.srcjar", + ":confidentialcomputing_go_gapic_srcjar-snippets.srcjar", + ":confidentialcomputing_go_gapic_srcjar-test.srcjar", + ":confidentialcomputing_go_proto", + ], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "py_gapic_assembly_pkg", + "py_gapic_library", + "py_test", +) + +py_gapic_library( + name = "confidentialcomputing_py_gapic", + srcs = [":confidentialcomputing_proto"], + grpc_service_config = "confidentialcomputing_v1alpha1_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "confidentialcomputing_v1alpha1.yaml", + transport = "grpc+rest", + deps = [], +) + +py_test( + name = "confidentialcomputing_py_gapic_test", + srcs = [ + "confidentialcomputing_py_gapic_pytest.py", + "confidentialcomputing_py_gapic_test.py", + ], + legacy_create_init = False, + deps = [":confidentialcomputing_py_gapic"], +) + +# Open Source Packages +py_gapic_assembly_pkg( + name = "confidentialcomputing-v1alpha1-py", + deps = [ + ":confidentialcomputing_py_gapic", + ], +) + +############################################################################## +# PHP +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "php_gapic_assembly_pkg", + "php_gapic_library", + "php_proto_library", +) + +php_proto_library( + name = "confidentialcomputing_php_proto", + deps = [":confidentialcomputing_proto"], +) + +php_gapic_library( + name = "confidentialcomputing_php_gapic", + srcs = [":confidentialcomputing_proto_with_info"], + grpc_service_config = "confidentialcomputing_v1alpha1_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "confidentialcomputing_v1alpha1.yaml", + transport = "grpc+rest", + deps = [":confidentialcomputing_php_proto"], +) + +# Open Source Packages +php_gapic_assembly_pkg( + name = "google-cloud-confidentialcomputing-v1alpha1-php", + deps = [ + ":confidentialcomputing_php_gapic", + ":confidentialcomputing_php_proto", + ], +) + +############################################################################## +# Node.js +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "nodejs_gapic_assembly_pkg", + "nodejs_gapic_library", +) + +nodejs_gapic_library( + name = "confidentialcomputing_nodejs_gapic", + package_name = "@google-cloud/confidentialcomputing", + src = ":confidentialcomputing_proto_with_info", + extra_protoc_parameters = ["metadata"], + grpc_service_config = "confidentialcomputing_v1alpha1_grpc_service_config.json", + package = "google.cloud.confidentialcomputing.v1alpha1", + rest_numeric_enums = True, + service_yaml = "confidentialcomputing_v1alpha1.yaml", + transport = "grpc+rest", + deps = [], +) + +nodejs_gapic_assembly_pkg( + name = "confidentialcomputing-v1alpha1-nodejs", + deps = [ + ":confidentialcomputing_nodejs_gapic", + ":confidentialcomputing_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 = "confidentialcomputing_ruby_proto", + deps = [":confidentialcomputing_proto"], +) + +ruby_grpc_library( + name = "confidentialcomputing_ruby_grpc", + srcs = [":confidentialcomputing_proto"], + deps = [":confidentialcomputing_ruby_proto"], +) + +ruby_cloud_gapic_library( + name = "confidentialcomputing_ruby_gapic", + srcs = [":confidentialcomputing_proto_with_info"], + extra_protoc_parameters = [ + "ruby-cloud-gem-name=google-cloud-confidentialcomputing-v1alpha1", + ], + grpc_service_config = "confidentialcomputing_v1alpha1_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "confidentialcomputing_v1alpha1.yaml", + deps = [ + ":confidentialcomputing_ruby_grpc", + ":confidentialcomputing_ruby_proto", + ], +) + +# Open Source Packages +ruby_gapic_assembly_pkg( + name = "google-cloud-confidentialcomputing-v1alpha1-ruby", + deps = [ + ":confidentialcomputing_ruby_gapic", + ":confidentialcomputing_ruby_grpc", + ":confidentialcomputing_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 = "confidentialcomputing_csharp_proto", + deps = [":confidentialcomputing_proto"], +) + +csharp_grpc_library( + name = "confidentialcomputing_csharp_grpc", + srcs = [":confidentialcomputing_proto"], + deps = [":confidentialcomputing_csharp_proto"], +) + +csharp_gapic_library( + name = "confidentialcomputing_csharp_gapic", + srcs = [":confidentialcomputing_proto_with_info"], + common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json", + grpc_service_config = "confidentialcomputing_v1alpha1_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "confidentialcomputing_v1alpha1.yaml", + deps = [ + ":confidentialcomputing_csharp_grpc", + ":confidentialcomputing_csharp_proto", + ], +) + +# Open Source Packages +csharp_gapic_assembly_pkg( + name = "google-cloud-confidentialcomputing-v1alpha1-csharp", + deps = [ + ":confidentialcomputing_csharp_gapic", + ":confidentialcomputing_csharp_grpc", + ":confidentialcomputing_csharp_proto", + ], +) + +############################################################################## +# C++ +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "cc_grpc_library", + "cc_proto_library", +) + +cc_proto_library( + name = "confidentialcomputing_cc_proto", + deps = [":confidentialcomputing_proto"], +) + +cc_grpc_library( + name = "confidentialcomputing_cc_grpc", + srcs = [":confidentialcomputing_proto"], + grpc_only = True, + deps = [":confidentialcomputing_cc_proto"], +) diff --git a/third_party/googleapis/google/cloud/confidentialcomputing/v1alpha1/confidentialcomputing_v1alpha1.yaml b/third_party/googleapis/google/cloud/confidentialcomputing/v1alpha1/confidentialcomputing_v1alpha1.yaml new file mode 100644 index 000000000..ddf44767f --- /dev/null +++ b/third_party/googleapis/google/cloud/confidentialcomputing/v1alpha1/confidentialcomputing_v1alpha1.yaml @@ -0,0 +1,96 @@ +type: google.api.Service +config_version: 3 +name: confidentialcomputing.googleapis.com +title: Confidential Computing API + +apis: +- name: google.cloud.confidentialcomputing.v1alpha1.ConfidentialComputing +- name: google.cloud.location.Locations + +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. + +backend: + rules: + - selector: google.cloud.confidentialcomputing.v1alpha1.ConfidentialComputing.CreateChallenge + deadline: 60.0 + - selector: google.cloud.confidentialcomputing.v1alpha1.ConfidentialComputing.VerifyAttestation + deadline: 60.0 + - selector: google.cloud.location.Locations.GetLocation + deadline: 60.0 + - selector: google.cloud.location.Locations.ListLocations + deadline: 60.0 + +http: + rules: + - selector: google.cloud.location.Locations.GetLocation + get: '/v1alpha1/{name=projects/*/locations/*}' + - selector: google.cloud.location.Locations.ListLocations + get: '/v1alpha1/{name=projects/*}/locations' + +authentication: + rules: + - selector: google.cloud.confidentialcomputing.v1alpha1.ConfidentialComputing.CreateChallenge + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + - selector: google.cloud.confidentialcomputing.v1alpha1.ConfidentialComputing.VerifyAttestation + 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 + +publishing: + new_issue_uri: https://issuetracker.google.com/issues/new?component=1166820 + documentation_uri: https://cloud.google.com/confidential-computing + api_short_name: confidentialcomputing + github_label: 'api: confidentialcomputing' + doc_tag_prefix: confidentialcomputing + organization: CLOUD + library_settings: + - version: google.cloud.confidentialcomputing.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 diff --git a/third_party/googleapis/google/cloud/confidentialcomputing/v1alpha1/confidentialcomputing_v1alpha1_grpc_service_config.json b/third_party/googleapis/google/cloud/confidentialcomputing/v1alpha1/confidentialcomputing_v1alpha1_grpc_service_config.json new file mode 100644 index 000000000..786e52ebb --- /dev/null +++ b/third_party/googleapis/google/cloud/confidentialcomputing/v1alpha1/confidentialcomputing_v1alpha1_grpc_service_config.json @@ -0,0 +1,22 @@ +{ + "methodConfig": [{ + "name": [ + { "service": "google.cloud.confidentialcomputing.v1alpha1.ConfidentialComputing", "method": "CreateChallenge" }, + { "service": "google.cloud.confidentialcomputing.v1alpha1.ConfidentialComputing", "method": "VerifyAttestation" } + ], + "timeout": "60s", + "retryPolicy": { + "maxAttempts": 5, + "initialBackoff": "1s", + "maxBackoff": "60s", + "backoffMultiplier": 1.3, + "retryableStatusCodes": ["UNAVAILABLE"] + } + }, + { + "name": [ + { "service": "google.cloud.confidentialcomputing.v1alpha1.ConfidentialComputing" } + ], + "timeout": "60s" + }] +} \ No newline at end of file diff --git a/third_party/googleapis/google/cloud/confidentialcomputing/v1alpha1/service.proto b/third_party/googleapis/google/cloud/confidentialcomputing/v1alpha1/service.proto new file mode 100644 index 000000000..89b4db4c2 --- /dev/null +++ b/third_party/googleapis/google/cloud/confidentialcomputing/v1alpha1/service.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.cloud.confidentialcomputing.v1alpha1; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.ConfidentialComputing.V1Alpha1"; +option go_package = "cloud.google.com/go/confidentialcomputing/apiv1alpha1/confidentialcomputingpb;confidentialcomputingpb"; +option java_multiple_files = true; +option java_outer_classname = "ServiceProto"; +option java_package = "com.google.cloud.confidentialcomputing.v1alpha1"; +option php_namespace = "Google\\Cloud\\ConfidentialComputing\\V1alpha1"; +option ruby_package = "Google::Cloud::ConfidentialComputing::V1alpha1"; + +// Service describing handlers for resources +service ConfidentialComputing { + option (google.api.default_host) = "confidentialcomputing.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform"; + + // Creates a new Challenge in a given project and location. + rpc CreateChallenge(CreateChallengeRequest) returns (Challenge) { + option (google.api.http) = { + post: "/v1alpha1/{parent=projects/*/locations/*}/challenges" + body: "challenge" + }; + option (google.api.method_signature) = "parent,challenge"; + } + + // Verifies the provided attestation info, returning a signed OIDC token. + rpc VerifyAttestation(VerifyAttestationRequest) + returns (VerifyAttestationResponse) { + option (google.api.http) = { + post: "/v1alpha1/{challenge=projects/*/locations/*/challenges/*}:verifyAttestation" + body: "*" + }; + } +} + +// A Challenge from the server used to guarantee freshness of attestations +message Challenge { + option (google.api.resource) = { + type: "confidentialcomputing.googleapis.com/Challenge" + pattern: "projects/{project}/locations/{location}/challenges/{uuid}" + }; + + // Output only. The resource name for this Challenge in the format + // `projects/*/locations/*/challenges/*` + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The time at which this Challenge was created + google.protobuf.Timestamp create_time = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The time at which this Challenge will no longer be usable. It + // is also the expiration time for any tokens generated from this Challenge. + google.protobuf.Timestamp expire_time = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Indicates if this challenge has been used to generate a token. + bool used = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Random data which should be used when calling TPM2_Quote. + // -- + bytes nonce = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Message for creating a Challenge +message CreateChallengeRequest { + // Required. The resource name of the location where the Challenge will be + // used, in the format `projects/*/locations/*`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "locations.googleapis.com/Location" + } + ]; + + // Required. The Challenge to be created. Currently this field can be empty as + // all the Challenge fields are set by the server. + Challenge challenge = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// A request for an OIDC token, providing all the necessary information needed +// for this service to verify the plaform state of the requestor. +message VerifyAttestationRequest { + // Required. The name of the Challenge whose nonce was used to generate the + // attestation, in the format `projects/*/locations/*/challenges/*`. The + // provided Challenge will be consumed, and cannot be used again. + string challenge = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "confidentialcomputing.googleapis.com/Challenge" + } + ]; + + // Optional. Credentials used to populate the "emails" claim in the + // claims_token. + GcpCredentials gcp_credentials = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Required. The TPM-specific data provided by the attesting platform, used to + // populate any of the claims regarding platform state. + TpmAttestation tpm_attestation = 3 [(google.api.field_behavior) = REQUIRED]; +} + +// A response once an attestation has been successfully verified, containing a +// signed OIDC token. +message VerifyAttestationResponse { + // Output only. The OIDC token issued by this service. It contains specific + // platform claims based on the contents of the provided attestation. + // -- + bytes claims_token = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Credentials issued by GCP which are linked to the platform attestation. These +// will be verified server-side as part of attestaion verification. +message GcpCredentials { + // A list of service account OpenID Connect ID tokens identifying which + // service account identities should be included in the claims_token. These + // can be generated by calling `serviceAccounts.generateIdToken`. The + // Challenge.name must be used as the `audience` parameter, and the + // `includeEmail` parameter must be `true`. + // -- + repeated bytes id_tokens = 1; +} + +// TPM2 data containing everything necessary to validate any platform state +// measured into the TPM. +message TpmAttestation { + // Information about Platform Control Registers (PCRs) including a signature + // over their values, which can be used for remote validation. + message Quote { + // The hash algorithm of the PCR bank being quoted, encoded as a TPM_ALG_ID + int32 hash_algo = 1; + + // Raw binary values of each PCRs being quoted. + map pcr_values = 2; + + // TPM2 quote, encoded as a TPMS_ATTEST + bytes raw_quote = 3; + + // TPM2 signature, encoded as a TPMT_SIGNATURE + bytes raw_signature = 4; + } + + // TPM2 PCR Quotes generated by calling TPM2_Quote on each PCR bank. + repeated Quote quotes = 1; + + // The binary TCG Event Log containing events measured into the TPM by the + // platform firmware and operating system. Formatted as described in the + // "TCG PC Client Platform Firmware Profile Specification". + bytes tcg_event_log = 2; + + // An Event Log containing additional events measured into the TPM that are + // not already present in the tcg_event_log. Formatted as described in the + // "Canonical Event Log Format" TCG Specification. + bytes canonical_event_log = 3; + + // DER-encoded X.509 certificate of the Attestation Key (otherwise known as + // an AK or a TPM restricted signing key) used to generate the quotes. + bytes ak_cert = 4; + + // List of DER-encoded X.509 certificates which, together with the ak_cert, + // chain back to a trusted Root Certificate. + repeated bytes cert_chain = 5; +} diff --git a/third_party/googleapis/google/cloud/config/BUILD.bazel b/third_party/googleapis/google/cloud/config/BUILD.bazel new file mode 100644 index 000000000..5e62dc094 --- /dev/null +++ b/third_party/googleapis/google/cloud/config/BUILD.bazel @@ -0,0 +1,36 @@ +# This build file includes a target for the Ruby wrapper library for +# google-cloud-config_service. + +# 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 config. +# 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 = "config_ruby_wrapper", + srcs = ["//google/cloud/config/v1:config_proto_with_info"], + extra_protoc_parameters = [ + "ruby-cloud-gem-name=google-cloud-config_service", + "ruby-cloud-wrapper-of=v1:0.2", + ], + service_yaml = "//google/cloud/config/v1:config_v1.yaml", + transport = "grpc+rest", +) + +# Open Source package. +ruby_gapic_assembly_pkg( + name = "google-cloud-config-ruby", + deps = [ + ":config_ruby_wrapper", + ], +) diff --git a/third_party/googleapis/google/cloud/config/grpc/v1/config_grpc_service_config.json b/third_party/googleapis/google/cloud/config/grpc/v1/config_grpc_service_config.json new file mode 100644 index 000000000..d17ed9472 --- /dev/null +++ b/third_party/googleapis/google/cloud/config/grpc/v1/config_grpc_service_config.json @@ -0,0 +1,15 @@ +{ + "methodConfig": [{ + "name": [ + { "service": "google.cloud.config.v1.Config"} + ], + "timeout": "60s", + "retryPolicy": { + "maxAttempts": 5, + "initialBackoff": "1s", + "maxBackoff": "10s", + "backoffMultiplier": 1.3, + "retryableStatusCodes": ["UNAVAILABLE"] + } + }] +} diff --git a/third_party/googleapis/google/cloud/config/v1/BUILD.bazel b/third_party/googleapis/google/cloud/config/v1/BUILD.bazel new file mode 100644 index 000000000..316aaf162 --- /dev/null +++ b/third_party/googleapis/google/cloud/config/v1/BUILD.bazel @@ -0,0 +1,393 @@ +# 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 = "config_proto", + srcs = [ + "config.proto", + ], + deps = [ + "//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", + "@com_google_protobuf//:empty_proto", + "@com_google_protobuf//:field_mask_proto", + "@com_google_protobuf//:struct_proto", + "@com_google_protobuf//:timestamp_proto", + ], +) + +proto_library_with_info( + name = "config_proto_with_info", + deps = [ + ":config_proto", + "//google/cloud/location:location_proto", + "//google/cloud:common_resources_proto", + "//google/iam/v1:iam_policy_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 = "config_java_proto", + deps = [":config_proto"], +) + +java_grpc_library( + name = "config_java_grpc", + srcs = [":config_proto"], + deps = [":config_java_proto"], +) + +java_gapic_library( + name = "config_java_gapic", + srcs = [":config_proto_with_info"], + gapic_yaml = "config_gapic.yaml", + grpc_service_config = None, + rest_numeric_enums = True, + service_yaml = "config_v1.yaml", + test_deps = [ + "//google/cloud/location:location_java_grpc", + "//google/iam/v1:iam_java_grpc", + ":config_java_grpc", + ], + transport = "grpc+rest", + deps = [ + ":config_java_proto", + "//google/api:api_java_proto", + "//google/cloud/location:location_java_proto", + "//google/iam/v1:iam_java_proto", + ], +) + +java_gapic_test( + name = "config_java_gapic_test_suite", + test_classes = [ + "com.google.cloud.config.v1.ConfigClientHttpJsonTest", + "com.google.cloud.config.v1.ConfigClientTest", + ], + runtime_deps = [":config_java_gapic_test"], +) + +# Open Source Packages +java_gapic_assembly_gradle_pkg( + name = "google-cloud-config-v1-java", + transport = "grpc+rest", + deps = [ + ":config_java_gapic", + ":config_java_grpc", + ":config_java_proto", + ":config_proto", + ], + include_samples = True, +) + +############################################################################## +# Go +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "go_gapic_assembly_pkg", + "go_gapic_library", + "go_proto_library", +) + +go_proto_library( + name = "config_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "cloud.google.com/go/config/apiv1/configpb", + protos = [":config_proto"], + deps = [ + "//google/api:annotations_go_proto", + "//google/longrunning:longrunning_go_proto", + "//google/rpc:status_go_proto", + ], +) + +go_gapic_library( + name = "config_go_gapic", + srcs = [":config_proto_with_info"], + grpc_service_config = None, + importpath = "cloud.google.com/go/config/apiv1;config", + metadata = True, + release_level = "beta", + rest_numeric_enums = True, + service_yaml = "config_v1.yaml", + transport = "grpc+rest", + deps = [ + ":config_go_proto", + "//google/cloud/location:location_go_proto", + "//google/iam/v1:iam_go_proto", + "//google/longrunning:longrunning_go_proto", + "@com_google_cloud_go_longrunning//:go_default_library", + "@com_google_cloud_go_longrunning//autogen:go_default_library", + "@io_bazel_rules_go//proto/wkt:struct_go_proto", + ], +) + +# Open Source Packages +go_gapic_assembly_pkg( + name = "gapi-cloud-config-v1-go", + deps = [ + ":config_go_gapic", + ":config_go_gapic_srcjar-test.srcjar", + ":config_go_gapic_srcjar-metadata.srcjar", + ":config_go_gapic_srcjar-snippets.srcjar", + ":config_go_proto", + ], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "py_gapic_assembly_pkg", + "py_gapic_library", + "py_test", +) + +py_gapic_library( + name = "config_py_gapic", + srcs = [":config_proto"], + grpc_service_config = None, + rest_numeric_enums = True, + service_yaml = "config_v1.yaml", + transport = "grpc+rest", + deps = [ + "//google/iam/v1:iam_policy_py_proto", + ], +) + +py_test( + name = "config_py_gapic_test", + srcs = [ + "config_py_gapic_pytest.py", + "config_py_gapic_test.py", + ], + legacy_create_init = False, + deps = [":config_py_gapic"], +) + +# Open Source Packages +py_gapic_assembly_pkg( + name = "config-v1-py", + deps = [ + ":config_py_gapic", + ], +) + +############################################################################## +# PHP +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "php_gapic_assembly_pkg", + "php_gapic_library", + "php_proto_library", +) + +php_proto_library( + name = "config_php_proto", + deps = [":config_proto"], +) + +php_gapic_library( + name = "config_php_gapic", + srcs = [":config_proto_with_info"], + gapic_yaml = "config_gapic.yaml", + grpc_service_config = None, + rest_numeric_enums = True, + migration_mode = "NEW_SURFACE_ONLY", + service_yaml = "config_v1.yaml", + transport = "grpc+rest", + deps = [ + ":config_php_proto", + ], +) + +# Open Source Packages +php_gapic_assembly_pkg( + name = "google-cloud-config-v1-php", + deps = [ + ":config_php_gapic", + ":config_php_proto", + ], +) + +############################################################################## +# Node.js +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "nodejs_gapic_assembly_pkg", + "nodejs_gapic_library", +) + +nodejs_gapic_library( + name = "config_nodejs_gapic", + package_name = "@google-cloud/config", + src = ":config_proto_with_info", + extra_protoc_parameters = ["metadata"], + grpc_service_config = None, + package = "google.cloud.config.v1", + rest_numeric_enums = True, + service_yaml = "config_v1.yaml", + transport = "grpc+rest", + deps = [], +) + +nodejs_gapic_assembly_pkg( + name = "config-v1-nodejs", + deps = [ + ":config_nodejs_gapic", + ":config_proto", + ], +) + +############################################################################## +# Ruby +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "ruby_gapic_assembly_pkg", + "ruby_cloud_gapic_library", + "ruby_grpc_library", + "ruby_proto_library", +) + +ruby_proto_library( + name = "config_ruby_proto", + deps = [":config_proto"], +) + +ruby_grpc_library( + name = "config_ruby_grpc", + srcs = [":config_proto"], + deps = [":config_ruby_proto"], +) + +ruby_cloud_gapic_library( + name = "config_ruby_gapic", + srcs = [":config_proto_with_info"], + extra_protoc_parameters = [ + "ruby-cloud-gem-name=google-cloud-config_service-v1", + ], + grpc_service_config = None, + rest_numeric_enums = True, + service_yaml = "config_v1.yaml", + transport = "grpc+rest", + deps = [ + ":config_ruby_grpc", + ":config_ruby_proto", + ], +) + +# Open Source Packages +ruby_gapic_assembly_pkg( + name = "google-cloud-config-v1-ruby", + deps = [ + ":config_ruby_gapic", + ":config_ruby_grpc", + ":config_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 = "config_csharp_proto", + extra_opts = [], + deps = [":config_proto"], +) + +csharp_grpc_library( + name = "config_csharp_grpc", + srcs = [":config_proto"], + deps = [":config_csharp_proto"], +) + +csharp_gapic_library( + name = "config_csharp_gapic", + srcs = [":config_proto_with_info"], + common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json", + grpc_service_config = None, + rest_numeric_enums = True, + service_yaml = "config_v1.yaml", + deps = [ + ":config_csharp_grpc", + ":config_csharp_proto", + ], +) + +# Open Source Packages +csharp_gapic_assembly_pkg( + name = "google-cloud-config-v1-csharp", + deps = [ + ":config_csharp_gapic", + ":config_csharp_grpc", + ":config_csharp_proto", + ], +) + +############################################################################## +# C++ +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "cc_grpc_library", + "cc_proto_library", +) + +cc_proto_library( + name = "config_cc_proto", + deps = [":config_proto"], +) + +cc_grpc_library( + name = "config_cc_grpc", + srcs = [":config_proto"], + grpc_only = True, + deps = [":config_cc_proto"], +) diff --git a/third_party/googleapis/google/cloud/config/v1/config.proto b/third_party/googleapis/google/cloud/config/v1/config.proto new file mode 100644 index 000000000..4d037555c --- /dev/null +++ b/third_party/googleapis/google/cloud/config/v1/config.proto @@ -0,0 +1,1719 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF 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.config.v1; + +import "google/longrunning/operations.proto"; +import "google/protobuf/timestamp.proto"; +import "google/protobuf/struct.proto"; +import "google/protobuf/field_mask.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/field_info.proto"; +import "google/api/resource.proto"; +import "google/protobuf/empty.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Cloud.Config.V1"; +option go_package = "cloud.google.com/go/config/apiv1/configpb;configpb"; +option java_multiple_files = true; +option java_outer_classname = "ConfigProto"; +option java_package = "com.google.cloud.config.v1"; +option php_namespace = "Google\\Cloud\\Config\\V1"; +option ruby_package = "Google::Cloud::ConfigService::V1"; +option (google.api.resource_definition) = { + type: "iam.googleapis.com/ServiceAccount" + pattern: "projects/{project}/serviceAccounts/{service_account}" +}; +option (google.api.resource_definition) = { + type: "cloudbuild.googleapis.com/WorkerPool" + pattern: "projects/{project}/locations/{location}/workerPools/{worker_pool}" +}; + +// Infrastructure Manager is a managed service that automates the deployment and +// management of Google Cloud infrastructure resources. +service Config { + option (google.api.default_host) = "config.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform"; + + // Lists [Deployment][google.cloud.config.v1.Deployment]s in a given project + // and location. + rpc ListDeployments(ListDeploymentsRequest) + returns (ListDeploymentsResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*}/deployments" + }; + option (google.api.method_signature) = "parent"; + } + + // Gets details about a [Deployment][google.cloud.config.v1.Deployment]. + rpc GetDeployment(GetDeploymentRequest) returns (Deployment) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/deployments/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Creates a [Deployment][google.cloud.config.v1.Deployment]. + rpc CreateDeployment(CreateDeploymentRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*}/deployments" + body: "deployment" + }; + option (google.api.method_signature) = "parent,deployment,deployment_id"; + option (google.longrunning.operation_info) = { + response_type: "Deployment" + metadata_type: "OperationMetadata" + }; + } + + // Updates a [Deployment][google.cloud.config.v1.Deployment]. + rpc UpdateDeployment(UpdateDeploymentRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + patch: "/v1/{deployment.name=projects/*/locations/*/deployments/*}" + body: "deployment" + }; + option (google.api.method_signature) = "deployment,update_mask"; + option (google.longrunning.operation_info) = { + response_type: "Deployment" + metadata_type: "OperationMetadata" + }; + } + + // Deletes a [Deployment][google.cloud.config.v1.Deployment]. + rpc DeleteDeployment(DeleteDeploymentRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1/{name=projects/*/locations/*/deployments/*}" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "Deployment" + metadata_type: "OperationMetadata" + }; + } + + // Lists [Revision][google.cloud.config.v1.Revision]s of a deployment. + rpc ListRevisions(ListRevisionsRequest) returns (ListRevisionsResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*/deployments/*}/revisions" + }; + option (google.api.method_signature) = "parent"; + } + + // Gets details about a [Revision][google.cloud.config.v1.Revision]. + rpc GetRevision(GetRevisionRequest) returns (Revision) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/deployments/*/revisions/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Gets details about a [Resource][google.cloud.config.v1.Resource] deployed + // by Infra Manager. + rpc GetResource(GetResourceRequest) returns (Resource) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/deployments/*/revisions/*/resources/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Lists [Resource][google.cloud.config.v1.Resource]s in a given revision. + rpc ListResources(ListResourcesRequest) returns (ListResourcesResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*/deployments/*/revisions/*}/resources" + }; + option (google.api.method_signature) = "parent"; + } + + // Exports Terraform state file from a given deployment. + rpc ExportDeploymentStatefile(ExportDeploymentStatefileRequest) + returns (Statefile) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*/deployments/*}:exportState" + body: "*" + }; + } + + // Exports Terraform state file from a given revision. + rpc ExportRevisionStatefile(ExportRevisionStatefileRequest) + returns (Statefile) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*/deployments/*/revisions/*}:exportState" + body: "*" + }; + } + + // Imports Terraform state file in a given deployment. The state file does not + // take effect until the Deployment has been unlocked. + rpc ImportStatefile(ImportStatefileRequest) returns (Statefile) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*/deployments/*}:importState" + body: "*" + }; + option (google.api.method_signature) = "parent,lock_id"; + } + + // Deletes Terraform state file in a given deployment. + rpc DeleteStatefile(DeleteStatefileRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + post: "/v1/{name=projects/*/locations/*/deployments/*}:deleteState" + body: "*" + }; + option (google.api.method_signature) = "name"; + } + + // Locks a deployment. + rpc LockDeployment(LockDeploymentRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{name=projects/*/locations/*/deployments/*}:lock" + body: "*" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "Deployment" + metadata_type: "OperationMetadata" + }; + } + + // Unlocks a locked deployment. + rpc UnlockDeployment(UnlockDeploymentRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{name=projects/*/locations/*/deployments/*}:unlock" + body: "*" + }; + option (google.api.method_signature) = "name,lock_id"; + option (google.longrunning.operation_info) = { + response_type: "Deployment" + metadata_type: "OperationMetadata" + }; + } + + // Exports the lock info on a locked deployment. + rpc ExportLockInfo(ExportLockInfoRequest) returns (LockInfo) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/deployments/*}:exportLock" + }; + option (google.api.method_signature) = "name"; + } + + // Creates a [Preview][google.cloud.config.v1.Preview]. + rpc CreatePreview(CreatePreviewRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*}/previews" + body: "preview" + }; + option (google.api.method_signature) = "parent,preview"; + option (google.longrunning.operation_info) = { + response_type: "Preview" + metadata_type: "OperationMetadata" + }; + } + + // Gets details about a [Preview][google.cloud.config.v1.Preview]. + rpc GetPreview(GetPreviewRequest) returns (Preview) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/previews/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Lists [Preview][google.cloud.config.v1.Preview]s in a given project and + // location. + rpc ListPreviews(ListPreviewsRequest) returns (ListPreviewsResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*}/previews" + }; + option (google.api.method_signature) = "parent"; + } + + // Deletes a [Preview][google.cloud.config.v1.Preview]. + rpc DeletePreview(DeletePreviewRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1/{name=projects/*/locations/*/previews/*}" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "Preview" + metadata_type: "OperationMetadata" + }; + } + + // Export [Preview][google.cloud.config.v1.Preview] results. + rpc ExportPreviewResult(ExportPreviewResultRequest) + returns (ExportPreviewResultResponse) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*/previews/*}:export" + body: "*" + }; + } +} + +// A Deployment is a group of resources and configs managed and provisioned by +// Infra Manager. +message Deployment { + option (google.api.resource) = { + type: "config.googleapis.com/Deployment" + pattern: "projects/{project}/locations/{location}/deployments/{deployment}" + }; + + // Possible states of a deployment. + enum State { + // The default value. This value is used if the state is omitted. + STATE_UNSPECIFIED = 0; + + // The deployment is being created. + CREATING = 1; + + // The deployment is healthy. + ACTIVE = 2; + + // The deployment is being updated. + UPDATING = 3; + + // The deployment is being deleted. + DELETING = 4; + + // The deployment has encountered an unexpected error. + FAILED = 5; + + // The deployment is no longer being actively reconciled. + // This may be the result of recovering the project after deletion. + SUSPENDED = 6; + + // The deployment has been deleted. + DELETED = 7; + } + + // Possible errors that can occur with deployments. + enum ErrorCode { + // No error code was specified. + ERROR_CODE_UNSPECIFIED = 0; + + // The revision failed. See Revision for more details. + REVISION_FAILED = 1; + + // Cloud Build failed due to a permission issue. + CLOUD_BUILD_PERMISSION_DENIED = 3; + + // Cloud Build job associated with a deployment deletion could not be + // started. + DELETE_BUILD_API_FAILED = 5; + + // Cloud Build job associated with a deployment deletion was started but + // failed. + DELETE_BUILD_RUN_FAILED = 6; + + // Cloud Storage bucket creation failed due to a permission issue. + BUCKET_CREATION_PERMISSION_DENIED = 7; + + // Cloud Storage bucket creation failed due to an issue unrelated to + // permissions. + BUCKET_CREATION_FAILED = 8; + } + + // Possible lock states of a deployment. + enum LockState { + // The default value. This value is used if the lock state is omitted. + LOCK_STATE_UNSPECIFIED = 0; + + // The deployment is locked. + LOCKED = 1; + + // The deployment is unlocked. + UNLOCKED = 2; + + // The deployment is being locked. + LOCKING = 3; + + // The deployment is being unlocked. + UNLOCKING = 4; + + // The deployment has failed to lock. + LOCK_FAILED = 5; + + // The deployment has failed to unlock. + UNLOCK_FAILED = 6; + } + + // Blueprint to deploy. + oneof blueprint { + // A blueprint described using Terraform's HashiCorp Configuration Language + // as a root module. + TerraformBlueprint terraform_blueprint = 6; + } + + // Resource name of the deployment. + // Format: `projects/{project}/locations/{location}/deployments/{deployment}` + string name = 1; + + // Output only. Time when the deployment was created. + google.protobuf.Timestamp create_time = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Time when the deployment was last modified. + google.protobuf.Timestamp update_time = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // User-defined metadata for the deployment. + map labels = 4; + + // Output only. Current state of the deployment. + State state = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Revision name that was most recently applied. + // Format: `projects/{project}/locations/{location}/deployments/{deployment}/ + // revisions/{revision}` + string latest_revision = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Additional information regarding the current state. + string state_detail = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Error code describing errors that may have occurred. + ErrorCode error_code = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Location of artifacts from a DeleteDeployment operation. + ApplyResults delete_results = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Cloud Build instance UUID associated with deleting this + // deployment. + string delete_build = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Location of Cloud Build logs in Google Cloud Storage, + // populated when deleting this deployment. Format: `gs://{bucket}/{object}`. + string delete_logs = 12 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Errors encountered when deleting this deployment. + // Errors are truncated to 10 entries, see `delete_results` and `error_logs` + // for full details. + repeated TerraformError tf_errors = 13 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Location of Terraform error logs in Google Cloud Storage. + // Format: `gs://{bucket}/{object}`. + string error_logs = 14 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Optional. User-defined location of Cloud Build logs and artifacts in Google + // Cloud Storage. Format: `gs://{bucket}/{folder}` + // + // A default bucket will be bootstrapped if the field is not set or empty. + // Default bucket format: `gs://--blueprint-config` + // Constraints: + // - The bucket needs to be in the same project as the deployment + // - The path cannot be within the path of `gcs_source` + // - The field cannot be updated, including changing its presence + optional string artifacts_gcs_bucket = 15 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. User-specified Service Account (SA) credentials to be used when + // actuating resources. + // Format: `projects/{projectID}/serviceAccounts/{serviceAccount}` + optional string service_account = 16 [ + (google.api.field_behavior) = OPTIONAL, + (google.api.resource_reference) = { + type: "iam.googleapis.com/ServiceAccount" + } + ]; + + // By default, Infra Manager will return a failure when + // Terraform encounters a 409 code (resource conflict error) during actuation. + // If this flag is set to true, Infra Manager will instead + // attempt to automatically import the resource into the Terraform state (for + // supported resource types) and continue actuation. + // + // Not all resource types are supported, refer to documentation. + optional bool import_existing_resources = 17; + + // Optional. The user-specified Cloud Build worker pool resource in which the + // Cloud Build job will execute. Format: + // `projects/{project}/locations/{location}/workerPools/{workerPoolId}`. + // If this field is unspecified, the default Cloud Build worker pool will be + // used. + optional string worker_pool = 19 [ + (google.api.field_behavior) = OPTIONAL, + (google.api.resource_reference) = { + type: "cloudbuild.googleapis.com/WorkerPool" + } + ]; + + // Output only. Current lock state of the deployment. + LockState lock_state = 20 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// TerraformBlueprint describes the source of a Terraform root module which +// describes the resources and configs to be deployed. +message TerraformBlueprint { + // Location of the source configs. + oneof source { + // Required. URI of an object in Google Cloud Storage. + // Format: `gs://{bucket}/{object}` + // + // URI may also specify an object version for zipped objects. + // Format: `gs://{bucket}/{object}#{version}` + string gcs_source = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. URI of a public Git repo. + GitSource git_source = 2 [(google.api.field_behavior) = REQUIRED]; + } + + // Input variable values for the Terraform blueprint. + map input_values = 4; +} + +// A Terraform input variable. +message TerraformVariable { + // Input variable value. + google.protobuf.Value input_value = 5; +} + +// Outputs and artifacts from applying a deployment. +message ApplyResults { + // Location of a blueprint copy and other manifests in Google Cloud Storage. + // Format: `gs://{bucket}/{object}` + string content = 1; + + // Location of artifacts (e.g. logs) in Google Cloud Storage. + // Format: `gs://{bucket}/{object}` + string artifacts = 2; + + // Map of output name to output info. + map outputs = 3; +} + +// Describes a Terraform output. +message TerraformOutput { + // Identifies whether Terraform has set this output as a potential + // sensitive value. + bool sensitive = 1; + + // Value of output. + google.protobuf.Value value = 2; +} + +message ListDeploymentsRequest { + // Required. The parent in whose context the Deployments are listed. The + // parent value is in the format: + // 'projects/{project_id}/locations/{location}'. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "locations.googleapis.com/Location" + } + ]; + + // 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; + + // Token returned by previous call to 'ListDeployments' which specifies the + // position in the list from where to continue listing the resources. + string page_token = 3; + + // Lists the Deployments that match the filter expression. A filter + // expression filters the resources listed in the response. The expression + // must be of the form '{field} {operator} {value}' where operators: '<', '>', + // '<=', '>=', '!=', '=', ':' are supported (colon ':' represents a HAS + // operator which is roughly synonymous with equality). {field} can refer to a + // proto or JSON field, or a synthetic field. Field names can be camelCase or + // snake_case. + // + // Examples: + // - Filter by name: + // name = "projects/foo/locations/us-central1/deployments/bar + // + // - Filter by labels: + // - Resources that have a key called 'foo' + // labels.foo:* + // - Resources that have a key called 'foo' whose value is 'bar' + // labels.foo = bar + // + // - Filter by state: + // - Deployments in CREATING state. + // state=CREATING + string filter = 4; + + // Field to use to sort the list. + string order_by = 5; +} + +message ListDeploymentsResponse { + // List of [Deployment][google.cloud.config.v1.Deployment]s. + repeated Deployment deployments = 1; + + // Token to be supplied to the next ListDeployments request via `page_token` + // to obtain the next set of results. + string next_page_token = 2; + + // Locations that could not be reached. + repeated string unreachable = 3; +} + +message GetDeploymentRequest { + // Required. The name of the deployment. Format: + // 'projects/{project_id}/locations/{location}/deployments/{deployment}'. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "config.googleapis.com/Deployment" + } + ]; +} + +// A request to list Revisions passed to a 'ListRevisions' call. +message ListRevisionsRequest { + // Required. The parent in whose context the Revisions are listed. The parent + // value is in the format: + // 'projects/{project_id}/locations/{location}/deployments/{deployment}'. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "config.googleapis.com/Deployment" + } + ]; + + // 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; + + // Token returned by previous call to 'ListRevisions' which specifies the + // position in the list from where to continue listing the resources. + string page_token = 3; + + // Lists the Revisions that match the filter expression. A filter + // expression filters the resources listed in the response. The expression + // must be of the form '{field} {operator} {value}' where operators: '<', '>', + // '<=', '>=', '!=', '=', ':' are supported (colon ':' represents a HAS + // operator which is roughly synonymous with equality). {field} can refer to a + // proto or JSON field, or a synthetic field. Field names can be camelCase or + // snake_case. + // + // Examples: + // - Filter by name: + // name = "projects/foo/locations/us-central1/deployments/dep/revisions/bar + // + // - Filter by labels: + // - Resources that have a key called 'foo' + // labels.foo:* + // - Resources that have a key called 'foo' whose value is 'bar' + // labels.foo = bar + // + // - Filter by state: + // - Revisions in CREATING state. + // state=CREATING + string filter = 4; + + // Field to use to sort the list. + string order_by = 5; +} + +// A response to a 'ListRevisions' call. Contains a list of Revisions. +message ListRevisionsResponse { + // List of [Revision][google.cloud.config.v1.Revision]s. + repeated Revision revisions = 1; + + // A token to request the next page of resources from the 'ListRevisions' + // method. The value of an empty string means that there are no more resources + // to return. + string next_page_token = 2; + + // Locations that could not be reached. + repeated string unreachable = 3; +} + +// A request to get a Revision from a 'GetRevision' call. +message GetRevisionRequest { + // Required. The name of the Revision in the format: + // 'projects/{project_id}/locations/{location}/deployments/{deployment}/revisions/{revision}'. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { type: "config.googleapis.com/Revision" } + ]; +} + +message CreateDeploymentRequest { + // Required. The parent in whose context the Deployment is created. The parent + // value is in the format: 'projects/{project_id}/locations/{location}'. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "locations.googleapis.com/Location" + } + ]; + + // Required. The Deployment ID. + string deployment_id = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. [Deployment][google.cloud.config.v1.Deployment] resource to be + // created. + Deployment deployment = 3 [(google.api.field_behavior) = REQUIRED]; + + // Optional. An optional request ID to identify requests. Specify a unique + // request ID so that if you must retry your request, the server will know to + // ignore the request if it has already been completed. The server will + // guarantee that for at least 60 minutes since the first request. + // + // For example, consider a situation where you make an initial request and the + // request times out. If you make the request again with the same request ID, + // the server can check if original operation with the same request ID was + // received, and if so, will ignore the second request. This prevents clients + // from accidentally creating duplicate commitments. + // + // The request ID must be a valid UUID with the exception that zero UUID is + // not supported (00000000-0000-0000-0000-000000000000). + string request_id = 4 [(google.api.field_behavior) = OPTIONAL]; +} + +message UpdateDeploymentRequest { + // Optional. Field mask used to specify the fields to be overwritten in the + // Deployment resource by the update. + // + // The fields specified in the update_mask are relative to the resource, not + // the full request. A field will be overwritten if it is in the mask. If the + // user does not provide a mask then all fields will be overwritten. + google.protobuf.FieldMask update_mask = 1 + [(google.api.field_behavior) = OPTIONAL]; + + // Required. [Deployment][google.cloud.config.v1.Deployment] to update. + // + // The deployment's `name` field is used to identify the resource to be + // updated. Format: + // `projects/{project}/locations/{location}/deployments/{deployment}` + Deployment deployment = 2 [(google.api.field_behavior) = REQUIRED]; + + // Optional. An optional request ID to identify requests. Specify a unique + // request ID so that if you must retry your request, the server will know to + // ignore the request if it has already been completed. The server will + // guarantee that for at least 60 minutes since the first request. + // + // For example, consider a situation where you make an initial request and the + // request times out. If you make the request again with the same request ID, + // the server can check if original operation with the same request ID was + // received, and if so, will ignore the second request. This prevents clients + // from accidentally creating duplicate commitments. + // + // The request ID must be a valid UUID with the exception that zero UUID is + // not supported (00000000-0000-0000-0000-000000000000). + string request_id = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +message DeleteDeploymentRequest { + // Policy on how resources actuated by the deployment should be deleted. + enum DeletePolicy { + // Unspecified policy, resources will be deleted. + DELETE_POLICY_UNSPECIFIED = 0; + + // Deletes resources actuated by the deployment. + DELETE = 1; + + // Abandons resources and only deletes the deployment and its metadata. + ABANDON = 2; + } + + // Required. The name of the Deployment in the format: + // 'projects/{project_id}/locations/{location}/deployments/{deployment}'. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "config.googleapis.com/Deployment" + } + ]; + + // Optional. An optional request ID to identify requests. Specify a unique + // request ID so that if you must retry your request, the server will know to + // ignore the request if it has already been completed. The server will + // guarantee that for at least 60 minutes after the first request. + // + // For example, consider a situation where you make an initial request and the + // request times out. If you make the request again with the same request ID, + // the server can check if original operation with the same request ID was + // received, and if so, will ignore the second request. This prevents clients + // from accidentally creating duplicate commitments. + // + // The request ID must be a valid UUID with the exception that zero UUID is + // not supported (00000000-0000-0000-0000-000000000000). + string request_id = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. If set to true, any revisions for this deployment will also be + // deleted. (Otherwise, the request will only work if the deployment has no + // revisions.) + bool force = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Policy on how resources actuated by the deployment should be + // deleted. If unspecified, the default behavior is to delete the underlying + // resources. + DeletePolicy delete_policy = 4 [(google.api.field_behavior) = OPTIONAL]; +} + +// Represents the metadata of the long-running operation. +message OperationMetadata { + // Ephemeral metadata about the state of an operation for a particular + // resource. + oneof resource_metadata { + // Output only. Metadata about the deployment operation state. + DeploymentOperationMetadata deployment_metadata = 8 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Metadata about the preview operation state. + PreviewOperationMetadata preview_metadata = 9 + [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Output only. Time when the operation was created. + google.protobuf.Timestamp create_time = 1 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Time when 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_message = 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 requested_cancellation = 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]; +} + +// A child resource of a Deployment generated by a 'CreateDeployment' or +// 'UpdateDeployment' call. Each Revision contains metadata pertaining to a +// snapshot of a particular Deployment. +message Revision { + option (google.api.resource) = { + type: "config.googleapis.com/Revision" + pattern: "projects/{project}/locations/{location}/deployments/{deployment}/revisions/{revision}" + }; + + // Actions that generate a revision. + enum Action { + // The default value. This value is used if the action is omitted. + ACTION_UNSPECIFIED = 0; + + // The revision was generated by creating a deployment. + CREATE = 1; + + // The revision was generated by updating a deployment. + UPDATE = 2; + + // The revision was deleted. + DELETE = 3; + } + + // Possible states of a revision. + enum State { + // The default value. This value is used if the state is omitted. + STATE_UNSPECIFIED = 0; + + // The revision is being applied. + APPLYING = 1; + + // The revision was applied successfully. + APPLIED = 2; + + // The revision could not be applied successfully. + FAILED = 3; + } + + // Possible errors if Revision could not be created or updated successfully. + enum ErrorCode { + // No error code was specified. + ERROR_CODE_UNSPECIFIED = 0; + + // Cloud Build failed due to a permission issue. + CLOUD_BUILD_PERMISSION_DENIED = 1; + + // Cloud Build job associated with creating or updating a deployment could + // not be started. + APPLY_BUILD_API_FAILED = 4; + + // Cloud Build job associated with creating or updating a deployment was + // started but failed. + APPLY_BUILD_RUN_FAILED = 5; + } + + // Blueprint that was deployed. + oneof blueprint { + // Output only. A blueprint described using Terraform's HashiCorp + // Configuration Language as a root module. + TerraformBlueprint terraform_blueprint = 6 + [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Revision name. Format: + // `projects/{project}/locations/{location}/deployments/{deployment}/ + // revisions/{revision}` + string name = 1; + + // Output only. Time when the revision was created. + google.protobuf.Timestamp create_time = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Time when the revision was last modified. + google.protobuf.Timestamp update_time = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The action which created this revision + Action action = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Current state of the revision. + State state = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Outputs and artifacts from applying a deployment. + ApplyResults apply_results = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Additional info regarding the current state. + string state_detail = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Code describing any errors that may have occurred. + ErrorCode error_code = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Cloud Build instance UUID associated with this revision. + string build = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Location of Revision operation logs in + // `gs://{bucket}/{object}` format. + string logs = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Errors encountered when creating or updating this deployment. + // Errors are truncated to 10 entries, see `delete_results` and `error_logs` + // for full details. + repeated TerraformError tf_errors = 12 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Location of Terraform error logs in Google Cloud Storage. + // Format: `gs://{bucket}/{object}`. + string error_logs = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. User-specified Service Account (SA) to be used as credential + // to manage resources. Format: + // `projects/{projectID}/serviceAccounts/{serviceAccount}` + string service_account = 14 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "iam.googleapis.com/ServiceAccount" + } + ]; + + // Output only. By default, Infra Manager will return a failure when + // Terraform encounters a 409 code (resource conflict error) during actuation. + // If this flag is set to true, Infra Manager will instead + // attempt to automatically import the resource into the Terraform state (for + // supported resource types) and continue actuation. + // + // Not all resource types are supported, refer to documentation. + bool import_existing_resources = 15 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The user-specified Cloud Build worker pool resource in which + // the Cloud Build job will execute. Format: + // `projects/{project}/locations/{location}/workerPools/{workerPoolId}`. + // If this field is unspecified, the default Cloud Build worker pool will be + // used. + string worker_pool = 17 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "cloudbuild.googleapis.com/WorkerPool" + } + ]; +} + +// Errors encountered during actuation using Terraform +message TerraformError { + // Address of the resource associated with the error, + // e.g. `google_compute_network.vpc_network`. + string resource_address = 1; + + // HTTP response code returned from Google Cloud Platform APIs when Terraform + // fails to provision the resource. If unset or 0, no HTTP response code was + // returned by Terraform. + int32 http_response_code = 2; + + // A human-readable error description. + string error_description = 3; + + // Original error response from underlying Google API, if available. + google.rpc.Status error = 4; +} + +// A set of files in a Git repository. +message GitSource { + // Optional. Repository URL. + // Example: 'https://github.com/kubernetes/examples.git' + optional string repo = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Subdirectory inside the repository. + // Example: 'staging/my-package' + optional string directory = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Git reference (e.g. branch or tag). + optional string ref = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// Ephemeral metadata content describing the state of a deployment operation. +message DeploymentOperationMetadata { + // The possible steps a deployment may be running. + enum DeploymentStep { + // Unspecified deployment step + DEPLOYMENT_STEP_UNSPECIFIED = 0; + + // Infra Manager is creating a Google Cloud Storage bucket to store + // artifacts and metadata about the deployment and revision + PREPARING_STORAGE_BUCKET = 1; + + // Downloading the blueprint onto the Google Cloud Storage bucket + DOWNLOADING_BLUEPRINT = 2; + + // Initializing Terraform using `terraform init` + RUNNING_TF_INIT = 3; + + // Running `terraform plan` + RUNNING_TF_PLAN = 4; + + // Actuating resources using Terraform using `terraform apply` + RUNNING_TF_APPLY = 5; + + // Destroying resources using Terraform using `terraform destroy` + RUNNING_TF_DESTROY = 6; + + // Validating the uploaded TF state file when unlocking a deployment + RUNNING_TF_VALIDATE = 7; + + // Unlocking a deployment + UNLOCKING_DEPLOYMENT = 8; + + // Operation was successful + SUCCEEDED = 9; + + // Operation failed + FAILED = 10; + } + + // The current step the deployment operation is running. + DeploymentStep step = 1; + + // Outputs and artifacts from applying a deployment. + ApplyResults apply_results = 2; + + // Output only. Cloud Build instance UUID associated with this operation. + string build = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Location of Deployment operations logs in + // `gs://{bucket}/{object}` format. + string logs = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Resource represents a Google Cloud Platform resource actuated by IM. +// Resources are child resources of Revisions. +message Resource { + option (google.api.resource) = { + type: "config.googleapis.com/Resource" + pattern: "projects/{project}/locations/{location}/deployments/{deployment}/revisions/{revision}/resources/{resource}" + }; + + // Possible intent of the resource. + enum Intent { + // The default value. This value is used if the intent is omitted. + INTENT_UNSPECIFIED = 0; + + // Infra Manager will create this Resource. + CREATE = 1; + + // Infra Manager will update this Resource. + UPDATE = 2; + + // Infra Manager will delete this Resource. + DELETE = 3; + + // Infra Manager will destroy and recreate this Resource. + RECREATE = 4; + + // Infra Manager will leave this Resource untouched. + UNCHANGED = 5; + } + + // Possible states of a resource. + enum State { + // The default value. This value is used if the state is omitted. + STATE_UNSPECIFIED = 0; + + // Resource has been planned for reconcile. + PLANNED = 1; + + // Resource is actively reconciling into the intended state. + IN_PROGRESS = 2; + + // Resource has reconciled to intended state. + RECONCILED = 3; + + // Resource failed to reconcile. + FAILED = 4; + } + + // Output only. Resource name. + // Format: + // `projects/{project}/locations/{location}/deployments/{deployment}/revisions/{revision}/resources/{resource}` + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Terraform-specific info if this resource was created using + // Terraform. + ResourceTerraformInfo terraform_info = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Map of Cloud Asset Inventory (CAI) type to CAI info (e.g. CAI + // ID). CAI type format follows + // https://cloud.google.com/asset-inventory/docs/supported-asset-types + map cai_assets = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Intent of the resource. + Intent intent = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Current state of the resource. + State state = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Terraform info of a Resource. +message ResourceTerraformInfo { + // TF resource address that uniquely identifies this resource within this + // deployment. + string address = 1; + + // TF resource type + string type = 2; + + // ID attribute of the TF resource + string id = 3; +} + +// CAI info of a Resource. +message ResourceCAIInfo { + // CAI resource name in the format following + // https://cloud.google.com/apis/design/resource_names#full_resource_name + string full_resource_name = 1; +} + +// A request to get a Resource from a 'GetResource' call. +message GetResourceRequest { + // Required. The name of the Resource in the format: + // 'projects/{project_id}/locations/{location}/deployments/{deployment}/revisions/{revision}/resource/{resource}'. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { type: "config.googleapis.com/Resource" } + ]; +} + +// A request to list Resources passed to a 'ListResources' call. +message ListResourcesRequest { + // Required. The parent in whose context the Resources are listed. The parent + // value is in the format: + // 'projects/{project_id}/locations/{location}/deployments/{deployment}/revisions/{revision}'. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { type: "config.googleapis.com/Revision" } + ]; + + // 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; + + // Token returned by previous call to 'ListResources' which specifies the + // position in the list from where to continue listing the resources. + string page_token = 3; + + // Lists the Resources that match the filter expression. A filter + // expression filters the resources listed in the response. The expression + // must be of the form '{field} {operator} {value}' where operators: '<', '>', + // '<=', + // '>=', + // '!=', '=', ':' are supported (colon ':' represents a HAS operator which is + // roughly synonymous with equality). {field} can refer to a proto or JSON + // field, or a synthetic field. Field names can be camelCase or snake_case. + // + // Examples: + // - Filter by name: + // name = + // "projects/foo/locations/us-central1/deployments/dep/revisions/bar/resources/baz + string filter = 4; + + // Field to use to sort the list. + string order_by = 5; +} + +// A response to a 'ListResources' call. Contains a list of Resources. +message ListResourcesResponse { + // List of [Resources][]s. + repeated Resource resources = 1; + + // A token to request the next page of resources from the 'ListResources' + // method. The value of an empty string means that there are no more resources + // to return. + string next_page_token = 2; + + // Locations that could not be reached. + repeated string unreachable = 3; +} + +// Contains info about a Terraform state file +message Statefile { + // Output only. Cloud Storage signed URI used for downloading or uploading the + // state file. + string signed_uri = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// A request to export a state file passed to a 'ExportDeploymentStatefile' +// call. +message ExportDeploymentStatefileRequest { + // Required. The parent in whose context the statefile is listed. The parent + // value is in the format: + // 'projects/{project_id}/locations/{location}/deployments/{deployment}'. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "config.googleapis.com/Deployment" + } + ]; + + // Optional. If this flag is set to true, the exported deployment state file + // will be the draft state. This will enable the draft file to be validated + // before copying it over to the working state on unlock. + bool draft = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// A request to export a state file passed to a 'ExportRevisionStatefile' +// call. +message ExportRevisionStatefileRequest { + // Required. The parent in whose context the statefile is listed. The parent + // value is in the format: + // 'projects/{project_id}/locations/{location}/deployments/{deployment}/revisions/{revision}'. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { type: "config.googleapis.com/Revision" } + ]; +} + +// A request to import a state file passed to a 'ImportStatefile' call. +message ImportStatefileRequest { + // Required. The parent in whose context the statefile is listed. The parent + // value is in the format: + // 'projects/{project_id}/locations/{location}/deployments/{deployment}'. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "config.googleapis.com/Deployment" + } + ]; + + // Required. Lock ID of the lock file to verify that the user who is importing + // the state file previously locked the Deployment. + int64 lock_id = 2 [(google.api.field_behavior) = REQUIRED]; + + // Optional. + bool skip_draft = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// A request to delete a state file passed to a 'DeleteStatefile' call. +message DeleteStatefileRequest { + // Required. The name of the deployment in the format: + // 'projects/{project_id}/locations/{location}/deployments/{deployment}'. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "config.googleapis.com/Deployment" + } + ]; + + // Required. Lock ID of the lock file to verify that the user who is deleting + // the state file previously locked the Deployment. + int64 lock_id = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// A request to lock a deployment passed to a 'LockDeployment' call. +message LockDeploymentRequest { + // Required. The name of the deployment in the format: + // 'projects/{project_id}/locations/{location}/deployments/{deployment}'. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "config.googleapis.com/Deployment" + } + ]; +} + +// A request to unlock a state file passed to a 'UnlockDeployment' call. +message UnlockDeploymentRequest { + // Required. The name of the deployment in the format: + // 'projects/{project_id}/locations/{location}/deployments/{deployment}'. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "config.googleapis.com/Deployment" + } + ]; + + // Required. Lock ID of the lock file to be unlocked. + int64 lock_id = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// A request to get a state file lock info passed to a 'ExportLockInfo' call. +message ExportLockInfoRequest { + // Required. The name of the deployment in the format: + // 'projects/{project_id}/locations/{location}/deployments/{deployment}'. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "config.googleapis.com/Deployment" + } + ]; +} + +// Details about the lock which locked the deployment. +message LockInfo { + // Unique ID for the lock to be overridden with generation ID in the backend. + int64 lock_id = 1; + + // Terraform operation, provided by the caller. + string operation = 2; + + // Extra information to store with the lock, provided by the caller. + string info = 3; + + // user@hostname when available + string who = 4; + + // Terraform version + string version = 5; + + // Time that the lock was taken. + google.protobuf.Timestamp create_time = 6; +} + +// A preview represents a set of actions Infra Manager would perform +// to move the resources towards the desired state as specified in the +// configuration. +message Preview { + option (google.api.resource) = { + type: "config.googleapis.com/Preview" + pattern: "projects/{project}/locations/{location}/previews/{preview}" + plural: "previews" + singular: "preview" + }; + + // Possible states of a preview. + enum State { + // The default value. This value is used if the state is unknown. + STATE_UNSPECIFIED = 0; + + // The preview is being created. + CREATING = 1; + + // The preview has succeeded. + SUCCEEDED = 2; + + // The preview is being applied. + APPLYING = 3; + + // The preview is stale. A preview can become stale if a revision has been + // applied after this preview was created. + STALE = 4; + + // The preview is being deleted. + DELETING = 5; + + // The preview has encountered an unexpected error. + FAILED = 6; + + // The preview has been deleted. + DELETED = 7; + } + + // Preview mode provides options for customizing preview operations. + enum PreviewMode { + // Unspecified policy, default mode will be used. + PREVIEW_MODE_UNSPECIFIED = 0; + + // DEFAULT mode generates an execution plan for reconciling current resource + // state into expected resource state. + DEFAULT = 1; + + // DELETE mode generates as execution plan for destroying current resources. + DELETE = 2; + } + + // Possible errors that can occur with previews. + enum ErrorCode { + // No error code was specified. + ERROR_CODE_UNSPECIFIED = 0; + + // Cloud Build failed due to a permissions issue. + CLOUD_BUILD_PERMISSION_DENIED = 1; + + // Cloud Storage bucket failed to create due to a permissions issue. + BUCKET_CREATION_PERMISSION_DENIED = 2; + + // Cloud Storage bucket failed for a non-permissions-related issue. + BUCKET_CREATION_FAILED = 3; + + // Acquiring lock on provided deployment reference failed. + DEPLOYMENT_LOCK_ACQUIRE_FAILED = 4; + + // Preview encountered an error when trying to access Cloud Build API. + PREVIEW_BUILD_API_FAILED = 5; + + // Preview created a build but build failed and logs were generated. + PREVIEW_BUILD_RUN_FAILED = 6; + } + + // Blueprint to preview. + oneof blueprint { + // The terraform blueprint to preview. + TerraformBlueprint terraform_blueprint = 6; + } + + // Identifier. Resource name of the preview. Resource name can be user + // provided or server generated ID if unspecified. Format: + // `projects/{project}/locations/{location}/previews/{preview}` + string name = 1 [(google.api.field_behavior) = IDENTIFIER]; + + // Output only. Time the preview was created. + google.protobuf.Timestamp create_time = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Optional. User-defined labels for the preview. + map labels = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Output only. Current state of the preview. + State state = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Optional. Optional deployment reference. If specified, the preview will be + // performed using the provided deployment's current state and use any + // relevant fields from the deployment unless explicitly specified in the + // preview create request. + string deployment = 5 [ + (google.api.field_behavior) = OPTIONAL, + (google.api.resource_reference) = { + type: "config.googleapis.com/Deployment" + } + ]; + + // Optional. Current mode of preview. + PreviewMode preview_mode = 15 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Optional service account. If omitted, the deployment resource + // reference must be provided, and the service account attached to the + // deployment will be used. + string service_account = 7 [ + (google.api.field_behavior) = OPTIONAL, + (google.api.resource_reference) = { + type: "iam.googleapis.com/ServiceAccount" + } + ]; + + // Optional. User-defined location of Cloud Build logs, artifacts, and + // in Google Cloud Storage. + // Format: `gs://{bucket}/{folder}` + // A default bucket will be bootstrapped if the field is not set or empty + // Default Bucket Format: `gs://--blueprint-config` + // Constraints: + // - The bucket needs to be in the same project as the deployment + // - The path cannot be within the path of `gcs_source` + // If omitted and deployment resource ref provided has artifacts_gcs_bucket + // defined, that artifact bucket is used. + optional string artifacts_gcs_bucket = 8 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The user-specified Worker Pool resource in which the Cloud Build + // job will execute. Format + // projects/{project}/locations/{location}/workerPools/{workerPoolId} If this + // field is unspecified, the default Cloud Build worker pool will be used. If + // omitted and deployment resource ref provided has worker_pool defined, that + // worker pool is used. + optional string worker_pool = 9 [ + (google.api.field_behavior) = OPTIONAL, + (google.api.resource_reference) = { + type: "cloudbuild.googleapis.com/WorkerPool" + } + ]; + + // Output only. Code describing any errors that may have occurred. + ErrorCode error_code = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Additional information regarding the current state. + google.rpc.Status error_status = 11 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Cloud Build instance UUID associated with this preview. + string build = 12 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Summary of errors encountered during Terraform preview. + // It has a size limit of 10, i.e. only top 10 errors will be summarized here. + repeated TerraformError tf_errors = 13 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Link to tf-error.ndjson file, which contains the full list of + // the errors encountered during a Terraform preview. + // Format: `gs://{bucket}/{object}`. + string error_logs = 14 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Artifacts from preview. + PreviewArtifacts preview_artifacts = 16 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Location of preview logs in `gs://{bucket}/{object}` format. + string logs = 17 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Ephemeral metadata content describing the state of a preview operation. +message PreviewOperationMetadata { + // The possible steps a preview may be running. + enum PreviewStep { + // Unspecified preview step. + PREVIEW_STEP_UNSPECIFIED = 0; + + // Infra Manager is creating a Google Cloud Storage bucket to store + // artifacts and metadata about the preview. + PREPARING_STORAGE_BUCKET = 1; + + // Downloading the blueprint onto the Google Cloud Storage bucket. + DOWNLOADING_BLUEPRINT = 2; + + // Initializing Terraform using `terraform init`. + RUNNING_TF_INIT = 3; + + // Running `terraform plan`. + RUNNING_TF_PLAN = 4; + + // Fetching a deployment. + FETCHING_DEPLOYMENT = 5; + + // Locking a deployment. + LOCKING_DEPLOYMENT = 6; + + // Unlocking a deployment. + UNLOCKING_DEPLOYMENT = 7; + + // Operation was successful. + SUCCEEDED = 8; + + // Operation failed. + FAILED = 9; + } + + // The current step the preview operation is running. + PreviewStep step = 1; + + // Artifacts from preview. + PreviewArtifacts preview_artifacts = 2; + + // Output only. Location of preview logs in `gs://{bucket}/{object}` format. + string logs = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Cloud Build instance UUID associated with this preview. + string build = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Artifacts created by preview. +message PreviewArtifacts { + // Output only. Location of a blueprint copy and other content in Google Cloud + // Storage. Format: `gs://{bucket}/{object}` + string content = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Location of artifacts in Google Cloud Storage. + // Format: `gs://{bucket}/{object}` + string artifacts = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// A request to create a preview. +message CreatePreviewRequest { + // Required. The parent in whose context the Preview is created. The parent + // value is in the format: 'projects/{project_id}/locations/{location}'. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "locations.googleapis.com/Location" + } + ]; + + // Optional. The preview ID. + string preview_id = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Required. [Preview][google.cloud.config.v1.Preview] resource to be created. + Preview preview = 3 [(google.api.field_behavior) = REQUIRED]; + + // Optional. An optional request ID to identify requests. Specify a unique + // request ID so that if you must retry your request, the server will know to + // ignore the request if it has already been completed. The server will + // guarantee that for at least 60 minutes since the first request. + // + // For example, consider a situation where you make an initial request and the + // request times out. If you make the request again with the same request ID, + // the server can check if original operation with the same request ID was + // received, and if so, will ignore the second request. This prevents clients + // from accidentally creating duplicate commitments. + // + // The request ID must be a valid UUID with the exception that zero UUID is + // not supported (00000000-0000-0000-0000-000000000000). + string request_id = 4 [ + (google.api.field_info).format = UUID4, + (google.api.field_behavior) = OPTIONAL + ]; +} + +// A request to get details about a preview. +message GetPreviewRequest { + // Required. The name of the preview. Format: + // 'projects/{project_id}/locations/{location}/previews/{preview}'. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { type: "config.googleapis.com/Preview" } + ]; +} + +// A request to list all previews for a given project and location. +message ListPreviewsRequest { + // Required. The parent in whose context the Previews are listed. The parent + // value is in the format: 'projects/{project_id}/locations/{location}'. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "locations.googleapis.com/Location" + } + ]; + + // 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 'ListDeployments' 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 the Deployments that match the filter expression. A filter + // expression filters the resources listed in the response. The expression + // must be of the form '{field} {operator} {value}' where operators: '<', '>', + // '<=', '>=', '!=', '=', ':' are supported (colon ':' represents a HAS + // operator which is roughly synonymous with equality). {field} can refer to a + // proto or JSON field, or a synthetic field. Field names can be camelCase or + // snake_case. + // + // Examples: + // - Filter by name: + // name = "projects/foo/locations/us-central1/deployments/bar + // + // - Filter by labels: + // - Resources that have a key called 'foo' + // labels.foo:* + // - Resources that have a key called 'foo' whose value is 'bar' + // labels.foo = bar + // + // - Filter by state: + // - Deployments in CREATING state. + // state=CREATING + string filter = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Field to use to sort the list. + string order_by = 5 [(google.api.field_behavior) = OPTIONAL]; +} + +// A response to a `ListPreviews` call. Contains a list of Previews. +message ListPreviewsResponse { + // List of [Previews][]s. + repeated Preview previews = 1; + + // Token to be supplied to the next ListPreviews request via `page_token` + // to obtain the next set of results. + string next_page_token = 2; + + // Locations that could not be reached. + repeated string unreachable = 3; +} + +// A request to delete a preview. +message DeletePreviewRequest { + // Required. The name of the Preview in the format: + // 'projects/{project_id}/locations/{location}/previews/{preview}'. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { type: "config.googleapis.com/Preview" } + ]; + + // Optional. An optional request ID to identify requests. Specify a unique + // request ID so that if you must retry your request, the server will know to + // ignore the request if it has already been completed. The server will + // guarantee that for at least 60 minutes after the first request. + // + // For example, consider a situation where you make an initial request and the + // request times out. If you make the request again with the same request ID, + // the server can check if original operation with the same request ID was + // received, and if so, will ignore the second request. This prevents clients + // from accidentally creating duplicate commitments. + // + // The request ID must be a valid UUID with the exception that zero UUID is + // not supported (00000000-0000-0000-0000-000000000000). + string request_id = 2 [ + (google.api.field_info).format = UUID4, + (google.api.field_behavior) = OPTIONAL + ]; +} + +// A request to export preview results. +message ExportPreviewResultRequest { + // Required. The preview whose results should be exported. The preview value + // is in the format: + // 'projects/{project_id}/locations/{location}/previews/{preview}'. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { type: "config.googleapis.com/Preview" } + ]; +} + +// A response to `ExportPreviewResult` call. Contains preview results. +message ExportPreviewResultResponse { + // Output only. Signed URLs for accessing the plan files. + PreviewResult result = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Contains a signed Cloud Storage URLs. +message PreviewResult { + // Output only. Plan binary signed URL + string binary_signed_uri = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Plan JSON signed URL + string json_signed_uri = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/cloud/config/v1/config_gapic.yaml b/third_party/googleapis/google/cloud/config/v1/config_gapic.yaml new file mode 100644 index 000000000..2db6b9e6b --- /dev/null +++ b/third_party/googleapis/google/cloud/config/v1/config_gapic.yaml @@ -0,0 +1,35 @@ +type: com.google.api.codegen.ConfigProto +config_schema_version: 2.0.0 +interfaces: +- name: google.cloud.config.v1.Config + methods: + - name: CreateDeployment + long_running: + initial_poll_delay_millis: 300000 + max_poll_delay_millis: 3600000 + poll_delay_multiplier: 1.25 + total_poll_timeout_millis: 43200000 + - name: UpdateDeployment + long_running: + initial_poll_delay_millis: 300000 + max_poll_delay_millis: 3600000 + poll_delay_multiplier: 1.25 + total_poll_timeout_millis: 43200000 + - name: DeleteDeployment + long_running: + initial_poll_delay_millis: 300000 + max_poll_delay_millis: 3600000 + poll_delay_multiplier: 1.25 + total_poll_timeout_millis: 43200000 + - name: CreatePreview + long_running: + initial_poll_delay_millis: 300000 + max_poll_delay_millis: 3600000 + poll_delay_multiplier: 1.25 + total_poll_timeout_millis: 43200000 + - name: DeletePreview + 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/cloud/config/v1/config_v1.yaml b/third_party/googleapis/google/cloud/config/v1/config_v1.yaml new file mode 100644 index 000000000..0295349d8 --- /dev/null +++ b/third_party/googleapis/google/cloud/config/v1/config_v1.yaml @@ -0,0 +1,135 @@ +type: google.api.Service +config_version: 3 +name: config.googleapis.com +title: Infrastructure Manager API + +apis: +- name: google.cloud.config.v1.Config +- name: google.cloud.location.Locations +- name: google.iam.v1.IAMPolicy +- name: google.longrunning.Operations + +types: +- name: google.cloud.config.v1.OperationMetadata + +documentation: + summary: Creates and manages Google Cloud Platform resources and infrastructure. + 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. + +http: + rules: + - selector: google.cloud.location.Locations.GetLocation + get: '/v1/{name=projects/*/locations/*}' + - selector: google.cloud.location.Locations.ListLocations + get: '/v1/{name=projects/*}/locations' + - selector: google.iam.v1.IAMPolicy.GetIamPolicy + get: '/v1/{resource=projects/*/locations/*/deployments/*}:getIamPolicy' + - selector: google.iam.v1.IAMPolicy.SetIamPolicy + post: '/v1/{resource=projects/*/locations/*/deployments/*}:setIamPolicy' + body: '*' + - selector: google.iam.v1.IAMPolicy.TestIamPermissions + post: '/v1/{resource=projects/*/locations/*/deployments/*}:testIamPermissions' + body: '*' + - selector: google.longrunning.Operations.CancelOperation + post: '/v1/{name=projects/*/locations/*/operations/*}:cancel' + body: '*' + - selector: google.longrunning.Operations.DeleteOperation + delete: '/v1/{name=projects/*/locations/*/operations/*}' + - selector: google.longrunning.Operations.GetOperation + get: '/v1/{name=projects/*/locations/*/operations/*}' + - selector: google.longrunning.Operations.ListOperations + get: '/v1/{name=projects/*/locations/*}/operations' + +authentication: + rules: + - selector: 'google.cloud.config.v1.Config.*' + 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 + +publishing: + new_issue_uri: https://issuetracker.google.com/issues/new?component=536700 + documentation_uri: https://cloud.google.com/infrastructure-manager/docs/overview + api_short_name: infra-manager + github_label: 'api: infra-manager' + doc_tag_prefix: infra-manager + organization: CLOUD + library_settings: + - version: google.cloud.config.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 diff --git a/third_party/googleapis/google/cloud/connectors/v1/settings.proto b/third_party/googleapis/google/cloud/connectors/v1/settings.proto new file mode 100644 index 000000000..31879187d --- /dev/null +++ b/third_party/googleapis/google/cloud/connectors/v1/settings.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.cloud.connectors.v1; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option go_package = "cloud.google.com/go/connectors/apiv1/connectorspb;connectorspb"; +option java_multiple_files = true; +option java_outer_classname = "SettingsProto"; +option java_package = "com.google.cloud.connectors.v1"; + +// Request for [GetGlobalSettingsRequest]. +message GetGlobalSettingsRequest { + // Required. The resource name of the Settings. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "connectors.googleapis.com/Settings" + } + ]; +} + +// Global Settings details. +message Settings { + option (google.api.resource) = { + type: "connectors.googleapis.com/Settings" + pattern: "projects/{project}/locations/global/settings" + }; + + // Output only. Resource name of the Connection. + // Format: projects/{project}/locations/global/settings} + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Optional. Flag indicates whether vpc-sc is enabled. + bool vpcsc = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Output only. Flag indicates if user is in PayG model + bool payg = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/cloud/connectors/v1/ssl_config.proto b/third_party/googleapis/google/cloud/connectors/v1/ssl_config.proto new file mode 100644 index 000000000..cc4ae3707 --- /dev/null +++ b/third_party/googleapis/google/cloud/connectors/v1/ssl_config.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.cloud.connectors.v1; + +import "google/cloud/connectors/v1/common.proto"; + +option go_package = "cloud.google.com/go/connectors/apiv1/connectorspb;connectorspb"; +option java_multiple_files = true; +option java_outer_classname = "SslConfigProto"; +option java_package = "com.google.cloud.connectors.v1"; + +// Ssl config details of a connector version +message SslConfigTemplate { + // Controls the ssl type for the given connector version + SslType ssl_type = 1; + + // Boolean for determining if the connector version mandates TLS. + bool is_tls_mandatory = 2; + + // List of supported Server Cert Types + repeated CertType server_cert_type = 3; + + // List of supported Client Cert Types + repeated CertType client_cert_type = 4; + + // Any additional fields that need to be rendered + repeated ConfigVariableTemplate additional_variables = 5; +} + +// SSL Configuration of a connection +message SslConfig { + // Enum for Ttust Model + enum TrustModel { + // Public Trust Model. Takes the Default Java trust store. + PUBLIC = 0; + + // Private Trust Model. Takes custom/private trust store. + PRIVATE = 1; + + // Insecure Trust Model. Accept all certificates. + INSECURE = 2; + } + + // Controls the ssl type for the given connector version. + SslType type = 1; + + // Trust Model of the SSL connection + TrustModel trust_model = 2; + + // Private Server Certificate. Needs to be specified if trust model is + // `PRIVATE`. + Secret private_server_certificate = 3; + + // Client Certificate + Secret client_certificate = 4; + + // Client Private Key + Secret client_private_key = 5; + + // Secret containing the passphrase protecting the Client Private Key + Secret client_private_key_pass = 6; + + // Type of Server Cert (PEM/JKS/.. etc.) + CertType server_cert_type = 7; + + // Type of Client Cert (PEM/JKS/.. etc.) + CertType client_cert_type = 8; + + // Bool for enabling SSL + bool use_ssl = 9; + + // Additional SSL related field values + repeated ConfigVariable additional_variables = 10; +} + +// Enum for controlling the SSL Type (TLS/MTLS) +enum SslType { + // No SSL configuration required. + SSL_TYPE_UNSPECIFIED = 0; + + // TLS Handshake + TLS = 1; + + // mutual TLS (MTLS) Handshake + MTLS = 2; +} + +// Enum for Cert Types +enum CertType { + // Cert type unspecified. + CERT_TYPE_UNSPECIFIED = 0; + + // Privacy Enhanced Mail (PEM) Type + PEM = 1; +} diff --git a/third_party/googleapis/google/cloud/contentwarehouse/v1/pipeline_service.proto b/third_party/googleapis/google/cloud/contentwarehouse/v1/pipeline_service.proto new file mode 100644 index 000000000..78f477f7f --- /dev/null +++ b/third_party/googleapis/google/cloud/contentwarehouse/v1/pipeline_service.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.cloud.contentwarehouse.v1; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/contentwarehouse/v1/common.proto"; +import "google/cloud/contentwarehouse/v1/pipelines.proto"; +import "google/longrunning/operations.proto"; + +option csharp_namespace = "Google.Cloud.ContentWarehouse.V1"; +option go_package = "cloud.google.com/go/contentwarehouse/apiv1/contentwarehousepb;contentwarehousepb"; +option java_multiple_files = true; +option java_outer_classname = "PipelineServiceProto"; +option java_package = "com.google.cloud.contentwarehouse.v1"; +option php_namespace = "Google\\Cloud\\ContentWarehouse\\V1"; +option ruby_package = "Google::Cloud::ContentWarehouse::V1"; + +// This service lets you manage pipelines. +service PipelineService { + option (google.api.default_host) = "contentwarehouse.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform"; + + // Run a predefined pipeline. + rpc RunPipeline(RunPipelineRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{name=projects/*/locations/*}:runPipeline" + body: "*" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "RunPipelineResponse" + metadata_type: "RunPipelineMetadata" + }; + } +} + +// Request message for DocumentService.RunPipeline. +message RunPipelineRequest { + // Required. The resource name which owns the resources of the pipeline. + // Format: projects/{project_number}/locations/{location}. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "contentwarehouse.googleapis.com/Location" + } + ]; + + // The predefined pipelines. + oneof pipeline { + // Cloud Storage ingestion pipeline. + GcsIngestPipeline gcs_ingest_pipeline = 2; + + // Use DocAI processors to process documents in Cloud Storage and ingest + // them to Document Warehouse. + GcsIngestWithDocAiProcessorsPipeline + gcs_ingest_with_doc_ai_processors_pipeline = 3; + + // Export docuemnts from Document Warehouse to CDW for training purpose. + ExportToCdwPipeline export_cdw_pipeline = 4; + + // Use a DocAI processor to process documents in Document Warehouse, and + // re-ingest the updated results into Document Warehouse. + ProcessWithDocAiPipeline process_with_doc_ai_pipeline = 5; + } + + // The meta information collected about the end user, used to enforce access + // control for the service. + RequestMetadata request_metadata = 6; +} diff --git a/third_party/googleapis/google/cloud/contentwarehouse/v1/pipelines.proto b/third_party/googleapis/google/cloud/contentwarehouse/v1/pipelines.proto new file mode 100644 index 000000000..db34b5c6d --- /dev/null +++ b/third_party/googleapis/google/cloud/contentwarehouse/v1/pipelines.proto @@ -0,0 +1,291 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF 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.contentwarehouse.v1; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/contentwarehouse/v1/common.proto"; +import "google/iam/v1/policy.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Cloud.ContentWarehouse.V1"; +option go_package = "cloud.google.com/go/contentwarehouse/apiv1/contentwarehousepb;contentwarehousepb"; +option java_multiple_files = true; +option java_outer_classname = "PipelinesProto"; +option java_package = "com.google.cloud.contentwarehouse.v1"; +option php_namespace = "Google\\Cloud\\ContentWarehouse\\V1"; +option ruby_package = "Google::Cloud::ContentWarehouse::V1"; +option (google.api.resource_definition) = { + type: "cloudfunctions.googleapis.com/CloudFunction" + pattern: "projects/{project}/locations/{location}/functions/{function}" +}; + +// Response message of RunPipeline method. +message RunPipelineResponse {} + +// Metadata message of RunPipeline method. +message RunPipelineMetadata { + // The metadata message for GcsIngest pipeline. + message GcsIngestPipelineMetadata { + // The input Cloud Storage folder in this pipeline. + // Format: `gs:///`. + string input_path = 1; + } + + // The metadata message for Export-to-CDW pipeline. + message ExportToCdwPipelineMetadata { + // The input list of all the resource names of the documents to be exported. + repeated string documents = 1; + + // The output CDW dataset resource name. + string doc_ai_dataset = 2; + + // The output Cloud Storage folder in this pipeline. + string output_path = 3; + } + + // The metadata message for Process-with-DocAi pipeline. + message ProcessWithDocAiPipelineMetadata { + // The input list of all the resource names of the documents to be + // processed. + repeated string documents = 1; + + // The DocAI processor to process the documents with. + ProcessorInfo processor_info = 2; + } + + // The status of processing a document. + message IndividualDocumentStatus { + // Document identifier of an existing document. + string document_id = 1; + + // The status processing the document. + google.rpc.Status status = 2; + } + + // Number of files that were processed by the pipeline. + int32 total_file_count = 1; + + // Number of files that have failed at some point in the pipeline. + int32 failed_file_count = 2; + + // User unique identification and groups information. + UserInfo user_info = 3; + + // The pipeline metadata. + oneof pipeline_metadata { + // The pipeline metadata for GcsIngest pipeline. + GcsIngestPipelineMetadata gcs_ingest_pipeline_metadata = 4; + + // The pipeline metadata for Export-to-CDW pipeline. + ExportToCdwPipelineMetadata export_to_cdw_pipeline_metadata = 6; + + // The pipeline metadata for Process-with-DocAi pipeline. + ProcessWithDocAiPipelineMetadata process_with_doc_ai_pipeline_metadata = 7; + } + + // The list of response details of each document. + repeated IndividualDocumentStatus individual_document_statuses = 5; +} + +// The DocAI processor information. +message ProcessorInfo { + // The processor resource name. + // Format is `projects/{project}/locations/{location}/processors/{processor}`, + // or + // `projects/{project}/locations/{location}/processors/{processor}/processorVersions/{processorVersion}` + string processor_name = 1; + + // The processor will process the documents with this document type. + string document_type = 2; + + // The Document schema resource name. All documents processed by this + // processor will use this schema. + // Format: + // projects/{project_number}/locations/{location}/documentSchemas/{document_schema_id}. + string schema_name = 3; +} + +// The ingestion pipeline config. +message IngestPipelineConfig { + // The document level acl policy config. + // This refers to an Identity and Access (IAM) policy, which specifies access + // controls for all documents ingested by the pipeline. The + // [role][google.iam.v1.Binding.role] and + // [members][google.iam.v1.Binding.role] under the policy needs to be + // specified. + // + // The following roles are supported for document level acl control: + // * roles/contentwarehouse.documentAdmin + // * roles/contentwarehouse.documentEditor + // * roles/contentwarehouse.documentViewer + // + // The following members are supported for document level acl control: + // * user:user-email@example.com + // * group:group-email@example.com + // Note that for documents searched with LLM, only single level user or group + // acl check is supported. + google.iam.v1.Policy document_acl_policy = 1; + + // The document text extraction enabled flag. + // If the flag is set to true, DWH will perform text extraction on the raw + // document. + bool enable_document_text_extraction = 2; + + // Optional. The name of the folder to which all ingested documents will be + // linked during ingestion process. Format is + // `projects/{project}/locations/{location}/documents/{folder_id}` + string folder = 3 [(google.api.field_behavior) = OPTIONAL]; + + // The Cloud Function resource name. The Cloud Function needs to live inside + // consumer project and is accessible to Document AI Warehouse P4SA. + // Only Cloud Functions V2 is supported. Cloud function execution should + // complete within 5 minutes or this file ingestion may fail due to timeout. + // Format: `https://{region}-{project_id}.cloudfunctions.net/{cloud_function}` + // The following keys are available the request json payload. + // * display_name + // * properties + // * plain_text + // * reference_id + // * document_schema_name + // * raw_document_path + // * raw_document_file_type + // + // The following keys from the cloud function json response payload will be + // ingested to the Document AI Warehouse as part of Document proto content + // and/or related information. The original values will be overridden if any + // key is present in the response. + // * display_name + // * properties + // * plain_text + // * document_acl_policy + // * folder + string cloud_function = 4 [(google.api.resource_reference) = { + type: "cloudfunctions.googleapis.com/CloudFunction" + }]; +} + +// The configuration of the Cloud Storage Ingestion pipeline. +message GcsIngestPipeline { + // The input Cloud Storage folder. All files under this folder will be + // imported to Document Warehouse. + // Format: `gs:///`. + string input_path = 1; + + // The Document Warehouse schema resource name. All documents processed by + // this pipeline will use this schema. + // Format: + // projects/{project_number}/locations/{location}/documentSchemas/{document_schema_id}. + string schema_name = 2; + + // The Doc AI processor type name. Only used when the format of ingested + // files is Doc AI Document proto format. + string processor_type = 3; + + // The flag whether to skip ingested documents. + // If it is set to true, documents in Cloud Storage contains key "status" with + // value "status=ingested" in custom metadata will be skipped to ingest. + bool skip_ingested_documents = 4; + + // Optional. The config for the Cloud Storage Ingestion pipeline. + // It provides additional customization options to run the pipeline and can be + // skipped if it is not applicable. + IngestPipelineConfig pipeline_config = 5 + [(google.api.field_behavior) = OPTIONAL]; +} + +// The configuration of the Cloud Storage Ingestion with DocAI Processors +// pipeline. +message GcsIngestWithDocAiProcessorsPipeline { + // The input Cloud Storage folder. All files under this folder will be + // imported to Document Warehouse. + // Format: `gs:///`. + string input_path = 1; + + // The split and classify processor information. + // The split and classify result will be used to find a matched extract + // processor. + ProcessorInfo split_classify_processor_info = 2; + + // The extract processors information. + // One matched extract processor will be used to process documents based on + // the classify processor result. If no classify processor is specified, the + // first extract processor will be used. + repeated ProcessorInfo extract_processor_infos = 3; + + // The Cloud Storage folder path used to store the raw results from + // processors. + // Format: `gs:///`. + string processor_results_folder_path = 4; + + // The flag whether to skip ingested documents. + // If it is set to true, documents in Cloud Storage contains key "status" with + // value "status=ingested" in custom metadata will be skipped to ingest. + bool skip_ingested_documents = 5; + + // Optional. The config for the Cloud Storage Ingestion with DocAI Processors + // pipeline. It provides additional customization options to run the pipeline + // and can be skipped if it is not applicable. + IngestPipelineConfig pipeline_config = 6 + [(google.api.field_behavior) = OPTIONAL]; +} + +// The configuration of exporting documents from the Document Warehouse to CDW +// pipeline. +message ExportToCdwPipeline { + // The list of all the resource names of the documents to be processed. + // Format: + // projects/{project_number}/locations/{location}/documents/{document_id}. + repeated string documents = 1; + + // The Cloud Storage folder path used to store the exported documents before + // being sent to CDW. + // Format: `gs:///`. + string export_folder_path = 2; + + // Optional. The CDW dataset resource name. This field is optional. If not + // set, the documents will be exported to Cloud Storage only. Format: + // projects/{project}/locations/{location}/processors/{processor}/dataset + string doc_ai_dataset = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Ratio of training dataset split. When importing into Document AI Workbench, + // documents will be automatically split into training and test split category + // with the specified ratio. This field is required if doc_ai_dataset is set. + float training_split_ratio = 4; +} + +// The configuration of processing documents in Document Warehouse with DocAi +// processors pipeline. +message ProcessWithDocAiPipeline { + // The list of all the resource names of the documents to be processed. + // Format: + // projects/{project_number}/locations/{location}/documents/{document_id}. + repeated string documents = 1; + + // The Cloud Storage folder path used to store the exported documents before + // being sent to CDW. + // Format: `gs:///`. + string export_folder_path = 2; + + // The CDW processor information. + ProcessorInfo processor_info = 3; + + // The Cloud Storage folder path used to store the raw results from + // processors. + // Format: `gs:///`. + string processor_results_folder_path = 4; +} diff --git a/third_party/googleapis/google/cloud/datacatalog/v1/dump_content.proto b/third_party/googleapis/google/cloud/datacatalog/v1/dump_content.proto new file mode 100644 index 000000000..0d01faec2 --- /dev/null +++ b/third_party/googleapis/google/cloud/datacatalog/v1/dump_content.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.cloud.datacatalog.v1; + +import "google/api/field_behavior.proto"; +import "google/cloud/datacatalog/v1/datacatalog.proto"; +import "google/cloud/datacatalog/v1/tags.proto"; + +option cc_enable_arenas = true; +option csharp_namespace = "Google.Cloud.DataCatalog.V1"; +option go_package = "cloud.google.com/go/datacatalog/apiv1/datacatalogpb;datacatalogpb"; +option java_multiple_files = true; +option java_outer_classname = "DumpContentProto"; +option java_package = "com.google.cloud.datacatalog.v1"; +option php_namespace = "Google\\Cloud\\DataCatalog\\V1"; +option ruby_package = "Google::Cloud::DataCatalog::V1"; + +// Wrapper containing Entry and information about Tags +// that should and should not be attached to it. +message TaggedEntry { + // Required. Entry to be ingested. + oneof entry { + // Non-encrypted Data Catalog v1 Entry. + Entry v1_entry = 1; + } + + // Optional. Tags that should be ingested into the Data Catalog. + // Caller should populate template name, column and fields. + repeated Tag present_tags = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Tags that should be deleted from the Data Catalog. + // Caller should populate template name and column only. + repeated Tag absent_tags = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// Wrapper for any item that can be contained in the dump. +message DumpItem { + oneof item { + // Entry and its tags. + TaggedEntry tagged_entry = 1; + } +} diff --git a/third_party/googleapis/google/cloud/datacatalog/v1beta1/usage.proto b/third_party/googleapis/google/cloud/datacatalog/v1beta1/usage.proto new file mode 100644 index 000000000..9e4413ae9 --- /dev/null +++ b/third_party/googleapis/google/cloud/datacatalog/v1beta1/usage.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.cloud.datacatalog.v1beta1; + +import "google/protobuf/timestamp.proto"; + +option cc_enable_arenas = true; +option csharp_namespace = "Google.Cloud.DataCatalog.V1Beta1"; +option go_package = "cloud.google.com/go/datacatalog/apiv1beta1/datacatalogpb;datacatalogpb"; +option java_multiple_files = true; +option java_package = "com.google.cloud.datacatalog.v1beta1"; +option php_namespace = "Google\\Cloud\\DataCatalog\\V1beta1"; +option ruby_package = "Google::Cloud::DataCatalog::V1beta1"; + +// Detailed counts on the entry's usage. +// Caveats: +// - Only BigQuery tables have usage stats +// - The usage stats only include BigQuery query jobs +// - The usage stats might be underestimated, e.g. wildcard table references +// are not yet counted in usage computation +// https://cloud.google.com/bigquery/docs/querying-wildcard-tables +message UsageStats { + // The number of times that the underlying entry was successfully used. + float total_completions = 1; + + // The number of times that the underlying entry was attempted to be used + // but failed. + float total_failures = 2; + + // The number of times that the underlying entry was attempted to be used + // but was cancelled by the user. + float total_cancellations = 3; + + // Total time spent (in milliseconds) during uses the resulted in completions. + float total_execution_time_for_completions_millis = 4; +} + +// The set of all usage signals that we store in Data Catalog. +message UsageSignal { + // The timestamp of the end of the usage statistics duration. + google.protobuf.Timestamp update_time = 1; + + // Usage statistics over each of the pre-defined time ranges, supported + // strings for time ranges are {"24H", "7D", "30D"}. + map usage_within_time_range = 2; +} diff --git a/third_party/googleapis/google/cloud/dataform/logging/v1/BUILD.bazel b/third_party/googleapis/google/cloud/dataform/logging/v1/BUILD.bazel new file mode 100644 index 000000000..f15ed4f61 --- /dev/null +++ b/third_party/googleapis/google/cloud/dataform/logging/v1/BUILD.bazel @@ -0,0 +1,180 @@ +# This file was automatically generated by BuildFileGenerator + +# 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") + +proto_library( + name = "logging_proto", + srcs = [ + "logging.proto", + ], + deps = [ + "//google/api:field_behavior_proto", + ], +) + +############################################################################## +# Java +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "java_grpc_library", + "java_proto_library", +) + +java_proto_library( + name = "logging_java_proto", + deps = [":logging_proto"], +) + +java_grpc_library( + name = "logging_java_grpc", + srcs = [":logging_proto"], + deps = [":logging_java_proto"], +) + +############################################################################## +# Go +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "go_gapic_assembly_pkg", + "go_proto_library", +) + +go_proto_library( + name = "logging_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "cloud.google.com/go/dataform/logging/apiv1/loggingpb", + protos = [":logging_proto"], + deps = [ + "//google/api:annotations_go_proto", + ], +) + +go_gapic_assembly_pkg( + name = "logging-v1-go", + deps = [ + ":logging_go_proto", + ], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "moved_proto_library", + "py_grpc_library", + "py_proto_library", +) + +moved_proto_library( + name = "logging_moved_proto", + srcs = [":logging_proto"], + deps = [ + "//google/api:field_behavior_proto", + ], +) + +py_proto_library( + name = "logging_py_proto", + deps = [":logging_moved_proto"], +) + +py_grpc_library( + name = "logging_py_grpc", + srcs = [":logging_moved_proto"], + deps = [":logging_py_proto"], +) + +############################################################################## +# PHP +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "php_gapic_assembly_pkg", + "php_proto_library", +) + +php_proto_library( + name = "logging_php_proto", + deps = [":logging_proto"], +) + +php_gapic_assembly_pkg( + name = "logging-v1-php", + deps = [ + ":logging_php_proto", + ], +) + +############################################################################## +# Node.js +############################################################################## + +############################################################################## +# Ruby +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "ruby_grpc_library", + "ruby_proto_library", +) + +ruby_proto_library( + name = "logging_ruby_proto", + deps = [":logging_proto"], +) + +ruby_grpc_library( + name = "logging_ruby_grpc", + srcs = [":logging_proto"], + deps = [":logging_ruby_proto"], +) + +############################################################################## +# C# +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "csharp_grpc_library", + "csharp_proto_library", +) + +csharp_proto_library( + name = "logging_csharp_proto", + deps = [":logging_proto"], +) + +csharp_grpc_library( + name = "logging_csharp_grpc", + srcs = [":logging_proto"], + deps = [":logging_csharp_proto"], +) + +############################################################################## +# C++ +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "cc_grpc_library", + "cc_proto_library", +) + +cc_proto_library( + name = "logging_cc_proto", + deps = [":logging_proto"], +) + +cc_grpc_library( + name = "logging_cc_grpc", + srcs = [":logging_proto"], + grpc_only = True, + deps = [":logging_cc_proto"], +) diff --git a/third_party/googleapis/google/cloud/dataform/logging/v1/README.md b/third_party/googleapis/google/cloud/dataform/logging/v1/README.md new file mode 100644 index 000000000..81f3a46fc --- /dev/null +++ b/third_party/googleapis/google/cloud/dataform/logging/v1/README.md @@ -0,0 +1,3 @@ +# Dataform API Platform Logging + +These protos represent the Dataform API log entry schema. diff --git a/third_party/googleapis/google/cloud/dataform/logging/v1/logging.proto b/third_party/googleapis/google/cloud/dataform/logging/v1/logging.proto new file mode 100644 index 000000000..7d4c8e66c --- /dev/null +++ b/third_party/googleapis/google/cloud/dataform/logging/v1/logging.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.cloud.dataform.logging.v1; + +import "google/api/field_behavior.proto"; + +option go_package = "cloud.google.com/go/dataform/logging/apiv1/loggingpb;loggingpb"; +option java_multiple_files = true; +option java_outer_classname = "LoggingProto"; +option java_package = "com.google.cloud.dataform.logging.v1"; + +// Structured payload for logs generated from Dataform workflow invocation +// completions. +message WorkflowInvocationCompletionLogEntry { + // Represents the final termination state of a workflow invocation. + enum TerminalState { + // Default value. This value is unused. + TERMINAL_STATE_UNSPECIFIED = 0; + + // The workflow invocation succeeded. + SUCCEEDED = 1; + + // The workflow invocation was cancelled. + CANCELLED = 2; + + // The workflow invocation failed. + FAILED = 3; + } + + // Required. Identifier of the workflow invocation. + string workflow_invocation_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Optional. Identifier of the workflow config. + string workflow_config_id = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Identifier of the release config. + string release_config_id = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Required. The workflow invocation's final termination state. + TerminalState terminal_state = 4 [(google.api.field_behavior) = REQUIRED]; +} diff --git a/third_party/googleapis/google/cloud/dataplex/v1/data_taxonomy.proto b/third_party/googleapis/google/cloud/dataplex/v1/data_taxonomy.proto new file mode 100644 index 000000000..feb150dca --- /dev/null +++ b/third_party/googleapis/google/cloud/dataplex/v1/data_taxonomy.proto @@ -0,0 +1,793 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF 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.dataplex.v1; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/dataplex/v1/security.proto"; +import "google/cloud/dataplex/v1/service.proto"; +import "google/longrunning/operations.proto"; +import "google/protobuf/empty.proto"; +import "google/protobuf/field_mask.proto"; +import "google/protobuf/timestamp.proto"; + +option go_package = "cloud.google.com/go/dataplex/apiv1/dataplexpb;dataplexpb"; +option java_multiple_files = true; +option java_outer_classname = "DataTaxonomyProto"; +option java_package = "com.google.cloud.dataplex.v1"; + +// DataTaxonomyService enables attribute-based governance. The resources +// currently offered include DataTaxonomy and DataAttribute. +service DataTaxonomyService { + option (google.api.default_host) = "dataplex.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform"; + + // Create a DataTaxonomy resource. + rpc CreateDataTaxonomy(CreateDataTaxonomyRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*}/dataTaxonomies" + body: "data_taxonomy" + }; + option (google.api.method_signature) = + "parent,data_taxonomy,data_taxonomy_id"; + option (google.longrunning.operation_info) = { + response_type: "DataTaxonomy" + metadata_type: "OperationMetadata" + }; + } + + // Updates a DataTaxonomy resource. + rpc UpdateDataTaxonomy(UpdateDataTaxonomyRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + patch: "/v1/{data_taxonomy.name=projects/*/locations/*/dataTaxonomies/*}" + body: "data_taxonomy" + }; + option (google.api.method_signature) = "data_taxonomy,update_mask"; + option (google.longrunning.operation_info) = { + response_type: "DataTaxonomy" + metadata_type: "OperationMetadata" + }; + } + + // Deletes a DataTaxonomy resource. All attributes within the DataTaxonomy + // must be deleted before the DataTaxonomy can be deleted. + rpc DeleteDataTaxonomy(DeleteDataTaxonomyRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1/{name=projects/*/locations/*/dataTaxonomies/*}" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "OperationMetadata" + }; + } + + // Lists DataTaxonomy resources in a project and location. + rpc ListDataTaxonomies(ListDataTaxonomiesRequest) + returns (ListDataTaxonomiesResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*}/dataTaxonomies" + }; + option (google.api.method_signature) = "parent"; + } + + // Retrieves a DataTaxonomy resource. + rpc GetDataTaxonomy(GetDataTaxonomyRequest) returns (DataTaxonomy) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/dataTaxonomies/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Create a DataAttributeBinding resource. + rpc CreateDataAttributeBinding(CreateDataAttributeBindingRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*}/dataAttributeBindings" + body: "data_attribute_binding" + }; + option (google.api.method_signature) = + "parent,data_attribute_binding,data_attribute_binding_id"; + option (google.longrunning.operation_info) = { + response_type: "DataAttributeBinding" + metadata_type: "OperationMetadata" + }; + } + + // Updates a DataAttributeBinding resource. + rpc UpdateDataAttributeBinding(UpdateDataAttributeBindingRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + patch: "/v1/{data_attribute_binding.name=projects/*/locations/*/dataAttributeBindings/*}" + body: "data_attribute_binding" + }; + option (google.api.method_signature) = "data_attribute_binding,update_mask"; + option (google.longrunning.operation_info) = { + response_type: "DataAttributeBinding" + metadata_type: "OperationMetadata" + }; + } + + // Deletes a DataAttributeBinding resource. All attributes within the + // DataAttributeBinding must be deleted before the DataAttributeBinding can be + // deleted. + rpc DeleteDataAttributeBinding(DeleteDataAttributeBindingRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1/{name=projects/*/locations/*/dataAttributeBindings/*}" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "OperationMetadata" + }; + } + + // Lists DataAttributeBinding resources in a project and location. + rpc ListDataAttributeBindings(ListDataAttributeBindingsRequest) + returns (ListDataAttributeBindingsResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*}/dataAttributeBindings" + }; + option (google.api.method_signature) = "parent"; + } + + // Retrieves a DataAttributeBinding resource. + rpc GetDataAttributeBinding(GetDataAttributeBindingRequest) + returns (DataAttributeBinding) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/dataAttributeBindings/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Create a DataAttribute resource. + rpc CreateDataAttribute(CreateDataAttributeRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*/dataTaxonomies/*}/attributes" + body: "data_attribute" + }; + option (google.api.method_signature) = + "parent,data_attribute,data_attribute_id"; + option (google.longrunning.operation_info) = { + response_type: "DataAttribute" + metadata_type: "OperationMetadata" + }; + } + + // Updates a DataAttribute resource. + rpc UpdateDataAttribute(UpdateDataAttributeRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + patch: "/v1/{data_attribute.name=projects/*/locations/*/dataTaxonomies/*/attributes/*}" + body: "data_attribute" + }; + option (google.api.method_signature) = "data_attribute,update_mask"; + option (google.longrunning.operation_info) = { + response_type: "DataAttribute" + metadata_type: "OperationMetadata" + }; + } + + // Deletes a Data Attribute resource. + rpc DeleteDataAttribute(DeleteDataAttributeRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1/{name=projects/*/locations/*/dataTaxonomies/*/attributes/*}" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "OperationMetadata" + }; + } + + // Lists Data Attribute resources in a DataTaxonomy. + rpc ListDataAttributes(ListDataAttributesRequest) + returns (ListDataAttributesResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*/dataTaxonomies/*}/attributes" + }; + option (google.api.method_signature) = "parent"; + } + + // Retrieves a Data Attribute resource. + rpc GetDataAttribute(GetDataAttributeRequest) returns (DataAttribute) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/dataTaxonomies/*/attributes/*}" + }; + option (google.api.method_signature) = "name"; + } +} + +// DataTaxonomy represents a set of hierarchical DataAttributes resources, +// grouped with a common theme Eg: 'SensitiveDataTaxonomy' can have attributes +// to manage PII data. It is defined at project level. +message DataTaxonomy { + option (google.api.resource) = { + type: "dataplex.googleapis.com/DataTaxonomy" + pattern: "projects/{project}/locations/{location}/dataTaxonomies/{data_taxonomy_id}" + }; + + // Output only. The relative resource name of the DataTaxonomy, of the form: + // projects/{project_number}/locations/{location_id}/dataTaxonomies/{data_taxonomy_id}. + string name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "dataplex.googleapis.com/DataTaxonomy" + } + ]; + + // Output only. System generated globally unique ID for the dataTaxonomy. This + // ID will be different if the DataTaxonomy is deleted and re-created with the + // same name. + string uid = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The time when the DataTaxonomy was created. + google.protobuf.Timestamp create_time = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The time when the DataTaxonomy was last updated. + google.protobuf.Timestamp update_time = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Optional. Description of the DataTaxonomy. + string description = 5 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. User friendly display name. + string display_name = 6 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. User-defined labels for the DataTaxonomy. + map labels = 8 [(google.api.field_behavior) = OPTIONAL]; + + // Output only. The number of attributes in the DataTaxonomy. + int32 attribute_count = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // This checksum is computed by the server based on the value of other + // fields, and may be sent on update and delete requests to ensure the + // client has an up-to-date value before proceeding. + string etag = 10; + + // Output only. The number of classes in the DataTaxonomy. + int32 class_count = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Denotes one dataAttribute in a dataTaxonomy, for example, PII. +// DataAttribute resources can be defined in a hierarchy. +// A single dataAttribute resource can contain specs of multiple types +// +// ``` +// PII +// - ResourceAccessSpec : +// - readers :foo@bar.com +// - DataAccessSpec : +// - readers :bar@foo.com +// ``` +message DataAttribute { + option (google.api.resource) = { + type: "dataplex.googleapis.com/DataAttribute" + pattern: "projects/{project}/locations/{location}/dataTaxonomies/{dataTaxonomy}/attributes/{data_attribute_id}" + }; + + // Output only. The relative resource name of the dataAttribute, of the form: + // projects/{project_number}/locations/{location_id}/dataTaxonomies/{dataTaxonomy}/attributes/{data_attribute_id}. + string name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "dataplex.googleapis.com/DataAttribute" + } + ]; + + // Output only. System generated globally unique ID for the DataAttribute. + // This ID will be different if the DataAttribute is deleted and re-created + // with the same name. + string uid = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The time when the DataAttribute was created. + google.protobuf.Timestamp create_time = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The time when the DataAttribute was last updated. + google.protobuf.Timestamp update_time = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Optional. Description of the DataAttribute. + string description = 5 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. User friendly display name. + string display_name = 6 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. User-defined labels for the DataAttribute. + map labels = 7 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The ID of the parent DataAttribute resource, should belong to the + // same data taxonomy. Circular dependency in parent chain is not valid. + // Maximum depth of the hierarchy allowed is 4. + // [a -> b -> c -> d -> e, depth = 4] + string parent_id = 8 [ + (google.api.field_behavior) = OPTIONAL, + (google.api.resource_reference) = { + type: "dataplex.googleapis.com/DataAttribute" + } + ]; + + // Output only. The number of child attributes present for this attribute. + int32 attribute_count = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // This checksum is computed by the server based on the value of other + // fields, and may be sent on update and delete requests to ensure the + // client has an up-to-date value before proceeding. + string etag = 10; + + // Optional. Specified when applied to a resource (eg: Cloud Storage bucket, + // BigQuery dataset, BigQuery table). + ResourceAccessSpec resource_access_spec = 100 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Specified when applied to data stored on the resource (eg: rows, + // columns in BigQuery Tables). + DataAccessSpec data_access_spec = 101 + [(google.api.field_behavior) = OPTIONAL]; +} + +// DataAttributeBinding represents binding of attributes to resources. Eg: Bind +// 'CustomerInfo' entity with 'PII' attribute. +message DataAttributeBinding { + option (google.api.resource) = { + type: "dataplex.googleapis.com/DataAttributeBinding" + pattern: "projects/{project}/locations/{location}/dataAttributeBindings/{data_attribute_binding_id}" + }; + + // Represents a subresource of the given resource, and associated bindings + // with it. Currently supported subresources are column and partition schema + // fields within a table. + message Path { + // Required. The name identifier of the path. + // Nested columns should be of the form: 'address.city'. + string name = 1 [(google.api.field_behavior) = REQUIRED]; + + // Optional. List of attributes to be associated with the path of the + // resource, provided in the form: + // projects/{project}/locations/{location}/dataTaxonomies/{dataTaxonomy}/attributes/{data_attribute_id} + repeated string attributes = 2 [ + (google.api.field_behavior) = OPTIONAL, + (google.api.resource_reference) = { + type: "dataplex.googleapis.com/DataAttribute" + } + ]; + } + + // Output only. The relative resource name of the Data Attribute Binding, of + // the form: + // projects/{project_number}/locations/{location}/dataAttributeBindings/{data_attribute_binding_id} + string name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "dataplex.googleapis.com/DataAttributeBinding" + } + ]; + + // Output only. System generated globally unique ID for the + // DataAttributeBinding. This ID will be different if the DataAttributeBinding + // is deleted and re-created with the same name. + string uid = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The time when the DataAttributeBinding was created. + google.protobuf.Timestamp create_time = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The time when the DataAttributeBinding was last updated. + google.protobuf.Timestamp update_time = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Optional. Description of the DataAttributeBinding. + string description = 5 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. User friendly display name. + string display_name = 6 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. User-defined labels for the DataAttributeBinding. + map labels = 7 [(google.api.field_behavior) = OPTIONAL]; + + // This checksum is computed by the server based on the value of other + // fields, and may be sent on update and delete requests to ensure the + // client has an up-to-date value before proceeding. + // Etags must be used when calling the DeleteDataAttributeBinding and the + // UpdateDataAttributeBinding method. + string etag = 8; + + // The reference to the resource that is associated to attributes, or + // the query to match resources and associate attributes. + oneof resource_reference { + // Optional. Immutable. The resource name of the resource that is associated + // to attributes. Presently, only entity resource is supported in the form: + // projects/{project}/locations/{location}/lakes/{lake}/zones/{zone}/entities/{entity_id} + // Must belong in the same project and region as the attribute binding, and + // there can only exist one active binding for a resource. + string resource = 100 [ + (google.api.field_behavior) = OPTIONAL, + (google.api.field_behavior) = IMMUTABLE + ]; + } + + // Optional. List of attributes to be associated with the resource, provided + // in the form: + // projects/{project}/locations/{location}/dataTaxonomies/{dataTaxonomy}/attributes/{data_attribute_id} + repeated string attributes = 110 [ + (google.api.field_behavior) = OPTIONAL, + (google.api.resource_reference) = { + type: "dataplex.googleapis.com/DataAttribute" + } + ]; + + // Optional. The list of paths for items within the associated resource (eg. + // columns and partitions within a table) along with attribute bindings. + repeated Path paths = 120 [(google.api.field_behavior) = OPTIONAL]; +} + +// Create DataTaxonomy request. +message CreateDataTaxonomyRequest { + // Required. The resource name of the data taxonomy location, of the form: + // projects/{project_number}/locations/{location_id} + // where `location_id` refers to a GCP region. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "locations.googleapis.com/Location" + } + ]; + + // Required. DataTaxonomy identifier. + // * Must contain only lowercase letters, numbers and hyphens. + // * Must start with a letter. + // * Must be between 1-63 characters. + // * Must end with a number or a letter. + // * Must be unique within the Project. + string data_taxonomy_id = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. DataTaxonomy resource. + DataTaxonomy data_taxonomy = 3 [(google.api.field_behavior) = REQUIRED]; + + // Optional. Only validate the request, but do not perform mutations. + // The default is false. + bool validate_only = 4 [(google.api.field_behavior) = OPTIONAL]; +} + +// Update DataTaxonomy request. +message UpdateDataTaxonomyRequest { + // Required. Mask of fields to update. + google.protobuf.FieldMask update_mask = 1 + [(google.api.field_behavior) = REQUIRED]; + + // Required. Only fields specified in `update_mask` are updated. + DataTaxonomy data_taxonomy = 2 [(google.api.field_behavior) = REQUIRED]; + + // Optional. Only validate the request, but do not perform mutations. + // The default is false. + bool validate_only = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// Get DataTaxonomy request. +message GetDataTaxonomyRequest { + // Required. The resource name of the DataTaxonomy: + // projects/{project_number}/locations/{location_id}/dataTaxonomies/{data_taxonomy_id} + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "dataplex.googleapis.com/DataTaxonomy" + } + ]; +} + +// List DataTaxonomies request. +message ListDataTaxonomiesRequest { + // Required. The resource name of the DataTaxonomy location, of the form: + // projects/{project_number}/locations/{location_id} + // where `location_id` refers to a GCP region. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "locations.googleapis.com/Location" + } + ]; + + // Optional. Maximum number of DataTaxonomies to return. The service may + // return fewer than this value. If unspecified, at most 10 DataTaxonomies + // will be returned. The maximum value is 1000; values above 1000 will be + // coerced to 1000. + int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Page token received from a previous ` ListDataTaxonomies` call. + // Provide this to retrieve the subsequent page. When paginating, all other + // parameters provided to ` ListDataTaxonomies` must match the call that + // provided the page token. + string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Filter request. + string filter = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Order by fields for the result. + string order_by = 5 [(google.api.field_behavior) = OPTIONAL]; +} + +// List DataTaxonomies response. +message ListDataTaxonomiesResponse { + // DataTaxonomies under the given parent location. + repeated DataTaxonomy data_taxonomies = 1; + + // Token to retrieve the next page of results, or empty if there are no more + // results in the list. + string next_page_token = 2; + + // Locations that could not be reached. + repeated string unreachable_locations = 3; +} + +// Delete DataTaxonomy request. +message DeleteDataTaxonomyRequest { + // Required. The resource name of the DataTaxonomy: + // projects/{project_number}/locations/{location_id}/dataTaxonomies/{data_taxonomy_id} + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "dataplex.googleapis.com/DataTaxonomy" + } + ]; + + // Optional. If the client provided etag value does not match the current etag + // value,the DeleteDataTaxonomy method returns an ABORTED error. + string etag = 2 [(google.api.field_behavior) = OPTIONAL]; +} + +// Create DataAttribute request. +message CreateDataAttributeRequest { + // Required. The resource name of the parent data taxonomy + // projects/{project_number}/locations/{location_id}/dataTaxonomies/{data_taxonomy_id} + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "dataplex.googleapis.com/DataTaxonomy" + } + ]; + + // Required. DataAttribute identifier. + // * Must contain only lowercase letters, numbers and hyphens. + // * Must start with a letter. + // * Must be between 1-63 characters. + // * Must end with a number or a letter. + // * Must be unique within the DataTaxonomy. + string data_attribute_id = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. DataAttribute resource. + DataAttribute data_attribute = 3 [(google.api.field_behavior) = REQUIRED]; + + // Optional. Only validate the request, but do not perform mutations. + // The default is false. + bool validate_only = 4 [(google.api.field_behavior) = OPTIONAL]; +} + +// Update DataAttribute request. +message UpdateDataAttributeRequest { + // Required. Mask of fields to update. + google.protobuf.FieldMask update_mask = 1 + [(google.api.field_behavior) = REQUIRED]; + + // Required. Only fields specified in `update_mask` are updated. + DataAttribute data_attribute = 2 [(google.api.field_behavior) = REQUIRED]; + + // Optional. Only validate the request, but do not perform mutations. + // The default is false. + bool validate_only = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// Get DataAttribute request. +message GetDataAttributeRequest { + // Required. The resource name of the dataAttribute: + // projects/{project_number}/locations/{location_id}/dataTaxonomies/{dataTaxonomy}/attributes/{data_attribute_id} + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "dataplex.googleapis.com/DataAttribute" + } + ]; +} + +// List DataAttributes request. +message ListDataAttributesRequest { + // Required. The resource name of the DataTaxonomy: + // projects/{project_number}/locations/{location_id}/dataTaxonomies/{data_taxonomy_id} + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "dataplex.googleapis.com/DataTaxonomy" + } + ]; + + // Optional. Maximum number of DataAttributes to return. The service may + // return fewer than this value. If unspecified, at most 10 dataAttributes + // will be returned. The maximum value is 1000; values above 1000 will be + // coerced to 1000. + int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Page token received from a previous `ListDataAttributes` call. + // Provide this to retrieve the subsequent page. When paginating, all other + // parameters provided to `ListDataAttributes` must match the call that + // provided the page token. + string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Filter request. + string filter = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Order by fields for the result. + string order_by = 5 [(google.api.field_behavior) = OPTIONAL]; +} + +// List DataAttributes response. +message ListDataAttributesResponse { + // DataAttributes under the given parent DataTaxonomy. + repeated DataAttribute data_attributes = 1; + + // Token to retrieve the next page of results, or empty if there are no more + // results in the list. + string next_page_token = 2; + + // Locations that could not be reached. + repeated string unreachable_locations = 3; +} + +// Delete DataAttribute request. +message DeleteDataAttributeRequest { + // Required. The resource name of the DataAttribute: + // projects/{project_number}/locations/{location_id}/dataTaxonomies/{dataTaxonomy}/attributes/{data_attribute_id} + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "dataplex.googleapis.com/DataAttribute" + } + ]; + + // Optional. If the client provided etag value does not match the current etag + // value, the DeleteDataAttribute method returns an ABORTED error response. + string etag = 2 [(google.api.field_behavior) = OPTIONAL]; +} + +// Create DataAttributeBinding request. +message CreateDataAttributeBindingRequest { + // Required. The resource name of the parent data taxonomy + // projects/{project_number}/locations/{location_id} + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "locations.googleapis.com/Location" + } + ]; + + // Required. DataAttributeBinding identifier. + // * Must contain only lowercase letters, numbers and hyphens. + // * Must start with a letter. + // * Must be between 1-63 characters. + // * Must end with a number or a letter. + // * Must be unique within the Location. + string data_attribute_binding_id = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. DataAttributeBinding resource. + DataAttributeBinding data_attribute_binding = 3 + [(google.api.field_behavior) = REQUIRED]; + + // Optional. Only validate the request, but do not perform mutations. + // The default is false. + bool validate_only = 4 [(google.api.field_behavior) = OPTIONAL]; +} + +// Update DataAttributeBinding request. +message UpdateDataAttributeBindingRequest { + // Required. Mask of fields to update. + google.protobuf.FieldMask update_mask = 1 + [(google.api.field_behavior) = REQUIRED]; + + // Required. Only fields specified in `update_mask` are updated. + DataAttributeBinding data_attribute_binding = 2 + [(google.api.field_behavior) = REQUIRED]; + + // Optional. Only validate the request, but do not perform mutations. + // The default is false. + bool validate_only = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// Get DataAttributeBinding request. +message GetDataAttributeBindingRequest { + // Required. The resource name of the DataAttributeBinding: + // projects/{project_number}/locations/{location_id}/dataAttributeBindings/{data_attribute_binding_id} + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "dataplex.googleapis.com/DataAttributeBinding" + } + ]; +} + +// List DataAttributeBindings request. +message ListDataAttributeBindingsRequest { + // Required. The resource name of the Location: + // projects/{project_number}/locations/{location_id} + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "locations.googleapis.com/Location" + } + ]; + + // Optional. Maximum number of DataAttributeBindings to return. The service + // may return fewer than this value. If unspecified, at most 10 + // DataAttributeBindings will be returned. The maximum value is 1000; values + // above 1000 will be coerced to 1000. + int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Page token received from a previous `ListDataAttributeBindings` + // call. Provide this to retrieve the subsequent page. When paginating, all + // other parameters provided to `ListDataAttributeBindings` must match the + // call that provided the page token. + string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Filter request. + // Filter using resource: filter=resource:"resource-name" + // Filter using attribute: filter=attributes:"attribute-name" + // Filter using attribute in paths list: + // filter=paths.attributes:"attribute-name" + string filter = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Order by fields for the result. + string order_by = 5 [(google.api.field_behavior) = OPTIONAL]; +} + +// List DataAttributeBindings response. +message ListDataAttributeBindingsResponse { + // DataAttributeBindings under the given parent Location. + repeated DataAttributeBinding data_attribute_bindings = 1; + + // Token to retrieve the next page of results, or empty if there are no more + // results in the list. + string next_page_token = 2; + + // Locations that could not be reached. + repeated string unreachable_locations = 3; +} + +// Delete DataAttributeBinding request. +message DeleteDataAttributeBindingRequest { + // Required. The resource name of the DataAttributeBinding: + // projects/{project_number}/locations/{location_id}/dataAttributeBindings/{data_attribute_binding_id} + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "dataplex.googleapis.com/DataAttributeBinding" + } + ]; + + // Required. If the client provided etag value does not match the current etag + // value, the DeleteDataAttributeBindingRequest method returns an ABORTED + // error response. Etags must be used when calling the + // DeleteDataAttributeBinding. + string etag = 2 [(google.api.field_behavior) = REQUIRED]; +} diff --git a/third_party/googleapis/google/cloud/dataplex/v1/security.proto b/third_party/googleapis/google/cloud/dataplex/v1/security.proto new file mode 100644 index 000000000..97851c61b --- /dev/null +++ b/third_party/googleapis/google/cloud/dataplex/v1/security.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.cloud.dataplex.v1; + +import "google/api/field_behavior.proto"; + +option go_package = "cloud.google.com/go/dataplex/apiv1/dataplexpb;dataplexpb"; +option java_multiple_files = true; +option java_outer_classname = "SecurityProto"; +option java_package = "com.google.cloud.dataplex.v1"; + +// ResourceAccessSpec holds the access control configuration to be enforced +// on the resources, for example, Cloud Storage bucket, BigQuery dataset, +// BigQuery table. +message ResourceAccessSpec { + // Optional. The format of strings follows the pattern followed by IAM in the + // bindings. user:{email}, serviceAccount:{email} group:{email}. + // The set of principals to be granted reader role on the resource. + repeated string readers = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The set of principals to be granted writer role on the resource. + repeated string writers = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The set of principals to be granted owner role on the resource. + repeated string owners = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// DataAccessSpec holds the access control configuration to be enforced on data +// stored within resources (eg: rows, columns in BigQuery Tables). When +// associated with data, the data is only accessible to +// principals explicitly granted access through the DataAccessSpec. Principals +// with access to the containing resource are not implicitly granted access. +message DataAccessSpec { + // Optional. The format of strings follows the pattern followed by IAM in the + // bindings. user:{email}, serviceAccount:{email} group:{email}. + // The set of principals to be granted reader role on data + // stored within resources. + repeated string readers = 1 [(google.api.field_behavior) = OPTIONAL]; +} diff --git a/third_party/googleapis/google/cloud/dataproc/v1/session_templates.proto b/third_party/googleapis/google/cloud/dataproc/v1/session_templates.proto new file mode 100644 index 000000000..6031dffcb --- /dev/null +++ b/third_party/googleapis/google/cloud/dataproc/v1/session_templates.proto @@ -0,0 +1,213 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF 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.dataproc.v1; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/dataproc/v1/sessions.proto"; +import "google/cloud/dataproc/v1/shared.proto"; +import "google/protobuf/empty.proto"; +import "google/protobuf/timestamp.proto"; + +option go_package = "cloud.google.com/go/dataproc/v2/apiv1/dataprocpb;dataprocpb"; +option java_multiple_files = true; +option java_outer_classname = "SessionTemplatesProto"; +option java_package = "com.google.cloud.dataproc.v1"; + +// The SessionTemplateController provides methods to manage session templates. +service SessionTemplateController { + option (google.api.default_host) = "dataproc.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform"; + + // Create a session template synchronously. + rpc CreateSessionTemplate(CreateSessionTemplateRequest) + returns (SessionTemplate) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*}/sessionTemplates" + body: "session_template" + }; + option (google.api.method_signature) = "parent,session_template"; + } + + // Updates the session template synchronously. + rpc UpdateSessionTemplate(UpdateSessionTemplateRequest) + returns (SessionTemplate) { + option (google.api.http) = { + patch: "/v1/{session_template.name=projects/*/locations/*/sessionTemplates/*}" + body: "session_template" + }; + option (google.api.method_signature) = "session_template"; + } + + // Gets the resource representation for a session template. + rpc GetSessionTemplate(GetSessionTemplateRequest) returns (SessionTemplate) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/sessionTemplates/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Lists session templates. + rpc ListSessionTemplates(ListSessionTemplatesRequest) + returns (ListSessionTemplatesResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*}/sessionTemplates" + }; + option (google.api.method_signature) = "parent"; + } + + // Deletes a session template. + rpc DeleteSessionTemplate(DeleteSessionTemplateRequest) + returns (google.protobuf.Empty) { + option (google.api.http) = { + delete: "/v1/{name=projects/*/locations/*/sessionTemplates/*}" + }; + option (google.api.method_signature) = "name"; + } +} + +// A request to create a session template. +message CreateSessionTemplateRequest { + // Required. The parent resource where this session template will be created. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "dataproc.googleapis.com/SessionTemplate" + } + ]; + + // Required. The session template to create. + SessionTemplate session_template = 3 [(google.api.field_behavior) = REQUIRED]; +} + +// A request to update a session template. +message UpdateSessionTemplateRequest { + // Required. The updated session template. + SessionTemplate session_template = 1 [(google.api.field_behavior) = REQUIRED]; +} + +// A request to get the resource representation for a session template. +message GetSessionTemplateRequest { + // Required. The name of the session template to retrieve. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "dataproc.googleapis.com/SessionTemplate" + } + ]; +} + +// A request to list session templates in a project. +message ListSessionTemplatesRequest { + // Required. The parent that owns this collection of session templates. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "dataproc.googleapis.com/SessionTemplate" + } + ]; + + // Optional. The maximum number of sessions to return in each response. + // The service may return fewer than this value. + int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A page token received from a previous `ListSessions` call. + // Provide this token to retrieve the subsequent page. + string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A filter for the session templates to return in the response. + // Filters are case sensitive and have the following syntax: + // + // [field = value] AND [field [= value]] ... + string filter = 4 [(google.api.field_behavior) = OPTIONAL]; +} + +// A list of session templates. +message ListSessionTemplatesResponse { + // Output only. Session template list + repeated SessionTemplate session_templates = 1 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // A token, which can be sent as `page_token` to retrieve the next page. + // If this field is omitted, there are no subsequent pages. + string next_page_token = 2; +} + +// A request to delete a session template. +message DeleteSessionTemplateRequest { + // Required. The name of the session template resource to delete. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "dataproc.googleapis.com/SessionTemplate" + } + ]; +} + +// A representation of a session template. +message SessionTemplate { + option (google.api.resource) = { + type: "dataproc.googleapis.com/SessionTemplate" + pattern: "projects/{project}/locations/{location}/sessionTemplates/{template}" + }; + + // Required. The resource name of the session template. + string name = 1 [(google.api.field_behavior) = REQUIRED]; + + // Optional. Brief description of the template. + string description = 9 [(google.api.field_behavior) = OPTIONAL]; + + // Output only. The time when the template was created. + google.protobuf.Timestamp create_time = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The session configuration. + oneof session_config { + // Optional. Jupyter session config. + JupyterConfig jupyter_session = 3 [(google.api.field_behavior) = OPTIONAL]; + } + + // Output only. The email address of the user who created the template. + string creator = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Optional. Labels to associate with sessions created using this template. + // Label **keys** must contain 1 to 63 characters, and must conform to + // [RFC 1035](https://www.ietf.org/rfc/rfc1035.txt). + // Label **values** can be empty, but, if present, must contain 1 to 63 + // characters and conform to [RFC + // 1035](https://www.ietf.org/rfc/rfc1035.txt). No more than 32 labels can be + // associated with a session. + map labels = 6 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Runtime configuration for session execution. + RuntimeConfig runtime_config = 7 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Environment configuration for session execution. + EnvironmentConfig environment_config = 8 + [(google.api.field_behavior) = OPTIONAL]; + + // Output only. The time the template was last updated. + google.protobuf.Timestamp update_time = 10 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. A session template UUID (Unique Universal Identifier). The + // service generates this value when it creates the session template. + string uuid = 12 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/cloud/dataproc/v1/sessions.proto b/third_party/googleapis/google/cloud/dataproc/v1/sessions.proto new file mode 100644 index 000000000..5e7b02acc --- /dev/null +++ b/third_party/googleapis/google/cloud/dataproc/v1/sessions.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.cloud.dataproc.v1; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/dataproc/v1/shared.proto"; +import "google/longrunning/operations.proto"; +import "google/protobuf/timestamp.proto"; + +option go_package = "cloud.google.com/go/dataproc/v2/apiv1/dataprocpb;dataprocpb"; +option java_multiple_files = true; +option java_outer_classname = "SessionsProto"; +option java_package = "com.google.cloud.dataproc.v1"; + +// The `SessionController` provides methods to manage interactive sessions. +service SessionController { + option (google.api.default_host) = "dataproc.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform"; + + // Create an interactive session asynchronously. + rpc CreateSession(CreateSessionRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*}/sessions" + body: "session" + }; + option (google.api.method_signature) = "parent,session,session_id"; + option (google.longrunning.operation_info) = { + response_type: "Session" + metadata_type: "google.cloud.dataproc.v1.SessionOperationMetadata" + }; + } + + // Gets the resource representation for an interactive session. + rpc GetSession(GetSessionRequest) returns (Session) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/sessions/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Lists interactive sessions. + rpc ListSessions(ListSessionsRequest) returns (ListSessionsResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*}/sessions" + }; + option (google.api.method_signature) = "parent"; + } + + // Terminates the interactive session. + rpc TerminateSession(TerminateSessionRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{name=projects/*/locations/*/sessions/*}:terminate" + body: "*" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "Session" + metadata_type: "google.cloud.dataproc.v1.SessionOperationMetadata" + }; + } + + // Deletes the interactive session resource. If the session is not in terminal + // state, it is terminated, and then deleted. + rpc DeleteSession(DeleteSessionRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1/{name=projects/*/locations/*/sessions/*}" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "Session" + metadata_type: "google.cloud.dataproc.v1.SessionOperationMetadata" + }; + } +} + +// A request to create a session. +message CreateSessionRequest { + // Required. The parent resource where this session will be created. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "dataproc.googleapis.com/Session" + } + ]; + + // Required. The interactive session to create. + Session session = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The ID to use for the session, which becomes the final component + // of the session's resource name. + // + // This value must be 4-63 characters. Valid characters + // are /[a-z][0-9]-/. + string session_id = 3 [(google.api.field_behavior) = REQUIRED]; + + // Optional. A unique ID used to identify the request. If the service + // receives two + // [CreateSessionRequests](https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#google.cloud.dataproc.v1.CreateSessionRequest)s + // with the same ID, the second request is ignored, and the + // first [Session][google.cloud.dataproc.v1.Session] is created and stored in + // the backend. + // + // Recommendation: Set this value to a + // [UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier). + // + // The value must contain only letters (a-z, A-Z), numbers (0-9), + // underscores (_), and hyphens (-). The maximum length is 40 characters. + string request_id = 4 [(google.api.field_behavior) = OPTIONAL]; +} + +// A request to get the resource representation for a session. +message GetSessionRequest { + // Required. The name of the session to retrieve. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "dataproc.googleapis.com/Session" + } + ]; +} + +// A request to list sessions in a project. +message ListSessionsRequest { + // Required. The parent, which owns this collection of sessions. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "dataproc.googleapis.com/Session" + } + ]; + + // Optional. The maximum number of sessions to return in each response. + // The service may return fewer than this value. + int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A page token received from a previous `ListSessions` call. + // Provide this token to retrieve the subsequent page. + string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A filter for the sessions to return in the response. + // + // A filter is a logical expression constraining the values of various fields + // in each session resource. Filters are case sensitive, and may contain + // multiple clauses combined with logical operators (AND, OR). + // Supported fields are `session_id`, `session_uuid`, `state`, and + // `create_time`. + // + // Example: `state = ACTIVE and create_time < "2023-01-01T00:00:00Z"` + // is a filter for sessions in an ACTIVE state that were created before + // 2023-01-01. + // + // See https://google.aip.dev/assets/misc/ebnf-filtering.txt for a detailed + // description of the filter syntax and a list of supported comparators. + string filter = 4 [(google.api.field_behavior) = OPTIONAL]; +} + +// A list of interactive sessions. +message ListSessionsResponse { + // Output only. The sessions from the specified collection. + repeated Session sessions = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // A token, which can be sent as `page_token`, to retrieve the next page. + // If this field is omitted, there are no subsequent pages. + string next_page_token = 2; +} + +// A request to terminate an interactive session. +message TerminateSessionRequest { + // Required. The name of the session resource to terminate. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "dataproc.googleapis.com/Session" + } + ]; + + // Optional. A unique ID used to identify the request. If the service + // receives two + // [TerminateSessionRequest](https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#google.cloud.dataproc.v1.TerminateSessionRequest)s + // with the same ID, the second request is ignored. + // + // Recommendation: Set this value to a + // [UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier). + // + // The value must contain only letters (a-z, A-Z), numbers (0-9), + // underscores (_), and hyphens (-). The maximum length is 40 characters. + string request_id = 2 [(google.api.field_behavior) = OPTIONAL]; +} + +// A request to delete a session. +message DeleteSessionRequest { + // Required. The name of the session resource to delete. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "dataproc.googleapis.com/Session" + } + ]; + + // Optional. A unique ID used to identify the request. If the service + // receives two + // [DeleteSessionRequest](https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#google.cloud.dataproc.v1.DeleteSessionRequest)s + // with the same ID, the second request is ignored. + // + // Recommendation: Set this value to a + // [UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier). + // + // The value must contain only letters (a-z, A-Z), numbers (0-9), + // underscores (_), and hyphens (-). The maximum length is 40 characters. + string request_id = 2 [(google.api.field_behavior) = OPTIONAL]; +} + +// A representation of a session. +message Session { + option (google.api.resource) = { + type: "dataproc.googleapis.com/Session" + pattern: "projects/{project}/locations/{location}/sessions/{session}" + }; + + // The session state. + enum State { + // The session state is unknown. + STATE_UNSPECIFIED = 0; + + // The session is created prior to running. + CREATING = 1; + + // The session is running. + ACTIVE = 2; + + // The session is terminating. + TERMINATING = 3; + + // The session is terminated successfully. + TERMINATED = 4; + + // The session is no longer running due to an error. + FAILED = 5; + } + + // Historical state information. + message SessionStateHistory { + // Output only. The state of the session at this point in the session + // history. + State state = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Details about the state at this point in the session + // history. + string state_message = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The time when the session entered the historical state. + google.protobuf.Timestamp state_start_time = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Required. The resource name of the session. + string name = 1 [(google.api.field_behavior) = REQUIRED]; + + // Output only. A session UUID (Unique Universal Identifier). The service + // generates this value when it creates the session. + string uuid = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The time when the session was created. + google.protobuf.Timestamp create_time = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The session configuration. + oneof session_config { + // Optional. Jupyter session config. + JupyterConfig jupyter_session = 4 [(google.api.field_behavior) = OPTIONAL]; + } + + // Output only. Runtime information about session execution. + RuntimeInfo runtime_info = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. A state of the session. + State state = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Session state details, such as the failure + // description if the state is `FAILED`. + string state_message = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The time when the session entered the current state. + google.protobuf.Timestamp state_time = 9 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The email address of the user who created the session. + string creator = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Optional. The labels to associate with the session. + // Label **keys** must contain 1 to 63 characters, and must conform to + // [RFC 1035](https://www.ietf.org/rfc/rfc1035.txt). + // Label **values** may be empty, but, if present, must contain 1 to 63 + // characters, and must conform to [RFC + // 1035](https://www.ietf.org/rfc/rfc1035.txt). No more than 32 labels can be + // associated with a session. + map labels = 11 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Runtime configuration for the session execution. + RuntimeConfig runtime_config = 12 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Environment configuration for the session execution. + EnvironmentConfig environment_config = 13 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The email address of the user who owns the session. + string user = 14 [(google.api.field_behavior) = OPTIONAL]; + + // Output only. Historical state information for the session. + repeated SessionStateHistory state_history = 15 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Optional. The session template used by the session. + // + // Only resource names, including project ID and location, are valid. + // + // Example: + // * `https://www.googleapis.com/compute/v1/projects/[project_id]/locations/[dataproc_region]/sessionTemplates/[template_id]` + // * `projects/[project_id]/locations/[dataproc_region]/sessionTemplates/[template_id]` + // + // The template must be in the same project and Dataproc region as the + // session. + string session_template = 16 [ + (google.api.field_behavior) = OPTIONAL, + (google.api.resource_reference) = { + type: "dataproc.googleapis.com/SessionTemplate" + } + ]; +} + +// Jupyter configuration for an interactive session. +message JupyterConfig { + // Jupyter kernel types. + enum Kernel { + // The kernel is unknown. + KERNEL_UNSPECIFIED = 0; + + // Python kernel. + PYTHON = 1; + + // Scala kernel. + SCALA = 2; + } + + // Optional. Kernel + Kernel kernel = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Display name, shown in the Jupyter kernelspec card. + string display_name = 2 [(google.api.field_behavior) = OPTIONAL]; +} diff --git a/third_party/googleapis/google/cloud/deploy/v1/automation_payload.proto b/third_party/googleapis/google/cloud/deploy/v1/automation_payload.proto new file mode 100644 index 000000000..8a3ca0741 --- /dev/null +++ b/third_party/googleapis/google/cloud/deploy/v1/automation_payload.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.cloud.deploy.v1; + +import "google/cloud/deploy/v1/log_enums.proto"; + +option go_package = "cloud.google.com/go/deploy/apiv1/deploypb;deploypb"; +option java_multiple_files = true; +option java_outer_classname = "AutomationPayloadProto"; +option java_package = "com.google.cloud.deploy.v1"; + +// Payload proto for "clouddeploy.googleapis.com/automation" +// Platform Log event that describes the Automation related events. +message AutomationEvent { + // Debug message for when there is an update on the AutomationRun. + // Provides further details about the resource creation or state change. + string message = 1; + + // The name of the `AutomationRun`. + string automation = 2; + + // Unique identifier of the `DeliveryPipeline`. + string pipeline_uid = 3; + + // Type of this notification, e.g. for a Pub/Sub failure. + Type type = 4; +} diff --git a/third_party/googleapis/google/cloud/deploy/v1/automationrun_payload.proto b/third_party/googleapis/google/cloud/deploy/v1/automationrun_payload.proto new file mode 100644 index 000000000..b34192ceb --- /dev/null +++ b/third_party/googleapis/google/cloud/deploy/v1/automationrun_payload.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.cloud.deploy.v1; + +import "google/cloud/deploy/v1/log_enums.proto"; + +option go_package = "cloud.google.com/go/deploy/apiv1/deploypb;deploypb"; +option java_multiple_files = true; +option java_outer_classname = "AutomationRunPayloadProto"; +option java_package = "com.google.cloud.deploy.v1"; + +// Payload proto for "clouddeploy.googleapis.com/automation_run" +// Platform Log event that describes the AutomationRun related events. +message AutomationRunEvent { + // Debug message for when there is an update on the AutomationRun. + // Provides further details about the resource creation or state change. + string message = 1; + + // The name of the `AutomationRun`. + string automation_run = 2; + + // Unique identifier of the `DeliveryPipeline`. + string pipeline_uid = 3; + + // Identifier of the `Automation`. + string automation_id = 4; + + // Identifier of the `Automation` rule. + string rule_id = 5; + + // ID of the `Target` to which the `AutomationRun` is created. + string destination_target_id = 6; + + // Type of this notification, e.g. for a Pub/Sub failure. + Type type = 7; +} diff --git a/third_party/googleapis/google/cloud/deploy/v1/rollout_update_payload.proto b/third_party/googleapis/google/cloud/deploy/v1/rollout_update_payload.proto new file mode 100644 index 000000000..337331dbc --- /dev/null +++ b/third_party/googleapis/google/cloud/deploy/v1/rollout_update_payload.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.cloud.deploy.v1; + +import "google/cloud/deploy/v1/log_enums.proto"; + +option go_package = "cloud.google.com/go/deploy/apiv1/deploypb;deploypb"; +option java_multiple_files = true; +option java_outer_classname = "RolloutUpdatePayloadProto"; +option java_package = "com.google.cloud.deploy.v1"; + +// Payload proto for "clouddeploy.googleapis.com/rollout_update" +// Platform Log event that describes the rollout update event. +message RolloutUpdateEvent { + // RolloutUpdateType indicates the type of the rollout update. + enum RolloutUpdateType { + // Rollout update type unspecified. + ROLLOUT_UPDATE_TYPE_UNSPECIFIED = 0; + + // rollout state updated to pending. + PENDING = 1; + + // Rollout state updated to pending release. + PENDING_RELEASE = 2; + + // Rollout state updated to in progress. + IN_PROGRESS = 3; + + // Rollout state updated to cancelling. + CANCELLING = 4; + + // Rollout state updated to cancelled. + CANCELLED = 5; + + // Rollout state updated to halted. + HALTED = 6; + + // Rollout state updated to succeeded. + SUCCEEDED = 7; + + // Rollout state updated to failed. + FAILED = 8; + + // Rollout requires approval. + APPROVAL_REQUIRED = 9; + + // Rollout has been approved. + APPROVED = 10; + + // Rollout has been rejected. + REJECTED = 11; + + // Rollout requires advance to the next phase. + ADVANCE_REQUIRED = 12; + + // Rollout has been advanced. + ADVANCED = 13; + } + + // Debug message for when a rollout update event occurs. + string message = 6; + + // Unique identifier of the pipeline. + string pipeline_uid = 1; + + // Unique identifier of the release. + string release_uid = 2; + + // The name of the `Release`. + string release = 8; + + // The name of the rollout. + // rollout_uid is not in this log message because we write some of these log + // messages at rollout creation time, before we've generated the uid. + string rollout = 3; + + // ID of the target. + string target_id = 4; + + // Type of this notification, e.g. for a rollout update event. + Type type = 7; + + // The type of the rollout update. + RolloutUpdateType rollout_update_type = 5; +} diff --git a/third_party/googleapis/google/cloud/dialogflow/cx/v3/data_store_connection.proto b/third_party/googleapis/google/cloud/dialogflow/cx/v3/data_store_connection.proto new file mode 100644 index 000000000..9dde00671 --- /dev/null +++ b/third_party/googleapis/google/cloud/dialogflow/cx/v3/data_store_connection.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.cloud.dialogflow.cx.v3; + +option cc_enable_arenas = true; +option csharp_namespace = "Google.Cloud.Dialogflow.Cx.V3"; +option go_package = "cloud.google.com/go/dialogflow/cx/apiv3/cxpb;cxpb"; +option java_multiple_files = true; +option java_outer_classname = "DataStoreConnectionProto"; +option java_package = "com.google.cloud.dialogflow.cx.v3"; +option objc_class_prefix = "DF"; +option ruby_package = "Google::Cloud::Dialogflow::CX::V3"; + +// A data store connection. It represents a data store in Discovery Engine and +// the type of the contents it contains. +message DataStoreConnection { + // The type of the connected data store. + DataStoreType data_store_type = 1; + + // The full name of the referenced data store. + // Formats: + // `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}` + // `projects/{project}/locations/{location}/dataStores/{data_store}` + string data_store = 2; +} + +// Type of a data store. +// Determines how search is performed in the data store. +enum DataStoreType { + // Not specified. This value indicates that the data store type is not + // specified, so it will not be used during search. + DATA_STORE_TYPE_UNSPECIFIED = 0; + + // A data store that contains public web content. + PUBLIC_WEB = 1; + + // A data store that contains unstructured private data. + UNSTRUCTURED = 2; + + // A data store that contains structured data (for example FAQ). + STRUCTURED = 3; +} diff --git a/third_party/googleapis/google/cloud/dialogflow/cx/v3/generative_settings.proto b/third_party/googleapis/google/cloud/dialogflow/cx/v3/generative_settings.proto new file mode 100644 index 000000000..b2601f12a --- /dev/null +++ b/third_party/googleapis/google/cloud/dialogflow/cx/v3/generative_settings.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.cloud.dialogflow.cx.v3; + +import "google/api/resource.proto"; +import "google/cloud/dialogflow/cx/v3/safety_settings.proto"; + +option cc_enable_arenas = true; +option csharp_namespace = "Google.Cloud.Dialogflow.Cx.V3"; +option go_package = "cloud.google.com/go/dialogflow/cx/apiv3/cxpb;cxpb"; +option java_multiple_files = true; +option java_outer_classname = "GenerativeSettingsProto"; +option java_package = "com.google.cloud.dialogflow.cx.v3"; +option objc_class_prefix = "DF"; +option ruby_package = "Google::Cloud::Dialogflow::CX::V3"; + +// Settings for Generative AI. +message GenerativeSettings { + option (google.api.resource) = { + type: "dialogflow.googleapis.com/AgentGenerativeSettings" + pattern: "projects/{project}/locations/{location}/agents/{agent}/generativeSettings" + }; + + // Settings for Generative Fallback. + message FallbackSettings { + // Prompt template. + message PromptTemplate { + // Prompt name. + string display_name = 1; + + // Prompt text that is sent to a LLM on no-match default, placeholders are + // filled downstream. For example: "Here is a conversation $conversation, + // a response is: " + string prompt_text = 2; + + // If the flag is true, the prompt is frozen and cannot be modified by + // users. + bool frozen = 3; + } + + // Display name of the selected prompt. + string selected_prompt = 3; + + // Stored prompts that can be selected, for example default templates like + // "conservative" or "chatty", or user defined ones. + repeated PromptTemplate prompt_templates = 4; + } + + // Settings for knowledge connector. These parameters are used for LLM prompt + // like "You are . You are a helpful and verbose at + // , . Your task is to help humans on + // ". + message KnowledgeConnectorSettings { + // Name of the company, organization or other entity that the agent + // represents. Used for knowledge connector LLM prompt and for knowledge + // search. + string business = 1; + + // Name of the virtual agent. Used for LLM prompt. Can be left empty. + string agent = 2; + + // Identity of the agent, e.g. "virtual agent", "AI assistant". + string agent_identity = 3; + + // Company description, used for LLM prompt, e.g. "a family company selling + // freshly roasted coffee beans". + string business_description = 4; + + // Agent scope, e.g. "Example company website", "internal Example + // company website for employees", "manual of car owner". + string agent_scope = 5; + + // Whether to disable fallback to Data Store search results (in case the LLM + // couldn't pick a proper answer). Per default the feature is enabled. + bool disable_data_store_fallback = 8; + } + + // Format: `projects//locations//agents//generativeSettings`. + string name = 5; + + // Settings for Generative Fallback. + FallbackSettings fallback_settings = 1; + + // Settings for Generative Safety. + SafetySettings generative_safety_settings = 3; + + // Settings for knowledge connector. + KnowledgeConnectorSettings knowledge_connector_settings = 7; + + // Language for this settings. + string language_code = 4; +} diff --git a/third_party/googleapis/google/cloud/dialogflow/cx/v3/generator.proto b/third_party/googleapis/google/cloud/dialogflow/cx/v3/generator.proto new file mode 100644 index 000000000..56b8bd0d0 --- /dev/null +++ b/third_party/googleapis/google/cloud/dialogflow/cx/v3/generator.proto @@ -0,0 +1,241 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF 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.dialogflow.cx.v3; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/empty.proto"; +import "google/protobuf/field_mask.proto"; + +option cc_enable_arenas = true; +option csharp_namespace = "Google.Cloud.Dialogflow.Cx.V3"; +option go_package = "cloud.google.com/go/dialogflow/cx/apiv3/cxpb;cxpb"; +option java_multiple_files = true; +option java_outer_classname = "GeneratorProto"; +option java_package = "com.google.cloud.dialogflow.cx.v3"; +option objc_class_prefix = "DF"; +option ruby_package = "Google::Cloud::Dialogflow::CX::V3"; + +// Service for managing [Generators][google.cloud.dialogflow.cx.v3.Generator] +service Generators { + option (google.api.default_host) = "dialogflow.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform," + "https://www.googleapis.com/auth/dialogflow"; + + // Returns the list of all generators in the specified agent. + rpc ListGenerators(ListGeneratorsRequest) returns (ListGeneratorsResponse) { + option (google.api.http) = { + get: "/v3/{parent=projects/*/locations/*/agents/*}/generators" + }; + option (google.api.method_signature) = "parent"; + } + + // Retrieves the specified generator. + rpc GetGenerator(GetGeneratorRequest) returns (Generator) { + option (google.api.http) = { + get: "/v3/{name=projects/*/locations/*/agents/*/generators/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Creates a generator in the specified agent. + rpc CreateGenerator(CreateGeneratorRequest) returns (Generator) { + option (google.api.http) = { + post: "/v3/{parent=projects/*/locations/*/agents/*}/generators" + body: "generator" + }; + option (google.api.method_signature) = "parent,generator"; + } + + // Update the specified generator. + rpc UpdateGenerator(UpdateGeneratorRequest) returns (Generator) { + option (google.api.http) = { + patch: "/v3/{generator.name=projects/*/locations/*/agents/*/generators/*}" + body: "generator" + }; + option (google.api.method_signature) = "generator,update_mask"; + } + + // Deletes the specified generators. + rpc DeleteGenerator(DeleteGeneratorRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + delete: "/v3/{name=projects/*/locations/*/agents/*/generators/*}" + }; + option (google.api.method_signature) = "name"; + } +} + +// Generators contain prompt to be sent to the LLM model to generate text. The +// prompt can contain parameters which will be resolved before calling the +// model. It can optionally contain banned phrases to ensure the model responses +// are safe. +message Generator { + option (google.api.resource) = { + type: "dialogflow.googleapis.com/Generator" + pattern: "projects/{project}/locations/{location}/agents/{agent}/generators/{generator}" + }; + + // Represents a custom placeholder in the prompt text. + message Placeholder { + // Unique ID used to map custom placeholder to parameters in fulfillment. + string id = 1; + + // Custom placeholder value in the prompt text. + string name = 2; + } + + // The unique identifier of the generator. + // Must be set for the + // [Generators.UpdateGenerator][google.cloud.dialogflow.cx.v3.Generators.UpdateGenerator] + // method. [Generators.CreateGenerate][] populates the name automatically. + // Format: `projects//locations//agents//generators/`. + string name = 1; + + // Required. The human-readable name of the generator, unique within the + // agent. The prompt contains pre-defined parameters such as $conversation, + // $last-user-utterance, etc. populated by Dialogflow. It can also contain + // custom placeholders which will be resolved during fulfillment. + string display_name = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. Prompt for the LLM model. + Phrase prompt_text = 3 [(google.api.field_behavior) = REQUIRED]; + + // Optional. List of custom placeholders in the prompt text. + repeated Placeholder placeholders = 5 + [(google.api.field_behavior) = OPTIONAL]; +} + +// Text input which can be used for prompt or banned phrases. +message Phrase { + // Required. Text input which can be used for prompt or banned phrases. + string text = 1 [(google.api.field_behavior) = REQUIRED]; +} + +// The request message for +// [Generators.ListGenerators][google.cloud.dialogflow.cx.v3.Generators.ListGenerators]. +message ListGeneratorsRequest { + // Required. The agent to list all generators for. + // Format: `projects//locations//agents/`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "dialogflow.googleapis.com/Generator" + } + ]; + + // The language to list generators for. + string language_code = 2; + + // The maximum number of items to return in a single page. By default 100 and + // at most 1000. + int32 page_size = 3; + + // The next_page_token value returned from a previous list request. + string page_token = 4; +} + +// The response message for +// [Generators.ListGenerators][google.cloud.dialogflow.cx.v3.Generators.ListGenerators]. +message ListGeneratorsResponse { + // The list of generators. There will be a maximum number of items returned + // based on the page_size field in the request. + repeated Generator generators = 1; + + // Token to retrieve the next page of results, or empty if there are no more + // results in the list. + string next_page_token = 2; +} + +// The request message for +// [Generators.GetGenerator][google.cloud.dialogflow.cx.v3.Generators.GetGenerator]. +message GetGeneratorRequest { + // Required. The name of the generator. + // Format: `projects//locations//agents//generators/`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "dialogflow.googleapis.com/Generator" + } + ]; + + // The language to list generators for. + string language_code = 2; +} + +// The request message for +// [Generators.CreateGenerator][google.cloud.dialogflow.cx.v3.Generators.CreateGenerator]. +message CreateGeneratorRequest { + // Required. The agent to create a generator for. + // Format: `projects//locations//agents/`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "dialogflow.googleapis.com/Generator" + } + ]; + + // Required. The generator to create. + Generator generator = 2 [(google.api.field_behavior) = REQUIRED]; + + // The language to create generators for the following fields: + // * `Generator.prompt_text.text` + // If not specified, the agent's default language is used. + string language_code = 3; +} + +// The request message for +// [Generators.UpdateGenerator][google.cloud.dialogflow.cx.v3.Generators.UpdateGenerator]. +message UpdateGeneratorRequest { + // Required. The generator to update. + Generator generator = 1 [(google.api.field_behavior) = REQUIRED]; + + // The language to list generators for. + string language_code = 2; + + // The mask to control which fields get updated. If the mask is not present, + // all fields will be updated. + google.protobuf.FieldMask update_mask = 3; +} + +// The request message for +// [Generators.DeleteGenerator][google.cloud.dialogflow.cx.v3.Generators.DeleteGenerator]. +message DeleteGeneratorRequest { + // Required. The name of the generator to delete. + // Format: `projects//locations//agents//generators/`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "dialogflow.googleapis.com/Generator" + } + ]; + + // This field has no effect for generators not being used. + // For generators that are used by pages/flows/transition route groups: + // + // * If `force` is set to false, an error will be returned with message + // indicating the referenced resources. + // * If `force` is set to true, Dialogflow will remove the generator, as well + // as any references to the generator (i.e. + // [Generator][Fulfillment.generator]) in fulfillments. + bool force = 2; +} diff --git a/third_party/googleapis/google/cloud/dialogflow/cx/v3/import_strategy.proto b/third_party/googleapis/google/cloud/dialogflow/cx/v3/import_strategy.proto new file mode 100644 index 000000000..91f2c2b9a --- /dev/null +++ b/third_party/googleapis/google/cloud/dialogflow/cx/v3/import_strategy.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.cloud.dialogflow.cx.v3; + +option cc_enable_arenas = true; +option csharp_namespace = "Google.Cloud.Dialogflow.Cx.V3"; +option go_package = "cloud.google.com/go/dialogflow/cx/apiv3/cxpb;cxpb"; +option java_multiple_files = true; +option java_outer_classname = "ImportStrategyProto"; +option java_package = "com.google.cloud.dialogflow.cx.v3"; +option objc_class_prefix = "DF"; +option ruby_package = "Google::Cloud::Dialogflow::CX::V3"; + +// Import strategies for the conflict resolution of resources (i.e. intents, +// entities, and webhooks) with identical display names during import +// operations. +enum ImportStrategy { + // Unspecified. Treated as 'CREATE_NEW'. + IMPORT_STRATEGY_UNSPECIFIED = 0; + + // Create a new resource with a numeric suffix appended to the end of the + // existing display name. + IMPORT_STRATEGY_CREATE_NEW = 1; + + // Replace existing resource with incoming resource in the content to be + // imported. + IMPORT_STRATEGY_REPLACE = 2; + + // Keep existing resource and discard incoming resource in the content to be + // imported. + IMPORT_STRATEGY_KEEP = 3; + + // Combine existing and incoming resources when a conflict is encountered. + IMPORT_STRATEGY_MERGE = 4; + + // Throw error if a conflict is encountered. + IMPORT_STRATEGY_THROW_ERROR = 5; +} diff --git a/third_party/googleapis/google/cloud/dialogflow/cx/v3/inline.proto b/third_party/googleapis/google/cloud/dialogflow/cx/v3/inline.proto new file mode 100644 index 000000000..26c398ba4 --- /dev/null +++ b/third_party/googleapis/google/cloud/dialogflow/cx/v3/inline.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.cloud.dialogflow.cx.v3; + +import "google/api/field_behavior.proto"; + +option cc_enable_arenas = true; +option csharp_namespace = "Google.Cloud.Dialogflow.Cx.V3"; +option go_package = "cloud.google.com/go/dialogflow/cx/apiv3/cxpb;cxpb"; +option java_multiple_files = true; +option java_outer_classname = "InlineProto"; +option java_package = "com.google.cloud.dialogflow.cx.v3"; +option objc_class_prefix = "DF"; +option ruby_package = "Google::Cloud::Dialogflow::CX::V3"; + +// Inline destination for a Dialogflow operation that writes or exports objects +// (e.g. [intents][google.cloud.dialogflow.cx.v3.Intent]) outside of Dialogflow. +message InlineDestination { + // Output only. The uncompressed byte content for the objects. + // Only populated in responses. + bytes content = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Inline source for a Dialogflow operation that reads or imports objects +// (e.g. [intents][google.cloud.dialogflow.cx.v3.Intent]) into Dialogflow. +message InlineSource { + // The uncompressed byte content for the objects. + bytes content = 1; +} diff --git a/third_party/googleapis/google/cloud/dialogflow/cx/v3/safety_settings.proto b/third_party/googleapis/google/cloud/dialogflow/cx/v3/safety_settings.proto new file mode 100644 index 000000000..042bd16d7 --- /dev/null +++ b/third_party/googleapis/google/cloud/dialogflow/cx/v3/safety_settings.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.cloud.dialogflow.cx.v3; + +import "google/api/field_behavior.proto"; + +option cc_enable_arenas = true; +option csharp_namespace = "Google.Cloud.Dialogflow.Cx.V3"; +option go_package = "cloud.google.com/go/dialogflow/cx/apiv3/cxpb;cxpb"; +option java_multiple_files = true; +option java_outer_classname = "SafetySettingsProto"; +option java_package = "com.google.cloud.dialogflow.cx.v3"; +option objc_class_prefix = "DF"; +option ruby_package = "Google::Cloud::Dialogflow::CX::V3"; + +// Settings for Generative Safety. +message SafetySettings { + // Text input which can be used for prompt or banned phrases. + message Phrase { + // Required. Text input which can be used for prompt or banned phrases. + string text = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. Language code of the phrase. + string language_code = 2 [(google.api.field_behavior) = REQUIRED]; + } + + // Banned phrases for generated text. + repeated Phrase banned_phrases = 1; +} diff --git a/third_party/googleapis/google/cloud/dialogflow/cx/v3beta1/data_store_connection.proto b/third_party/googleapis/google/cloud/dialogflow/cx/v3beta1/data_store_connection.proto new file mode 100644 index 000000000..d3896d8a5 --- /dev/null +++ b/third_party/googleapis/google/cloud/dialogflow/cx/v3beta1/data_store_connection.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.cloud.dialogflow.cx.v3beta1; + +option cc_enable_arenas = true; +option csharp_namespace = "Google.Cloud.Dialogflow.Cx.V3Beta1"; +option go_package = "cloud.google.com/go/dialogflow/cx/apiv3beta1/cxpb;cxpb"; +option java_multiple_files = true; +option java_outer_classname = "DataStoreConnectionProto"; +option java_package = "com.google.cloud.dialogflow.cx.v3beta1"; +option objc_class_prefix = "DF"; +option ruby_package = "Google::Cloud::Dialogflow::CX::V3beta1"; + +// A data store connection. It represents a data store in Discovery Engine and +// the type of the contents it contains. +message DataStoreConnection { + // The type of the connected data store. + DataStoreType data_store_type = 1; + + // The full name of the referenced data store. + // Formats: + // `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}` + // `projects/{project}/locations/{location}/dataStores/{data_store}` + string data_store = 2; +} + +// Type of a data store. +// Determines how search is performed in the data store. +enum DataStoreType { + // Not specified. This value indicates that the data store type is not + // specified, so it will not be used during search. + DATA_STORE_TYPE_UNSPECIFIED = 0; + + // A data store that contains public web content. + PUBLIC_WEB = 1; + + // A data store that contains unstructured private data. + UNSTRUCTURED = 2; + + // A data store that contains structured data (for example FAQ). + STRUCTURED = 3; +} diff --git a/third_party/googleapis/google/cloud/dialogflow/cx/v3beta1/example.proto b/third_party/googleapis/google/cloud/dialogflow/cx/v3beta1/example.proto new file mode 100644 index 000000000..59408aae2 --- /dev/null +++ b/third_party/googleapis/google/cloud/dialogflow/cx/v3beta1/example.proto @@ -0,0 +1,389 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF 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.dialogflow.cx.v3beta1; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/empty.proto"; +import "google/protobuf/field_mask.proto"; +import "google/protobuf/struct.proto"; +import "google/protobuf/timestamp.proto"; + +option cc_enable_arenas = true; +option csharp_namespace = "Google.Cloud.Dialogflow.Cx.V3Beta1"; +option go_package = "cloud.google.com/go/dialogflow/cx/apiv3beta1/cxpb;cxpb"; +option java_multiple_files = true; +option java_outer_classname = "ExampleProto"; +option java_package = "com.google.cloud.dialogflow.cx.v3beta1"; +option objc_class_prefix = "DF"; + +// Service for managing [Examples][google.cloud.dialogflow.cx.v3beta1.Example]. +service Examples { + option (google.api.default_host) = "dialogflow.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform," + "https://www.googleapis.com/auth/dialogflow"; + + // Creates an example in the specified playbook. + rpc CreateExample(CreateExampleRequest) returns (Example) { + option (google.api.http) = { + post: "/v3beta1/{parent=projects/*/locations/*/agents/*/playbooks/*}/examples" + body: "example" + }; + option (google.api.method_signature) = "parent,example"; + } + + // Deletes the specified example. + rpc DeleteExample(DeleteExampleRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + delete: "/v3beta1/{name=projects/*/locations/*/agents/*/playbooks/*/examples/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Returns a list of examples in the specified playbook. + rpc ListExamples(ListExamplesRequest) returns (ListExamplesResponse) { + option (google.api.http) = { + get: "/v3beta1/{parent=projects/*/locations/*/agents/*/playbooks/*}/examples" + }; + option (google.api.method_signature) = "parent"; + } + + // Retrieves the specified example. + rpc GetExample(GetExampleRequest) returns (Example) { + option (google.api.http) = { + get: "/v3beta1/{name=projects/*/locations/*/agents/*/playbooks/*/examples/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Update the specified example. + rpc UpdateExample(UpdateExampleRequest) returns (Example) { + option (google.api.http) = { + patch: "/v3beta1/{example.name=projects/*/locations/*/agents/*/playbooks/*/examples/*}" + body: "example" + }; + option (google.api.method_signature) = "example,update_mask"; + } +} + +// The request message for +// [Examples.CreateExample][google.cloud.dialogflow.cx.v3beta1.Examples.CreateExample]. +message CreateExampleRequest { + // Required. The playbook to create an example for. + // Format: `projects//locations//agents//playbooks/`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "dialogflow.googleapis.com/Example" + } + ]; + + // Required. The example to create. + Example example = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// The request message for +// [Examples.DeleteExample][google.cloud.dialogflow.cx.v3beta1.Examples.DeleteExample]. +message DeleteExampleRequest { + // Required. The name of the example to delete. + // Format: `projects//locations//agents//playbooks//examples/`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "dialogflow.googleapis.com/Example" + } + ]; +} + +// The request message for +// [Examples.ListExamples][google.cloud.dialogflow.cx.v3beta1.Examples.ListExamples]. +message ListExamplesRequest { + // Required. The playbook to list the examples from. + // Format: `projects//locations//agents//playbooks/`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "dialogflow.googleapis.com/Example" + } + ]; + + // Optional. The maximum number of items to return in a single page. By + // default 100 and at most 1000. + int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The [next_page_token][ListExampleResponse.next_page_token] value + // returned from a previous list request. + string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The language to list examples for. + // If not specified, the agent's default language is used. + // Note: languages must be enabled in the agent before they can be used. + string language_code = 4 [(google.api.field_behavior) = OPTIONAL]; +} + +// The response message for +// [Examples.ListExamples][google.cloud.dialogflow.cx.v3beta1.Examples.ListExamples]. +message ListExamplesResponse { + // The list of examples. There will be a maximum number of items returned + // based on the + // [page_size][google.cloud.dialogflow.cx.v3beta1.ListExamplesRequest.page_size] + // field in the request. + repeated Example examples = 1; + + // Token to retrieve the next page of results, or empty if there are no more + // results in the list. + string next_page_token = 2; +} + +// The request message for +// [Examples.GetExample][google.cloud.dialogflow.cx.v3beta1.Examples.GetExample]. +message GetExampleRequest { + // Required. The name of the example. + // Format: `projects//locations//agents//playbooks//examples/`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "dialogflow.googleapis.com/Example" + } + ]; +} + +// The request message for +// [Examples.UpdateExample][google.cloud.dialogflow.cx.v3beta1.Examples.UpdateExample]. +message UpdateExampleRequest { + // Required. The example to update. + Example example = 1 [(google.api.field_behavior) = REQUIRED]; + + // Optional. The mask to control which fields get updated. If the mask is not + // present, all fields will be updated. + google.protobuf.FieldMask update_mask = 2 + [(google.api.field_behavior) = OPTIONAL]; +} + +// Example represents a sample execution of the playbook in the conversation. +// +// An example consists of a list of ordered actions performed by end user +// or Dialogflow agent according the playbook instructions to fulfill the task. +message Example { + option (google.api.resource) = { + type: "dialogflow.googleapis.com/Example" + pattern: "projects/{project}/locations/{location}/agents/{agent}/playbooks/{playbook}/examples/{example}" + plural: "examples" + singular: "example" + }; + + // The unique identifier of the playbook example. + // Format: `projects//locations//agents//playbooks//examples/`. + string name = 1; + + // Optional. The input to the playbook in the example. + PlaybookInput playbook_input = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The output of the playbook in the example. + PlaybookOutput playbook_output = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Required. The ordered list of actions performed by the end user and the + // Dialogflow agent. + repeated Action actions = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The display name of the example. + string display_name = 6 [(google.api.field_behavior) = REQUIRED]; + + // Optional. The high level concise description of the example. The max number + // of characters is 200. + string description = 8 [(google.api.field_behavior) = OPTIONAL]; + + // Output only. Estimated number of tokes current example takes when sent to + // the LLM. + int64 token_count = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The timestamp of initial example creation. + google.protobuf.Timestamp create_time = 10 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Last time the example was updated. + google.protobuf.Timestamp update_time = 11 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. Example's output state. + OutputState conversation_state = 12 [(google.api.field_behavior) = REQUIRED]; + + // Optional. The language code of the example. + // If not specified, the agent's default language is used. + // Note: languages must be enabled in the agent before they can be used. + string language_code = 13 [(google.api.field_behavior) = OPTIONAL]; +} + +// Input of the playbook. +message PlaybookInput { + // Optional. Summary string of the preceding conversation for the child + // playbook invocation. + string preceding_conversation_summary = 1 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A list of input parameters for the invocation. + repeated ActionParameter parameters = 2 + [(google.api.field_behavior) = OPTIONAL]; +} + +// Output of the playbook. +message PlaybookOutput { + // Optional. Summary string of the execution result of the child playbook. + string execution_summary = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A list of output parameters for the invocation. + repeated ActionParameter parameters = 3 + [(google.api.field_behavior) = OPTIONAL]; +} + +// Action performed by end user or Dialogflow agent in the conversation. +message Action { + // Action details. + oneof action { + // Optional. Agent obtained a message from the customer. + UserUtterance user_utterance = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Action performed by the agent as a message. + AgentUtterance agent_utterance = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Action performed on behalf of the agent by calling a plugin + // tool. + ToolUse tool_use = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Action performed on behalf of the agent by invoking a child + // playbook. + PlaybookInvocation playbook_invocation = 4 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Action performed on behalf of the agent by invoking a CX flow. + FlowInvocation flow_invocation = 5 [(google.api.field_behavior) = OPTIONAL]; + } +} + +// UserUtterance represents one message sent by the customer. +message UserUtterance { + // Required. Message content in text. + string text = 1 [(google.api.field_behavior) = REQUIRED]; +} + +// AgentUtterance represents one message sent by the agent. +message AgentUtterance { + // Required. Message content in text. + string text = 1 [(google.api.field_behavior) = REQUIRED]; +} + +// Stores metadata of the invocation of an action supported by a tool. +message ToolUse { + // Required. The [tool][google.cloud.dialogflow.cx.v3beta1.Tool] that should + // be used. Format: `projects//locations//agents//tools/`. + string tool = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { type: "dialogflow.googleapis.com/Tool" } + ]; + + // Optional. Name of the action to be called during the tool use. + string action = 2 [(google.api.field_behavior) = OPTIONAL]; + + // A list of input parameters for the action. + repeated ActionParameter input_parameters = 3; + + // A list of output parameters generated by the action. + repeated ActionParameter output_parameters = 4; +} + +// Parameter associated with action. +message ActionParameter { + // Required. Name of the parameter. + string name = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. Value of the parameter. + google.protobuf.Value value = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Stores metadata of the invocation of a child playbook. +// Next Id: 5 +message PlaybookInvocation { + // Required. The unique identifier of the playbook. + // Format: `projects//locations//agents//playbooks/`. + string playbook = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "dialogflow.googleapis.com/Playbook" + } + ]; + + // Optional. Input of the child playbook invocation. + PlaybookInput playbook_input = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Output of the child playbook invocation. + PlaybookOutput playbook_output = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Required. Playbook invocation's output state. + OutputState playbook_state = 4 [(google.api.field_behavior) = REQUIRED]; +} + +// Stores metadata of the invocation of a CX flow. +// Next Id: 7 +message FlowInvocation { + // Required. The unique identifier of the flow. + // Format: `projects//locations//agents/`. + string flow = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { type: "dialogflow.googleapis.com/Flow" } + ]; + + // A list of input parameters for the flow invocation. + repeated ActionParameter input_parameters = 2; + + // A list of output parameters generated by the flow invocation. + repeated ActionParameter output_parameters = 3; + + // Required. Flow invocation's output state. + OutputState flow_state = 4 [(google.api.field_behavior) = REQUIRED]; +} + +// Output state. +enum OutputState { + // Unspecified output. + OUTPUT_STATE_UNSPECIFIED = 0; + + // Succeeded. + OUTPUT_STATE_OK = 1; + + // Cancelled. + OUTPUT_STATE_CANCELLED = 2; + + // Failed. + OUTPUT_STATE_FAILED = 3; + + // Escalated. + OUTPUT_STATE_ESCALATED = 4; + + // Pending. + OUTPUT_STATE_PENDING = 5; +} diff --git a/third_party/googleapis/google/cloud/dialogflow/cx/v3beta1/generative_settings.proto b/third_party/googleapis/google/cloud/dialogflow/cx/v3beta1/generative_settings.proto new file mode 100644 index 000000000..e6fc47ffd --- /dev/null +++ b/third_party/googleapis/google/cloud/dialogflow/cx/v3beta1/generative_settings.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.cloud.dialogflow.cx.v3beta1; + +import "google/api/resource.proto"; +import "google/cloud/dialogflow/cx/v3beta1/safety_settings.proto"; + +option cc_enable_arenas = true; +option csharp_namespace = "Google.Cloud.Dialogflow.Cx.V3Beta1"; +option go_package = "cloud.google.com/go/dialogflow/cx/apiv3beta1/cxpb;cxpb"; +option java_multiple_files = true; +option java_outer_classname = "GenerativeSettingsProto"; +option java_package = "com.google.cloud.dialogflow.cx.v3beta1"; +option objc_class_prefix = "DF"; +option ruby_package = "Google::Cloud::Dialogflow::CX::V3beta1"; + +// Settings for Generative AI. +message GenerativeSettings { + option (google.api.resource) = { + type: "dialogflow.googleapis.com/AgentGenerativeSettings" + pattern: "projects/{project}/locations/{location}/agents/{agent}/generativeSettings" + }; + + // Settings for Generative Fallback. + message FallbackSettings { + // Prompt template. + message PromptTemplate { + // Prompt name. + string display_name = 1; + + // Prompt text that is sent to a LLM on no-match default, placeholders are + // filled downstream. For example: "Here is a conversation $conversation, + // a response is: " + string prompt_text = 2; + + // If the flag is true, the prompt is frozen and cannot be modified by + // users. + bool frozen = 3; + } + + // Display name of the selected prompt. + string selected_prompt = 3; + + // Stored prompts that can be selected, for example default templates like + // "conservative" or "chatty", or user defined ones. + repeated PromptTemplate prompt_templates = 4; + } + + // Settings for knowledge connector. These parameters are used for LLM prompt + // like "You are . You are a helpful and verbose at + // , . Your task is to help humans on + // ". + message KnowledgeConnectorSettings { + // Name of the company, organization or other entity that the agent + // represents. Used for knowledge connector LLM prompt and for knowledge + // search. + string business = 1; + + // Name of the virtual agent. Used for LLM prompt. Can be left empty. + string agent = 2; + + // Identity of the agent, e.g. "virtual agent", "AI assistant". + string agent_identity = 3; + + // Company description, used for LLM prompt, e.g. "a family company selling + // freshly roasted coffee beans". + string business_description = 4; + + // Agent scope, e.g. "Example company website", "internal Example + // company website for employees", "manual of car owner". + string agent_scope = 5; + + // Whether to disable fallback to Data Store search results (in case the LLM + // couldn't pick a proper answer). Per default the feature is enabled. + bool disable_data_store_fallback = 8; + } + + // Format: `projects//locations//agents//generativeSettings`. + string name = 5; + + // Settings for Generative Fallback. + FallbackSettings fallback_settings = 1; + + // Settings for Generative Safety. + SafetySettings generative_safety_settings = 3; + + // Settings for knowledge connector. + KnowledgeConnectorSettings knowledge_connector_settings = 7; + + // Language for this settings. + string language_code = 4; + + // LLM model settings. + LlmModelSettings llm_model_settings = 8; +} + +// Settings for LLM models. +message LlmModelSettings { + // The selected LLM model. + string model = 1; + + // The custom prompt to use. + string prompt_text = 2; +} diff --git a/third_party/googleapis/google/cloud/dialogflow/cx/v3beta1/generator.proto b/third_party/googleapis/google/cloud/dialogflow/cx/v3beta1/generator.proto new file mode 100644 index 000000000..70fdacde3 --- /dev/null +++ b/third_party/googleapis/google/cloud/dialogflow/cx/v3beta1/generator.proto @@ -0,0 +1,246 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF 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.dialogflow.cx.v3beta1; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/dialogflow/cx/v3beta1/generative_settings.proto"; +import "google/protobuf/empty.proto"; +import "google/protobuf/field_mask.proto"; + +option cc_enable_arenas = true; +option csharp_namespace = "Google.Cloud.Dialogflow.Cx.V3Beta1"; +option go_package = "cloud.google.com/go/dialogflow/cx/apiv3beta1/cxpb;cxpb"; +option java_multiple_files = true; +option java_outer_classname = "GeneratorProto"; +option java_package = "com.google.cloud.dialogflow.cx.v3beta1"; +option objc_class_prefix = "DF"; +option ruby_package = "Google::Cloud::Dialogflow::CX::V3beta1"; + +// Service for managing +// [Generators][google.cloud.dialogflow.cx.v3beta1.Generator] +service Generators { + option (google.api.default_host) = "dialogflow.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform," + "https://www.googleapis.com/auth/dialogflow"; + + // Returns the list of all generators in the specified agent. + rpc ListGenerators(ListGeneratorsRequest) returns (ListGeneratorsResponse) { + option (google.api.http) = { + get: "/v3beta1/{parent=projects/*/locations/*/agents/*}/generators" + }; + option (google.api.method_signature) = "parent"; + } + + // Retrieves the specified generator. + rpc GetGenerator(GetGeneratorRequest) returns (Generator) { + option (google.api.http) = { + get: "/v3beta1/{name=projects/*/locations/*/agents/*/generators/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Creates a generator in the specified agent. + rpc CreateGenerator(CreateGeneratorRequest) returns (Generator) { + option (google.api.http) = { + post: "/v3beta1/{parent=projects/*/locations/*/agents/*}/generators" + body: "generator" + }; + option (google.api.method_signature) = "parent,generator"; + } + + // Update the specified generator. + rpc UpdateGenerator(UpdateGeneratorRequest) returns (Generator) { + option (google.api.http) = { + patch: "/v3beta1/{generator.name=projects/*/locations/*/agents/*/generators/*}" + body: "generator" + }; + option (google.api.method_signature) = "generator,update_mask"; + } + + // Deletes the specified generators. + rpc DeleteGenerator(DeleteGeneratorRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + delete: "/v3beta1/{name=projects/*/locations/*/agents/*/generators/*}" + }; + option (google.api.method_signature) = "name"; + } +} + +// Generators contain prompt to be sent to the LLM model to generate text. The +// prompt can contain parameters which will be resolved before calling the +// model. It can optionally contain banned phrases to ensure the model responses +// are safe. +message Generator { + option (google.api.resource) = { + type: "dialogflow.googleapis.com/Generator" + pattern: "projects/{project}/locations/{location}/agents/{agent}/generators/{generator}" + }; + + // Represents a custom placeholder in the prompt text. + message Placeholder { + // Unique ID used to map custom placeholder to parameters in fulfillment. + string id = 1; + + // Custom placeholder value in the prompt text. + string name = 2; + } + + // The unique identifier of the generator. + // Must be set for the + // [Generators.UpdateGenerator][google.cloud.dialogflow.cx.v3beta1.Generators.UpdateGenerator] + // method. [Generators.CreateGenerate][] populates the name automatically. + // Format: `projects//locations//agents//generators/`. + string name = 1; + + // Required. The human-readable name of the generator, unique within the + // agent. The prompt contains pre-defined parameters such as $conversation, + // $last-user-utterance, etc. populated by Dialogflow. It can also contain + // custom placeholders which will be resolved during fulfillment. + string display_name = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. Prompt for the LLM model. + Phrase prompt_text = 3 [(google.api.field_behavior) = REQUIRED]; + + // Optional. List of custom placeholders in the prompt text. + repeated Placeholder placeholders = 5 + [(google.api.field_behavior) = OPTIONAL]; + + // The LLM model settings. + LlmModelSettings llm_model_settings = 9; +} + +// Text input which can be used for prompt or banned phrases. +message Phrase { + // Required. Text input which can be used for prompt or banned phrases. + string text = 1 [(google.api.field_behavior) = REQUIRED]; +} + +// The request message for +// [Generators.ListGenerators][google.cloud.dialogflow.cx.v3beta1.Generators.ListGenerators]. +message ListGeneratorsRequest { + // Required. The agent to list all generators for. + // Format: `projects//locations//agents/`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "dialogflow.googleapis.com/Generator" + } + ]; + + // The language to list generators for. + string language_code = 2; + + // The maximum number of items to return in a single page. By default 100 and + // at most 1000. + int32 page_size = 3; + + // The next_page_token value returned from a previous list request. + string page_token = 4; +} + +// The response message for +// [Generators.ListGenerators][google.cloud.dialogflow.cx.v3beta1.Generators.ListGenerators]. +message ListGeneratorsResponse { + // The list of generators. There will be a maximum number of items returned + // based on the page_size field in the request. + repeated Generator generators = 1; + + // Token to retrieve the next page of results, or empty if there are no more + // results in the list. + string next_page_token = 2; +} + +// The request message for +// [Generators.GetGenerator][google.cloud.dialogflow.cx.v3beta1.Generators.GetGenerator]. +message GetGeneratorRequest { + // Required. The name of the generator. + // Format: `projects//locations//agents//generators/`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "dialogflow.googleapis.com/Generator" + } + ]; + + // The language to list generators for. + string language_code = 2; +} + +// The request message for +// [Generators.CreateGenerator][google.cloud.dialogflow.cx.v3beta1.Generators.CreateGenerator]. +message CreateGeneratorRequest { + // Required. The agent to create a generator for. + // Format: `projects//locations//agents/`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "dialogflow.googleapis.com/Generator" + } + ]; + + // Required. The generator to create. + Generator generator = 2 [(google.api.field_behavior) = REQUIRED]; + + // The language to create generators for the following fields: + // * `Generator.prompt_text.text` + // If not specified, the agent's default language is used. + string language_code = 3; +} + +// The request message for +// [Generators.UpdateGenerator][google.cloud.dialogflow.cx.v3beta1.Generators.UpdateGenerator]. +message UpdateGeneratorRequest { + // Required. The generator to update. + Generator generator = 1 [(google.api.field_behavior) = REQUIRED]; + + // The language to list generators for. + string language_code = 2; + + // The mask to control which fields get updated. If the mask is not present, + // all fields will be updated. + google.protobuf.FieldMask update_mask = 3; +} + +// The request message for +// [Generators.DeleteGenerator][google.cloud.dialogflow.cx.v3beta1.Generators.DeleteGenerator]. +message DeleteGeneratorRequest { + // Required. The name of the generator to delete. + // Format: `projects//locations//agents//generators/`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "dialogflow.googleapis.com/Generator" + } + ]; + + // This field has no effect for generators not being used. + // For generators that are used by pages/flows/transition route groups: + // + // * If `force` is set to false, an error will be returned with message + // indicating the referenced resources. + // * If `force` is set to true, Dialogflow will remove the generator, as well + // as any references to the generator (i.e. + // [Generator][Fulfillment.generator]) in fulfillments. + bool force = 2; +} diff --git a/third_party/googleapis/google/cloud/dialogflow/cx/v3beta1/import_strategy.proto b/third_party/googleapis/google/cloud/dialogflow/cx/v3beta1/import_strategy.proto new file mode 100644 index 000000000..a00f25d58 --- /dev/null +++ b/third_party/googleapis/google/cloud/dialogflow/cx/v3beta1/import_strategy.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.cloud.dialogflow.cx.v3beta1; + +option cc_enable_arenas = true; +option csharp_namespace = "Google.Cloud.Dialogflow.Cx.V3Beta1"; +option go_package = "cloud.google.com/go/dialogflow/cx/apiv3beta1/cxpb;cxpb"; +option java_multiple_files = true; +option java_outer_classname = "ImportStrategyProto"; +option java_package = "com.google.cloud.dialogflow.cx.v3beta1"; +option objc_class_prefix = "DF"; +option ruby_package = "Google::Cloud::Dialogflow::CX::V3beta1"; + +// Import strategies for the conflict resolution of resources (i.e. intents, +// entities, and webhooks) with identical display names during import +// operations. +enum ImportStrategy { + // Unspecified. Treated as 'CREATE_NEW'. + IMPORT_STRATEGY_UNSPECIFIED = 0; + + // Create a new resource with a numeric suffix appended to the end of the + // existing display name. + IMPORT_STRATEGY_CREATE_NEW = 1; + + // Replace existing resource with incoming resource in the content to be + // imported. + IMPORT_STRATEGY_REPLACE = 2; + + // Keep existing resource and discard incoming resource in the content to be + // imported. + IMPORT_STRATEGY_KEEP = 3; + + // Combine existing and incoming resources when a conflict is encountered. + IMPORT_STRATEGY_MERGE = 4; + + // Throw error if a conflict is encountered. + IMPORT_STRATEGY_THROW_ERROR = 5; +} diff --git a/third_party/googleapis/google/cloud/dialogflow/cx/v3beta1/inline.proto b/third_party/googleapis/google/cloud/dialogflow/cx/v3beta1/inline.proto new file mode 100644 index 000000000..cf182ee28 --- /dev/null +++ b/third_party/googleapis/google/cloud/dialogflow/cx/v3beta1/inline.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.cloud.dialogflow.cx.v3beta1; + +import "google/api/field_behavior.proto"; + +option cc_enable_arenas = true; +option csharp_namespace = "Google.Cloud.Dialogflow.Cx.V3Beta1"; +option go_package = "cloud.google.com/go/dialogflow/cx/apiv3beta1/cxpb;cxpb"; +option java_multiple_files = true; +option java_outer_classname = "InlineProto"; +option java_package = "com.google.cloud.dialogflow.cx.v3beta1"; +option objc_class_prefix = "DF"; +option ruby_package = "Google::Cloud::Dialogflow::CX::V3beta1"; + +// Inline destination for a Dialogflow operation that writes or exports objects +// (e.g. [intents][google.cloud.dialogflow.cx.v3beta1.Intent]) outside of +// Dialogflow. +message InlineDestination { + // Output only. The uncompressed byte content for the objects. + // Only populated in responses. + bytes content = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Inline source for a Dialogflow operation that reads or imports objects +// (e.g. [intents][google.cloud.dialogflow.cx.v3beta1.Intent]) into Dialogflow. +message InlineSource { + // The uncompressed byte content for the objects. + bytes content = 1; +} diff --git a/third_party/googleapis/google/cloud/dialogflow/cx/v3beta1/parameter_definition.proto b/third_party/googleapis/google/cloud/dialogflow/cx/v3beta1/parameter_definition.proto new file mode 100644 index 000000000..8938a3475 --- /dev/null +++ b/third_party/googleapis/google/cloud/dialogflow/cx/v3beta1/parameter_definition.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.cloud.dialogflow.cx.v3beta1; + +import "google/api/field_behavior.proto"; + +option cc_enable_arenas = true; +option csharp_namespace = "Google.Cloud.Dialogflow.Cx.V3Beta1"; +option go_package = "cloud.google.com/go/dialogflow/cx/apiv3beta1/cxpb;cxpb"; +option java_multiple_files = true; +option java_outer_classname = "ParameterDefinitionProto"; +option java_package = "com.google.cloud.dialogflow.cx.v3beta1"; +option objc_class_prefix = "DF"; +option ruby_package = "Google::Cloud::Dialogflow::CX::V3beta1"; + +// Defines the properties of a parameter. +// Used to define parameters used in the agent and the +// input / output parameters for each fulfillment. +// (-- Next Id: 4 --) +// (-- api-linter: core::0123::resource-annotation=disabled +// aip.dev/not-precedent: ParameterDefinition is not an exposed resource. +// --) +message ParameterDefinition { + // Parameter types are used for validation. + // These types are consistent with [google.protobuf.Value][]. + enum ParameterType { + // Not specified. No validation will be performed. + PARAMETER_TYPE_UNSPECIFIED = 0; + // Represents any string value. + STRING = 1; + // Represents any number value. + NUMBER = 2; + // Represents a boolean value. + BOOLEAN = 3; + // Represents a null value. + NULL = 4; + // Represents any object value. + OBJECT = 5; + // Represents a repeated value. + LIST = 6; + } + + // Name of parameter. + string name = 1 [(google.api.field_behavior) = REQUIRED]; + + // Type of parameter. + ParameterType type = 2 [(google.api.field_behavior) = REQUIRED]; + + // Human-readable description of the parameter. Limited to 300 characters. + string description = 3; +} diff --git a/third_party/googleapis/google/cloud/dialogflow/cx/v3beta1/playbook.proto b/third_party/googleapis/google/cloud/dialogflow/cx/v3beta1/playbook.proto new file mode 100644 index 000000000..ea091901c --- /dev/null +++ b/third_party/googleapis/google/cloud/dialogflow/cx/v3beta1/playbook.proto @@ -0,0 +1,408 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF 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.dialogflow.cx.v3beta1; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/dialogflow/cx/v3beta1/example.proto"; +import "google/cloud/dialogflow/cx/v3beta1/generative_settings.proto"; +import "google/cloud/dialogflow/cx/v3beta1/parameter_definition.proto"; +import "google/protobuf/empty.proto"; +import "google/protobuf/field_mask.proto"; +import "google/protobuf/timestamp.proto"; + +option cc_enable_arenas = true; +option csharp_namespace = "Google.Cloud.Dialogflow.Cx.V3Beta1"; +option go_package = "cloud.google.com/go/dialogflow/cx/apiv3beta1/cxpb;cxpb"; +option java_multiple_files = true; +option java_outer_classname = "PlaybookProto"; +option java_package = "com.google.cloud.dialogflow.cx.v3beta1"; +option objc_class_prefix = "DF"; + +// Service for managing +// [Playbooks][google.cloud.dialogflow.cx.v3beta1.Playbook]. +service Playbooks { + option (google.api.default_host) = "dialogflow.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform," + "https://www.googleapis.com/auth/dialogflow"; + + // Creates a playbook in a specified agent. + rpc CreatePlaybook(CreatePlaybookRequest) returns (Playbook) { + option (google.api.http) = { + post: "/v3beta1/{parent=projects/*/locations/*/agents/*}/playbooks" + body: "playbook" + }; + option (google.api.method_signature) = "parent,playbook"; + } + + // Deletes a specified playbook. + rpc DeletePlaybook(DeletePlaybookRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + delete: "/v3beta1/{name=projects/*/locations/*/agents/*/playbooks/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Returns a list of playbooks in the specified agent. + rpc ListPlaybooks(ListPlaybooksRequest) returns (ListPlaybooksResponse) { + option (google.api.http) = { + get: "/v3beta1/{parent=projects/*/locations/*/agents/*}/playbooks" + }; + option (google.api.method_signature) = "parent"; + } + + // Retrieves the specified Playbook. + rpc GetPlaybook(GetPlaybookRequest) returns (Playbook) { + option (google.api.http) = { + get: "/v3beta1/{name=projects/*/locations/*/agents/*/playbooks/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Updates the specified Playbook. + rpc UpdatePlaybook(UpdatePlaybookRequest) returns (Playbook) { + option (google.api.http) = { + patch: "/v3beta1/{playbook.name=projects/*/locations/*/agents/*/playbooks/*}" + body: "playbook" + }; + option (google.api.method_signature) = "playbook,update_mask"; + } + + // Creates a version for the specified Playbook. + rpc CreatePlaybookVersion(CreatePlaybookVersionRequest) + returns (PlaybookVersion) { + option (google.api.http) = { + post: "/v3beta1/{parent=projects/*/locations/*/agents/*/playbooks/*}/versions" + body: "playbook_version" + }; + option (google.api.method_signature) = "parent,playbook_version"; + } + + // Retrieves the specified version of the Playbook. + rpc GetPlaybookVersion(GetPlaybookVersionRequest) returns (PlaybookVersion) { + option (google.api.http) = { + get: "/v3beta1/{name=projects/*/locations/*/agents/*/playbooks/*/versions/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Lists versions for the specified Playbook. + rpc ListPlaybookVersions(ListPlaybookVersionsRequest) + returns (ListPlaybookVersionsResponse) { + option (google.api.http) = { + get: "/v3beta1/{parent=projects/*/locations/*/agents/*/playbooks/*}/versions" + }; + option (google.api.method_signature) = "parent"; + } + + // Deletes the specified version of the Playbook. + rpc DeletePlaybookVersion(DeletePlaybookVersionRequest) + returns (google.protobuf.Empty) { + option (google.api.http) = { + delete: "/v3beta1/{name=projects/*/locations/*/agents/*/playbooks/*/versions/*}" + }; + option (google.api.method_signature) = "name"; + } +} + +// The request message for +// [Playbooks.CreatePlaybook][google.cloud.dialogflow.cx.v3beta1.Playbooks.CreatePlaybook]. +message CreatePlaybookRequest { + // Required. The agent to create a playbook for. + // Format: `projects//locations//agents/`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "dialogflow.googleapis.com/Playbook" + } + ]; + + // Required. The playbook to create. + Playbook playbook = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// The request message for +// [Playbooks.DeletePlaybook][google.cloud.dialogflow.cx.v3beta1.Playbooks.DeletePlaybook]. +message DeletePlaybookRequest { + // Required. The name of the playbook to delete. + // Format: `projects//locations//agents//playbooks/`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "dialogflow.googleapis.com/Playbook" + } + ]; +} + +// The request message for +// [Playbooks.ListPlaybooks][google.cloud.dialogflow.cx.v3beta1.Playbooks.ListPlaybooks]. +message ListPlaybooksRequest { + // Required. The agent to list playbooks from. + // Format: `projects//locations//agents/`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "dialogflow.googleapis.com/Playbook" + } + ]; + + // The maximum number of items to return in a single page. By default 100 and + // at most 1000. + int32 page_size = 2; + + // The next_page_token value returned from a previous list request. + string page_token = 3; +} + +// The response message for +// [Playbooks.ListPlaybooks][google.cloud.dialogflow.cx.v3beta1.Playbooks.ListPlaybooks]. +message ListPlaybooksResponse { + // The list of playbooks. There will be a maximum number of items returned + // based on the page_size field in the request. + repeated Playbook playbooks = 1; + + // Token to retrieve the next page of results, or empty if there are no more + // results in the list. + string next_page_token = 2; +} + +// The request message for +// [Playbooks.GetPlaybook][google.cloud.dialogflow.cx.v3beta1.Playbooks.GetPlaybook]. +message GetPlaybookRequest { + // Required. The name of the playbook. + // Format: `projects//locations//agents//playbooks/`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "dialogflow.googleapis.com/Playbook" + } + ]; +} + +// The request message for +// [Playbooks.UpdatePlaybook][google.cloud.dialogflow.cx.v3beta1.Playbooks.UpdatePlaybook]. +message UpdatePlaybookRequest { + // Required. The playbook to update. + Playbook playbook = 1 [(google.api.field_behavior) = REQUIRED]; + + // The mask to control which fields get updated. If the mask is not present, + // all fields will be updated. + google.protobuf.FieldMask update_mask = 2; +} + +// Playbook is the basic building block to instruct the LLM how to execute a +// certain task. +// +// A playbook consists of a goal to accomplish, an optional list of step by step +// instructions (the step instruction may refers to name of the custom or +// default plugin tools to use) to perform the task, +// a list of contextual input data to be passed in at the beginning of the +// invoked, and a list of output parameters to store the playbook result. +message Playbook { + option (google.api.resource) = { + type: "dialogflow.googleapis.com/Playbook" + pattern: "projects/{project}/locations/{location}/agents/{agent}/playbooks/{playbook}" + }; + + // Message of single step execution. + message Step { + // Instruction on how to execute current step. + oneof instruction { + // Step instruction in text format. + string text = 1; + } + + // Sub-processing needed to execute the current step. + repeated Step steps = 2; + } + + // The unique identifier of the playbook. + // Format: `projects//locations//agents//playbooks/`. + string name = 1; + + // Required. The human-readable name of the playbook, unique within an agent. + string display_name = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. High level description of the goal the playbook intend to + // accomplish. + string goal = 3 [(google.api.field_behavior) = REQUIRED]; + + // Optional. Defined structured input parameters for this playbook. + repeated google.cloud.dialogflow.cx.v3beta1.ParameterDefinition + input_parameter_definitions = 5 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Defined structured output parameters for this playbook. + repeated google.cloud.dialogflow.cx.v3beta1.ParameterDefinition + output_parameter_definitions = 6 [(google.api.field_behavior) = OPTIONAL]; + + // Ordered list of step by step execution instructions to accomplish + // target goal. + repeated Step steps = 4; + + // Output only. Estimated number of tokes current playbook takes when sent to + // the LLM. + int64 token_count = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The timestamp of initial playbook creation. + google.protobuf.Timestamp create_time = 9 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Last time the playbook version was updated. + google.protobuf.Timestamp update_time = 10 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The resource name of other playbooks referenced by the current + // playbook in the instructions. + repeated string referenced_playbooks = 11 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "dialogflow.googleapis.com/Playbook" + } + ]; + + // Output only. The resource name of flows referenced by the current playbook + // in the instructions. + repeated string referenced_flows = 12 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { type: "dialogflow.googleapis.com/Flow" } + ]; + + // Optional. The resource name of tools referenced by the current playbook in + // the instructions. If not provided explicitly, they are will + // be implied using the tool being referenced in goal and steps. + repeated string referenced_tools = 13 [ + (google.api.field_behavior) = OPTIONAL, + (google.api.resource_reference) = { type: "dialogflow.googleapis.com/Tool" } + ]; + + // Optional. Llm model settings for the playbook. + LlmModelSettings llm_model_settings = 14 + [(google.api.field_behavior) = OPTIONAL]; +} + +// The request message for +// [Playbooks.CreatePlaybookVersion][google.cloud.dialogflow.cx.v3beta1.Playbooks.CreatePlaybookVersion]. +message CreatePlaybookVersionRequest { + // Required. The playbook to create a version for. + // Format: `projects//locations//agents//playbooks/`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "dialogflow.googleapis.com/PlaybookVersion" + } + ]; + + // Required. The playbook version to create. + PlaybookVersion playbook_version = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Playbook version is a snapshot of the playbook at certain timestamp. +message PlaybookVersion { + option (google.api.resource) = { + type: "dialogflow.googleapis.com/PlaybookVersion" + pattern: "projects/{project}/locations/{location}/agents/{agent}/playbooks/{playbook}/versions/{version}" + plural: "playbookVersions" + singular: "playbookVersion" + }; + + // The unique identifier of the playbook version. + // Format: `projects//locations//agents//playbooks//versions/`. + string name = 1; + + // Optional. The description of the playbook version. + string description = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Output only. Snapshot of the playbook when the playbook version is created. + Playbook playbook = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Snapshot of the examples belonging to the playbook when the + // playbook version is created. + repeated Example examples = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Last time the playbook version was created or modified. + google.protobuf.Timestamp update_time = 5 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// The request message for +// [Playbooks.GetPlaybookVersion][google.cloud.dialogflow.cx.v3beta1.Playbooks.GetPlaybookVersion]. +message GetPlaybookVersionRequest { + // Required. The name of the playbook version. + // Format: `projects//locations//agents//playbooks//versions/`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "dialogflow.googleapis.com/PlaybookVersion" + } + ]; +} + +// The request message for +// [Playbooks.ListPlaybookVersions][google.cloud.dialogflow.cx.v3beta1.Playbooks.ListPlaybookVersions]. +message ListPlaybookVersionsRequest { + // Required. The playbook to list versions for. + // Format: `projects//locations//agents//playbooks/`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "dialogflow.googleapis.com/PlaybookVersion" + } + ]; + + // Optional. The maximum number of items to return in a single page. By + // default 100 and at most 1000. + int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The next_page_token value returned from a previous list request. + string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// The response message for +// [Playbooks.ListPlaybookVersions][google.cloud.dialogflow.cx.v3beta1.Playbooks.ListPlaybookVersions]. +message ListPlaybookVersionsResponse { + // The list of playbook version. There will be a maximum number of items + // returned based on the page_size field in the request. + repeated PlaybookVersion playbook_versions = 1; + + // Token to retrieve the next page of results, or empty if there are no more + // results in the list. + string next_page_token = 2; +} + +// The request message for +// [Playbooks.DeletePlaybookVersion][google.cloud.dialogflow.cx.v3beta1.Playbooks.DeletePlaybookVersion]. +message DeletePlaybookVersionRequest { + // Required. The name of the playbook version to delete. + // Format: `projects//locations//agents//playbooks//versions/`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "dialogflow.googleapis.com/PlaybookVersion" + } + ]; +} diff --git a/third_party/googleapis/google/cloud/dialogflow/cx/v3beta1/safety_settings.proto b/third_party/googleapis/google/cloud/dialogflow/cx/v3beta1/safety_settings.proto new file mode 100644 index 000000000..88c287e9c --- /dev/null +++ b/third_party/googleapis/google/cloud/dialogflow/cx/v3beta1/safety_settings.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.cloud.dialogflow.cx.v3beta1; + +import "google/api/field_behavior.proto"; + +option cc_enable_arenas = true; +option csharp_namespace = "Google.Cloud.Dialogflow.Cx.V3Beta1"; +option go_package = "cloud.google.com/go/dialogflow/cx/apiv3beta1/cxpb;cxpb"; +option java_multiple_files = true; +option java_outer_classname = "SafetySettingsProto"; +option java_package = "com.google.cloud.dialogflow.cx.v3beta1"; +option objc_class_prefix = "DF"; +option ruby_package = "Google::Cloud::Dialogflow::CX::V3beta1"; + +// Settings for Generative Safety. +message SafetySettings { + // Text input which can be used for prompt or banned phrases. + message Phrase { + // Required. Text input which can be used for prompt or banned phrases. + string text = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. Language code of the phrase. + string language_code = 2 [(google.api.field_behavior) = REQUIRED]; + } + + // Banned phrases for generated text. + repeated Phrase banned_phrases = 1; +} diff --git a/third_party/googleapis/google/cloud/dialogflow/cx/v3beta1/tool.proto b/third_party/googleapis/google/cloud/dialogflow/cx/v3beta1/tool.proto new file mode 100644 index 000000000..ab74d54b1 --- /dev/null +++ b/third_party/googleapis/google/cloud/dialogflow/cx/v3beta1/tool.proto @@ -0,0 +1,486 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF 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.dialogflow.cx.v3beta1; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/dialogflow/cx/v3beta1/data_store_connection.proto"; +import "google/cloud/dialogflow/cx/v3beta1/inline.proto"; +import "google/longrunning/operations.proto"; +import "google/protobuf/empty.proto"; +import "google/protobuf/field_mask.proto"; +import "google/protobuf/struct.proto"; + +option cc_enable_arenas = true; +option csharp_namespace = "Google.Cloud.Dialogflow.Cx.V3Beta1"; +option go_package = "cloud.google.com/go/dialogflow/cx/apiv3beta1/cxpb;cxpb"; +option java_multiple_files = true; +option java_outer_classname = "ToolProto"; +option java_package = "com.google.cloud.dialogflow.cx.v3beta1"; +option objc_class_prefix = "DF"; + +// Service for managing [Tools][google.cloud.dialogflow.cx.v3beta1.Tool]. +service Tools { + option (google.api.default_host) = "dialogflow.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform," + "https://www.googleapis.com/auth/dialogflow"; + + // Creates a [Tool][google.cloud.dialogflow.cx.v3beta1.Tool] in the specified + // agent. + rpc CreateTool(CreateToolRequest) returns (Tool) { + option (google.api.http) = { + post: "/v3beta1/{parent=projects/*/locations/*/agents/*}/tools" + body: "tool" + }; + option (google.api.method_signature) = "parent,tool"; + } + + // Returns a list of [Tools][google.cloud.dialogflow.cx.v3beta1.Tool] in the + // specified agent. + rpc ListTools(ListToolsRequest) returns (ListToolsResponse) { + option (google.api.http) = { + get: "/v3beta1/{parent=projects/*/locations/*/agents/*}/tools" + }; + option (google.api.method_signature) = "parent"; + } + + // Exports the selected tools. + rpc ExportTools(ExportToolsRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v3beta1/{parent=projects/*/locations/*/agents/*}/tools:export" + body: "*" + }; + option (google.longrunning.operation_info) = { + response_type: "ExportToolsResponse" + metadata_type: "ExportToolsMetadata" + }; + } + + // Retrieves the specified [Tool][google.cloud.dialogflow.cx.v3beta1.Tool]. + rpc GetTool(GetToolRequest) returns (Tool) { + option (google.api.http) = { + get: "/v3beta1/{name=projects/*/locations/*/agents/*/tools/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Update the specified [Tool][google.cloud.dialogflow.cx.v3beta1.Tool]. + rpc UpdateTool(UpdateToolRequest) returns (Tool) { + option (google.api.http) = { + patch: "/v3beta1/{tool.name=projects/*/locations/*/agents/*/tools/*}" + body: "tool" + }; + option (google.api.method_signature) = "tool,update_mask"; + } + + // Deletes a specified [Tool][google.cloud.dialogflow.cx.v3beta1.Tool]. + rpc DeleteTool(DeleteToolRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + delete: "/v3beta1/{name=projects/*/locations/*/agents/*/tools/*}" + }; + option (google.api.method_signature) = "name"; + } +} + +// The request message for +// [Tools.CreateTool][google.cloud.dialogflow.cx.v3beta1.Tools.CreateTool]. +message CreateToolRequest { + // Required. The agent to create a Tool for. + // Format: `projects//locations//agents/`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "dialogflow.googleapis.com/Tool" + } + ]; + + // Required. The Tool to be created. + Tool tool = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// The request message for +// [Tools.ListTools][google.cloud.dialogflow.cx.v3beta1.Tools.ListTools]. +message ListToolsRequest { + // Required. The agent to list the Tools from. + // Format: `projects//locations//agents/`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "dialogflow.googleapis.com/Tool" + } + ]; + + // The maximum number of items to return in a single page. By default 100 and + // at most 1000. + int32 page_size = 2; + + // The next_page_token value returned from a previous list request. + string page_token = 3; +} + +// The response message for +// [Tools.ListTools][google.cloud.dialogflow.cx.v3beta1.Tools.ListTools]. +message ListToolsResponse { + // The list of Tools. There will be a maximum number of items returned + // based on the page_size field in the request. + repeated Tool tools = 1; + + // Token to retrieve the next page of results, or empty if there are no more + // results in the list. + string next_page_token = 2; +} + +// The request message for +// [Tools.GetTool][google.cloud.dialogflow.cx.v3beta1.Tools.GetTool]. +message GetToolRequest { + // Required. The name of the Tool. + // Format: `projects//locations//agents//tools/`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { type: "dialogflow.googleapis.com/Tool" } + ]; +} + +// The request message for +// [Tools.ExportTools][google.cloud.dialogflow.cx.v3beta1.Tools.ExportTools]. +message ExportToolsRequest { + // Data format of the exported tools. + enum DataFormat { + // Unspecified format. Treated as `BLOB`. + DATA_FORMAT_UNSPECIFIED = 0; + + // Tools will be exported as raw bytes. + BLOB = 1; + + // Tools will be exported in JSON format. + JSON = 2; + } + + // Required. The agent to export tools from. + // Format: `projects//locations//agents/`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "dialogflow.googleapis.com/Tool" + } + ]; + + // Required. The name of the tools to export. + // Format: `projects//locations//agents//tools/`. + repeated string tools = 2 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { type: "dialogflow.googleapis.com/Tool" } + ]; + + // The destination to export. + oneof destination { + // Optional. The [Google Cloud + // Storage](https://cloud.google.com/storage/docs/) URI to export the tools + // to. The format of this URI must be `gs:///`. + // + // Dialogflow performs a write operation for the Cloud Storage object + // on the caller's behalf, so your request authentication must + // have write permissions for the object. For more information, see + // [Dialogflow access + // control](https://cloud.google.com/dialogflow/cx/docs/concept/access-control#storage). + string tools_uri = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The option to return the serialized tools inline. + bool tools_content_inline = 4 [(google.api.field_behavior) = OPTIONAL]; + } + + // Optional. The data format of the exported tools. If not specified, `BLOB` + // is assumed. + DataFormat data_format = 5 [(google.api.field_behavior) = OPTIONAL]; +} + +// The response message for +// [Tools.ExportTools][google.cloud.dialogflow.cx.v3beta1.Tools.ExportTools]. +message ExportToolsResponse { + // The exported tools. + oneof tools { + // The URI to a file containing the exported tools. This field is + // populated only if `tools_uri` is specified in + // [ExportToolsRequest][google.cloud.dialogflow.cx.v3beta1.ExportToolsRequest]. + string tools_uri = 1; + + // Uncompressed byte content for tools. This field is populated only if + // `tools_content_inline` is set to true in + // [ExportToolsRequest][google.cloud.dialogflow.cx.v3beta1.ExportToolsRequest]. + InlineDestination tools_content = 2; + } +} + +// The request message for +// [Tools.UpdateTool][google.cloud.dialogflow.cx.v3beta1.Tools.UpdateTool]. +message UpdateToolRequest { + // Required. The Tool to be updated. + Tool tool = 1 [(google.api.field_behavior) = REQUIRED]; + + // The mask to control which fields get updated. If the mask is not present, + // all fields will be updated. + google.protobuf.FieldMask update_mask = 2; +} + +// The request message for +// [Tools.DeleteTool][google.cloud.dialogflow.cx.v3beta1.Tools.DeleteTool]. +message DeleteToolRequest { + // Required. The name of the Tool to be deleted. + // Format: `projects//locations//agents//tools/`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { type: "dialogflow.googleapis.com/Tool" } + ]; + + // This field has no effect for Tools not being used. + // For Tools that are used: + // + // * If `force` is set to false, an error will be returned with message + // indicating the referenced resources. + // * If `force` is set to true, Dialogflow will remove the tool, as well + // as any references to the tool. + bool force = 2; +} + +// A tool provides a list of actions which are available to the +// [Playbook][google.cloud.dialogflow.cx.v3beta1.Playbook] to attain its goal. A +// Tool consists of a description of the tool's usage and a specification of the +// tool which contains the schema and authentication information. +message Tool { + option (google.api.resource) = { + type: "dialogflow.googleapis.com/Tool" + pattern: "projects/{project}/locations/{location}/agents/{agent}/tools/{tool}" + }; + + // An OpenAPI tool is a way to provide the Tool specifications in the Open API + // schema format. + message OpenApiTool { + // Schema representation. + oneof schema { + // Required. The OpenAPI schema specified as a text. + string text_schema = 1 [(google.api.field_behavior) = REQUIRED]; + } + + // Optional. Authentication information required by the API. + Authentication authentication = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. TLS configuration for the HTTPS verification. + TLSConfig tls_config = 3 [(google.api.field_behavior) = OPTIONAL]; + } + + // A DataStoreTool is a way to provide specifications needed to search a + // list of data stores. + message DataStoreTool { + // A FallbackPrompt is a way to provide specifications for the Data Store + // fallback prompt when generating responses. + message FallbackPrompt {} + + // Required. List of data stores to search. + repeated DataStoreConnection data_store_connections = 1 + [(google.api.field_behavior) = REQUIRED]; + + // Required. Fallback prompt configurations to use. + FallbackPrompt fallback_prompt = 3 [(google.api.field_behavior) = REQUIRED]; + } + + // An ExtensionTool is a way to use Vertex Extensions as a tool. + message ExtensionTool { + // Required. The full name of the referenced vertex extension. + // Formats: + // `projects/{project}/locations/{location}/extensions/{extension}` + string name = 1 [(google.api.field_behavior) = REQUIRED]; + } + + // A Function tool describes the functions to be invoked on the client side. + message FunctionTool { + // Optional. The JSON schema is encapsulated in a + // [google.protobuf.Struct][google.protobuf.Struct] to describe the input of + // the function. This input is a JSON object that contains the function's + // parameters as properties of the object. + google.protobuf.Struct input_schema = 1 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The JSON schema is encapsulated in a + // [google.protobuf.Struct][google.protobuf.Struct] to describe the output + // of the function. This output is a JSON object that contains the + // function's parameters as properties of the object. + google.protobuf.Struct output_schema = 2 + [(google.api.field_behavior) = OPTIONAL]; + } + + // Authentication information required for API calls + message Authentication { + // Config for authentication with API key. + message ApiKeyConfig { + // Required. The parameter name or the header name of the API key. + // E.g., If the API request is "https://example.com/act?X-Api-Key=", "X-Api-Key" would be the parameter name. + string key_name = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The API key. + string api_key = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. Key location in the request. + RequestLocation request_location = 3 + [(google.api.field_behavior) = REQUIRED]; + } + + // The location of the API key in the request. + enum RequestLocation { + // Default value. This value is unused. + REQUEST_LOCATION_UNSPECIFIED = 0; + + // Represents the key in http header. + HEADER = 1; + + // Represents the key in query string. + QUERY_STRING = 2; + } + + // Config for authentication with OAuth. + message OAuthConfig { + // OAuth grant types. Only [client credential + // grant](https://oauth.net/2/grant-types/client-credentials) is + // supported. + enum OauthGrantType { + // Default value. This value is unused. + OAUTH_GRANT_TYPE_UNSPECIFIED = 0; + + // Represents the [client credential + // flow](https://oauth.net/2/grant-types/client-credentials). + CLIENT_CREDENTIAL = 1; + } + + // Required. OAuth grant types. + OauthGrantType oauth_grant_type = 1 + [(google.api.field_behavior) = REQUIRED]; + + // Required. The client ID from the OAuth provider. + string client_id = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The client secret from the OAuth provider. + string client_secret = 3 [(google.api.field_behavior) = REQUIRED]; + + // Required. The token endpoint in the OAuth provider to exchange for an + // access token. + string token_endpoint = 4 [(google.api.field_behavior) = REQUIRED]; + } + + // Config for auth using [Diglogflow service + // agent](https://cloud.google.com/iam/docs/service-agents#dialogflow-service-agent). + message ServiceAgentAuthConfig {} + + // The auth configuration. + oneof auth_config { + // Config for API key auth. + ApiKeyConfig api_key_config = 1; + + // Config for OAuth. + OAuthConfig oauth_config = 2; + + // Config for [Diglogflow service + // agent](https://cloud.google.com/iam/docs/service-agents#dialogflow-service-agent) + // auth. + ServiceAgentAuthConfig service_agent_auth_config = 3; + } + } + + // The TLS configuration. + message TLSConfig { + // The CA certificate. + message CACert { + // Required. The name of the allowed custom CA certificates. This + // can be used to disambiguate the custom CA certificates. + string display_name = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The allowed custom CA certificates (in DER format) for + // HTTPS verification. This overrides the default SSL trust store. If this + // is empty or unspecified, Dialogflow will use Google's default trust + // store to verify certificates. N.B. Make sure the HTTPS server + // certificates are signed with "subject alt name". For instance a + // certificate can be self-signed using the following command, + // openssl x509 -req -days 200 -in example.com.csr \ + // -signkey example.com.key \ + // -out example.com.crt \ + // -extfile <(printf "\nsubjectAltName='DNS:www.example.com'") + bytes cert = 2 [(google.api.field_behavior) = REQUIRED]; + } + + // Required. Specifies a list of allowed custom CA certificates for HTTPS + // verification. + repeated CACert ca_certs = 1 [(google.api.field_behavior) = REQUIRED]; + } + + // Represents the type of the tool. + enum ToolType { + // Default value. This value is unused. + TOOL_TYPE_UNSPECIFIED = 0; + + // Customer provided tool. + CUSTOMIZED_TOOL = 1; + + // First party built-in tool created by Dialogflow which cannot be modified. + BUILTIN_TOOL = 2; + } + + // The unique identifier of the Tool. + // Format: `projects//locations//agents//tools/`. + string name = 1; + + // Required. The human-readable name of the Tool, unique within an agent. + string display_name = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. High level description of the Tool and its usage. + string description = 3 [(google.api.field_behavior) = REQUIRED]; + + // The list of derived action names for the tool. + repeated string actions = 6 [deprecated = true]; + + // The list of derived type schemas for the tool. + repeated string schemas = 7 [deprecated = true]; + + // Specification of the Tool. + oneof specification { + // OpenAPI specification of the Tool. + OpenApiTool open_api_spec = 4; + + // Data store search tool specification. + DataStoreTool data_store_spec = 8; + + // Vertex extension tool specification. + ExtensionTool extension_spec = 11; + + // Client side executed function specification. + FunctionTool function_spec = 13; + } + + // Output only. The tool type. + ToolType tool_type = 12 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Metadata returned for the +// [Tools.ExportTools][google.cloud.dialogflow.cx.v3beta1.Tools.ExportTools] +// long running operation. +message ExportToolsMetadata {} diff --git a/third_party/googleapis/google/cloud/dialogflow/cx/v3beta1/tool_call.proto b/third_party/googleapis/google/cloud/dialogflow/cx/v3beta1/tool_call.proto new file mode 100644 index 000000000..f636a806d --- /dev/null +++ b/third_party/googleapis/google/cloud/dialogflow/cx/v3beta1/tool_call.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.cloud.dialogflow.cx.v3beta1; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/struct.proto"; + +option cc_enable_arenas = true; +option csharp_namespace = "Google.Cloud.Dialogflow.Cx.V3Beta1"; +option go_package = "cloud.google.com/go/dialogflow/cx/apiv3beta1/cxpb;cxpb"; +option java_multiple_files = true; +option java_outer_classname = "ToolCallProto"; +option java_package = "com.google.cloud.dialogflow.cx.v3beta1"; +option objc_class_prefix = "DF"; +option ruby_package = "Google::Cloud::Dialogflow::CX::V3beta1"; + +// The result of calling a tool's action that has been executed by the client. +message ToolCallResult { + // The [tool][Tool] associated with this call. + // Format: `projects//locations//agents//tools/`. + string tool = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { type: "dialogflow.googleapis.com/Tool" } + ]; + // The name of the tool's action associated with this call. + string action = 2 [(google.api.field_behavior) = REQUIRED]; + // An error produced by the tool call. + message Error { + // The error message of the function. + string message = 1 [(google.api.field_behavior) = OPTIONAL]; + } + // The tool call's result. + oneof result { + // The tool call's error. + Error error = 3; + // The tool call's output parameters. + google.protobuf.Struct output_parameters = 4; + } +} diff --git a/third_party/googleapis/google/cloud/discoveryengine/BUILD.bazel b/third_party/googleapis/google/cloud/discoveryengine/BUILD.bazel new file mode 100644 index 000000000..3cc3f4572 --- /dev/null +++ b/third_party/googleapis/google/cloud/discoveryengine/BUILD.bazel @@ -0,0 +1,36 @@ +# This build file includes a target for the Ruby wrapper library for +# google-cloud-discovery_engine. + +# 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 discoveryengine. +# 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 = "discoveryengine_ruby_wrapper", + srcs = ["//google/cloud/discoveryengine/v1:discoveryengine_proto_with_info"], + extra_protoc_parameters = [ + "ruby-cloud-gem-name=google-cloud-discovery_engine", + "ruby-cloud-wrapper-of=v1:0.4;v1beta:0.7", + ], + service_yaml = "//google/cloud/discoveryengine/v1:discoveryengine_v1.yaml", + transport = "grpc+rest", +) + +# Open Source package. +ruby_gapic_assembly_pkg( + name = "google-cloud-discoveryengine-ruby", + deps = [ + ":discoveryengine_ruby_wrapper", + ], +) \ No newline at end of file diff --git a/third_party/googleapis/google/cloud/discoveryengine/logging/error_log.proto b/third_party/googleapis/google/cloud/discoveryengine/logging/error_log.proto new file mode 100644 index 000000000..dcb6d29da --- /dev/null +++ b/third_party/googleapis/google/cloud/discoveryengine/logging/error_log.proto @@ -0,0 +1,125 @@ +// 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.discoveryengine.logging; + +import "google/protobuf/struct.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Cloud.DiscoveryEngine.Logging"; +option go_package = "cloud.google.com/go/discoveryengine/logging/loggingpb;loggingpb"; +option java_multiple_files = true; +option java_outer_classname = "ErrorLogProto"; +option java_package = "com.google.cloud.discoveryengine.logging"; +option objc_class_prefix = "DISCOVERYENGINE"; +option php_namespace = "Google\\Cloud\\DiscoveryEngine\\Logging"; +option ruby_package = "Google::Cloud::DiscoveryEngine::Logging"; + +// Describes a running service that sends errors. +message ServiceContext { + // An identifier of the service—for example, `discoveryengine.googleapis.com`. + string service = 1; +} + +// HTTP request data that is related to a reported error. +message HttpRequestContext { + // The HTTP response status code for the request. + int32 response_status_code = 1; +} + +// Indicates a location in the source code of the service for which +// errors are reported. +message SourceLocation { + // Human-readable name of a function or method—for example, + // `google.cloud.discoveryengine.v1alpha.RecommendationService.Recommend`. + string function_name = 1; +} + +// A description of the context in which an error occurred. +message ErrorContext { + // The HTTP request which was processed when the error was triggered. + HttpRequestContext http_request = 1; + + // The location in the source code where the decision was made to + // report the error, usually the place where it was logged. + SourceLocation report_location = 2; +} + +// The error payload that is populated on LRO import APIs, including the +// following: +// +// * `google.cloud.discoveryengine.v1alpha.DocumentService.ImportDocuments` +// * `google.cloud.discoveryengine.v1alpha.UserEventService.ImportUserEvents` +message ImportErrorContext { + // The operation resource name of the LRO. + string operation = 1; + + // Google Cloud Storage file path of the import source. + // Can be set for batch operation error. + string gcs_path = 2; + + // Line number of the content in file. + // Should be empty for permission or batch operation error. + string line_number = 3; + + // Detailed content which caused the error. + // Should be empty for permission or batch operation error. + oneof line_content { + // The detailed content which caused the error on importing a document. + string document = 4; + + // The detailed content which caused the error on importing a user event. + string user_event = 5; + } +} + +// An error log which is reported to the Error Reporting system. +message ErrorLog { + // The service context in which this error has occurred. + ServiceContext service_context = 1; + + // A description of the context in which the error occurred. + ErrorContext context = 2; + + // A message describing the error. + string message = 3; + + // The RPC status associated with the error log. + google.rpc.Status status = 4; + + // The API request payload, represented as a protocol buffer. + // + // Most API request types are supported—for example: + // + // * `type.googleapis.com/google.cloud.discoveryengine.v1alpha.DocumentService.CreateDocumentRequest` + // * `type.googleapis.com/google.cloud.discoveryengine.v1alpha.UserEventService.WriteUserEventRequest` + google.protobuf.Struct request_payload = 5; + + // The API response payload, represented as a protocol buffer. + // + // This is used to log some "soft errors", where the response is valid but we + // consider there are some quality issues like unjoined events. + // + // The following API responses are supported, and no PII is included: + // + // * `google.cloud.discoveryengine.v1alpha.RecommendationService.Recommend` + // * `google.cloud.discoveryengine.v1alpha.UserEventService.WriteUserEvent` + // * `google.cloud.discoveryengine.v1alpha.UserEventService.CollectUserEvent` + google.protobuf.Struct response_payload = 6; + + // The error payload that is populated on LRO import APIs. + ImportErrorContext import_payload = 7; +} diff --git a/third_party/googleapis/google/cloud/discoveryengine/v1/BUILD.bazel b/third_party/googleapis/google/cloud/discoveryengine/v1/BUILD.bazel new file mode 100644 index 000000000..b3e01a914 --- /dev/null +++ b/third_party/googleapis/google/cloud/discoveryengine/v1/BUILD.bazel @@ -0,0 +1,420 @@ +# 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 = "discoveryengine_proto", + srcs = [ + "common.proto", + "completion.proto", + "completion_service.proto", + "conversation.proto", + "conversational_search_service.proto", + "data_store.proto", + "data_store_service.proto", + "document.proto", + "document_service.proto", + "engine.proto", + "engine_service.proto", + "import_config.proto", + "purge_config.proto", + "schema.proto", + "schema_service.proto", + "search_service.proto", + "site_search_engine.proto", + "site_search_engine_service.proto", + "user_event.proto", + "user_event_service.proto", + ], + deps = [ + "//google/api:annotations_proto", + "//google/api:client_proto", + "//google/api:field_behavior_proto", + "//google/api:httpbody_proto", + "//google/api:resource_proto", + "//google/longrunning:operations_proto", + "//google/rpc:status_proto", + "//google/type:date_proto", + "@com_google_protobuf//:duration_proto", + "@com_google_protobuf//:empty_proto", + "@com_google_protobuf//:field_mask_proto", + "@com_google_protobuf//:struct_proto", + "@com_google_protobuf//:timestamp_proto", + ], +) + +proto_library_with_info( + name = "discoveryengine_proto_with_info", + deps = [ + ":discoveryengine_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 = "discoveryengine_java_proto", + deps = [":discoveryengine_proto"], +) + +java_grpc_library( + name = "discoveryengine_java_grpc", + srcs = [":discoveryengine_proto"], + deps = [":discoveryengine_java_proto"], +) + +java_gapic_library( + name = "discoveryengine_java_gapic", + srcs = [":discoveryengine_proto_with_info"], + gapic_yaml = None, + grpc_service_config = "discoveryengine_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "discoveryengine_v1.yaml", + test_deps = [ + ":discoveryengine_java_grpc", + ], + transport = "grpc+rest", + deps = [ + ":discoveryengine_java_proto", + "//google/api:api_java_proto", + ], +) + +java_gapic_test( + name = "discoveryengine_java_gapic_test_suite", + test_classes = [ + "com.google.cloud.discoveryengine.v1.CompletionServiceClientHttpJsonTest", + "com.google.cloud.discoveryengine.v1.CompletionServiceClientTest", + "com.google.cloud.discoveryengine.v1.ConversationalSearchServiceClientHttpJsonTest", + "com.google.cloud.discoveryengine.v1.ConversationalSearchServiceClientTest", + "com.google.cloud.discoveryengine.v1.DataStoreServiceClientHttpJsonTest", + "com.google.cloud.discoveryengine.v1.DataStoreServiceClientTest", + "com.google.cloud.discoveryengine.v1.DocumentServiceClientHttpJsonTest", + "com.google.cloud.discoveryengine.v1.DocumentServiceClientTest", + "com.google.cloud.discoveryengine.v1.EngineServiceClientHttpJsonTest", + "com.google.cloud.discoveryengine.v1.EngineServiceClientTest", + "com.google.cloud.discoveryengine.v1.SchemaServiceClientHttpJsonTest", + "com.google.cloud.discoveryengine.v1.SchemaServiceClientTest", + "com.google.cloud.discoveryengine.v1.SearchServiceClientHttpJsonTest", + "com.google.cloud.discoveryengine.v1.SearchServiceClientTest", + "com.google.cloud.discoveryengine.v1.SiteSearchEngineServiceClientHttpJsonTest", + "com.google.cloud.discoveryengine.v1.SiteSearchEngineServiceClientTest", + "com.google.cloud.discoveryengine.v1.UserEventServiceClientHttpJsonTest", + "com.google.cloud.discoveryengine.v1.UserEventServiceClientTest", + ], + runtime_deps = [":discoveryengine_java_gapic_test"], +) + +# Open Source Packages +java_gapic_assembly_gradle_pkg( + name = "google-cloud-discoveryengine-v1-java", + include_samples = True, + transport = "grpc+rest", + deps = [ + ":discoveryengine_java_gapic", + ":discoveryengine_java_grpc", + ":discoveryengine_java_proto", + ":discoveryengine_proto", + ], +) + +############################################################################## +# Go +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "go_gapic_assembly_pkg", + "go_gapic_library", + "go_proto_library", +) + +go_proto_library( + name = "discoveryengine_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "cloud.google.com/go/discoveryengine/apiv1/discoveryenginepb", + protos = [":discoveryengine_proto"], + deps = [ + "//google/api:annotations_go_proto", + "//google/api:httpbody_go_proto", + "//google/longrunning:longrunning_go_proto", + "//google/rpc:status_go_proto", + "//google/type:date_go_proto", + ], +) + +go_gapic_library( + name = "discoveryengine_go_gapic", + srcs = [":discoveryengine_proto_with_info"], + grpc_service_config = "discoveryengine_grpc_service_config.json", + importpath = "cloud.google.com/go/discoveryengine/apiv1;discoveryengine", + metadata = True, + release_level = "ga", + rest_numeric_enums = True, + service_yaml = "discoveryengine_v1.yaml", + transport = "grpc+rest", + deps = [ + ":discoveryengine_go_proto", + "//google/api:httpbody_go_proto", + "//google/longrunning:longrunning_go_proto", + "@com_google_cloud_go_longrunning//:go_default_library", + "@com_google_cloud_go_longrunning//autogen:go_default_library", + "@io_bazel_rules_go//proto/wkt:duration_go_proto", + "@io_bazel_rules_go//proto/wkt:struct_go_proto", + ], +) + +# Open Source Packages +go_gapic_assembly_pkg( + name = "gapi-cloud-discoveryengine-v1-go", + deps = [ + ":discoveryengine_go_gapic", + ":discoveryengine_go_gapic_srcjar-metadata.srcjar", + ":discoveryengine_go_gapic_srcjar-snippets.srcjar", + ":discoveryengine_go_gapic_srcjar-test.srcjar", + ":discoveryengine_go_proto", + ], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "py_gapic_assembly_pkg", + "py_gapic_library", + "py_test", +) + +py_gapic_library( + name = "discoveryengine_py_gapic", + srcs = [":discoveryengine_proto"], + grpc_service_config = "discoveryengine_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "discoveryengine_v1.yaml", + transport = "grpc+rest", + deps = [], +) + +py_test( + name = "discoveryengine_py_gapic_test", + srcs = [ + "discoveryengine_py_gapic_pytest.py", + "discoveryengine_py_gapic_test.py", + ], + legacy_create_init = False, + deps = [":discoveryengine_py_gapic"], +) + +# Open Source Packages +py_gapic_assembly_pkg( + name = "discoveryengine-v1-py", + deps = [ + ":discoveryengine_py_gapic", + ], +) + +############################################################################## +# PHP +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "php_gapic_assembly_pkg", + "php_gapic_library", + "php_proto_library", +) + +php_proto_library( + name = "discoveryengine_php_proto", + deps = [":discoveryengine_proto"], +) + +php_gapic_library( + name = "discoveryengine_php_gapic", + srcs = [":discoveryengine_proto_with_info"], + grpc_service_config = "discoveryengine_grpc_service_config.json", + migration_mode = "NEW_SURFACE_ONLY", + rest_numeric_enums = True, + service_yaml = "discoveryengine_v1.yaml", + transport = "grpc+rest", + deps = [":discoveryengine_php_proto"], +) + +# Open Source Packages +php_gapic_assembly_pkg( + name = "google-cloud-discoveryengine-v1-php", + deps = [ + ":discoveryengine_php_gapic", + ":discoveryengine_php_proto", + ], +) + +############################################################################## +# Node.js +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "nodejs_gapic_assembly_pkg", + "nodejs_gapic_library", +) + +nodejs_gapic_library( + name = "discoveryengine_nodejs_gapic", + package_name = "@google-cloud/discoveryengine", + src = ":discoveryengine_proto_with_info", + extra_protoc_parameters = ["metadata"], + grpc_service_config = "discoveryengine_grpc_service_config.json", + package = "google.cloud.discoveryengine.v1", + rest_numeric_enums = True, + service_yaml = "discoveryengine_v1.yaml", + transport = "grpc+rest", + deps = [], +) + +nodejs_gapic_assembly_pkg( + name = "discoveryengine-v1-nodejs", + deps = [ + ":discoveryengine_nodejs_gapic", + ":discoveryengine_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 = "discoveryengine_ruby_proto", + deps = [":discoveryengine_proto"], +) + +ruby_grpc_library( + name = "discoveryengine_ruby_grpc", + srcs = [":discoveryengine_proto"], + deps = [":discoveryengine_ruby_proto"], +) + +ruby_cloud_gapic_library( + name = "discoveryengine_ruby_gapic", + srcs = [":discoveryengine_proto_with_info"], + extra_protoc_parameters = [ + "ruby-cloud-gem-name=google-cloud-discovery_engine-v1", + ], + grpc_service_config = "discoveryengine_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "discoveryengine_v1.yaml", + transport = "grpc+rest", + deps = [ + ":discoveryengine_ruby_grpc", + ":discoveryengine_ruby_proto", + ], +) + +# Open Source Packages +ruby_gapic_assembly_pkg( + name = "google-cloud-discoveryengine-v1-ruby", + deps = [ + ":discoveryengine_ruby_gapic", + ":discoveryengine_ruby_grpc", + ":discoveryengine_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 = "discoveryengine_csharp_proto", + deps = [":discoveryengine_proto"], +) + +csharp_grpc_library( + name = "discoveryengine_csharp_grpc", + srcs = [":discoveryengine_proto"], + deps = [":discoveryengine_csharp_proto"], +) + +csharp_gapic_library( + name = "discoveryengine_csharp_gapic", + srcs = [":discoveryengine_proto_with_info"], + common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json", + grpc_service_config = "discoveryengine_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "discoveryengine_v1.yaml", + deps = [ + ":discoveryengine_csharp_grpc", + ":discoveryengine_csharp_proto", + ], +) + +# Open Source Packages +csharp_gapic_assembly_pkg( + name = "google-cloud-discoveryengine-v1-csharp", + deps = [ + ":discoveryengine_csharp_gapic", + ":discoveryengine_csharp_grpc", + ":discoveryengine_csharp_proto", + ], +) + +############################################################################## +# C++ +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "cc_grpc_library", + "cc_proto_library", +) + +cc_proto_library( + name = "discoveryengine_cc_proto", + deps = [":discoveryengine_proto"], +) + +cc_grpc_library( + name = "discoveryengine_cc_grpc", + srcs = [":discoveryengine_proto"], + grpc_only = True, + deps = [":discoveryengine_cc_proto"], +) diff --git a/third_party/googleapis/google/cloud/discoveryengine/v1/common.proto b/third_party/googleapis/google/cloud/discoveryengine/v1/common.proto new file mode 100644 index 000000000..292fc379f --- /dev/null +++ b/third_party/googleapis/google/cloud/discoveryengine/v1/common.proto @@ -0,0 +1,179 @@ +// 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.discoveryengine.v1; + +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Cloud.DiscoveryEngine.V1"; +option go_package = "cloud.google.com/go/discoveryengine/apiv1/discoveryenginepb;discoveryenginepb"; +option java_multiple_files = true; +option java_outer_classname = "CommonProto"; +option java_package = "com.google.cloud.discoveryengine.v1"; +option objc_class_prefix = "DISCOVERYENGINE"; +option php_namespace = "Google\\Cloud\\DiscoveryEngine\\V1"; +option ruby_package = "Google::Cloud::DiscoveryEngine::V1"; +option (google.api.resource_definition) = { + type: "discoveryengine.googleapis.com/Branch" + pattern: "projects/{project}/locations/{location}/dataStores/{data_store}/branches/{branch}" + pattern: "projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}" +}; +option (google.api.resource_definition) = { + type: "discoveryengine.googleapis.com/Collection" + pattern: "projects/{project}/locations/{location}/collections/{collection}" +}; +option (google.api.resource_definition) = { + type: "discoveryengine.googleapis.com/ServingConfig" + pattern: "projects/{project}/locations/{location}/dataStores/{data_store}/servingConfigs/{serving_config}" + pattern: "projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/servingConfigs/{serving_config}" + pattern: "projects/{project}/locations/{location}/collections/{collection}/engines/{engine}/servingConfigs/{serving_config}" +}; + +// The industry vertical associated with the +// [DataStore][google.cloud.discoveryengine.v1.DataStore]. +enum IndustryVertical { + // Value used when unset. + INDUSTRY_VERTICAL_UNSPECIFIED = 0; + + // The generic vertical for documents that are not specific to any industry + // vertical. + GENERIC = 1; + + // The media industry vertical. + MEDIA = 2; +} + +// The type of solution. +enum SolutionType { + // Default value. + SOLUTION_TYPE_UNSPECIFIED = 0; + + // Used for Recommendations AI. + SOLUTION_TYPE_RECOMMENDATION = 1; + + // Used for Discovery Search. + SOLUTION_TYPE_SEARCH = 2; + + // Used for use cases related to the Generative AI agent. + SOLUTION_TYPE_CHAT = 3; +} + +// Tiers of search features. Different tiers might have different +// pricing. To learn more, please check the pricing documentation. +enum SearchTier { + // Default value when the enum is unspecified. This is invalid to use. + SEARCH_TIER_UNSPECIFIED = 0; + + // Standard tier. + SEARCH_TIER_STANDARD = 1; + + // Enterprise tier. + SEARCH_TIER_ENTERPRISE = 2; +} + +// Add-on that provides additional functionality for search. +enum SearchAddOn { + // Default value when the enum is unspecified. This is invalid to use. + SEARCH_ADD_ON_UNSPECIFIED = 0; + + // Large language model add-on. + SEARCH_ADD_ON_LLM = 1; +} + +// A floating point interval. +message Interval { + // The lower bound of the interval. If neither of the min fields are + // set, then the lower bound is negative infinity. + // + // This field must be not larger than max. + // Otherwise, an `INVALID_ARGUMENT` error is returned. + oneof min { + // Inclusive lower bound. + double minimum = 1; + + // Exclusive lower bound. + double exclusive_minimum = 2; + } + + // The upper bound of the interval. If neither of the max fields are + // set, then the upper bound is positive infinity. + // + // This field must be not smaller than min. + // Otherwise, an `INVALID_ARGUMENT` error is returned. + oneof max { + // Inclusive upper bound. + double maximum = 3; + + // Exclusive upper bound. + double exclusive_maximum = 4; + } +} + +// A custom attribute that is not explicitly modeled in a resource, e.g. +// [UserEvent][google.cloud.discoveryengine.v1.UserEvent]. +message CustomAttribute { + // The textual values of this custom attribute. For example, `["yellow", + // "green"]` when the key is "color". + // + // Empty string is not allowed. Otherwise, an `INVALID_ARGUMENT` error is + // returned. + // + // Exactly one of + // [CustomAttribute.text][google.cloud.discoveryengine.v1.CustomAttribute.text] + // or + // [CustomAttribute.numbers][google.cloud.discoveryengine.v1.CustomAttribute.numbers] + // should be set. Otherwise, an `INVALID_ARGUMENT` error is returned. + repeated string text = 1; + + // The numerical values of this custom attribute. For example, `[2.3, 15.4]` + // when the key is "lengths_cm". + // + // Exactly one of + // [CustomAttribute.text][google.cloud.discoveryengine.v1.CustomAttribute.text] + // or + // [CustomAttribute.numbers][google.cloud.discoveryengine.v1.CustomAttribute.numbers] + // should be set. Otherwise, an `INVALID_ARGUMENT` error is returned. + repeated double numbers = 2; +} + +// Information of an end user. +message UserInfo { + // Highly recommended for logged-in users. Unique identifier for logged-in + // user, such as a user name. Don't set for anonymous users. + // + // Always use a hashed value for this ID. + // + // Don't set the field to the same fixed ID for different users. This mixes + // the event history of those users together, which results in degraded + // model quality. + // + // The field must be a UTF-8 encoded string with a length limit of 128 + // characters. Otherwise, an `INVALID_ARGUMENT` error is returned. + string user_id = 1; + + // User agent as included in the HTTP header. + // + // The field must be a UTF-8 encoded string with a length limit of 1,000 + // characters. Otherwise, an `INVALID_ARGUMENT` error is returned. + // + // This should not be set when using the client side event reporting with + // GTM or JavaScript tag in + // [UserEventService.CollectUserEvent][google.cloud.discoveryengine.v1.UserEventService.CollectUserEvent] + // or if + // [UserEvent.direct_user_request][google.cloud.discoveryengine.v1.UserEvent.direct_user_request] + // is set. + string user_agent = 2; +} diff --git a/third_party/googleapis/google/cloud/discoveryengine/v1/completion.proto b/third_party/googleapis/google/cloud/discoveryengine/v1/completion.proto new file mode 100644 index 000000000..7f3a07118 --- /dev/null +++ b/third_party/googleapis/google/cloud/discoveryengine/v1/completion.proto @@ -0,0 +1,52 @@ +// 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.discoveryengine.v1; + +import "google/api/field_behavior.proto"; + +option csharp_namespace = "Google.Cloud.DiscoveryEngine.V1"; +option go_package = "cloud.google.com/go/discoveryengine/apiv1/discoveryenginepb;discoveryenginepb"; +option java_multiple_files = true; +option java_outer_classname = "CompletionProto"; +option java_package = "com.google.cloud.discoveryengine.v1"; +option objc_class_prefix = "DISCOVERYENGINE"; +option php_namespace = "Google\\Cloud\\DiscoveryEngine\\V1"; +option ruby_package = "Google::Cloud::DiscoveryEngine::V1"; + +// Suggestion deny list entry identifying the phrase to block from suggestions +// and the applied operation for the phrase. +message SuggestionDenyListEntry { + // Operator for matching with the generated suggestions. + enum MatchOperator { + // Default value. Should not be used + MATCH_OPERATOR_UNSPECIFIED = 0; + + // If the suggestion is an exact match to the block_phrase, then block it. + EXACT_MATCH = 1; + + // If the suggestion contains the block_phrase, then block it. + CONTAINS = 2; + } + + // Required. Phrase to block from suggestions served. Can be maximum 125 + // characters. + string block_phrase = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The match operator to apply for this phrase. Whether to block the + // exact phrase, or block any suggestions containing this phrase. + MatchOperator match_operator = 2 [(google.api.field_behavior) = REQUIRED]; +} diff --git a/third_party/googleapis/google/cloud/discoveryengine/v1/completion_service.proto b/third_party/googleapis/google/cloud/discoveryengine/v1/completion_service.proto new file mode 100644 index 000000000..fc92b2756 --- /dev/null +++ b/third_party/googleapis/google/cloud/discoveryengine/v1/completion_service.proto @@ -0,0 +1,176 @@ +// 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.discoveryengine.v1; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/discoveryengine/v1/import_config.proto"; +import "google/cloud/discoveryengine/v1/purge_config.proto"; +import "google/longrunning/operations.proto"; + +option csharp_namespace = "Google.Cloud.DiscoveryEngine.V1"; +option go_package = "cloud.google.com/go/discoveryengine/apiv1/discoveryenginepb;discoveryenginepb"; +option java_multiple_files = true; +option java_outer_classname = "CompletionServiceProto"; +option java_package = "com.google.cloud.discoveryengine.v1"; +option objc_class_prefix = "DISCOVERYENGINE"; +option php_namespace = "Google\\Cloud\\DiscoveryEngine\\V1"; +option ruby_package = "Google::Cloud::DiscoveryEngine::V1"; + +// Service for Auto-Completion. +service CompletionService { + option (google.api.default_host) = "discoveryengine.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform"; + + // Completes the specified user input with keyword suggestions. + rpc CompleteQuery(CompleteQueryRequest) returns (CompleteQueryResponse) { + option (google.api.http) = { + get: "/v1/{data_store=projects/*/locations/*/dataStores/*}:completeQuery" + additional_bindings { + get: "/v1/{data_store=projects/*/locations/*/collections/*/dataStores/*}:completeQuery" + } + }; + } + + // Imports all + // [SuggestionDenyListEntry][google.cloud.discoveryengine.v1.SuggestionDenyListEntry] + // for a DataStore. + rpc ImportSuggestionDenyListEntries(ImportSuggestionDenyListEntriesRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*/collections/*/dataStores/*}/suggestionDenyListEntries:import" + body: "*" + additional_bindings { + post: "/v1/{parent=projects/*/locations/*/dataStores/*}/suggestionDenyListEntries:import" + body: "*" + } + }; + option (google.longrunning.operation_info) = { + response_type: "google.cloud.discoveryengine.v1.ImportSuggestionDenyListEntriesResponse" + metadata_type: "google.cloud.discoveryengine.v1.ImportSuggestionDenyListEntriesMetadata" + }; + } + + // Permanently deletes all + // [SuggestionDenyListEntry][google.cloud.discoveryengine.v1.SuggestionDenyListEntry] + // for a DataStore. + rpc PurgeSuggestionDenyListEntries(PurgeSuggestionDenyListEntriesRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*/collections/*/dataStores/*}/suggestionDenyListEntries:purge" + body: "*" + additional_bindings { + post: "/v1/{parent=projects/*/locations/*/dataStores/**}/suggestionDenyListEntries:purge" + body: "*" + } + }; + option (google.longrunning.operation_info) = { + response_type: "google.cloud.discoveryengine.v1.PurgeSuggestionDenyListEntriesResponse" + metadata_type: "google.cloud.discoveryengine.v1.PurgeSuggestionDenyListEntriesMetadata" + }; + } +} + +// Request message for +// [CompletionService.CompleteQuery][google.cloud.discoveryengine.v1.CompletionService.CompleteQuery] +// method. +message CompleteQueryRequest { + // Required. The parent data store resource name for which the completion is + // performed, such as + // `projects/*/locations/global/collections/default_collection/dataStores/default_data_store`. + string data_store = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/DataStore" + } + ]; + + // Required. The typeahead input used to fetch suggestions. Maximum length is + // 128 characters. + string query = 2 [(google.api.field_behavior) = REQUIRED]; + + // Specifies the autocomplete data model. This overrides any model specified + // in the Configuration > Autocomplete section of the Cloud console. Currently + // supported values: + // + // * `document` - Using suggestions generated from user-imported documents. + // * `search-history` - Using suggestions generated from the past history of + // [SearchService.Search][google.cloud.discoveryengine.v1.SearchService.Search] + // API calls. Do not use it when there is no traffic for Search API. + // * `user-event` - Using suggestions generated from user-imported search + // events. + // * `document-completable` - Using suggestions taken directly from + // user-imported document fields marked as completable. + // + // Default values: + // + // * `document` is the default model for regular dataStores. + // * `search-history` is the default model for site search dataStores. + string query_model = 3; + + // A unique identifier for tracking visitors. For example, this could be + // implemented with an HTTP cookie, which should be able to uniquely identify + // a visitor on a single device. This unique identifier should not change if + // the visitor logs in or out of the website. + // + // This field should NOT have a fixed value such as `unknown_visitor`. + // + // This should be the same identifier as + // [UserEvent.user_pseudo_id][google.cloud.discoveryengine.v1.UserEvent.user_pseudo_id] + // and + // [SearchRequest.user_pseudo_id][google.cloud.discoveryengine.v1.SearchRequest.user_pseudo_id]. + // + // The field must be a UTF-8 encoded string with a length limit of 128 + // characters. Otherwise, an `INVALID_ARGUMENT` error is returned. + string user_pseudo_id = 4; + + // Indicates if tail suggestions should be returned if there are no + // suggestions that match the full query. Even if set to true, if there are + // suggestions that match the full query, those are returned and no + // tail suggestions are returned. + bool include_tail_suggestions = 5; +} + +// Response message for +// [CompletionService.CompleteQuery][google.cloud.discoveryengine.v1.CompletionService.CompleteQuery] +// method. +message CompleteQueryResponse { + // Suggestions as search queries. + message QuerySuggestion { + // The suggestion for the query. + string suggestion = 1; + + // The unique document field paths that serve as the source of this + // suggestion if it was generated from completable fields. + // + // This field is only populated for the document-completable model. + repeated string completable_field_paths = 2; + } + + // Results of the matched query suggestions. The result list is ordered and + // the first result is a top suggestion. + repeated QuerySuggestion query_suggestions = 1; + + // True if the returned suggestions are all tail suggestions. + // + // For tail matching to be triggered, include_tail_suggestions in the request + // must be true and there must be no suggestions that match the full query. + bool tail_match_triggered = 2; +} diff --git a/third_party/googleapis/google/cloud/discoveryengine/v1/conversation.proto b/third_party/googleapis/google/cloud/discoveryengine/v1/conversation.proto new file mode 100644 index 000000000..53cb71d75 --- /dev/null +++ b/third_party/googleapis/google/cloud/discoveryengine/v1/conversation.proto @@ -0,0 +1,117 @@ +// 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.discoveryengine.v1; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/discoveryengine/v1/search_service.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.DiscoveryEngine.V1"; +option go_package = "cloud.google.com/go/discoveryengine/apiv1/discoveryenginepb;discoveryenginepb"; +option java_multiple_files = true; +option java_outer_classname = "ConversationProto"; +option java_package = "com.google.cloud.discoveryengine.v1"; +option objc_class_prefix = "DISCOVERYENGINE"; +option php_namespace = "Google\\Cloud\\DiscoveryEngine\\V1"; +option ruby_package = "Google::Cloud::DiscoveryEngine::V1"; + +// External conversation proto definition. +message Conversation { + option (google.api.resource) = { + type: "discoveryengine.googleapis.com/Conversation" + pattern: "projects/{project}/locations/{location}/dataStores/{data_store}/conversations/{conversation}" + pattern: "projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/conversations/{conversation}" + pattern: "projects/{project}/locations/{location}/collections/{collection}/engines/{engine}/conversations/{conversation}" + }; + + // Enumeration of the state of the conversation. + enum State { + // Unknown. + STATE_UNSPECIFIED = 0; + + // Conversation is currently open. + IN_PROGRESS = 1; + + // Conversation has been completed. + COMPLETED = 2; + } + + // Immutable. Fully qualified name + // `project/*/locations/global/collections/{collection}/dataStore/*/conversations/*` + // or + // `project/*/locations/global/collections/{collection}/engines/*/conversations/*`. + string name = 1 [(google.api.field_behavior) = IMMUTABLE]; + + // The state of the Conversation. + State state = 2; + + // A unique identifier for tracking users. + string user_pseudo_id = 3; + + // Conversation messages. + repeated ConversationMessage messages = 4; + + // Output only. The time the conversation started. + google.protobuf.Timestamp start_time = 5 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The time the conversation finished. + google.protobuf.Timestamp end_time = 6 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Defines a reply message to user. +message Reply { + // Summary based on search results. + SearchResponse.Summary summary = 3; +} + +// Defines context of the conversation +message ConversationContext { + // The current list of documents the user is seeing. + // It contains the document resource references. + repeated string context_documents = 1; + + // The current active document the user opened. + // It contains the document resource reference. + string active_document = 2; +} + +// Defines text input. +message TextInput { + // Text input. + string input = 1; + + // Conversation context of the input. + ConversationContext context = 2; +} + +// Defines a conversation message. +message ConversationMessage { + oneof message { + // User text input. + TextInput user_input = 1; + + // Search reply. + Reply reply = 2; + } + + // Output only. Message creation timestamp. + google.protobuf.Timestamp create_time = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/cloud/discoveryengine/v1/conversational_search_service.proto b/third_party/googleapis/google/cloud/discoveryengine/v1/conversational_search_service.proto new file mode 100644 index 000000000..8a1b2d9e9 --- /dev/null +++ b/third_party/googleapis/google/cloud/discoveryengine/v1/conversational_search_service.proto @@ -0,0 +1,342 @@ +// 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.discoveryengine.v1; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/discoveryengine/v1/conversation.proto"; +import "google/cloud/discoveryengine/v1/search_service.proto"; +import "google/protobuf/empty.proto"; +import "google/protobuf/field_mask.proto"; + +option csharp_namespace = "Google.Cloud.DiscoveryEngine.V1"; +option go_package = "cloud.google.com/go/discoveryengine/apiv1/discoveryenginepb;discoveryenginepb"; +option java_multiple_files = true; +option java_outer_classname = "ConversationalSearchServiceProto"; +option java_package = "com.google.cloud.discoveryengine.v1"; +option objc_class_prefix = "DISCOVERYENGINE"; +option php_namespace = "Google\\Cloud\\DiscoveryEngine\\V1"; +option ruby_package = "Google::Cloud::DiscoveryEngine::V1"; + +// Service for conversational search. +service ConversationalSearchService { + option (google.api.default_host) = "discoveryengine.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform"; + + // Converses a conversation. + rpc ConverseConversation(ConverseConversationRequest) + returns (ConverseConversationResponse) { + option (google.api.http) = { + post: "/v1/{name=projects/*/locations/*/dataStores/*/conversations/*}:converse" + body: "*" + additional_bindings { + post: "/v1/{name=projects/*/locations/*/collections/*/dataStores/*/conversations/*}:converse" + body: "*" + } + additional_bindings { + post: "/v1/{name=projects/*/locations/*/collections/*/engines/*/conversations/*}:converse" + body: "*" + } + }; + option (google.api.method_signature) = "name,query"; + } + + // Creates a Conversation. + // + // If the [Conversation][google.cloud.discoveryengine.v1.Conversation] to + // create already exists, an ALREADY_EXISTS error is returned. + rpc CreateConversation(CreateConversationRequest) returns (Conversation) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*/dataStores/*}/conversations" + body: "conversation" + additional_bindings { + post: "/v1/{parent=projects/*/locations/*/collections/*/dataStores/*}/conversations" + body: "conversation" + } + additional_bindings { + post: "/v1/{parent=projects/*/locations/*/collections/*/engines/*}/conversations" + body: "conversation" + } + }; + option (google.api.method_signature) = "parent,conversation"; + } + + // Deletes a Conversation. + // + // If the [Conversation][google.cloud.discoveryengine.v1.Conversation] to + // delete does not exist, a NOT_FOUND error is returned. + rpc DeleteConversation(DeleteConversationRequest) + returns (google.protobuf.Empty) { + option (google.api.http) = { + delete: "/v1/{name=projects/*/locations/*/dataStores/*/conversations/*}" + additional_bindings { + delete: "/v1/{name=projects/*/locations/*/collections/*/dataStores/*/conversations/*}" + } + additional_bindings { + delete: "/v1/{name=projects/*/locations/*/collections/*/engines/*/conversations/*}" + } + }; + option (google.api.method_signature) = "name"; + } + + // Updates a Conversation. + // + // [Conversation][google.cloud.discoveryengine.v1.Conversation] action type + // cannot be changed. If the + // [Conversation][google.cloud.discoveryengine.v1.Conversation] to update does + // not exist, a NOT_FOUND error is returned. + rpc UpdateConversation(UpdateConversationRequest) returns (Conversation) { + option (google.api.http) = { + patch: "/v1/{conversation.name=projects/*/locations/*/dataStores/*/conversations/*}" + body: "conversation" + additional_bindings { + patch: "/v1/{conversation.name=projects/*/locations/*/collections/*/dataStores/*/conversations/*}" + body: "conversation" + } + additional_bindings { + patch: "/v1/{conversation.name=projects/*/locations/*/collections/*/engines/*/conversations/*}" + body: "conversation" + } + }; + option (google.api.method_signature) = "conversation,update_mask"; + } + + // Gets a Conversation. + rpc GetConversation(GetConversationRequest) returns (Conversation) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/dataStores/*/conversations/*}" + additional_bindings { + get: "/v1/{name=projects/*/locations/*/collections/*/dataStores/*/conversations/*}" + } + additional_bindings { + get: "/v1/{name=projects/*/locations/*/collections/*/engines/*/conversations/*}" + } + }; + option (google.api.method_signature) = "name"; + } + + // Lists all Conversations by their parent + // [DataStore][google.cloud.discoveryengine.v1.DataStore]. + rpc ListConversations(ListConversationsRequest) + returns (ListConversationsResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*/dataStores/*}/conversations" + additional_bindings { + get: "/v1/{parent=projects/*/locations/*/collections/*/dataStores/*}/conversations" + } + additional_bindings { + get: "/v1/{parent=projects/*/locations/*/collections/*/engines/*}/conversations" + } + }; + option (google.api.method_signature) = "parent"; + } +} + +// Request message for +// [ConversationalSearchService.ConverseConversation][google.cloud.discoveryengine.v1.ConversationalSearchService.ConverseConversation] +// method. +message ConverseConversationRequest { + // Required. The resource name of the Conversation to get. Format: + // `projects/{project_number}/locations/{location_id}/collections/{collection}/dataStores/{data_store_id}/conversations/{conversation_id}`. + // Use + // `projects/{project_number}/locations/{location_id}/collections/{collection}/dataStores/{data_store_id}/conversations/-` + // to activate auto session mode, which automatically creates a new + // conversation inside a ConverseConversation session. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/Conversation" + } + ]; + + // Required. Current user input. + TextInput query = 2 [(google.api.field_behavior) = REQUIRED]; + + // The resource name of the Serving Config to use. Format: + // `projects/{project_number}/locations/{location_id}/collections/{collection}/dataStores/{data_store_id}/servingConfigs/{serving_config_id}` + // If this is not set, the default serving config will be used. + string serving_config = 3 [(google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/ServingConfig" + }]; + + // The conversation to be used by auto session only. The name field will be + // ignored as we automatically assign new name for the conversation in auto + // session. + Conversation conversation = 5; + + // Whether to turn on safe search. + bool safe_search = 6; + + // The user labels applied to a resource must meet the following requirements: + // + // * Each resource can have multiple labels, up to a maximum of 64. + // * Each label must be a key-value pair. + // * Keys have a minimum length of 1 character and a maximum length of 63 + // characters and cannot be empty. Values can be empty and have a maximum + // length of 63 characters. + // * Keys and values can contain only lowercase letters, numeric characters, + // underscores, and dashes. All characters must use UTF-8 encoding, and + // international characters are allowed. + // * The key portion of a label must be unique. However, you can use the same + // key with multiple resources. + // * Keys must start with a lowercase letter or international character. + // + // See [Google Cloud + // Document](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements) + // for more details. + map user_labels = 7; + + // A specification for configuring the summary returned in the response. + SearchRequest.ContentSearchSpec.SummarySpec summary_spec = 8; + + // The filter syntax consists of an expression language for constructing a + // predicate from one or more fields of the documents being filtered. Filter + // expression is case-sensitive. This will be used to filter search results + // which may affect the summary response. + // + // If this field is unrecognizable, an `INVALID_ARGUMENT` is returned. + // + // Filtering in Vertex AI Search is done by mapping the LHS filter key to a + // key property defined in the Vertex AI Search backend -- this mapping is + // defined by the customer in their schema. For example a media customer might + // have a field 'name' in their schema. In this case the filter would look + // like this: filter --> name:'ANY("king kong")' + // + // For more information about filtering including syntax and filter + // operators, see + // [Filter](https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata) + string filter = 9; +} + +// Response message for +// [ConversationalSearchService.ConverseConversation][google.cloud.discoveryengine.v1.ConversationalSearchService.ConverseConversation] +// method. +message ConverseConversationResponse { + // Answer to the current query. + Reply reply = 1; + + // Updated conversation including the answer. + Conversation conversation = 2; + + // Search Results. + repeated SearchResponse.SearchResult search_results = 3; +} + +// Request for CreateConversation method. +message CreateConversationRequest { + // Required. Full resource name of parent data store. Format: + // `projects/{project_number}/locations/{location_id}/collections/{collection}/dataStores/{data_store_id}` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/DataStore" + } + ]; + + // Required. The conversation to create. + Conversation conversation = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Request for UpdateConversation method. +message UpdateConversationRequest { + // Required. The Conversation to update. + Conversation conversation = 1 [(google.api.field_behavior) = REQUIRED]; + + // Indicates which fields in the provided + // [Conversation][google.cloud.discoveryengine.v1.Conversation] to update. The + // following are NOT supported: + // + // * [Conversation.name][google.cloud.discoveryengine.v1.Conversation.name] + // + // If not set or empty, all supported fields are updated. + google.protobuf.FieldMask update_mask = 2; +} + +// Request for DeleteConversation method. +message DeleteConversationRequest { + // Required. The resource name of the Conversation to delete. Format: + // `projects/{project_number}/locations/{location_id}/collections/{collection}/dataStores/{data_store_id}/conversations/{conversation_id}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/Conversation" + } + ]; +} + +// Request for GetConversation method. +message GetConversationRequest { + // Required. The resource name of the Conversation to get. Format: + // `projects/{project_number}/locations/{location_id}/collections/{collection}/dataStores/{data_store_id}/conversations/{conversation_id}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/Conversation" + } + ]; +} + +// Request for ListConversations method. +message ListConversationsRequest { + // Required. The data store resource name. Format: + // `projects/{project_number}/locations/{location_id}/collections/{collection}/dataStores/{data_store_id}` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/DataStore" + } + ]; + + // Maximum number of results to return. If unspecified, defaults + // to 50. Max allowed value is 1000. + int32 page_size = 2; + + // A page token, received from a previous `ListConversations` call. + // Provide this to retrieve the subsequent page. + string page_token = 3; + + // A filter to apply on the list results. The supported features are: + // user_pseudo_id, state. + // + // Example: + // "user_pseudo_id = some_id" + string filter = 4; + + // A comma-separated list of fields to order by, sorted in ascending order. + // Use "desc" after a field name for descending. + // Supported fields: + // * `update_time` + // * `create_time` + // * `conversation_name` + // + // Example: + // "update_time desc" + // "create_time" + string order_by = 5; +} + +// Response for ListConversations method. +message ListConversationsResponse { + // All the Conversations for a given data store. + repeated Conversation conversations = 1; + + // Pagination token, if not returned indicates the last page. + string next_page_token = 2; +} diff --git a/third_party/googleapis/google/cloud/discoveryengine/v1/data_store.proto b/third_party/googleapis/google/cloud/discoveryengine/v1/data_store.proto new file mode 100644 index 000000000..2a7d6bebf --- /dev/null +++ b/third_party/googleapis/google/cloud/discoveryengine/v1/data_store.proto @@ -0,0 +1,98 @@ +// 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.discoveryengine.v1; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/discoveryengine/v1/common.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.DiscoveryEngine.V1"; +option go_package = "cloud.google.com/go/discoveryengine/apiv1/discoveryenginepb;discoveryenginepb"; +option java_multiple_files = true; +option java_outer_classname = "DataStoreProto"; +option java_package = "com.google.cloud.discoveryengine.v1"; +option objc_class_prefix = "DISCOVERYENGINE"; +option php_namespace = "Google\\Cloud\\DiscoveryEngine\\V1"; +option ruby_package = "Google::Cloud::DiscoveryEngine::V1"; + +// DataStore captures global settings and configs at the DataStore level. +message DataStore { + option (google.api.resource) = { + type: "discoveryengine.googleapis.com/DataStore" + pattern: "projects/{project}/locations/{location}/dataStores/{data_store}" + pattern: "projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}" + }; + + // Content config of the data store. + enum ContentConfig { + // Default value. + CONTENT_CONFIG_UNSPECIFIED = 0; + + // Only contains documents without any + // [Document.content][google.cloud.discoveryengine.v1.Document.content]. + NO_CONTENT = 1; + + // Only contains documents with + // [Document.content][google.cloud.discoveryengine.v1.Document.content]. + CONTENT_REQUIRED = 2; + + // The data store is used for public website search. + PUBLIC_WEBSITE = 3; + } + + // Immutable. The full resource name of the data store. + // Format: + // `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}`. + // + // This field must be a UTF-8 encoded string with a length limit of 1024 + // characters. + string name = 1 [(google.api.field_behavior) = IMMUTABLE]; + + // Required. The data store display name. + // + // This field must be a UTF-8 encoded string with a length limit of 128 + // characters. Otherwise, an INVALID_ARGUMENT error is returned. + string display_name = 2 [(google.api.field_behavior) = REQUIRED]; + + // Immutable. The industry vertical that the data store registers. + IndustryVertical industry_vertical = 3 + [(google.api.field_behavior) = IMMUTABLE]; + + // The solutions that the data store enrolls. Available solutions for each + // [industry_vertical][google.cloud.discoveryengine.v1.DataStore.industry_vertical]: + // + // * `MEDIA`: `SOLUTION_TYPE_RECOMMENDATION` and `SOLUTION_TYPE_SEARCH`. + // * `SITE_SEARCH`: `SOLUTION_TYPE_SEARCH` is automatically enrolled. Other + // solutions cannot be enrolled. + repeated SolutionType solution_types = 5; + + // Output only. The id of the default + // [Schema][google.cloud.discoveryengine.v1.Schema] asscociated to this data + // store. + string default_schema_id = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. The content config of the data store. If this field is unset, + // the server behavior defaults to + // [ContentConfig.NO_CONTENT][google.cloud.discoveryengine.v1.DataStore.ContentConfig.NO_CONTENT]. + ContentConfig content_config = 6 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. Timestamp the + // [DataStore][google.cloud.discoveryengine.v1.DataStore] was created at. + google.protobuf.Timestamp create_time = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/cloud/discoveryengine/v1/data_store_service.proto b/third_party/googleapis/google/cloud/discoveryengine/v1/data_store_service.proto new file mode 100644 index 000000000..db8d8a979 --- /dev/null +++ b/third_party/googleapis/google/cloud/discoveryengine/v1/data_store_service.proto @@ -0,0 +1,304 @@ +// 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.discoveryengine.v1; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/discoveryengine/v1/data_store.proto"; +import "google/longrunning/operations.proto"; +import "google/protobuf/empty.proto"; +import "google/protobuf/field_mask.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.DiscoveryEngine.V1"; +option go_package = "cloud.google.com/go/discoveryengine/apiv1/discoveryenginepb;discoveryenginepb"; +option java_multiple_files = true; +option java_outer_classname = "DataStoreServiceProto"; +option java_package = "com.google.cloud.discoveryengine.v1"; +option objc_class_prefix = "DISCOVERYENGINE"; +option php_namespace = "Google\\Cloud\\DiscoveryEngine\\V1"; +option ruby_package = "Google::Cloud::DiscoveryEngine::V1"; + +// Service for managing [DataStore][google.cloud.discoveryengine.v1.DataStore] +// configuration. +service DataStoreService { + option (google.api.default_host) = "discoveryengine.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform"; + + // Creates a [DataStore][google.cloud.discoveryengine.v1.DataStore]. + // + // DataStore is for storing + // [Documents][google.cloud.discoveryengine.v1.Document]. To serve these + // documents for Search, or Recommendation use case, an + // [Engine][google.cloud.discoveryengine.v1.Engine] needs to be created + // separately. + rpc CreateDataStore(CreateDataStoreRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*}/dataStores" + body: "data_store" + additional_bindings { + post: "/v1/{parent=projects/*/locations/*/collections/*}/dataStores" + body: "data_store" + } + }; + option (google.api.method_signature) = "parent,data_store,data_store_id"; + option (google.longrunning.operation_info) = { + response_type: "google.cloud.discoveryengine.v1.DataStore" + metadata_type: "google.cloud.discoveryengine.v1.CreateDataStoreMetadata" + }; + } + + // Gets a [DataStore][google.cloud.discoveryengine.v1.DataStore]. + rpc GetDataStore(GetDataStoreRequest) returns (DataStore) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/dataStores/*}" + additional_bindings { + get: "/v1/{name=projects/*/locations/*/collections/*/dataStores/*}" + } + }; + option (google.api.method_signature) = "name"; + } + + // Lists all the [DataStore][google.cloud.discoveryengine.v1.DataStore]s + // associated with the project. + rpc ListDataStores(ListDataStoresRequest) returns (ListDataStoresResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*}/dataStores" + additional_bindings { + get: "/v1/{parent=projects/*/locations/*/collections/*}/dataStores" + } + }; + option (google.api.method_signature) = "parent"; + } + + // Deletes a [DataStore][google.cloud.discoveryengine.v1.DataStore]. + rpc DeleteDataStore(DeleteDataStoreRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1/{name=projects/*/locations/*/dataStores/*}" + additional_bindings { + delete: "/v1/{name=projects/*/locations/*/collections/*/dataStores/*}" + } + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "google.cloud.discoveryengine.v1.DeleteDataStoreMetadata" + }; + } + + // Updates a [DataStore][google.cloud.discoveryengine.v1.DataStore] + rpc UpdateDataStore(UpdateDataStoreRequest) returns (DataStore) { + option (google.api.http) = { + patch: "/v1/{data_store.name=projects/*/locations/*/dataStores/*}" + body: "data_store" + additional_bindings { + patch: "/v1/{data_store.name=projects/*/locations/*/collections/*/dataStores/*}" + body: "data_store" + } + }; + option (google.api.method_signature) = "data_store,update_mask"; + } +} + +// Request for +// [DataStoreService.CreateDataStore][google.cloud.discoveryengine.v1.DataStoreService.CreateDataStore] +// method. +message CreateDataStoreRequest { + // Required. The parent resource name, such as + // `projects/{project}/locations/{location}/collections/{collection}`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/Collection" + } + ]; + + // Required. The [DataStore][google.cloud.discoveryengine.v1.DataStore] to + // create. + DataStore data_store = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The ID to use for the + // [DataStore][google.cloud.discoveryengine.v1.DataStore], which will become + // the final component of the + // [DataStore][google.cloud.discoveryengine.v1.DataStore]'s resource name. + // + // This field must conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) + // standard with a length limit of 63 characters. Otherwise, an + // INVALID_ARGUMENT error is returned. + string data_store_id = 3 [(google.api.field_behavior) = REQUIRED]; + + // A boolean flag indicating whether user want to directly create an advanced + // data store for site search. + // If the data store is not configured as site + // search (GENERIC vertical and PUBLIC_WEBSITE content_config), this flag will + // be ignored. + bool create_advanced_site_search = 4; +} + +// Request message for +// [DataStoreService.GetDataStore][google.cloud.discoveryengine.v1.DataStoreService.GetDataStore] +// method. +message GetDataStoreRequest { + // Required. Full resource name of + // [DataStore][google.cloud.discoveryengine.v1.DataStore], such as + // `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}`. + // + // If the caller does not have permission to access the + // [DataStore][google.cloud.discoveryengine.v1.DataStore], regardless of + // whether or not it exists, a PERMISSION_DENIED error is returned. + // + // If the requested [DataStore][google.cloud.discoveryengine.v1.DataStore] + // does not exist, a NOT_FOUND error is returned. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/DataStore" + } + ]; +} + +// Metadata related to the progress of the +// [DataStoreService.CreateDataStore][google.cloud.discoveryengine.v1.DataStoreService.CreateDataStore] +// operation. This will be returned by the google.longrunning.Operation.metadata +// field. +message CreateDataStoreMetadata { + // Operation create time. + google.protobuf.Timestamp create_time = 1; + + // Operation last update time. If the operation is done, this is also the + // finish time. + google.protobuf.Timestamp update_time = 2; +} + +// Request message for +// [DataStoreService.ListDataStores][google.cloud.discoveryengine.v1.DataStoreService.ListDataStores] +// method. +message ListDataStoresRequest { + // Required. The parent branch resource name, such as + // `projects/{project}/locations/{location}/collections/{collection_id}`. + // + // If the caller does not have permission to list + // [DataStore][google.cloud.discoveryengine.v1.DataStore]s under this + // location, regardless of whether or not this data store exists, a + // PERMISSION_DENIED error is returned. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/Collection" + } + ]; + + // Maximum number of [DataStore][google.cloud.discoveryengine.v1.DataStore]s + // to return. If unspecified, defaults to 10. The maximum allowed value is 50. + // Values above 50 will be coerced to 50. + // + // If this field is negative, an INVALID_ARGUMENT is returned. + int32 page_size = 2; + + // A page token + // [ListDataStoresResponse.next_page_token][google.cloud.discoveryengine.v1.ListDataStoresResponse.next_page_token], + // received from a previous + // [DataStoreService.ListDataStores][google.cloud.discoveryengine.v1.DataStoreService.ListDataStores] + // call. Provide this to retrieve the subsequent page. + // + // When paginating, all other parameters provided to + // [DataStoreService.ListDataStores][google.cloud.discoveryengine.v1.DataStoreService.ListDataStores] + // must match the call that provided the page token. Otherwise, an + // INVALID_ARGUMENT error is returned. + string page_token = 3; + + // Filter by solution type. For example: filter = + // 'solution_type:SOLUTION_TYPE_SEARCH' + string filter = 4; +} + +// Response message for +// [DataStoreService.ListDataStores][google.cloud.discoveryengine.v1.DataStoreService.ListDataStores] +// method. +message ListDataStoresResponse { + // All the customer's [DataStore][google.cloud.discoveryengine.v1.DataStore]s. + repeated DataStore data_stores = 1; + + // A token that can be sent as + // [ListDataStoresRequest.page_token][google.cloud.discoveryengine.v1.ListDataStoresRequest.page_token] + // to retrieve the next page. If this field is omitted, there are no + // subsequent pages. + string next_page_token = 2; +} + +// Request message for +// [DataStoreService.DeleteDataStore][google.cloud.discoveryengine.v1.DataStoreService.DeleteDataStore] +// method. +message DeleteDataStoreRequest { + // Required. Full resource name of + // [DataStore][google.cloud.discoveryengine.v1.DataStore], such as + // `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}`. + // + // If the caller does not have permission to delete the + // [DataStore][google.cloud.discoveryengine.v1.DataStore], regardless of + // whether or not it exists, a PERMISSION_DENIED error is returned. + // + // If the [DataStore][google.cloud.discoveryengine.v1.DataStore] to delete + // does not exist, a NOT_FOUND error is returned. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/DataStore" + } + ]; +} + +// Request message for +// [DataStoreService.UpdateDataStore][google.cloud.discoveryengine.v1.DataStoreService.UpdateDataStore] +// method. +message UpdateDataStoreRequest { + // Required. The [DataStore][google.cloud.discoveryengine.v1.DataStore] to + // update. + // + // If the caller does not have permission to update the + // [DataStore][google.cloud.discoveryengine.v1.DataStore], regardless of + // whether or not it exists, a PERMISSION_DENIED error is returned. + // + // If the [DataStore][google.cloud.discoveryengine.v1.DataStore] to update + // does not exist, a NOT_FOUND error is returned. + DataStore data_store = 1 [(google.api.field_behavior) = REQUIRED]; + + // Indicates which fields in the provided + // [DataStore][google.cloud.discoveryengine.v1.DataStore] to update. + // + // If an unsupported or unknown field is provided, an INVALID_ARGUMENT error + // is returned. + google.protobuf.FieldMask update_mask = 2; +} + +// Metadata related to the progress of the +// [DataStoreService.DeleteDataStore][google.cloud.discoveryengine.v1.DataStoreService.DeleteDataStore] +// operation. This will be returned by the google.longrunning.Operation.metadata +// field. +message DeleteDataStoreMetadata { + // Operation create time. + google.protobuf.Timestamp create_time = 1; + + // Operation last update time. If the operation is done, this is also the + // finish time. + google.protobuf.Timestamp update_time = 2; +} diff --git a/third_party/googleapis/google/cloud/discoveryengine/v1/discoveryengine_grpc_service_config.json b/third_party/googleapis/google/cloud/discoveryengine/v1/discoveryengine_grpc_service_config.json new file mode 100644 index 000000000..57d8fe38f --- /dev/null +++ b/third_party/googleapis/google/cloud/discoveryengine/v1/discoveryengine_grpc_service_config.json @@ -0,0 +1,56 @@ +{ + "methodConfig": [ + { + "name": [ + { "service": "google.cloud.discoveryengine.v1.CompletionService" }, + { "service": "google.cloud.discoveryengine.v1.SearchService" } + ], + "timeout": "5s", + "retryPolicy": { + "initialBackoff": "0.100s", + "maxBackoff": "5s", + "backoffMultiplier": 1.3, + "retryableStatusCodes": ["UNAVAILABLE"] + } + }, + { + "name": [ + { "service": "google.cloud.discoveryengine.v1.ConversationalSearchService" }, + { "service": "google.cloud.discoveryengine.v1.DocumentService" }, + { "service": "google.cloud.discoveryengine.v1.SchemaService" }, + { "service": "google.cloud.discoveryengine.v1.UserEventService" }, + { "service": "google.longrunning.Operations"} + ], + "timeout": "30s", + "retryPolicy": { + "initialBackoff": "1s", + "maxBackoff": "10s", + "backoffMultiplier": 1.3, + "retryableStatusCodes": ["UNAVAILABLE"] + } + }, + { + "name": [ + { + "service": "google.cloud.discoveryengine.v1.DocumentService", + "method": "ImportDocuments" + }, + { + "service": "google.cloud.discoveryengine.v1.UserEventService", + "method": "ImportUserEvents" + }, + { + "service": "google.longrunning.Operations", + "method": "ListOperations" + } + ], + "timeout": "300s", + "retryPolicy": { + "initialBackoff": "1s", + "maxBackoff": "30s", + "backoffMultiplier": 1.3, + "retryableStatusCodes": ["UNAVAILABLE"] + } + } + ] +} diff --git a/third_party/googleapis/google/cloud/discoveryengine/v1/discoveryengine_v1.yaml b/third_party/googleapis/google/cloud/discoveryengine/v1/discoveryengine_v1.yaml new file mode 100644 index 000000000..e9b0aaef9 --- /dev/null +++ b/third_party/googleapis/google/cloud/discoveryengine/v1/discoveryengine_v1.yaml @@ -0,0 +1,181 @@ +type: google.api.Service +config_version: 3 +name: discoveryengine.googleapis.com +title: Discovery Engine API + +apis: +- name: google.cloud.discoveryengine.v1.CompletionService +- name: google.cloud.discoveryengine.v1.ConversationalSearchService +- name: google.cloud.discoveryengine.v1.DataStoreService +- name: google.cloud.discoveryengine.v1.DocumentService +- name: google.cloud.discoveryengine.v1.EngineService +- name: google.cloud.discoveryengine.v1.SchemaService +- name: google.cloud.discoveryengine.v1.SearchService +- name: google.cloud.discoveryengine.v1.SiteSearchEngineService +- name: google.cloud.discoveryengine.v1.UserEventService +- name: google.cloud.location.Locations +- name: google.longrunning.Operations + +types: +- name: google.cloud.discoveryengine.logging.ErrorLog +- name: google.cloud.discoveryengine.v1.BatchCreateTargetSiteMetadata +- name: google.cloud.discoveryengine.v1.BatchCreateTargetSitesResponse +- name: google.cloud.discoveryengine.v1.CreateDataStoreMetadata +- name: google.cloud.discoveryengine.v1.CreateEngineMetadata +- name: google.cloud.discoveryengine.v1.CreateSchemaMetadata +- name: google.cloud.discoveryengine.v1.CreateTargetSiteMetadata +- name: google.cloud.discoveryengine.v1.DataStore +- name: google.cloud.discoveryengine.v1.DeleteDataStoreMetadata +- name: google.cloud.discoveryengine.v1.DeleteEngineMetadata +- name: google.cloud.discoveryengine.v1.DeleteSchemaMetadata +- name: google.cloud.discoveryengine.v1.DeleteTargetSiteMetadata +- name: google.cloud.discoveryengine.v1.DisableAdvancedSiteSearchMetadata +- name: google.cloud.discoveryengine.v1.DisableAdvancedSiteSearchResponse +- name: google.cloud.discoveryengine.v1.EnableAdvancedSiteSearchMetadata +- name: google.cloud.discoveryengine.v1.EnableAdvancedSiteSearchResponse +- name: google.cloud.discoveryengine.v1.Engine +- name: google.cloud.discoveryengine.v1.ImportDocumentsMetadata +- name: google.cloud.discoveryengine.v1.ImportDocumentsResponse +- name: google.cloud.discoveryengine.v1.ImportSuggestionDenyListEntriesMetadata +- name: google.cloud.discoveryengine.v1.ImportSuggestionDenyListEntriesResponse +- name: google.cloud.discoveryengine.v1.ImportUserEventsMetadata +- name: google.cloud.discoveryengine.v1.ImportUserEventsResponse +- name: google.cloud.discoveryengine.v1.PurgeDocumentsMetadata +- name: google.cloud.discoveryengine.v1.PurgeDocumentsResponse +- name: google.cloud.discoveryengine.v1.PurgeSuggestionDenyListEntriesMetadata +- name: google.cloud.discoveryengine.v1.PurgeSuggestionDenyListEntriesResponse +- name: google.cloud.discoveryengine.v1.Schema +- name: google.cloud.discoveryengine.v1.TargetSite +- name: google.cloud.discoveryengine.v1.UpdateSchemaMetadata +- name: google.cloud.discoveryengine.v1.UpdateTargetSiteMetadata + +documentation: + summary: Discovery Engine API. + +http: + rules: + - selector: google.longrunning.Operations.GetOperation + get: '/v1/{name=projects/*/operations/*}' + additional_bindings: + - get: '/v1/{name=projects/*/locations/*/collections/*/dataConnector/operations/*}' + - get: '/v1/{name=projects/*/locations/*/collections/*/dataStores/*/branches/*/operations/*}' + - get: '/v1/{name=projects/*/locations/*/collections/*/dataStores/*/models/*/operations/*}' + - get: '/v1/{name=projects/*/locations/*/collections/*/dataStores/*/operations/*}' + - get: '/v1/{name=projects/*/locations/*/collections/*/dataStores/*/schemas/*/operations/*}' + - get: '/v1/{name=projects/*/locations/*/collections/*/dataStores/*/siteSearchEngine/operations/*}' + - get: '/v1/{name=projects/*/locations/*/collections/*/dataStores/*/siteSearchEngine/targetSites/operations/*}' + - get: '/v1/{name=projects/*/locations/*/collections/*/engines/*/operations/*}' + - get: '/v1/{name=projects/*/locations/*/collections/*/operations/*}' + - get: '/v1/{name=projects/*/locations/*/dataStores/*/branches/*/operations/*}' + - get: '/v1/{name=projects/*/locations/*/dataStores/*/models/*/operations/*}' + - get: '/v1/{name=projects/*/locations/*/dataStores/*/operations/*}' + - get: '/v1/{name=projects/*/locations/*/operations/*}' + - get: '/v1/{name=projects/*/operations/*}' + - selector: google.longrunning.Operations.ListOperations + get: '/v1/{name=projects/*}/operations' + additional_bindings: + - get: '/v1/{name=projects/*/locations/*/collections/*/dataConnector}/operations' + - get: '/v1/{name=projects/*/locations/*/collections/*/dataStores/*/branches/*}/operations' + - get: '/v1/{name=projects/*/locations/*/collections/*/dataStores/*/models/*}/operations' + - get: '/v1/{name=projects/*/locations/*/collections/*/dataStores/*/schemas/*}/operations' + - get: '/v1/{name=projects/*/locations/*/collections/*/dataStores/*/siteSearchEngine/targetSites}/operations' + - get: '/v1/{name=projects/*/locations/*/collections/*/dataStores/*/siteSearchEngine}/operations' + - get: '/v1/{name=projects/*/locations/*/collections/*/dataStores/*}/operations' + - get: '/v1/{name=projects/*/locations/*/collections/*/engines/*}/operations' + - get: '/v1/{name=projects/*/locations/*/collections/*}/operations' + - get: '/v1/{name=projects/*/locations/*/dataStores/*/branches/*}/operations' + - get: '/v1/{name=projects/*/locations/*/dataStores/*/models/*}/operations' + - get: '/v1/{name=projects/*/locations/*/dataStores/*}/operations' + - get: '/v1/{name=projects/*/locations/*}/operations' + - get: '/v1/{name=projects/*}/operations' + +authentication: + rules: + - selector: 'google.cloud.discoveryengine.v1.CompletionService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + - selector: 'google.cloud.discoveryengine.v1.ConversationalSearchService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + - selector: 'google.cloud.discoveryengine.v1.DataStoreService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + - selector: 'google.cloud.discoveryengine.v1.DocumentService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + - selector: 'google.cloud.discoveryengine.v1.EngineService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + - selector: 'google.cloud.discoveryengine.v1.SchemaService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + - selector: google.cloud.discoveryengine.v1.SearchService.Search + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + - selector: 'google.cloud.discoveryengine.v1.SiteSearchEngineService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + - selector: 'google.cloud.discoveryengine.v1.UserEventService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + - selector: google.longrunning.Operations.GetOperation + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + - selector: google.longrunning.Operations.ListOperations + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + +publishing: + new_issue_uri: https://issuetracker.google.com/issues/new?component=911831&template=1480251 + documentation_uri: https://cloud.google.com/generative-ai-app-builder/docs + api_short_name: discoveryengine + github_label: 'api: discoveryengine' + doc_tag_prefix: discoveryengine + organization: CLOUD + library_settings: + - version: google.cloud.discoveryengine.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://cloud.google.com/generative-ai-app-builder/docs/reference/rpc diff --git a/third_party/googleapis/google/cloud/discoveryengine/v1/document.proto b/third_party/googleapis/google/cloud/discoveryengine/v1/document.proto new file mode 100644 index 000000000..e6bfe3d0f --- /dev/null +++ b/third_party/googleapis/google/cloud/discoveryengine/v1/document.proto @@ -0,0 +1,121 @@ +// 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.discoveryengine.v1; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/struct.proto"; + +option csharp_namespace = "Google.Cloud.DiscoveryEngine.V1"; +option go_package = "cloud.google.com/go/discoveryengine/apiv1/discoveryenginepb;discoveryenginepb"; +option java_multiple_files = true; +option java_outer_classname = "DocumentProto"; +option java_package = "com.google.cloud.discoveryengine.v1"; +option objc_class_prefix = "DISCOVERYENGINE"; +option php_namespace = "Google\\Cloud\\DiscoveryEngine\\V1"; +option ruby_package = "Google::Cloud::DiscoveryEngine::V1"; + +// Document captures all raw metadata information of items to be recommended or +// searched. +message Document { + option (google.api.resource) = { + type: "discoveryengine.googleapis.com/Document" + pattern: "projects/{project}/locations/{location}/dataStores/{data_store}/branches/{branch}/documents/{document}" + pattern: "projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}/documents/{document}" + }; + + // Unstructured data linked to this document. + message Content { + oneof content { + // The content represented as a stream of bytes. The maximum length is + // 1,000,000 bytes (1 MB / ~0.95 MiB). + // + // Note: As with all `bytes` fields, this field is represented as pure + // binary in Protocol Buffers and base64-encoded string in JSON. For + // example, `abc123!?$*&()'-=@~` should be represented as + // `YWJjMTIzIT8kKiYoKSctPUB+` in JSON. See + // https://developers.google.com/protocol-buffers/docs/proto3#json. + bytes raw_bytes = 2; + + // The URI of the content. Only Cloud Storage URIs (e.g. + // `gs://bucket-name/path/to/file`) are supported. The maximum file size + // is 2.5 MB for text-based formats, 100 MB for other formats. + string uri = 3; + } + + // The MIME type of the content. Supported types: + // + // * `application/pdf` (PDF, only native PDFs are supported for now) + // * `text/html` (HTML) + // * `application/vnd.openxmlformats-officedocument.wordprocessingml.document` (DOCX) + // * `application/vnd.openxmlformats-officedocument.presentationml.presentation` (PPTX) + // * `text/plain` (TXT) + // + // See https://www.iana.org/assignments/media-types/media-types.xhtml. + string mime_type = 1; + } + + // Data representation. One of + // [struct_data][google.cloud.discoveryengine.v1.Document.struct_data] or + // [json_data][google.cloud.discoveryengine.v1.Document.json_data] should be + // provided otherwise an `INVALID_ARGUMENT` error is thrown. + oneof data { + // The structured JSON data for the document. It should conform to the + // registered [Schema][google.cloud.discoveryengine.v1.Schema] or an + // `INVALID_ARGUMENT` error is thrown. + google.protobuf.Struct struct_data = 4; + + // The JSON string representation of the document. It should conform to the + // registered [Schema][google.cloud.discoveryengine.v1.Schema] or an + // `INVALID_ARGUMENT` error is thrown. + string json_data = 5; + } + + // Immutable. The full resource name of the document. + // Format: + // `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}/documents/{document_id}`. + // + // This field must be a UTF-8 encoded string with a length limit of 1024 + // characters. + string name = 1 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. The identifier of the document. + // + // Id should conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) + // standard with a length limit of 63 characters. + string id = 2 [(google.api.field_behavior) = IMMUTABLE]; + + // The identifier of the schema located in the same data store. + string schema_id = 3; + + // The unstructured data linked to this document. Content must be set if this + // document is under a + // `CONTENT_REQUIRED` data store. + Content content = 10; + + // The identifier of the parent document. Currently supports at most two level + // document hierarchy. + // + // Id should conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) + // standard with a length limit of 63 characters. + string parent_document_id = 7; + + // Output only. This field is OUTPUT_ONLY. + // It contains derived data that are not in the original input document. + google.protobuf.Struct derived_struct_data = 6 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/cloud/discoveryengine/v1/document_service.proto b/third_party/googleapis/google/cloud/discoveryengine/v1/document_service.proto new file mode 100644 index 000000000..170111686 --- /dev/null +++ b/third_party/googleapis/google/cloud/discoveryengine/v1/document_service.proto @@ -0,0 +1,314 @@ +// 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.discoveryengine.v1; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/discoveryengine/v1/document.proto"; +import "google/cloud/discoveryengine/v1/import_config.proto"; +import "google/cloud/discoveryengine/v1/purge_config.proto"; +import "google/longrunning/operations.proto"; +import "google/protobuf/empty.proto"; + +option csharp_namespace = "Google.Cloud.DiscoveryEngine.V1"; +option go_package = "cloud.google.com/go/discoveryengine/apiv1/discoveryenginepb;discoveryenginepb"; +option java_multiple_files = true; +option java_outer_classname = "DocumentServiceProto"; +option java_package = "com.google.cloud.discoveryengine.v1"; +option objc_class_prefix = "DISCOVERYENGINE"; +option php_namespace = "Google\\Cloud\\DiscoveryEngine\\V1"; +option ruby_package = "Google::Cloud::DiscoveryEngine::V1"; + +// Service for ingesting [Document][google.cloud.discoveryengine.v1.Document] +// information of the customer's website. +service DocumentService { + option (google.api.default_host) = "discoveryengine.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform"; + + // Gets a [Document][google.cloud.discoveryengine.v1.Document]. + rpc GetDocument(GetDocumentRequest) returns (Document) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/dataStores/*/branches/*/documents/*}" + additional_bindings { + get: "/v1/{name=projects/*/locations/*/collections/*/dataStores/*/branches/*/documents/*}" + } + }; + option (google.api.method_signature) = "name"; + } + + // Gets a list of [Document][google.cloud.discoveryengine.v1.Document]s. + rpc ListDocuments(ListDocumentsRequest) returns (ListDocumentsResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*/dataStores/*/branches/*}/documents" + additional_bindings { + get: "/v1/{parent=projects/*/locations/*/collections/*/dataStores/*/branches/*}/documents" + } + }; + option (google.api.method_signature) = "parent"; + } + + // Creates a [Document][google.cloud.discoveryengine.v1.Document]. + rpc CreateDocument(CreateDocumentRequest) returns (Document) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*/dataStores/*/branches/*}/documents" + body: "document" + additional_bindings { + post: "/v1/{parent=projects/*/locations/*/collections/*/dataStores/*/branches/*}/documents" + body: "document" + } + }; + option (google.api.method_signature) = "parent,document,document_id"; + } + + // Updates a [Document][google.cloud.discoveryengine.v1.Document]. + rpc UpdateDocument(UpdateDocumentRequest) returns (Document) { + option (google.api.http) = { + patch: "/v1/{document.name=projects/*/locations/*/dataStores/*/branches/*/documents/*}" + body: "document" + additional_bindings { + patch: "/v1/{document.name=projects/*/locations/*/collections/*/dataStores/*/branches/*/documents/*}" + body: "document" + } + }; + } + + // Deletes a [Document][google.cloud.discoveryengine.v1.Document]. + rpc DeleteDocument(DeleteDocumentRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + delete: "/v1/{name=projects/*/locations/*/dataStores/*/branches/*/documents/*}" + additional_bindings { + delete: "/v1/{name=projects/*/locations/*/collections/*/dataStores/*/branches/*/documents/*}" + } + }; + option (google.api.method_signature) = "name"; + } + + // Bulk import of multiple + // [Document][google.cloud.discoveryengine.v1.Document]s. Request processing + // may be synchronous. Non-existing items will be created. + // + // Note: It is possible for a subset of the + // [Document][google.cloud.discoveryengine.v1.Document]s to be successfully + // updated. + rpc ImportDocuments(ImportDocumentsRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*/dataStores/*/branches/*}/documents:import" + body: "*" + additional_bindings { + post: "/v1/{parent=projects/*/locations/*/collections/*/dataStores/*/branches/*}/documents:import" + body: "*" + } + }; + option (google.longrunning.operation_info) = { + response_type: "google.cloud.discoveryengine.v1.ImportDocumentsResponse" + metadata_type: "google.cloud.discoveryengine.v1.ImportDocumentsMetadata" + }; + } + + // Permanently deletes all selected + // [Document][google.cloud.discoveryengine.v1.Document]s in a branch. + // + // This process is asynchronous. Depending on the number of + // [Document][google.cloud.discoveryengine.v1.Document]s to be deleted, this + // operation can take hours to complete. Before the delete operation + // completes, some [Document][google.cloud.discoveryengine.v1.Document]s might + // still be returned by + // [DocumentService.GetDocument][google.cloud.discoveryengine.v1.DocumentService.GetDocument] + // or + // [DocumentService.ListDocuments][google.cloud.discoveryengine.v1.DocumentService.ListDocuments]. + // + // To get a list of the [Document][google.cloud.discoveryengine.v1.Document]s + // to be deleted, set + // [PurgeDocumentsRequest.force][google.cloud.discoveryengine.v1.PurgeDocumentsRequest.force] + // to false. + rpc PurgeDocuments(PurgeDocumentsRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*/dataStores/*/branches/*}/documents:purge" + body: "*" + additional_bindings { + post: "/v1/{parent=projects/*/locations/*/collections/*/dataStores/*/branches/*}/documents:purge" + body: "*" + } + }; + option (google.longrunning.operation_info) = { + response_type: "google.cloud.discoveryengine.v1.PurgeDocumentsResponse" + metadata_type: "google.cloud.discoveryengine.v1.PurgeDocumentsMetadata" + }; + } +} + +// Request message for +// [DocumentService.GetDocument][google.cloud.discoveryengine.v1.DocumentService.GetDocument] +// method. +message GetDocumentRequest { + // Required. Full resource name of + // [Document][google.cloud.discoveryengine.v1.Document], such as + // `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}/documents/{document}`. + // + // If the caller does not have permission to access the + // [Document][google.cloud.discoveryengine.v1.Document], regardless of whether + // or not it exists, a `PERMISSION_DENIED` error is returned. + // + // If the requested [Document][google.cloud.discoveryengine.v1.Document] does + // not exist, a `NOT_FOUND` error is returned. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/Document" + } + ]; +} + +// Request message for +// [DocumentService.ListDocuments][google.cloud.discoveryengine.v1.DocumentService.ListDocuments] +// method. +message ListDocumentsRequest { + // Required. The parent branch resource name, such as + // `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}`. + // Use `default_branch` as the branch ID, to list documents under the default + // branch. + // + // If the caller does not have permission to list + // [Document][google.cloud.discoveryengine.v1.Document]s under this branch, + // regardless of whether or not this branch exists, a `PERMISSION_DENIED` + // error is returned. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/Branch" + } + ]; + + // Maximum number of [Document][google.cloud.discoveryengine.v1.Document]s to + // return. If unspecified, defaults to 100. The maximum allowed value is 1000. + // Values above 1000 will be coerced to 1000. + // + // If this field is negative, an `INVALID_ARGUMENT` error is returned. + int32 page_size = 2; + + // A page token + // [ListDocumentsResponse.next_page_token][google.cloud.discoveryengine.v1.ListDocumentsResponse.next_page_token], + // received from a previous + // [DocumentService.ListDocuments][google.cloud.discoveryengine.v1.DocumentService.ListDocuments] + // call. Provide this to retrieve the subsequent page. + // + // When paginating, all other parameters provided to + // [DocumentService.ListDocuments][google.cloud.discoveryengine.v1.DocumentService.ListDocuments] + // must match the call that provided the page token. Otherwise, an + // `INVALID_ARGUMENT` error is returned. + string page_token = 3; +} + +// Response message for +// [DocumentService.ListDocuments][google.cloud.discoveryengine.v1.DocumentService.ListDocuments] +// method. +message ListDocumentsResponse { + // The [Document][google.cloud.discoveryengine.v1.Document]s. + repeated Document documents = 1; + + // A token that can be sent as + // [ListDocumentsRequest.page_token][google.cloud.discoveryengine.v1.ListDocumentsRequest.page_token] + // to retrieve the next page. If this field is omitted, there are no + // subsequent pages. + string next_page_token = 2; +} + +// Request message for +// [DocumentService.CreateDocument][google.cloud.discoveryengine.v1.DocumentService.CreateDocument] +// method. +message CreateDocumentRequest { + // Required. The parent resource name, such as + // `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/Branch" + } + ]; + + // Required. The [Document][google.cloud.discoveryengine.v1.Document] to + // create. + Document document = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The ID to use for the + // [Document][google.cloud.discoveryengine.v1.Document], which will become the + // final component of the + // [Document.name][google.cloud.discoveryengine.v1.Document.name]. + // + // If the caller does not have permission to create the + // [Document][google.cloud.discoveryengine.v1.Document], regardless of whether + // or not it exists, a `PERMISSION_DENIED` error is returned. + // + // This field must be unique among all + // [Document][google.cloud.discoveryengine.v1.Document]s with the same + // [parent][google.cloud.discoveryengine.v1.CreateDocumentRequest.parent]. + // Otherwise, an `ALREADY_EXISTS` error is returned. + // + // This field must conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) + // standard with a length limit of 63 characters. Otherwise, an + // `INVALID_ARGUMENT` error is returned. + string document_id = 3 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for +// [DocumentService.UpdateDocument][google.cloud.discoveryengine.v1.DocumentService.UpdateDocument] +// method. +message UpdateDocumentRequest { + // Required. The document to update/create. + // + // If the caller does not have permission to update the + // [Document][google.cloud.discoveryengine.v1.Document], regardless of whether + // or not it exists, a `PERMISSION_DENIED` error is returned. + // + // If the [Document][google.cloud.discoveryengine.v1.Document] to update does + // not exist and + // [allow_missing][google.cloud.discoveryengine.v1.UpdateDocumentRequest.allow_missing] + // is not set, a `NOT_FOUND` error is returned. + Document document = 1 [(google.api.field_behavior) = REQUIRED]; + + // If set to true, and the + // [Document][google.cloud.discoveryengine.v1.Document] is not found, a new + // [Document][google.cloud.discoveryengine.v1.Document] will be created. + bool allow_missing = 2; +} + +// Request message for +// [DocumentService.DeleteDocument][google.cloud.discoveryengine.v1.DocumentService.DeleteDocument] +// method. +message DeleteDocumentRequest { + // Required. Full resource name of + // [Document][google.cloud.discoveryengine.v1.Document], such as + // `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}/documents/{document}`. + // + // If the caller does not have permission to delete the + // [Document][google.cloud.discoveryengine.v1.Document], regardless of whether + // or not it exists, a `PERMISSION_DENIED` error is returned. + // + // If the [Document][google.cloud.discoveryengine.v1.Document] to delete does + // not exist, a `NOT_FOUND` error is returned. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/Document" + } + ]; +} diff --git a/third_party/googleapis/google/cloud/discoveryengine/v1/engine.proto b/third_party/googleapis/google/cloud/discoveryengine/v1/engine.proto new file mode 100644 index 000000000..af650dbf4 --- /dev/null +++ b/third_party/googleapis/google/cloud/discoveryengine/v1/engine.proto @@ -0,0 +1,215 @@ +// 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.discoveryengine.v1; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/discoveryengine/v1/common.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.DiscoveryEngine.V1"; +option go_package = "cloud.google.com/go/discoveryengine/apiv1/discoveryenginepb;discoveryenginepb"; +option java_multiple_files = true; +option java_outer_classname = "EngineProto"; +option java_package = "com.google.cloud.discoveryengine.v1"; +option objc_class_prefix = "DISCOVERYENGINE"; +option php_namespace = "Google\\Cloud\\DiscoveryEngine\\V1"; +option ruby_package = "Google::Cloud::DiscoveryEngine::V1"; + +// Metadata that describes the training and serving parameters of an +// [Engine][google.cloud.discoveryengine.v1.Engine]. +message Engine { + option (google.api.resource) = { + type: "discoveryengine.googleapis.com/Engine" + pattern: "projects/{project}/locations/{location}/collections/{collection}/engines/{engine}" + }; + + // Configurations for a Search Engine. + message SearchEngineConfig { + // The search feature tier of this engine. + // + // Different tiers might have different + // pricing. To learn more, please check the pricing documentation. + // + // Defaults to + // [SearchTier.SEARCH_TIER_STANDARD][google.cloud.discoveryengine.v1.SearchTier.SEARCH_TIER_STANDARD] + // if not specified. + SearchTier search_tier = 1; + + // The add-on that this search engine enables. + repeated SearchAddOn search_add_ons = 2; + } + + // Configurations for a Chat Engine. + message ChatEngineConfig { + // Configurations for generating a Dialogflow agent. + // + // Note that these configurations are one-time consumed by + // and passed to Dialogflow service. It means they cannot be retrieved using + // [EngineService.GetEngine][google.cloud.discoveryengine.v1.EngineService.GetEngine] + // or + // [EngineService.ListEngines][google.cloud.discoveryengine.v1.EngineService.ListEngines] + // API after engine creation. + message AgentCreationConfig { + // Name of the company, organization or other entity that the agent + // represents. Used for knowledge connector LLM prompt and for knowledge + // search. + string business = 1; + + // Required. The default language of the agent as a language tag. + // See [Language + // Support](https://cloud.google.com/dialogflow/docs/reference/language) + // for a list of the currently supported language codes. + string default_language_code = 2; + + // Required. The time zone of the agent from the [time zone + // database](https://www.iana.org/time-zones), e.g., America/New_York, + // Europe/Paris. + string time_zone = 3 [(google.api.field_behavior) = REQUIRED]; + + // Agent location for Agent creation, supported values: global/us/eu. + // If not provided, us Engine will create Agent using us-central-1 by + // default; eu Engine will create Agent using eu-west-1 by default. + string location = 4; + } + + // The configurationt generate the Dialogflow agent that is associated to + // this Engine. + // + // Note that these configurations are one-time consumed by + // and passed to Dialogflow service. It means they cannot be retrieved using + // [EngineService.GetEngine][google.cloud.discoveryengine.v1.EngineService.GetEngine] + // or + // [EngineService.ListEngines][google.cloud.discoveryengine.v1.EngineService.ListEngines] + // API after engine creation. + AgentCreationConfig agent_creation_config = 1; + + // The resource name of an exist Dialogflow agent to link to this Chat + // Engine. Customers can either provide `agent_creation_config` to create + // agent or provide an agent name that links the agent with the Chat engine. + // + // Format: `projects//locations//agents/`. + // + // Note that the `dialogflow_agent_to_link` are one-time consumed by and + // passed to Dialogflow service. It means they cannot be retrieved using + // [EngineService.GetEngine][google.cloud.discoveryengine.v1.EngineService.GetEngine] + // or + // [EngineService.ListEngines][google.cloud.discoveryengine.v1.EngineService.ListEngines] + // API after engine creation. Please use + // [ChatEngineMetadata.dialogflow_agent][google.cloud.discoveryengine.v1.Engine.ChatEngineMetadata.dialogflow_agent] + // for actual agent association after Engine is created. + string dialogflow_agent_to_link = 2; + } + + // Common configurations for an Engine. + message CommonConfig { + // Immutable. The name of the company, business or entity that is associated + // with the engine. Setting this may help improve LLM related features. + string company_name = 1 [(google.api.field_behavior) = IMMUTABLE]; + } + + // Additional information of a Chat Engine. + // Fields in this message are output only. + message ChatEngineMetadata { + // The resource name of a Dialogflow agent, that this Chat Engine refers + // to. + // + // Format: `projects//locations//agents/`. + string dialogflow_agent = 1; + } + + // Additional config specs that defines the behavior of the engine. + oneof engine_config { + // Configurations for the Chat Engine. Only applicable if + // [solution_type][google.cloud.discoveryengine.v1.Engine.solution_type] is + // [SOLUTION_TYPE_CHAT][google.cloud.discoveryengine.v1.SolutionType.SOLUTION_TYPE_CHAT]. + ChatEngineConfig chat_engine_config = 11; + + // Configurations for the Search Engine. Only applicable if + // [solution_type][google.cloud.discoveryengine.v1.Engine.solution_type] is + // [SOLUTION_TYPE_SEARCH][google.cloud.discoveryengine.v1.SolutionType.SOLUTION_TYPE_SEARCH]. + SearchEngineConfig search_engine_config = 13; + } + + // Engine metadata to monitor the status of the engine. + oneof engine_metadata { + // Output only. Additional information of the Chat Engine. Only applicable + // if [solution_type][google.cloud.discoveryengine.v1.Engine.solution_type] + // is + // [SOLUTION_TYPE_CHAT][google.cloud.discoveryengine.v1.SolutionType.SOLUTION_TYPE_CHAT]. + ChatEngineMetadata chat_engine_metadata = 12 + [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Immutable. The fully qualified resource name of the engine. + // + // This field must be a UTF-8 encoded string with a length limit of 1024 + // characters. + // + // Format: + // `projects/{project_number}/locations/{location}/collections/{collection}/engines/{engine}` + // engine should be 1-63 characters, and valid characters are + // /[a-z0-9][a-z0-9-_]*/. Otherwise, an INVALID_ARGUMENT error is returned. + string name = 1 [(google.api.field_behavior) = IMMUTABLE]; + + // Required. The display name of the engine. Should be human readable. UTF-8 + // encoded string with limit of 1024 characters. + string display_name = 2 [(google.api.field_behavior) = REQUIRED]; + + // Output only. Timestamp the Recommendation Engine was created at. + google.protobuf.Timestamp create_time = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Timestamp the Recommendation Engine was last updated. + google.protobuf.Timestamp update_time = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The data stores associated with this engine. + // + // For + // [SOLUTION_TYPE_SEARCH][google.cloud.discoveryengine.v1.SolutionType.SOLUTION_TYPE_SEARCH] + // and + // [SOLUTION_TYPE_RECOMMENDATION][google.cloud.discoveryengine.v1.SolutionType.SOLUTION_TYPE_RECOMMENDATION] + // type of engines, they can only associate with at most one data store. + // + // If [solution_type][google.cloud.discoveryengine.v1.Engine.solution_type] is + // [SOLUTION_TYPE_CHAT][google.cloud.discoveryengine.v1.SolutionType.SOLUTION_TYPE_CHAT], + // multiple [DataStore][google.cloud.discoveryengine.v1.DataStore]s in the + // same [Collection][google.cloud.discoveryengine.v1.Collection] can be + // associated here. + // + // Note that when used in + // [CreateEngineRequest][google.cloud.discoveryengine.v1.CreateEngineRequest], + // one DataStore id must be provided as the system will use it for necessary + // initializations. + repeated string data_store_ids = 5; + + // Required. The solutions of the engine. + SolutionType solution_type = 6 [(google.api.field_behavior) = REQUIRED]; + + // The industry vertical that the engine registers. + // The restriction of the Engine industry vertical is based on + // [DataStore][google.cloud.discoveryengine.v1.DataStore]: If unspecified, + // default to `GENERIC`. Vertical on Engine has to match vertical of the + // DataStore liniked to the engine. + IndustryVertical industry_vertical = 16; + + // Common config spec that specifies the metadata of the engine. + CommonConfig common_config = 15; +} diff --git a/third_party/googleapis/google/cloud/discoveryengine/v1/engine_service.proto b/third_party/googleapis/google/cloud/discoveryengine/v1/engine_service.proto new file mode 100644 index 000000000..f6b192853 --- /dev/null +++ b/third_party/googleapis/google/cloud/discoveryengine/v1/engine_service.proto @@ -0,0 +1,242 @@ +// 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.discoveryengine.v1; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/discoveryengine/v1/engine.proto"; +import "google/longrunning/operations.proto"; +import "google/protobuf/empty.proto"; +import "google/protobuf/field_mask.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.DiscoveryEngine.V1"; +option go_package = "cloud.google.com/go/discoveryengine/apiv1/discoveryenginepb;discoveryenginepb"; +option java_multiple_files = true; +option java_outer_classname = "EngineServiceProto"; +option java_package = "com.google.cloud.discoveryengine.v1"; +option objc_class_prefix = "DISCOVERYENGINE"; +option php_namespace = "Google\\Cloud\\DiscoveryEngine\\V1"; +option ruby_package = "Google::Cloud::DiscoveryEngine::V1"; + +// Service for managing [Engine][google.cloud.discoveryengine.v1.Engine] +// configuration. +service EngineService { + option (google.api.default_host) = "discoveryengine.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform"; + + // Creates a [Engine][google.cloud.discoveryengine.v1.Engine]. + rpc CreateEngine(CreateEngineRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*/collections/*}/engines" + body: "engine" + }; + option (google.api.method_signature) = "parent,engine,engine_id"; + option (google.longrunning.operation_info) = { + response_type: "google.cloud.discoveryengine.v1.Engine" + metadata_type: "google.cloud.discoveryengine.v1.CreateEngineMetadata" + }; + } + + // Deletes a [Engine][google.cloud.discoveryengine.v1.Engine]. + rpc DeleteEngine(DeleteEngineRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1/{name=projects/*/locations/*/collections/*/engines/*}" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "google.cloud.discoveryengine.v1.DeleteEngineMetadata" + }; + } + + // Updates an [Engine][google.cloud.discoveryengine.v1.Engine] + rpc UpdateEngine(UpdateEngineRequest) returns (Engine) { + option (google.api.http) = { + patch: "/v1/{engine.name=projects/*/locations/*/collections/*/engines/*}" + body: "engine" + }; + option (google.api.method_signature) = "engine,update_mask"; + } + + // Gets a [Engine][google.cloud.discoveryengine.v1.Engine]. + rpc GetEngine(GetEngineRequest) returns (Engine) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/collections/*/engines/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Lists all the [Engine][google.cloud.discoveryengine.v1.Engine]s associated + // with the project. + rpc ListEngines(ListEnginesRequest) returns (ListEnginesResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*/collections/*}/engines" + }; + option (google.api.method_signature) = "parent"; + } +} + +// Request for +// [EngineService.CreateEngine][google.cloud.discoveryengine.v1.EngineService.CreateEngine] +// method. +message CreateEngineRequest { + // Required. The parent resource name, such as + // `projects/{project}/locations/{location}/collections/{collection}`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/Collection" + } + ]; + + // Required. The [Engine][google.cloud.discoveryengine.v1.Engine] to create. + Engine engine = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The ID to use for the + // [Engine][google.cloud.discoveryengine.v1.Engine], which will become the + // final component of the [Engine][google.cloud.discoveryengine.v1.Engine]'s + // resource name. + // + // This field must conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) + // standard with a length limit of 63 characters. Otherwise, an + // INVALID_ARGUMENT error is returned. + string engine_id = 3 [(google.api.field_behavior) = REQUIRED]; +} + +// Metadata related to the progress of the +// [EngineService.CreateEngine][google.cloud.discoveryengine.v1.EngineService.CreateEngine] +// operation. This will be returned by the google.longrunning.Operation.metadata +// field. +message CreateEngineMetadata { + // Operation create time. + google.protobuf.Timestamp create_time = 1; + + // Operation last update time. If the operation is done, this is also the + // finish time. + google.protobuf.Timestamp update_time = 2; +} + +// Request message for +// [EngineService.DeleteEngine][google.cloud.discoveryengine.v1.EngineService.DeleteEngine] +// method. +message DeleteEngineRequest { + // Required. Full resource name of + // [Engine][google.cloud.discoveryengine.v1.Engine], such as + // `projects/{project}/locations/{location}/collections/{collection_id}/engines/{engine_id}`. + // + // If the caller does not have permission to delete the + // [Engine][google.cloud.discoveryengine.v1.Engine], regardless of whether or + // not it exists, a PERMISSION_DENIED error is returned. + // + // If the [Engine][google.cloud.discoveryengine.v1.Engine] to delete does not + // exist, a NOT_FOUND error is returned. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/Engine" + } + ]; +} + +// Metadata related to the progress of the +// [EngineService.DeleteEngine][google.cloud.discoveryengine.v1.EngineService.DeleteEngine] +// operation. This will be returned by the google.longrunning.Operation.metadata +// field. +message DeleteEngineMetadata { + // Operation create time. + google.protobuf.Timestamp create_time = 1; + + // Operation last update time. If the operation is done, this is also the + // finish time. + google.protobuf.Timestamp update_time = 2; +} + +// Request message for +// [EngineService.GetEngine][google.cloud.discoveryengine.v1.EngineService.GetEngine] +// method. +message GetEngineRequest { + // Required. Full resource name of + // [Engine][google.cloud.discoveryengine.v1.Engine], such as + // `projects/{project}/locations/{location}/collections/{collection_id}/engines/{engine_id}`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/Engine" + } + ]; +} + +// Request message for +// [EngineService.ListEngines][google.cloud.discoveryengine.v1.EngineService.ListEngines] +// method. +message ListEnginesRequest { + // Required. The parent resource name, such as + // `projects/{project}/locations/{location}/collections/{collection_id}`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/Collection" + } + ]; + + // Optional. Not supported. + int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Not supported. + string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Filter by solution type. For example: + // solution_type=SOLUTION_TYPE_SEARCH + string filter = 4 [(google.api.field_behavior) = OPTIONAL]; +} + +// Response message for +// [EngineService.ListEngines][google.cloud.discoveryengine.v1.EngineService.ListEngines] +// method. +message ListEnginesResponse { + // All the customer's [Engine][google.cloud.discoveryengine.v1.Engine]s. + repeated Engine engines = 1; + + // Not supported. + string next_page_token = 2; +} + +// Request message for +// [EngineService.UpdateEngine][google.cloud.discoveryengine.v1.EngineService.UpdateEngine] +// method. +message UpdateEngineRequest { + // Required. The [Engine][google.cloud.discoveryengine.v1.Engine] to update. + // + // If the caller does not have permission to update the + // [Engine][google.cloud.discoveryengine.v1.Engine], regardless of whether or + // not it exists, a PERMISSION_DENIED error is returned. + // + // If the [Engine][google.cloud.discoveryengine.v1.Engine] to update does not + // exist, a NOT_FOUND error is returned. + Engine engine = 1 [(google.api.field_behavior) = REQUIRED]; + + // Indicates which fields in the provided + // [Engine][google.cloud.discoveryengine.v1.Engine] to update. + // + // If an unsupported or unknown field is provided, an INVALID_ARGUMENT error + // is returned. + google.protobuf.FieldMask update_mask = 2; +} diff --git a/third_party/googleapis/google/cloud/discoveryengine/v1/import_config.proto b/third_party/googleapis/google/cloud/discoveryengine/v1/import_config.proto new file mode 100644 index 000000000..2e55efec6 --- /dev/null +++ b/third_party/googleapis/google/cloud/discoveryengine/v1/import_config.proto @@ -0,0 +1,402 @@ +// 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.discoveryengine.v1; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/discoveryengine/v1/completion.proto"; +import "google/cloud/discoveryengine/v1/document.proto"; +import "google/cloud/discoveryengine/v1/user_event.proto"; +import "google/protobuf/timestamp.proto"; +import "google/rpc/status.proto"; +import "google/type/date.proto"; + +option csharp_namespace = "Google.Cloud.DiscoveryEngine.V1"; +option go_package = "cloud.google.com/go/discoveryengine/apiv1/discoveryenginepb;discoveryenginepb"; +option java_multiple_files = true; +option java_outer_classname = "ImportConfigProto"; +option java_package = "com.google.cloud.discoveryengine.v1"; +option objc_class_prefix = "DISCOVERYENGINE"; +option php_namespace = "Google\\Cloud\\DiscoveryEngine\\V1"; +option ruby_package = "Google::Cloud::DiscoveryEngine::V1"; + +// Cloud Storage location for input content. +message GcsSource { + // Required. Cloud Storage URIs to input files. URI can be up to + // 2000 characters long. URIs can match the full object path (for example, + // `gs://bucket/directory/object.json`) or a pattern matching one or more + // files, such as `gs://bucket/directory/*.json`. + // + // A request can contain at most 100 files (or 100,000 files if `data_schema` + // is `content`). Each file can be up to 2 GB (or 100 MB if `data_schema` is + // `content`). + repeated string input_uris = 1 [(google.api.field_behavior) = REQUIRED]; + + // The schema to use when parsing the data from the source. + // + // Supported values for document imports: + // + // * `document` (default): One JSON + // [Document][google.cloud.discoveryengine.v1.Document] per line. Each + // document must + // have a valid [Document.id][google.cloud.discoveryengine.v1.Document.id]. + // * `content`: Unstructured data (e.g. PDF, HTML). Each file matched by + // `input_uris` becomes a document, with the ID set to the first 128 + // bits of SHA256(URI) encoded as a hex string. + // * `custom`: One custom data JSON per row in arbitrary format that conforms + // to the defined [Schema][google.cloud.discoveryengine.v1.Schema] of the + // data store. This can only be used by Gen App Builder. + // * `csv`: A CSV file with header conforming to the defined + // [Schema][google.cloud.discoveryengine.v1.Schema] of the + // data store. Each entry after the header is imported as a Document. + // This can only be used by Gen App Builder. + // + // Supported values for user even imports: + // + // * `user_event` (default): One JSON + // [UserEvent][google.cloud.discoveryengine.v1.UserEvent] per line. + string data_schema = 2; +} + +// BigQuery source import data from. +message BigQuerySource { + // BigQuery table partition info. Leave this empty if the BigQuery table + // is not partitioned. + oneof partition { + // BigQuery time partitioned table's _PARTITIONDATE in YYYY-MM-DD format. + google.type.Date partition_date = 5; + } + + // The project ID (can be project # or ID) that the BigQuery source is in with + // a length limit of 128 characters. If not specified, inherits the project + // ID from the parent request. + string project_id = 1; + + // Required. The BigQuery data set to copy the data from with a length limit + // of 1,024 characters. + string dataset_id = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The BigQuery table to copy the data from with a length limit of + // 1,024 characters. + string table_id = 3 [(google.api.field_behavior) = REQUIRED]; + + // Intermediate Cloud Storage directory used for the import with a length + // limit of 2,000 characters. Can be specified if one wants to have the + // BigQuery export to a specific Cloud Storage directory. + string gcs_staging_dir = 4; + + // The schema to use when parsing the data from the source. + // + // Supported values for user event imports: + // + // * `user_event` (default): One + // [UserEvent][google.cloud.discoveryengine.v1.UserEvent] per row. + // + // Supported values for document imports: + // + // * `document` (default): One + // [Document][google.cloud.discoveryengine.v1.Document] format per + // row. Each document must have a valid + // [Document.id][google.cloud.discoveryengine.v1.Document.id] and one of + // [Document.json_data][google.cloud.discoveryengine.v1.Document.json_data] + // or + // [Document.struct_data][google.cloud.discoveryengine.v1.Document.struct_data]. + // * `custom`: One custom data per row in arbitrary format that conforms to + // the defined [Schema][google.cloud.discoveryengine.v1.Schema] of the data + // store. This can only be used by Gen App Builder. + string data_schema = 6; +} + +// Configuration of destination for Import related errors. +message ImportErrorConfig { + // Required. Errors destination. + oneof destination { + // Cloud Storage prefix for import errors. This must be an empty, + // existing Cloud Storage directory. Import errors are written to + // sharded files in this directory, one per line, as a JSON-encoded + // `google.rpc.Status` message. + string gcs_prefix = 1; + } +} + +// Request message for the ImportUserEvents request. +message ImportUserEventsRequest { + // The inline source for the input config for ImportUserEvents method. + message InlineSource { + // Required. A list of user events to import. Recommended max of 10k items. + repeated UserEvent user_events = 1 [(google.api.field_behavior) = REQUIRED]; + } + + // Required - The desired input source of the user event data. + oneof source { + // The Inline source for the input content for UserEvents. + InlineSource inline_source = 2; + + // Cloud Storage location for the input content. + GcsSource gcs_source = 3; + + // BigQuery input source. + BigQuerySource bigquery_source = 4; + } + + // Required. Parent DataStore resource name, of the form + // `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/DataStore" + } + ]; + + // The desired location of errors incurred during the Import. Cannot be set + // for inline user event imports. + ImportErrorConfig error_config = 5; +} + +// Response of the ImportUserEventsRequest. If the long running +// operation was successful, then this message is returned by the +// google.longrunning.Operations.response field if the operation was successful. +message ImportUserEventsResponse { + // A sample of errors encountered while processing the request. + repeated google.rpc.Status error_samples = 1; + + // Echoes the destination for the complete errors if this field was set in + // the request. + ImportErrorConfig error_config = 2; + + // Count of user events imported with complete existing Documents. + int64 joined_events_count = 3; + + // Count of user events imported, but with Document information not found + // in the existing Branch. + int64 unjoined_events_count = 4; +} + +// Metadata related to the progress of the Import operation. This is +// returned by the google.longrunning.Operation.metadata field. +message ImportUserEventsMetadata { + // Operation create time. + google.protobuf.Timestamp create_time = 1; + + // Operation last update time. If the operation is done, this is also the + // finish time. + google.protobuf.Timestamp update_time = 2; + + // Count of entries that were processed successfully. + int64 success_count = 3; + + // Count of entries that encountered errors while processing. + int64 failure_count = 4; +} + +// Metadata related to the progress of the ImportDocuments operation. This is +// returned by the google.longrunning.Operation.metadata field. +message ImportDocumentsMetadata { + // Operation create time. + google.protobuf.Timestamp create_time = 1; + + // Operation last update time. If the operation is done, this is also the + // finish time. + google.protobuf.Timestamp update_time = 2; + + // Count of entries that were processed successfully. + int64 success_count = 3; + + // Count of entries that encountered errors while processing. + int64 failure_count = 4; +} + +// Request message for Import methods. +message ImportDocumentsRequest { + // The inline source for the input config for ImportDocuments method. + message InlineSource { + // Required. A list of documents to update/create. Each document must have a + // valid [Document.id][google.cloud.discoveryengine.v1.Document.id]. + // Recommended max of 100 items. + repeated Document documents = 1 [(google.api.field_behavior) = REQUIRED]; + } + + // Indicates how imported documents are reconciled with the existing documents + // created or imported before. + enum ReconciliationMode { + // Defaults to `INCREMENTAL`. + RECONCILIATION_MODE_UNSPECIFIED = 0; + + // Inserts new documents or updates existing documents. + INCREMENTAL = 1; + + // Calculates diff and replaces the entire document dataset. Existing + // documents may be deleted if they are not present in the source location. + FULL = 2; + } + + // Required. The source of the input. + oneof source { + // The Inline source for the input content for documents. + InlineSource inline_source = 2; + + // Cloud Storage location for the input content. + GcsSource gcs_source = 3; + + // BigQuery input source. + BigQuerySource bigquery_source = 4; + } + + // Required. The parent branch resource name, such as + // `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}`. + // Requires create/update permission. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/Branch" + } + ]; + + // The desired location of errors incurred during the Import. + ImportErrorConfig error_config = 5; + + // The mode of reconciliation between existing documents and the documents to + // be imported. Defaults to + // [ReconciliationMode.INCREMENTAL][google.cloud.discoveryengine.v1.ImportDocumentsRequest.ReconciliationMode.INCREMENTAL]. + ReconciliationMode reconciliation_mode = 6; + + // Whether to automatically generate IDs for the documents if absent. + // + // If set to `true`, + // [Document.id][google.cloud.discoveryengine.v1.Document.id]s are + // automatically generated based on the hash of the payload, where IDs may not + // be consistent during multiple imports. In which case + // [ReconciliationMode.FULL][google.cloud.discoveryengine.v1.ImportDocumentsRequest.ReconciliationMode.FULL] + // is highly recommended to avoid duplicate contents. If unset or set to + // `false`, [Document.id][google.cloud.discoveryengine.v1.Document.id]s have + // to be specified using + // [id_field][google.cloud.discoveryengine.v1.ImportDocumentsRequest.id_field], + // otherwise, documents without IDs fail to be imported. + // + // Only set this field when using + // [GcsSource][google.cloud.discoveryengine.v1.GcsSource] or + // [BigQuerySource][google.cloud.discoveryengine.v1.BigQuerySource], and when + // [GcsSource.data_schema][google.cloud.discoveryengine.v1.GcsSource.data_schema] + // or + // [BigQuerySource.data_schema][google.cloud.discoveryengine.v1.BigQuerySource.data_schema] + // is `custom` or `csv`. Otherwise, an INVALID_ARGUMENT error is thrown. + bool auto_generate_ids = 8; + + // The field in the Cloud Storage and BigQuery sources that indicates the + // unique IDs of the documents. + // + // For [GcsSource][google.cloud.discoveryengine.v1.GcsSource] it is the key of + // the JSON field. For instance, `my_id` for JSON `{"my_id": "some_uuid"}`. + // For [BigQuerySource][google.cloud.discoveryengine.v1.BigQuerySource] it is + // the column name of the BigQuery table where the unique ids are stored. + // + // The values of the JSON field or the BigQuery column are used as the + // [Document.id][google.cloud.discoveryengine.v1.Document.id]s. The JSON field + // or the BigQuery column must be of string type, and the values must be set + // as valid strings conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) + // with 1-63 characters. Otherwise, documents without valid IDs fail to be + // imported. + // + // Only set this field when using + // [GcsSource][google.cloud.discoveryengine.v1.GcsSource] or + // [BigQuerySource][google.cloud.discoveryengine.v1.BigQuerySource], and when + // [GcsSource.data_schema][google.cloud.discoveryengine.v1.GcsSource.data_schema] + // or + // [BigQuerySource.data_schema][google.cloud.discoveryengine.v1.BigQuerySource.data_schema] + // is `custom`. And only set this field when + // [auto_generate_ids][google.cloud.discoveryengine.v1.ImportDocumentsRequest.auto_generate_ids] + // is unset or set as `false`. Otherwise, an INVALID_ARGUMENT error is thrown. + // + // If it is unset, a default value `_id` is used when importing from the + // allowed data sources. + string id_field = 9; +} + +// Response of the +// [ImportDocumentsRequest][google.cloud.discoveryengine.v1.ImportDocumentsRequest]. +// If the long running operation is done, then this message is returned by the +// google.longrunning.Operations.response field if the operation was successful. +message ImportDocumentsResponse { + // A sample of errors encountered while processing the request. + repeated google.rpc.Status error_samples = 1; + + // Echoes the destination for the complete errors in the request if set. + ImportErrorConfig error_config = 2; +} + +// Request message for +// [CompletionService.ImportSuggestionDenyListEntries][google.cloud.discoveryengine.v1.CompletionService.ImportSuggestionDenyListEntries] +// method. +message ImportSuggestionDenyListEntriesRequest { + // The inline source for SuggestionDenyListEntry. + message InlineSource { + // Required. A list of all denylist entries to import. Max of 1000 items. + repeated SuggestionDenyListEntry entries = 1 + [(google.api.field_behavior) = REQUIRED]; + } + + // The source of the updated SuggestionDenyList. + oneof source { + // The Inline source for the input content for suggestion deny list entries. + InlineSource inline_source = 2; + + // Cloud Storage location for the input content. + // + // Only 1 file can be specified that contains all entries to import. + // Supported values `gcs_source.schema` for autocomplete suggestion deny + // list entry imports: + // + // * `suggestion_deny_list` (default): One JSON [SuggestionDenyListEntry] + // per line. + GcsSource gcs_source = 3; + } + + // Required. The parent data store resource name for which to import denylist + // entries. Follows pattern projects/*/locations/*/collections/*/dataStores/*. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/DataStore" + } + ]; +} + +// Response message for +// [CompletionService.ImportSuggestionDenyListEntries][google.cloud.discoveryengine.v1.CompletionService.ImportSuggestionDenyListEntries] +// method. +message ImportSuggestionDenyListEntriesResponse { + // A sample of errors encountered while processing the request. + repeated google.rpc.Status error_samples = 1; + + // Count of deny list entries successfully imported. + int64 imported_entries_count = 2; + + // Count of deny list entries that failed to be imported. + int64 failed_entries_count = 3; +} + +// Metadata related to the progress of the ImportSuggestionDenyListEntries +// operation. This is returned by the google.longrunning.Operation.metadata +// field. +message ImportSuggestionDenyListEntriesMetadata { + // Operation create time. + google.protobuf.Timestamp create_time = 1; + + // Operation last update time. If the operation is done, this is also the + // finish time. + google.protobuf.Timestamp update_time = 2; +} diff --git a/third_party/googleapis/google/cloud/discoveryengine/v1/purge_config.proto b/third_party/googleapis/google/cloud/discoveryengine/v1/purge_config.proto new file mode 100644 index 000000000..a8fe898d0 --- /dev/null +++ b/third_party/googleapis/google/cloud/discoveryengine/v1/purge_config.proto @@ -0,0 +1,124 @@ +// 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.discoveryengine.v1; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/timestamp.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Cloud.DiscoveryEngine.V1"; +option go_package = "cloud.google.com/go/discoveryengine/apiv1/discoveryenginepb;discoveryenginepb"; +option java_multiple_files = true; +option java_outer_classname = "PurgeConfigProto"; +option java_package = "com.google.cloud.discoveryengine.v1"; +option objc_class_prefix = "DISCOVERYENGINE"; +option php_namespace = "Google\\Cloud\\DiscoveryEngine\\V1"; +option ruby_package = "Google::Cloud::DiscoveryEngine::V1"; + +// Request message for +// [DocumentService.PurgeDocuments][google.cloud.discoveryengine.v1.DocumentService.PurgeDocuments] +// method. +message PurgeDocumentsRequest { + // Required. The parent resource name, such as + // `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/Branch" + } + ]; + + // Required. Filter matching documents to purge. Only currently supported + // value is + // `*` (all items). + string filter = 2 [(google.api.field_behavior) = REQUIRED]; + + // Actually performs the purge. If `force` is set to false, return the + // expected purge count without deleting any documents. + bool force = 3; +} + +// Response message for +// [DocumentService.PurgeDocuments][google.cloud.discoveryengine.v1.DocumentService.PurgeDocuments] +// method. If the long running operation is successfully done, then this message +// is returned by the google.longrunning.Operations.response field. +message PurgeDocumentsResponse { + // The total count of documents purged as a result of the operation. + int64 purge_count = 1; + + // A sample of document names that will be deleted. Only populated if `force` + // is set to false. A max of 100 names will be returned and the names are + // chosen at random. + repeated string purge_sample = 2 [(google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/Document" + }]; +} + +// Metadata related to the progress of the PurgeDocuments operation. +// This will be returned by the google.longrunning.Operation.metadata field. +message PurgeDocumentsMetadata { + // Operation create time. + google.protobuf.Timestamp create_time = 1; + + // Operation last update time. If the operation is done, this is also the + // finish time. + google.protobuf.Timestamp update_time = 2; + + // Count of entries that were deleted successfully. + int64 success_count = 3; + + // Count of entries that encountered errors while processing. + int64 failure_count = 4; +} + +// Request message for +// [CompletionService.PurgeSuggestionDenyListEntries][google.cloud.discoveryengine.v1.CompletionService.PurgeSuggestionDenyListEntries] +// method. +message PurgeSuggestionDenyListEntriesRequest { + // Required. The parent data store resource name for which to import denylist + // entries. Follows pattern projects/*/locations/*/collections/*/dataStores/*. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/DataStore" + } + ]; +} + +// Response message for +// [CompletionService.PurgeSuggestionDenyListEntries][google.cloud.discoveryengine.v1.CompletionService.PurgeSuggestionDenyListEntries] +// method. +message PurgeSuggestionDenyListEntriesResponse { + // Number of suggestion deny list entries purged. + int64 purge_count = 1; + + // A sample of errors encountered while processing the request. + repeated google.rpc.Status error_samples = 2; +} + +// Metadata related to the progress of the PurgeSuggestionDenyListEntries +// operation. This is returned by the google.longrunning.Operation.metadata +// field. +message PurgeSuggestionDenyListEntriesMetadata { + // Operation create time. + google.protobuf.Timestamp create_time = 1; + + // Operation last update time. If the operation is done, this is also the + // finish time. + google.protobuf.Timestamp update_time = 2; +} diff --git a/third_party/googleapis/google/cloud/discoveryengine/v1/schema.proto b/third_party/googleapis/google/cloud/discoveryengine/v1/schema.proto new file mode 100644 index 000000000..11fa2833d --- /dev/null +++ b/third_party/googleapis/google/cloud/discoveryengine/v1/schema.proto @@ -0,0 +1,58 @@ +// 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.discoveryengine.v1; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/struct.proto"; + +option csharp_namespace = "Google.Cloud.DiscoveryEngine.V1"; +option go_package = "cloud.google.com/go/discoveryengine/apiv1/discoveryenginepb;discoveryenginepb"; +option java_multiple_files = true; +option java_outer_classname = "SchemaProto"; +option java_package = "com.google.cloud.discoveryengine.v1"; +option objc_class_prefix = "DISCOVERYENGINE"; +option php_namespace = "Google\\Cloud\\DiscoveryEngine\\V1"; +option ruby_package = "Google::Cloud::DiscoveryEngine::V1"; + +// Defines the structure and layout of a type of document data. +message Schema { + option (google.api.resource) = { + type: "discoveryengine.googleapis.com/Schema" + pattern: "projects/{project}/locations/{location}/dataStores/{data_store}/schemas/{schema}" + pattern: "projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/schemas/{schema}" + }; + + // Schema representation. One of + // [struct_schema][google.cloud.discoveryengine.v1.Schema.struct_schema] or + // [json_schema][google.cloud.discoveryengine.v1.Schema.json_schema] should be + // provided otherwise an `INVALID_ARGUMENT` error is thrown. + oneof schema { + // The structured representation of the schema. + google.protobuf.Struct struct_schema = 2; + + // The JSON representation of the schema. + string json_schema = 3; + } + + // Immutable. The full resource name of the schema, in the format of + // `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/schemas/{schema}`. + // + // This field must be a UTF-8 encoded string with a length limit of 1024 + // characters. + string name = 1 [(google.api.field_behavior) = IMMUTABLE]; +} diff --git a/third_party/googleapis/google/cloud/discoveryengine/v1/schema_service.proto b/third_party/googleapis/google/cloud/discoveryengine/v1/schema_service.proto new file mode 100644 index 000000000..74ac7f70f --- /dev/null +++ b/third_party/googleapis/google/cloud/discoveryengine/v1/schema_service.proto @@ -0,0 +1,256 @@ +// 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.discoveryengine.v1; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/discoveryengine/v1/schema.proto"; +import "google/longrunning/operations.proto"; +import "google/protobuf/empty.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.DiscoveryEngine.V1"; +option go_package = "cloud.google.com/go/discoveryengine/apiv1/discoveryenginepb;discoveryenginepb"; +option java_multiple_files = true; +option java_outer_classname = "SchemaServiceProto"; +option java_package = "com.google.cloud.discoveryengine.v1"; +option objc_class_prefix = "DISCOVERYENGINE"; +option php_namespace = "Google\\Cloud\\DiscoveryEngine\\V1"; +option ruby_package = "Google::Cloud::DiscoveryEngine::V1"; + +// Service for managing [Schema][google.cloud.discoveryengine.v1.Schema]s. +service SchemaService { + option (google.api.default_host) = "discoveryengine.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform"; + + // Gets a [Schema][google.cloud.discoveryengine.v1.Schema]. + rpc GetSchema(GetSchemaRequest) returns (Schema) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/dataStores/*/schemas/*}" + additional_bindings { + get: "/v1/{name=projects/*/locations/*/collections/*/dataStores/*/schemas/*}" + } + }; + option (google.api.method_signature) = "name"; + } + + // Gets a list of [Schema][google.cloud.discoveryengine.v1.Schema]s. + rpc ListSchemas(ListSchemasRequest) returns (ListSchemasResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*/dataStores/*}/schemas" + additional_bindings { + get: "/v1/{parent=projects/*/locations/*/collections/*/dataStores/*}/schemas" + } + }; + option (google.api.method_signature) = "parent"; + } + + // Creates a [Schema][google.cloud.discoveryengine.v1.Schema]. + rpc CreateSchema(CreateSchemaRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*/dataStores/*}/schemas" + body: "schema" + additional_bindings { + post: "/v1/{parent=projects/*/locations/*/collections/*/dataStores/*}/schemas" + body: "schema" + } + }; + option (google.api.method_signature) = "parent,schema,schema_id"; + option (google.longrunning.operation_info) = { + response_type: "google.cloud.discoveryengine.v1.Schema" + metadata_type: "google.cloud.discoveryengine.v1.CreateSchemaMetadata" + }; + } + + // Updates a [Schema][google.cloud.discoveryengine.v1.Schema]. + rpc UpdateSchema(UpdateSchemaRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + patch: "/v1/{schema.name=projects/*/locations/*/dataStores/*/schemas/*}" + body: "schema" + additional_bindings { + patch: "/v1/{schema.name=projects/*/locations/*/collections/*/dataStores/*/schemas/*}" + body: "schema" + } + }; + option (google.longrunning.operation_info) = { + response_type: "google.cloud.discoveryengine.v1.Schema" + metadata_type: "google.cloud.discoveryengine.v1.UpdateSchemaMetadata" + }; + } + + // Deletes a [Schema][google.cloud.discoveryengine.v1.Schema]. + rpc DeleteSchema(DeleteSchemaRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1/{name=projects/*/locations/*/dataStores/*/schemas/*}" + additional_bindings { + delete: "/v1/{name=projects/*/locations/*/collections/*/dataStores/*/schemas/*}" + } + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "google.cloud.discoveryengine.v1.DeleteSchemaMetadata" + }; + } +} + +// Request message for +// [SchemaService.GetSchema][google.cloud.discoveryengine.v1.SchemaService.GetSchema] +// method. +message GetSchemaRequest { + // Required. The full resource name of the schema, in the format of + // `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/schemas/{schema}`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/Schema" + } + ]; +} + +// Request message for +// [SchemaService.ListSchemas][google.cloud.discoveryengine.v1.SchemaService.ListSchemas] +// method. +message ListSchemasRequest { + // Required. The parent data store resource name, in the format of + // `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/DataStore" + } + ]; + + // The maximum number of [Schema][google.cloud.discoveryengine.v1.Schema]s to + // return. The service may return fewer than this value. + // + // If unspecified, at most 100 + // [Schema][google.cloud.discoveryengine.v1.Schema]s will be returned. + // + // The maximum value is 1000; values above 1000 will be coerced to 1000. + int32 page_size = 2; + + // A page token, received from a previous + // [SchemaService.ListSchemas][google.cloud.discoveryengine.v1.SchemaService.ListSchemas] + // call. Provide this to retrieve the subsequent page. + // + // When paginating, all other parameters provided to + // [SchemaService.ListSchemas][google.cloud.discoveryengine.v1.SchemaService.ListSchemas] + // must match the call that provided the page token. + string page_token = 3; +} + +// Response message for +// [SchemaService.ListSchemas][google.cloud.discoveryengine.v1.SchemaService.ListSchemas] +// method. +message ListSchemasResponse { + // The [Schema][google.cloud.discoveryengine.v1.Schema]s. + repeated Schema schemas = 1; + + // A token that can be sent as + // [ListSchemasRequest.page_token][google.cloud.discoveryengine.v1.ListSchemasRequest.page_token] + // to retrieve the next page. If this field is omitted, there are no + // subsequent pages. + string next_page_token = 2; +} + +// Request message for +// [SchemaService.CreateSchema][google.cloud.discoveryengine.v1.SchemaService.CreateSchema] +// method. +message CreateSchemaRequest { + // Required. The parent data store resource name, in the format of + // `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/DataStore" + } + ]; + + // Required. The [Schema][google.cloud.discoveryengine.v1.Schema] to create. + Schema schema = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The ID to use for the + // [Schema][google.cloud.discoveryengine.v1.Schema], which will become the + // final component of the + // [Schema.name][google.cloud.discoveryengine.v1.Schema.name]. + // + // This field should conform to + // [RFC-1034](https://tools.ietf.org/html/rfc1034) standard with a length + // limit of 63 characters. + string schema_id = 3 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for +// [SchemaService.UpdateSchema][google.cloud.discoveryengine.v1.SchemaService.UpdateSchema] +// method. +message UpdateSchemaRequest { + // Required. The [Schema][google.cloud.discoveryengine.v1.Schema] to update. + Schema schema = 1 [(google.api.field_behavior) = REQUIRED]; + + // If set to true, and the [Schema][google.cloud.discoveryengine.v1.Schema] is + // not found, a new [Schema][google.cloud.discoveryengine.v1.Schema] will be + // created. In this situation, `update_mask` is ignored. + bool allow_missing = 3; +} + +// Request message for +// [SchemaService.DeleteSchema][google.cloud.discoveryengine.v1.SchemaService.DeleteSchema] +// method. +message DeleteSchemaRequest { + // Required. The full resource name of the schema, in the format of + // `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/schemas/{schema}`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/Schema" + } + ]; +} + +// Metadata for Create Schema LRO. +message CreateSchemaMetadata { + // Operation create time. + google.protobuf.Timestamp create_time = 1; + + // Operation last update time. If the operation is done, this is also the + // finish time. + google.protobuf.Timestamp update_time = 2; +} + +// Metadata for UpdateSchema LRO. +message UpdateSchemaMetadata { + // Operation create time. + google.protobuf.Timestamp create_time = 1; + + // Operation last update time. If the operation is done, this is also the + // finish time. + google.protobuf.Timestamp update_time = 2; +} + +// Metadata for DeleteSchema LRO. +message DeleteSchemaMetadata { + // Operation create time. + google.protobuf.Timestamp create_time = 1; + + // Operation last update time. If the operation is done, this is also the + // finish time. + google.protobuf.Timestamp update_time = 2; +} diff --git a/third_party/googleapis/google/cloud/discoveryengine/v1/search_service.proto b/third_party/googleapis/google/cloud/discoveryengine/v1/search_service.proto new file mode 100644 index 000000000..cce7d9d15 --- /dev/null +++ b/third_party/googleapis/google/cloud/discoveryengine/v1/search_service.proto @@ -0,0 +1,830 @@ +// 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.discoveryengine.v1; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/discoveryengine/v1/common.proto"; +import "google/cloud/discoveryengine/v1/document.proto"; +import "google/protobuf/struct.proto"; + +option csharp_namespace = "Google.Cloud.DiscoveryEngine.V1"; +option go_package = "cloud.google.com/go/discoveryengine/apiv1/discoveryenginepb;discoveryenginepb"; +option java_multiple_files = true; +option java_outer_classname = "SearchServiceProto"; +option java_package = "com.google.cloud.discoveryengine.v1"; +option objc_class_prefix = "DISCOVERYENGINE"; +option php_namespace = "Google\\Cloud\\DiscoveryEngine\\V1"; +option ruby_package = "Google::Cloud::DiscoveryEngine::V1"; + +// Service for search. +service SearchService { + option (google.api.default_host) = "discoveryengine.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform"; + + // Performs a search. + rpc Search(SearchRequest) returns (SearchResponse) { + option (google.api.http) = { + post: "/v1/{serving_config=projects/*/locations/*/dataStores/*/servingConfigs/*}:search" + body: "*" + additional_bindings { + post: "/v1/{serving_config=projects/*/locations/*/collections/*/dataStores/*/servingConfigs/*}:search" + body: "*" + } + additional_bindings { + post: "/v1/{serving_config=projects/*/locations/*/collections/*/engines/*/servingConfigs/*}:search" + body: "*" + } + }; + } +} + +// Request message for +// [SearchService.Search][google.cloud.discoveryengine.v1.SearchService.Search] +// method. +message SearchRequest { + // Specifies the image query input. + message ImageQuery { + oneof image { + // Base64 encoded image bytes. Supported image formats: JPEG, PNG, and + // BMP. + string image_bytes = 1; + } + } + + // A facet specification to perform faceted search. + message FacetSpec { + // Specifies how a facet is computed. + message FacetKey { + // Required. Supported textual and numerical facet keys in + // [Document][google.cloud.discoveryengine.v1.Document] object, over which + // the facet values are computed. Facet key is case-sensitive. + string key = 1 [(google.api.field_behavior) = REQUIRED]; + + // Set only if values should be bucketed into intervals. Must be set + // for facets with numerical values. Must not be set for facet with text + // values. Maximum number of intervals is 30. + repeated Interval intervals = 2; + + // Only get facet for the given restricted values. Only supported on + // textual fields. For example, suppose "category" has three values + // "Action > 2022", "Action > 2021" and "Sci-Fi > 2022". If set + // "restricted_values" to "Action > 2022", the "category" facet only + // contains "Action > 2022". Only supported on textual fields. Maximum + // is 10. + repeated string restricted_values = 3; + + // Only get facet values that start with the given string prefix. For + // example, suppose "category" has three values "Action > 2022", + // "Action > 2021" and "Sci-Fi > 2022". If set "prefixes" to "Action", the + // "category" facet only contains "Action > 2022" and "Action > 2021". + // Only supported on textual fields. Maximum is 10. + repeated string prefixes = 4; + + // Only get facet values that contains the given strings. For example, + // suppose "category" has three values "Action > 2022", + // "Action > 2021" and "Sci-Fi > 2022". If set "contains" to "2022", the + // "category" facet only contains "Action > 2022" and "Sci-Fi > 2022". + // Only supported on textual fields. Maximum is 10. + repeated string contains = 5; + + // True to make facet keys case insensitive when getting faceting + // values with prefixes or contains; false otherwise. + bool case_insensitive = 6; + + // The order in which documents are returned. + // + // Allowed values are: + // + // * "count desc", which means order by + // [SearchResponse.Facet.values.count][google.cloud.discoveryengine.v1.SearchResponse.Facet.FacetValue.count] + // descending. + // + // * "value desc", which means order by + // [SearchResponse.Facet.values.value][google.cloud.discoveryengine.v1.SearchResponse.Facet.FacetValue.value] + // descending. + // Only applies to textual facets. + // + // If not set, textual values are sorted in [natural + // order](https://en.wikipedia.org/wiki/Natural_sort_order); numerical + // intervals are sorted in the order given by + // [FacetSpec.FacetKey.intervals][google.cloud.discoveryengine.v1.SearchRequest.FacetSpec.FacetKey.intervals]. + string order_by = 7; + } + + // Required. The facet key specification. + FacetKey facet_key = 1 [(google.api.field_behavior) = REQUIRED]; + + // Maximum of facet values that should be returned for this facet. If + // unspecified, defaults to 20. The maximum allowed value is 300. Values + // above 300 are coerced to 300. + // + // If this field is negative, an `INVALID_ARGUMENT` is returned. + int32 limit = 2; + + // List of keys to exclude when faceting. + // + // + // By default, + // [FacetKey.key][google.cloud.discoveryengine.v1.SearchRequest.FacetSpec.FacetKey.key] + // is not excluded from the filter unless it is listed in this field. + // + // Listing a facet key in this field allows its values to appear as facet + // results, even when they are filtered out of search results. Using this + // field does not affect what search results are returned. + // + // For example, suppose there are 100 documents with the color facet "Red" + // and 200 documents with the color facet "Blue". A query containing the + // filter "color:ANY("Red")" and having "color" as + // [FacetKey.key][google.cloud.discoveryengine.v1.SearchRequest.FacetSpec.FacetKey.key] + // would by default return only "Red" documents in the search results, and + // also return "Red" with count 100 as the only color facet. Although there + // are also blue documents available, "Blue" would not be shown as an + // available facet value. + // + // If "color" is listed in "excludedFilterKeys", then the query returns the + // facet values "Red" with count 100 and "Blue" with count 200, because the + // "color" key is now excluded from the filter. Because this field doesn't + // affect search results, the search results are still correctly filtered to + // return only "Red" documents. + // + // A maximum of 100 values are allowed. Otherwise, an `INVALID_ARGUMENT` + // error is returned. + repeated string excluded_filter_keys = 3; + + // Enables dynamic position for this facet. If set to true, the position of + // this facet among all facets in the response is determined automatically. + // If dynamic facets are enabled, it is ordered together. + // If set to false, the position of this facet in the + // response is the same as in the request, and it is ranked before + // the facets with dynamic position enable and all dynamic facets. + // + // For example, you may always want to have rating facet returned in + // the response, but it's not necessarily to always display the rating facet + // at the top. In that case, you can set enable_dynamic_position to true so + // that the position of rating facet in response is determined + // automatically. + // + // Another example, assuming you have the following facets in the request: + // + // * "rating", enable_dynamic_position = true + // + // * "price", enable_dynamic_position = false + // + // * "brands", enable_dynamic_position = false + // + // And also you have a dynamic facets enabled, which generates a facet + // `gender`. Then the final order of the facets in the response can be + // ("price", "brands", "rating", "gender") or ("price", "brands", "gender", + // "rating") depends on how API orders "gender" and "rating" facets. + // However, notice that "price" and "brands" are always + // ranked at first and second position because their enable_dynamic_position + // is false. + bool enable_dynamic_position = 4; + } + + // Boost specification to boost certain documents. + message BoostSpec { + // Boost applies to documents which match a condition. + message ConditionBoostSpec { + // An expression which specifies a boost condition. The syntax and + // supported fields are the same as a filter expression. See + // [SearchRequest.filter][google.cloud.discoveryengine.v1.SearchRequest.filter] + // for detail syntax and limitations. + // + // Examples: + // + // * To boost documents with document ID "doc_1" or "doc_2", and + // color + // "Red" or "Blue": + // * (id: ANY("doc_1", "doc_2")) AND (color: ANY("Red","Blue")) + string condition = 1; + + // Strength of the condition boost, which should be in [-1, 1]. Negative + // boost means demotion. Default is 0.0. + // + // Setting to 1.0 gives the document a big promotion. However, it does not + // necessarily mean that the boosted document will be the top result at + // all times, nor that other documents will be excluded. Results could + // still be shown even when none of them matches the condition. And + // results that are significantly more relevant to the search query can + // still trump your heavily favored but irrelevant documents. + // + // Setting to -1.0 gives the document a big demotion. However, results + // that are deeply relevant might still be shown. The document will have + // an upstream battle to get a fairly high ranking, but it is not blocked + // out completely. + // + // Setting to 0.0 means no boost applied. The boosting condition is + // ignored. + float boost = 2; + } + + // Condition boost specifications. If a document matches multiple conditions + // in the specifictions, boost scores from these specifications are all + // applied and combined in a non-linear way. Maximum number of + // specifications is 20. + repeated ConditionBoostSpec condition_boost_specs = 1; + } + + // Specification to determine under which conditions query expansion should + // occur. + message QueryExpansionSpec { + // Enum describing under which condition query expansion should occur. + enum Condition { + // Unspecified query expansion condition. In this case, server behavior + // defaults to + // [Condition.DISABLED][google.cloud.discoveryengine.v1.SearchRequest.QueryExpansionSpec.Condition.DISABLED]. + CONDITION_UNSPECIFIED = 0; + + // Disabled query expansion. Only the exact search query is used, even if + // [SearchResponse.total_size][google.cloud.discoveryengine.v1.SearchResponse.total_size] + // is zero. + DISABLED = 1; + + // Automatic query expansion built by the Search API. + AUTO = 2; + } + + // The condition under which query expansion should occur. Default to + // [Condition.DISABLED][google.cloud.discoveryengine.v1.SearchRequest.QueryExpansionSpec.Condition.DISABLED]. + Condition condition = 1; + + // Whether to pin unexpanded results. If this field is set to true, + // unexpanded products are always at the top of the search results, followed + // by the expanded results. + bool pin_unexpanded_results = 2; + } + + // The specification for query spell correction. + message SpellCorrectionSpec { + // Enum describing under which mode spell correction should occur. + enum Mode { + // Unspecified spell correction mode. In this case, server behavior + // defaults to + // [Mode.AUTO][google.cloud.discoveryengine.v1.SearchRequest.SpellCorrectionSpec.Mode.AUTO]. + MODE_UNSPECIFIED = 0; + + // Search API will try to find a spell suggestion if there + // is any and put in the + // [SearchResponse.corrected_query][google.cloud.discoveryengine.v1.SearchResponse.corrected_query]. + // The spell suggestion will not be used as the search query. + SUGGESTION_ONLY = 1; + + // Automatic spell correction built by the Search API. Search will + // be based on the corrected query if found. + AUTO = 2; + } + + // The mode under which spell correction should take effect to + // replace the original search query. Default to + // [Mode.AUTO][google.cloud.discoveryengine.v1.SearchRequest.SpellCorrectionSpec.Mode.AUTO]. + Mode mode = 1; + } + + // A specification for configuring the behavior of content search. + message ContentSearchSpec { + // A specification for configuring snippets in a search response. + message SnippetSpec { + // [DEPRECATED] This field is deprecated. To control snippet return, use + // `return_snippet` field. For backwards compatibility, we will return + // snippet if max_snippet_count > 0. + int32 max_snippet_count = 1 [deprecated = true]; + + // [DEPRECATED] This field is deprecated and will have no affect on the + // snippet. + bool reference_only = 2 [deprecated = true]; + + // If `true`, then return snippet. If no snippet can be generated, we + // return "No snippet is available for this page." A `snippet_status` with + // `SUCCESS` or `NO_SNIPPET_AVAILABLE` will also be returned. + bool return_snippet = 3; + } + + // A specification for configuring a summary returned in a search + // response. + message SummarySpec { + // Specification of the prompt to use with the model. + message ModelPromptSpec { + // Text at the beginning of the prompt that instructs the assistant. + // Examples are available in the user guide. + string preamble = 1; + } + + // Specification of the model. + message ModelSpec { + // The model version used to generate the summary. + // + // Supported values are: + // + // * `stable`: string. Default value when no value is specified. Uses a + // generally available, fine-tuned version of the text-bison@001 + // model. + // * `preview`: string. (Public preview) Uses a fine-tuned version of + // the text-bison@002 model. This model works only for summaries in + // English. + string version = 1; + } + + // The number of top results to generate the summary from. If the number + // of results returned is less than `summaryResultCount`, the summary is + // generated from all of the results. + // + // At most five results can be used to generate a summary. + int32 summary_result_count = 1; + + // Specifies whether to include citations in the summary. The default + // value is `false`. + // + // When this field is set to `true`, summaries include in-line citation + // numbers. + // + // Example summary including citations: + // + // BigQuery is Google Cloud's fully managed and completely serverless + // enterprise data warehouse [1]. BigQuery supports all data types, works + // across clouds, and has built-in machine learning and business + // intelligence, all within a unified platform [2, 3]. + // + // The citation numbers refer to the returned search results and are + // 1-indexed. For example, [1] means that the sentence is attributed to + // the first search result. [2, 3] means that the sentence is attributed + // to both the second and third search results. + bool include_citations = 2; + + // Specifies whether to filter out adversarial queries. The default value + // is `false`. + // + // Google employs search-query classification to detect adversarial + // queries. No summary is returned if the search query is classified as an + // adversarial query. For example, a user might ask a question regarding + // negative comments about the company or submit a query designed to + // generate unsafe, policy-violating output. If this field is set to + // `true`, we skip generating summaries for adversarial queries and return + // fallback messages instead. + bool ignore_adversarial_query = 3; + + // Specifies whether to filter out queries that are not summary-seeking. + // The default value is `false`. + // + // Google employs search-query classification to detect summary-seeking + // queries. No summary is returned if the search query is classified as a + // non-summary seeking query. For example, `why is the sky blue` and `Who + // is the best soccer player in the world?` are summary-seeking queries, + // but `SFO airport` and `world cup 2026` are not. They are most likely + // navigational queries. If this field is set to `true`, we skip + // generating summaries for non-summary seeking queries and return + // fallback messages instead. + bool ignore_non_summary_seeking_query = 4; + + // If specified, the spec will be used to modify the prompt provided to + // the LLM. + ModelPromptSpec model_prompt_spec = 5; + + // Language code for Summary. Use language tags defined by + // [BCP47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt). + // Note: This is an experimental feature. + string language_code = 6; + + // If specified, the spec will be used to modify the model specification + // provided to the LLM. + ModelSpec model_spec = 7; + } + + // If `snippetSpec` is not specified, snippets are not included in the + // search response. + SnippetSpec snippet_spec = 1; + + // If `summarySpec` is not specified, summaries are not included in the + // search response. + SummarySpec summary_spec = 2; + } + + // Required. The resource name of the Search serving config, such as + // `projects/*/locations/global/collections/default_collection/engines/*/servingConfigs/default_serving_config`, + // or + // `projects/*/locations/global/collections/default_collection/dataStores/default_data_store/servingConfigs/default_serving_config`. + // This field is used to identify the serving configuration name, set + // of models used to make the search. + string serving_config = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/ServingConfig" + } + ]; + + // The branch resource name, such as + // `projects/*/locations/global/collections/default_collection/dataStores/default_data_store/branches/0`. + // + // Use `default_branch` as the branch ID or leave this field empty, to search + // documents under the default branch. + string branch = 2 [(google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/Branch" + }]; + + // Raw search query. + string query = 3; + + // Raw image query. + ImageQuery image_query = 19; + + // Maximum number of [Document][google.cloud.discoveryengine.v1.Document]s to + // return. If unspecified, defaults to a reasonable value. The maximum allowed + // value is 100. Values above 100 are coerced to 100. + // + // If this field is negative, an `INVALID_ARGUMENT` is returned. + int32 page_size = 4; + + // A page token received from a previous + // [SearchService.Search][google.cloud.discoveryengine.v1.SearchService.Search] + // call. Provide this to retrieve the subsequent page. + // + // When paginating, all other parameters provided to + // [SearchService.Search][google.cloud.discoveryengine.v1.SearchService.Search] + // must match the call that provided the page token. Otherwise, an + // `INVALID_ARGUMENT` error is returned. + string page_token = 5; + + // A 0-indexed integer that specifies the current offset (that is, starting + // result location, amongst the + // [Document][google.cloud.discoveryengine.v1.Document]s deemed by the API as + // relevant) in search results. This field is only considered if + // [page_token][google.cloud.discoveryengine.v1.SearchRequest.page_token] is + // unset. + // + // If this field is negative, an `INVALID_ARGUMENT` is returned. + int32 offset = 6; + + // The filter syntax consists of an expression language for constructing a + // predicate from one or more fields of the documents being filtered. Filter + // expression is case-sensitive. + // + // If this field is unrecognizable, an `INVALID_ARGUMENT` is returned. + // + // Filtering in Vertex AI Search is done by mapping the LHS filter key to a + // key property defined in the Vertex AI Search backend -- this mapping is + // defined by the customer in their schema. For example a media customer might + // have a field 'name' in their schema. In this case the filter would look + // like this: filter --> name:'ANY("king kong")' + // + // For more information about filtering including syntax and filter + // operators, see + // [Filter](https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata) + string filter = 7; + + // The default filter that is applied when a user performs a search without + // checking any filters on the search page. + // + // The filter applied to every search request when quality improvement such as + // query expansion is needed. In the case a query does not have a sufficient + // amount of results this filter will be used to determine whether or not to + // enable the query expansion flow. The original filter will still be used for + // the query expanded search. + // This field is strongly recommended to achieve high search quality. + // + // For more information about filter syntax, see + // [SearchRequest.filter][google.cloud.discoveryengine.v1.SearchRequest.filter]. + string canonical_filter = 29; + + // The order in which documents are returned. Documents can be ordered by + // a field in an [Document][google.cloud.discoveryengine.v1.Document] object. + // Leave it unset if ordered by relevance. `order_by` expression is + // case-sensitive. For more information on ordering, see + // [Ordering](https://cloud.google.com/retail/docs/filter-and-order#order) + // + // If this field is unrecognizable, an `INVALID_ARGUMENT` is returned. + string order_by = 8; + + // Information about the end user. + // Highly recommended for analytics. + // [UserInfo.user_agent][google.cloud.discoveryengine.v1.UserInfo.user_agent] + // is used to deduce `device_type` for analytics. + UserInfo user_info = 21; + + // Facet specifications for faceted search. If empty, no facets are returned. + // + // A maximum of 100 values are allowed. Otherwise, an `INVALID_ARGUMENT` + // error is returned. + repeated FacetSpec facet_specs = 9; + + // Boost specification to boost certain documents. + // For more information on boosting, see + // [Boosting](https://cloud.google.com/retail/docs/boosting#boost) + BoostSpec boost_spec = 10; + + // Additional search parameters. + // + // For public website search only, supported values are: + // + // * `user_country_code`: string. Default empty. If set to non-empty, results + // are restricted or boosted based on the location provided. + // Example: + // user_country_code: "au" + // + // For available codes see [Country + // Codes](https://developers.google.com/custom-search/docs/json_api_reference#countryCodes) + // + // * `search_type`: double. Default empty. Enables non-webpage searching + // depending on the value. The only valid non-default value is 1, + // which enables image searching. + // Example: + // search_type: 1 + map params = 11; + + // The query expansion specification that specifies the conditions under which + // query expansion occurs. + QueryExpansionSpec query_expansion_spec = 13; + + // The spell correction specification that specifies the mode under + // which spell correction takes effect. + SpellCorrectionSpec spell_correction_spec = 14; + + // A unique identifier for tracking visitors. For example, this could be + // implemented with an HTTP cookie, which should be able to uniquely identify + // a visitor on a single device. This unique identifier should not change if + // the visitor logs in or out of the website. + // + // This field should NOT have a fixed value such as `unknown_visitor`. + // + // This should be the same identifier as + // [UserEvent.user_pseudo_id][google.cloud.discoveryengine.v1.UserEvent.user_pseudo_id] + // and + // [CompleteQueryRequest.user_pseudo_id][google.cloud.discoveryengine.v1.CompleteQueryRequest.user_pseudo_id] + // + // The field must be a UTF-8 encoded string with a length limit of 128 + // characters. Otherwise, an `INVALID_ARGUMENT` error is returned. + string user_pseudo_id = 15; + + // A specification for configuring the behavior of content search. + ContentSearchSpec content_search_spec = 24; + + // Whether to turn on safe search. This is only supported for + // website search. + bool safe_search = 20; + + // The user labels applied to a resource must meet the following requirements: + // + // * Each resource can have multiple labels, up to a maximum of 64. + // * Each label must be a key-value pair. + // * Keys have a minimum length of 1 character and a maximum length of 63 + // characters and cannot be empty. Values can be empty and have a maximum + // length of 63 characters. + // * Keys and values can contain only lowercase letters, numeric characters, + // underscores, and dashes. All characters must use UTF-8 encoding, and + // international characters are allowed. + // * The key portion of a label must be unique. However, you can use the same + // key with multiple resources. + // * Keys must start with a lowercase letter or international character. + // + // See [Google Cloud + // Document](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements) + // for more details. + map user_labels = 22; +} + +// Response message for +// [SearchService.Search][google.cloud.discoveryengine.v1.SearchService.Search] +// method. +message SearchResponse { + // Represents the search results. + message SearchResult { + // [Document.id][google.cloud.discoveryengine.v1.Document.id] of the + // searched [Document][google.cloud.discoveryengine.v1.Document]. + string id = 1; + + // The document data snippet in the search response. Only fields that are + // marked as retrievable are populated. + Document document = 2; + } + + // A facet result. + message Facet { + // A facet value which contains value names and their count. + message FacetValue { + // A facet value which contains values. + oneof facet_value { + // Text value of a facet, such as "Black" for facet "colors". + string value = 1; + + // Interval value for a facet, such as [10, 20) for facet "price". It + // matches + // [SearchRequest.FacetSpec.FacetKey.intervals][google.cloud.discoveryengine.v1.SearchRequest.FacetSpec.FacetKey.intervals]. + Interval interval = 2; + } + + // Number of items that have this facet value. + int64 count = 3; + } + + // The key for this facet. E.g., "colors" or "price". It matches + // [SearchRequest.FacetSpec.FacetKey.key][google.cloud.discoveryengine.v1.SearchRequest.FacetSpec.FacetKey.key]. + string key = 1; + + // The facet values for this field. + repeated FacetValue values = 2; + + // Whether the facet is dynamically generated. + bool dynamic_facet = 3; + } + + // Summary of the top N search result specified by the summary spec. + message Summary { + // Safety Attribute categories and their associated confidence scores. + message SafetyAttributes { + // The display names of Safety Attribute categories associated with the + // generated content. Order matches the Scores. + repeated string categories = 1; + + // The confidence scores of the each category, higher + // value means higher confidence. Order matches the Categories. + repeated float scores = 2; + } + + // Citation metadata. + message CitationMetadata { + // Citations for segments. + repeated Citation citations = 1; + } + + // Citation info for a segment. + message Citation { + // Index indicates the start of the segment, measured in bytes/unicode. + int64 start_index = 1; + + // End of the attributed segment, exclusive. + int64 end_index = 2; + + // Citation sources for the attributed segment. + repeated CitationSource sources = 3; + } + + // Citation source. + message CitationSource { + // Document reference index from SummaryWithMetadata.references. + // It is 0-indexed and the value will be zero if the reference_index is + // not set explicitly. + int64 reference_index = 4; + } + + // Document reference. + message Reference { + // Title of the document. + string title = 1; + + // Required. + // [Document.name][google.cloud.discoveryengine.v1.Document.name] of the + // document. Full resource name of the referenced document, in the format + // `projects/*/locations/*/collections/*/dataStores/*/branches/*/documents/*`. + string document = 2 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/Document" + } + ]; + + // Cloud Storage or HTTP uri for the document. + string uri = 3; + } + + // Summary with metadata information. + message SummaryWithMetadata { + // Summary text with no citation information. + string summary = 1; + + // Citation metadata for given summary. + CitationMetadata citation_metadata = 2; + + // Document References. + repeated Reference references = 3; + } + + // An Enum for summary-skipped reasons. + enum SummarySkippedReason { + // Default value. The summary skipped reason is not specified. + SUMMARY_SKIPPED_REASON_UNSPECIFIED = 0; + + // The adversarial query ignored case. + // + // Only populated when + // [SummarySpec.ignore_adversarial_query][google.cloud.discoveryengine.v1.SearchRequest.ContentSearchSpec.SummarySpec.ignore_adversarial_query] + // is set to `true`. + ADVERSARIAL_QUERY_IGNORED = 1; + + // The non-summary seeking query ignored case. + // + // Only populated when + // [SummarySpec.ignore_non_summary_seeking_query][google.cloud.discoveryengine.v1.SearchRequest.ContentSearchSpec.SummarySpec.ignore_non_summary_seeking_query] + // is set to `true`. + NON_SUMMARY_SEEKING_QUERY_IGNORED = 2; + + // The out-of-domain query ignored case. + // + // Google skips the summary if there are no high-relevance search results. + // For example, the data store contains facts about company A but the + // user query is asking questions about company B. + OUT_OF_DOMAIN_QUERY_IGNORED = 3; + + // The potential policy violation case. + // + // Google skips the summary if there is a potential policy violation + // detected. This includes content that may be violent or toxic. + POTENTIAL_POLICY_VIOLATION = 4; + + // The LLM addon not enabled case. + // + // Google skips the summary if the LLM addon is not enabled. + LLM_ADDON_NOT_ENABLED = 5; + } + + // The summary content. + string summary_text = 1; + + // Additional summary-skipped reasons. This provides the reason for ignored + // cases. If nothing is skipped, this field is not set. + repeated SummarySkippedReason summary_skipped_reasons = 2; + + // A collection of Safety Attribute categories and their associated + // confidence scores. + SafetyAttributes safety_attributes = 3; + + // Summary with metadata information. + SummaryWithMetadata summary_with_metadata = 4; + } + + // Information describing query expansion including whether expansion has + // occurred. + message QueryExpansionInfo { + // Bool describing whether query expansion has occurred. + bool expanded_query = 1; + + // Number of pinned results. This field will only be set when expansion + // happens and + // [SearchRequest.QueryExpansionSpec.pin_unexpanded_results][google.cloud.discoveryengine.v1.SearchRequest.QueryExpansionSpec.pin_unexpanded_results] + // is set to true. + int64 pinned_result_count = 2; + } + + // A list of matched documents. The order represents the ranking. + repeated SearchResult results = 1; + + // Results of facets requested by user. + repeated Facet facets = 2; + + // The estimated total count of matched items irrespective of pagination. The + // count of [results][google.cloud.discoveryengine.v1.SearchResponse.results] + // returned by pagination may be less than the + // [total_size][google.cloud.discoveryengine.v1.SearchResponse.total_size] + // that matches. + int32 total_size = 3; + + // A unique search token. This should be included in the + // [UserEvent][google.cloud.discoveryengine.v1.UserEvent] logs resulting from + // this search, which enables accurate attribution of search model + // performance. + string attribution_token = 4; + + // The URI of a customer-defined redirect page. If redirect action is + // triggered, no search is performed, and only + // [redirect_uri][google.cloud.discoveryengine.v1.SearchResponse.redirect_uri] + // and + // [attribution_token][google.cloud.discoveryengine.v1.SearchResponse.attribution_token] + // are set in the response. + string redirect_uri = 12; + + // A token that can be sent as + // [SearchRequest.page_token][google.cloud.discoveryengine.v1.SearchRequest.page_token] + // to retrieve the next page. If this field is omitted, there are no + // subsequent pages. + string next_page_token = 5; + + // Contains the spell corrected query, if found. If the spell correction type + // is AUTOMATIC, then the search results are based on corrected_query. + // Otherwise the original query is used for search. + string corrected_query = 7; + + // A summary as part of the search results. + // This field is only returned if + // [SearchRequest.ContentSearchSpec.summary_spec][google.cloud.discoveryengine.v1.SearchRequest.ContentSearchSpec.summary_spec] + // is set. + Summary summary = 9; + + // Query expansion information for the returned results. + QueryExpansionInfo query_expansion_info = 14; +} diff --git a/third_party/googleapis/google/cloud/discoveryengine/v1/site_search_engine.proto b/third_party/googleapis/google/cloud/discoveryengine/v1/site_search_engine.proto new file mode 100644 index 000000000..f43a042bc --- /dev/null +++ b/third_party/googleapis/google/cloud/discoveryengine/v1/site_search_engine.proto @@ -0,0 +1,170 @@ +// 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.discoveryengine.v1; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.DiscoveryEngine.V1"; +option go_package = "cloud.google.com/go/discoveryengine/apiv1/discoveryenginepb;discoveryenginepb"; +option java_multiple_files = true; +option java_outer_classname = "SiteSearchEngineProto"; +option java_package = "com.google.cloud.discoveryengine.v1"; +option objc_class_prefix = "DISCOVERYENGINE"; +option php_namespace = "Google\\Cloud\\DiscoveryEngine\\V1"; +option ruby_package = "Google::Cloud::DiscoveryEngine::V1"; + +// SiteSearchEngine captures DataStore level site search persisting +// configurations. It is a singleton value per data store. +message SiteSearchEngine { + option (google.api.resource) = { + type: "discoveryengine.googleapis.com/SiteSearchEngine" + pattern: "projects/{project}/locations/{location}/dataStores/{data_store}/siteSearchEngine" + pattern: "projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine" + }; + + // The fully qualified resource name of the site search engine. + // Format: `projects/*/locations/*/dataStores/*/siteSearchEngine` + string name = 1; +} + +// A target site for the SiteSearchEngine. +message TargetSite { + option (google.api.resource) = { + type: "discoveryengine.googleapis.com/TargetSite" + pattern: "projects/{project}/locations/{location}/dataStores/{data_store}/siteSearchEngine/targetSites/{target_site}" + pattern: "projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine/targetSites/{target_site}" + }; + + // Site search indexing failure reasons. + message FailureReason { + // Failed due to insufficient quota. + message QuotaFailure { + // This number is an estimation on how much total quota this project needs + // to successfully complete indexing. + int64 total_required_quota = 1; + } + + // Failure reason. + oneof failure { + // Failed due to insufficient quota. + QuotaFailure quota_failure = 1; + } + } + + // Possible target site types. + enum Type { + // This value is unused. In this case, server behavior defaults to + // [Type.INCLUDE][google.cloud.discoveryengine.v1.TargetSite.Type.INCLUDE]. + TYPE_UNSPECIFIED = 0; + + // Include the target site. + INCLUDE = 1; + + // Exclude the target site. + EXCLUDE = 2; + } + + // Target site indexing status enumeration. + enum IndexingStatus { + // Defaults to SUCCEEDED. + INDEXING_STATUS_UNSPECIFIED = 0; + + // The target site is in the update queue and will be picked up by indexing + // pipeline. + PENDING = 1; + + // The target site fails to be indexed. + FAILED = 2; + + // The target site has been indexed. + SUCCEEDED = 3; + + // The previously indexed target site has been marked to be deleted. This is + // a transitioning state which will resulted in either: + // 1. target site deleted if unindexing is successful; + // 2. state reverts to SUCCEEDED if the unindexing fails. + DELETING = 4; + } + + // Output only. The fully qualified resource name of the target site. + // `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine/targetSites/{target_site}` + // The `target_site_id` is system-generated. + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. Input only. The user provided URI pattern from which the + // `generated_uri_pattern` is generated. + string provided_uri_pattern = 2 [ + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = INPUT_ONLY + ]; + + // The type of the target site, e.g., whether the site is to be included or + // excluded. + Type type = 3; + + // Input only. If set to false, a uri_pattern is generated to include all + // pages whose address contains the provided_uri_pattern. If set to true, an + // uri_pattern is generated to try to be an exact match of the + // provided_uri_pattern or just the specific page if the provided_uri_pattern + // is a specific one. provided_uri_pattern is always normalized to + // generate the URI pattern to be used by the search engine. + bool exact_match = 6 [(google.api.field_behavior) = INPUT_ONLY]; + + // Output only. This is system-generated based on the provided_uri_pattern. + string generated_uri_pattern = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Site ownership and validity verification status. + SiteVerificationInfo site_verification_info = 7 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Indexing status. + IndexingStatus indexing_status = 8 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The target site's last updated time. + google.protobuf.Timestamp update_time = 5 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Failure reason. + FailureReason failure_reason = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Verification information for target sites in advanced site search. +message SiteVerificationInfo { + // Site verification state. + enum SiteVerificationState { + // Defaults to VERIFIED. + SITE_VERIFICATION_STATE_UNSPECIFIED = 0; + + // Site ownership verified. + VERIFIED = 1; + + // Site ownership pending verification or verification failed. + UNVERIFIED = 2; + + // Site exempt from verification, e.g., a public website that opens to all. + EXEMPTED = 3; + } + + // Site verification state indicating the ownership and validity. + SiteVerificationState site_verification_state = 1; + + // Latest site verification time. + google.protobuf.Timestamp verify_time = 2; +} diff --git a/third_party/googleapis/google/cloud/discoveryengine/v1/site_search_engine_service.proto b/third_party/googleapis/google/cloud/discoveryengine/v1/site_search_engine_service.proto new file mode 100644 index 000000000..e1e32f3fe --- /dev/null +++ b/third_party/googleapis/google/cloud/discoveryengine/v1/site_search_engine_service.proto @@ -0,0 +1,691 @@ +// 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.discoveryengine.v1; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/discoveryengine/v1/site_search_engine.proto"; +import "google/longrunning/operations.proto"; +import "google/protobuf/empty.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.DiscoveryEngine.V1"; +option go_package = "cloud.google.com/go/discoveryengine/apiv1/discoveryenginepb;discoveryenginepb"; +option java_multiple_files = true; +option java_outer_classname = "SiteSearchEngineServiceProto"; +option java_package = "com.google.cloud.discoveryengine.v1"; +option objc_class_prefix = "DISCOVERYENGINE"; +option php_namespace = "Google\\Cloud\\DiscoveryEngine\\V1"; +option ruby_package = "Google::Cloud::DiscoveryEngine::V1"; + +// Service for managing site search related resources. +service SiteSearchEngineService { + option (google.api.default_host) = "discoveryengine.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform"; + + // Gets the + // [SiteSearchEngine][google.cloud.discoveryengine.v1.SiteSearchEngine]. + rpc GetSiteSearchEngine(GetSiteSearchEngineRequest) + returns (SiteSearchEngine) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/dataStores/*/siteSearchEngine}" + additional_bindings { + get: "/v1/{name=projects/*/locations/*/collections/*/dataStores/*/siteSearchEngine}" + } + }; + option (google.api.method_signature) = "name"; + } + + // Creates a [TargetSite][google.cloud.discoveryengine.v1.TargetSite]. + rpc CreateTargetSite(CreateTargetSiteRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*/dataStores/*/siteSearchEngine}/targetSites" + body: "target_site" + additional_bindings { + post: "/v1/{parent=projects/*/locations/*/collections/*/dataStores/*/siteSearchEngine}/targetSites" + body: "target_site" + } + }; + option (google.api.method_signature) = "parent,target_site"; + option (google.longrunning.operation_info) = { + response_type: "google.cloud.discoveryengine.v1.TargetSite" + metadata_type: "google.cloud.discoveryengine.v1.CreateTargetSiteMetadata" + }; + } + + // Creates [TargetSite][google.cloud.discoveryengine.v1.TargetSite] in a + // batch. + rpc BatchCreateTargetSites(BatchCreateTargetSitesRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*/dataStores/*/siteSearchEngine}/targetSites:batchCreate" + body: "*" + additional_bindings { + post: "/v1/{parent=projects/*/locations/*/collections/*/dataStores/*/siteSearchEngine}/targetSites:batchCreate" + body: "*" + } + }; + option (google.longrunning.operation_info) = { + response_type: "google.cloud.discoveryengine.v1.BatchCreateTargetSitesResponse" + metadata_type: "google.cloud.discoveryengine.v1.BatchCreateTargetSiteMetadata" + }; + } + + // Gets a [TargetSite][google.cloud.discoveryengine.v1.TargetSite]. + rpc GetTargetSite(GetTargetSiteRequest) returns (TargetSite) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/dataStores/*/siteSearchEngine/targetSites/*}" + additional_bindings { + get: "/v1/{name=projects/*/locations/*/collections/*/dataStores/*/siteSearchEngine/targetSites/*}" + } + }; + option (google.api.method_signature) = "name"; + } + + // Updates a [TargetSite][google.cloud.discoveryengine.v1.TargetSite]. + rpc UpdateTargetSite(UpdateTargetSiteRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + patch: "/v1/{target_site.name=projects/*/locations/*/dataStores/*/siteSearchEngine/targetSites/*}" + body: "target_site" + additional_bindings { + patch: "/v1/{target_site.name=projects/*/locations/*/collections/*/dataStores/*/siteSearchEngine/targetSites/*}" + body: "target_site" + } + }; + option (google.api.method_signature) = "target_site"; + option (google.longrunning.operation_info) = { + response_type: "google.cloud.discoveryengine.v1.TargetSite" + metadata_type: "google.cloud.discoveryengine.v1.UpdateTargetSiteMetadata" + }; + } + + // Deletes a [TargetSite][google.cloud.discoveryengine.v1.TargetSite]. + rpc DeleteTargetSite(DeleteTargetSiteRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1/{name=projects/*/locations/*/dataStores/*/siteSearchEngine/targetSites/*}" + additional_bindings { + delete: "/v1/{name=projects/*/locations/*/collections/*/dataStores/*/siteSearchEngine/targetSites/*}" + } + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "google.cloud.discoveryengine.v1.DeleteTargetSiteMetadata" + }; + } + + // Gets a list of [TargetSite][google.cloud.discoveryengine.v1.TargetSite]s. + rpc ListTargetSites(ListTargetSitesRequest) + returns (ListTargetSitesResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*/dataStores/*/siteSearchEngine}/targetSites" + additional_bindings { + get: "/v1/{parent=projects/*/locations/*/collections/*/dataStores/*/siteSearchEngine}/targetSites" + } + }; + option (google.api.method_signature) = "parent"; + } + + // Upgrade from basic site search to advanced site search. + rpc EnableAdvancedSiteSearch(EnableAdvancedSiteSearchRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{site_search_engine=projects/*/locations/*/dataStores/*/siteSearchEngine}:enableAdvancedSiteSearch" + body: "*" + additional_bindings { + post: "/v1/{site_search_engine=projects/*/locations/*/collections/*/dataStores/*/siteSearchEngine}:enableAdvancedSiteSearch" + body: "*" + } + }; + option (google.longrunning.operation_info) = { + response_type: "google.cloud.discoveryengine.v1.EnableAdvancedSiteSearchResponse" + metadata_type: "google.cloud.discoveryengine.v1.EnableAdvancedSiteSearchMetadata" + }; + } + + // Downgrade from advanced site search to basic site search. + rpc DisableAdvancedSiteSearch(DisableAdvancedSiteSearchRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{site_search_engine=projects/*/locations/*/dataStores/*/siteSearchEngine}:disableAdvancedSiteSearch" + body: "*" + additional_bindings { + post: "/v1/{site_search_engine=projects/*/locations/*/collections/*/dataStores/*/siteSearchEngine}:disableAdvancedSiteSearch" + body: "*" + } + }; + option (google.longrunning.operation_info) = { + response_type: "google.cloud.discoveryengine.v1.DisableAdvancedSiteSearchResponse" + metadata_type: "google.cloud.discoveryengine.v1.DisableAdvancedSiteSearchMetadata" + }; + } + + // Request on-demand recrawl for a list of URIs. + rpc RecrawlUris(RecrawlUrisRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{site_search_engine=projects/*/locations/*/dataStores/*/siteSearchEngine}:recrawlUris" + body: "*" + additional_bindings { + post: "/v1/{site_search_engine=projects/*/locations/*/collections/*/dataStores/*/siteSearchEngine}:recrawlUris" + body: "*" + } + }; + option (google.longrunning.operation_info) = { + response_type: "google.cloud.discoveryengine.v1.RecrawlUrisResponse" + metadata_type: "google.cloud.discoveryengine.v1.RecrawlUrisMetadata" + }; + } + + // Verify target sites' ownership and validity. + // This API sends all the target sites under site search engine for + // verification. + rpc BatchVerifyTargetSites(BatchVerifyTargetSitesRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*/collections/*/dataStores/*/siteSearchEngine}:batchVerifyTargetSites" + body: "*" + }; + option (google.longrunning.operation_info) = { + response_type: "google.cloud.discoveryengine.v1.BatchVerifyTargetSitesResponse" + metadata_type: "google.cloud.discoveryengine.v1.BatchVerifyTargetSitesMetadata" + }; + } + + // Returns list of target sites with its domain verification status. + // This method can only be called under data store with BASIC_SITE_SEARCH + // state at the moment. + rpc FetchDomainVerificationStatus(FetchDomainVerificationStatusRequest) + returns (FetchDomainVerificationStatusResponse) { + option (google.api.http) = { + get: "/v1/{site_search_engine=projects/*/locations/*/collections/*/dataStores/*/siteSearchEngine}:fetchDomainVerificationStatus" + }; + } +} + +// Request message for +// [SiteSearchEngineService.GetSiteSearchEngine][google.cloud.discoveryengine.v1.SiteSearchEngineService.GetSiteSearchEngine] +// method. +message GetSiteSearchEngineRequest { + // Required. Resource name of + // [SiteSearchEngine][google.cloud.discoveryengine.v1.SiteSearchEngine], such + // as + // `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine`. + // + // If the caller does not have permission to access the [SiteSearchEngine], + // regardless of whether or not it exists, a PERMISSION_DENIED error is + // returned. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/SiteSearchEngine" + } + ]; +} + +// Request message for +// [SiteSearchEngineService.CreateTargetSite][google.cloud.discoveryengine.v1.SiteSearchEngineService.CreateTargetSite] +// method. +message CreateTargetSiteRequest { + // Required. Parent resource name of + // [TargetSite][google.cloud.discoveryengine.v1.TargetSite], such as + // `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/SiteSearchEngine" + } + ]; + + // Required. The [TargetSite][google.cloud.discoveryengine.v1.TargetSite] to + // create. + TargetSite target_site = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Metadata related to the progress of the +// [SiteSearchEngineService.CreateTargetSite][google.cloud.discoveryengine.v1.SiteSearchEngineService.CreateTargetSite] +// operation. This will be returned by the google.longrunning.Operation.metadata +// field. +message CreateTargetSiteMetadata { + // Operation create time. + google.protobuf.Timestamp create_time = 1; + + // Operation last update time. If the operation is done, this is also the + // finish time. + google.protobuf.Timestamp update_time = 2; +} + +// Request message for +// [SiteSearchEngineService.BatchCreateTargetSites][google.cloud.discoveryengine.v1.SiteSearchEngineService.BatchCreateTargetSites] +// method. +message BatchCreateTargetSitesRequest { + // Required. The parent resource shared by all TargetSites being created. + // `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine`. + // The parent field in the CreateBookRequest messages must either be empty or + // match this field. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/SiteSearchEngine" + } + ]; + + // Required. The request message specifying the resources to create. + // A maximum of 20 TargetSites can be created in a batch. + repeated CreateTargetSiteRequest requests = 2 + [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for +// [SiteSearchEngineService.GetTargetSite][google.cloud.discoveryengine.v1.SiteSearchEngineService.GetTargetSite] +// method. +message GetTargetSiteRequest { + // Required. Full resource name of + // [TargetSite][google.cloud.discoveryengine.v1.TargetSite], such as + // `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine/targetSites/{target_site}`. + // + // If the caller does not have permission to access the + // [TargetSite][google.cloud.discoveryengine.v1.TargetSite], regardless of + // whether or not it exists, a PERMISSION_DENIED error is returned. + // + // If the requested [TargetSite][google.cloud.discoveryengine.v1.TargetSite] + // does not exist, a NOT_FOUND error is returned. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/TargetSite" + } + ]; +} + +// Request message for +// [SiteSearchEngineService.UpdateTargetSite][google.cloud.discoveryengine.v1.SiteSearchEngineService.UpdateTargetSite] +// method. +message UpdateTargetSiteRequest { + // Required. The target site to update. + // If the caller does not have permission to update the + // [TargetSite][google.cloud.discoveryengine.v1.TargetSite], regardless of + // whether or not it exists, a PERMISSION_DENIED error is returned. + // + // If the [TargetSite][google.cloud.discoveryengine.v1.TargetSite] to update + // does not exist, a NOT_FOUND error is returned. + TargetSite target_site = 1 [(google.api.field_behavior) = REQUIRED]; +} + +// Metadata related to the progress of the +// [SiteSearchEngineService.UpdateTargetSite][google.cloud.discoveryengine.v1.SiteSearchEngineService.UpdateTargetSite] +// operation. This will be returned by the google.longrunning.Operation.metadata +// field. +message UpdateTargetSiteMetadata { + // Operation create time. + google.protobuf.Timestamp create_time = 1; + + // Operation last update time. If the operation is done, this is also the + // finish time. + google.protobuf.Timestamp update_time = 2; +} + +// Request message for +// [SiteSearchEngineService.DeleteTargetSite][google.cloud.discoveryengine.v1.SiteSearchEngineService.DeleteTargetSite] +// method. +message DeleteTargetSiteRequest { + // Required. Full resource name of + // [TargetSite][google.cloud.discoveryengine.v1.TargetSite], such as + // `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine/targetSites/{target_site}`. + // + // If the caller does not have permission to access the + // [TargetSite][google.cloud.discoveryengine.v1.TargetSite], regardless of + // whether or not it exists, a PERMISSION_DENIED error is returned. + // + // If the requested [TargetSite][google.cloud.discoveryengine.v1.TargetSite] + // does not exist, a NOT_FOUND error is returned. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/TargetSite" + } + ]; +} + +// Metadata related to the progress of the +// [SiteSearchEngineService.DeleteTargetSite][google.cloud.discoveryengine.v1.SiteSearchEngineService.DeleteTargetSite] +// operation. This will be returned by the google.longrunning.Operation.metadata +// field. +message DeleteTargetSiteMetadata { + // Operation create time. + google.protobuf.Timestamp create_time = 1; + + // Operation last update time. If the operation is done, this is also the + // finish time. + google.protobuf.Timestamp update_time = 2; +} + +// Request message for +// [SiteSearchEngineService.ListTargetSites][google.cloud.discoveryengine.v1.SiteSearchEngineService.ListTargetSites] +// method. +message ListTargetSitesRequest { + // Required. The parent site search engine resource name, such as + // `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine`. + // + // If the caller does not have permission to list + // [TargetSite][google.cloud.discoveryengine.v1.TargetSite]s under this site + // search engine, regardless of whether or not this branch exists, a + // PERMISSION_DENIED error is returned. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/SiteSearchEngine" + } + ]; + + // Requested page size. Server may return fewer items than requested. If + // unspecified, server will pick an appropriate default. The maximum value is + // 1000; values above 1000 will be coerced to 1000. + // + // If this field is negative, an INVALID_ARGUMENT error is returned. + int32 page_size = 2; + + // A page token, received from a previous `ListTargetSites` call. + // Provide this to retrieve the subsequent page. + // + // When paginating, all other parameters provided to `ListTargetSites` + // must match the call that provided the page token. + string page_token = 3; +} + +// Response message for +// [SiteSearchEngineService.ListTargetSites][google.cloud.discoveryengine.v1.SiteSearchEngineService.ListTargetSites] +// method. +message ListTargetSitesResponse { + // List of TargetSites. + repeated TargetSite target_sites = 1; + + // A token that can be sent as `page_token` to retrieve the next page. + // If this field is omitted, there are no subsequent pages. + string next_page_token = 2; + + // The total number of items matching the request. + // This will always be populated in the response. + int32 total_size = 3; +} + +// Metadata related to the progress of the +// [SiteSearchEngineService.BatchCreateTargetSites][google.cloud.discoveryengine.v1.SiteSearchEngineService.BatchCreateTargetSites] +// operation. This will be returned by the google.longrunning.Operation.metadata +// field. +message BatchCreateTargetSiteMetadata { + // Operation create time. + google.protobuf.Timestamp create_time = 1; + + // Operation last update time. If the operation is done, this is also the + // finish time. + google.protobuf.Timestamp update_time = 2; +} + +// Response message for +// [SiteSearchEngineService.BatchCreateTargetSites][google.cloud.discoveryengine.v1.SiteSearchEngineService.BatchCreateTargetSites] +// method. +message BatchCreateTargetSitesResponse { + // TargetSites created. + repeated TargetSite target_sites = 1; +} + +// Request message for +// [SiteSearchEngineService.EnableAdvancedSiteSearch][google.cloud.discoveryengine.v1.SiteSearchEngineService.EnableAdvancedSiteSearch] +// method. +message EnableAdvancedSiteSearchRequest { + // Required. Full resource name of the + // [SiteSearchEngine][google.cloud.discoveryengine.v1.SiteSearchEngine], such + // as + // `projects/{project}/locations/{location}/dataStores/{data_store_id}/siteSearchEngine`. + string site_search_engine = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/SiteSearchEngine" + } + ]; +} + +// Response message for +// [SiteSearchEngineService.EnableAdvancedSiteSearch][google.cloud.discoveryengine.v1.SiteSearchEngineService.EnableAdvancedSiteSearch] +// method. +message EnableAdvancedSiteSearchResponse {} + +// Metadata related to the progress of the +// [SiteSearchEngineService.EnableAdvancedSiteSearch][google.cloud.discoveryengine.v1.SiteSearchEngineService.EnableAdvancedSiteSearch] +// operation. This will be returned by the google.longrunning.Operation.metadata +// field. +message EnableAdvancedSiteSearchMetadata { + // Operation create time. + google.protobuf.Timestamp create_time = 1; + + // Operation last update time. If the operation is done, this is also the + // finish time. + google.protobuf.Timestamp update_time = 2; +} + +// Request message for +// [SiteSearchEngineService.DisableAdvancedSiteSearch][google.cloud.discoveryengine.v1.SiteSearchEngineService.DisableAdvancedSiteSearch] +// method. +message DisableAdvancedSiteSearchRequest { + // Required. Full resource name of the + // [SiteSearchEngine][google.cloud.discoveryengine.v1.SiteSearchEngine], such + // as + // `projects/{project}/locations/{location}/dataStores/{data_store_id}/siteSearchEngine`. + string site_search_engine = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/SiteSearchEngine" + } + ]; +} + +// Response message for +// [SiteSearchEngineService.DisableAdvancedSiteSearch][google.cloud.discoveryengine.v1.SiteSearchEngineService.DisableAdvancedSiteSearch] +// method. +message DisableAdvancedSiteSearchResponse {} + +// Metadata related to the progress of the +// [SiteSearchEngineService.DisableAdvancedSiteSearch][google.cloud.discoveryengine.v1.SiteSearchEngineService.DisableAdvancedSiteSearch] +// operation. This will be returned by the google.longrunning.Operation.metadata +// field. +message DisableAdvancedSiteSearchMetadata { + // Operation create time. + google.protobuf.Timestamp create_time = 1; + + // Operation last update time. If the operation is done, this is also the + // finish time. + google.protobuf.Timestamp update_time = 2; +} + +// Request message for +// [SiteSearchEngineService.RecrawlUris][google.cloud.discoveryengine.v1.SiteSearchEngineService.RecrawlUris] +// method. +message RecrawlUrisRequest { + // Required. Full resource name of the + // [SiteSearchEngine][google.cloud.discoveryengine.v1.SiteSearchEngine], such + // as `projects/*/locations/*/collections/*/dataStores/*/siteSearchEngine`. + string site_search_engine = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/SiteSearchEngine" + } + ]; + + // Required. List of URIs to crawl. At most 10K URIs are supported, otherwise + // an INVALID_ARGUMENT error is thrown. Each URI should match at least one + // [TargetSite][google.cloud.discoveryengine.v1.TargetSite] in + // `site_search_engine`. + repeated string uris = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Response message for +// [SiteSearchEngineService.RecrawlUris][google.cloud.discoveryengine.v1.SiteSearchEngineService.RecrawlUris] +// method. +message RecrawlUrisResponse { + // Details about why a particular URI failed to be crawled. Each FailureInfo + // contains one FailureReason per CorpusType. + message FailureInfo { + // Details about why crawling failed for a particular CorpusType, e.g., + // DESKTOP and MOBILE crawling may fail for different reasons. + message FailureReason { + // CorpusType for the failed crawling operation. + enum CorpusType { + // Default value. + CORPUS_TYPE_UNSPECIFIED = 0; + + // Denotes a crawling attempt for the desktop version of a page. + DESKTOP = 1; + + // Denotes a crawling attempt for the mobile version of a page. + MOBILE = 2; + } + + // DESKTOP, MOBILE, or CORPUS_TYPE_UNSPECIFIED. + CorpusType corpus_type = 1; + + // Reason why the URI was not crawled. + string error_message = 2; + } + + // URI that failed to be crawled. + string uri = 1; + + // List of failure reasons by corpus type (e.g. desktop, mobile). + repeated FailureReason failure_reasons = 2; + } + + // Details for a sample of up to 10 `failed_uris`. + repeated FailureInfo failure_samples = 1; + + // URIs that were not crawled before the LRO terminated. + repeated string failed_uris = 2; +} + +// Metadata related to the progress of the +// [SiteSearchEngineService.RecrawlUris][google.cloud.discoveryengine.v1.SiteSearchEngineService.RecrawlUris] +// operation. This will be returned by the google.longrunning.Operation.metadata +// field. +message RecrawlUrisMetadata { + // Operation create time. + google.protobuf.Timestamp create_time = 1; + + // Operation last update time. If the operation is done, this is also the + // finish time. + google.protobuf.Timestamp update_time = 2; + + // Unique URIs in the request that don't match any TargetSite in the + // DataStore, only match TargetSites that haven't been fully indexed, or match + // a TargetSite with type EXCLUDE. + repeated string invalid_uris = 3; + + // Total number of unique URIs in the request that are not in invalid_uris. + int32 valid_uris_count = 4; + + // Total number of URIs that have been crawled so far. + int32 success_count = 5; + + // Total number of URIs that have yet to be crawled. + int32 pending_count = 6; + + // Total number of URIs that were rejected due to insufficient indexing + // resources. + int32 quota_exceeded_count = 7; +} + +// Request message for +// [SiteSearchEngineService.BatchVerifyTargetSites][google.cloud.discoveryengine.v1.SiteSearchEngineService.BatchVerifyTargetSites] +// method. +message BatchVerifyTargetSitesRequest { + // Required. The parent resource shared by all TargetSites being verified. + // `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/SiteSearchEngine" + } + ]; +} + +// Response message for +// [SiteSearchEngineService.BatchVerifyTargetSites][google.cloud.discoveryengine.v1.SiteSearchEngineService.BatchVerifyTargetSites] +// method. +message BatchVerifyTargetSitesResponse {} + +// Metadata related to the progress of the +// [SiteSearchEngineService.BatchVerifyTargetSites][google.cloud.discoveryengine.v1.SiteSearchEngineService.BatchVerifyTargetSites] +// operation. This will be returned by the google.longrunning.Operation.metadata +// field. +message BatchVerifyTargetSitesMetadata { + // Operation create time. + google.protobuf.Timestamp create_time = 1; + + // Operation last update time. If the operation is done, this is also the + // finish time. + google.protobuf.Timestamp update_time = 2; +} + +// Request message for +// [SiteSearchEngineService.FetchDomainVerificationStatus][google.cloud.discoveryengine.v1.SiteSearchEngineService.FetchDomainVerificationStatus] +// method. +message FetchDomainVerificationStatusRequest { + // Required. The site search engine resource under which we fetch all the + // domain verification status. + // `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine`. + string site_search_engine = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/SiteSearchEngine" + } + ]; + + // Requested page size. Server may return fewer items than requested. If + // unspecified, server will pick an appropriate default. The maximum value is + // 1000; values above 1000 will be coerced to 1000. + // + // If this field is negative, an INVALID_ARGUMENT error is returned. + int32 page_size = 2; + + // A page token, received from a previous `FetchDomainVerificationStatus` + // call. Provide this to retrieve the subsequent page. + // + // When paginating, all other parameters provided to + // `FetchDomainVerificationStatus` must match the call that provided the page + // token. + string page_token = 3; +} + +// Response message for +// [SiteSearchEngineService.FetchDomainVerificationStatus][google.cloud.discoveryengine.v1.SiteSearchEngineService.FetchDomainVerificationStatus] +// method. +message FetchDomainVerificationStatusResponse { + // List of TargetSites containing the site verification status. + repeated TargetSite target_sites = 1; + + // A token that can be sent as `page_token` to retrieve the next page. + // If this field is omitted, there are no subsequent pages. + string next_page_token = 2; + + // The total number of items matching the request. + // This will always be populated in the response. + int32 total_size = 3; +} diff --git a/third_party/googleapis/google/cloud/discoveryengine/v1/user_event.proto b/third_party/googleapis/google/cloud/discoveryengine/v1/user_event.proto new file mode 100644 index 000000000..3c4de697d --- /dev/null +++ b/third_party/googleapis/google/cloud/discoveryengine/v1/user_event.proto @@ -0,0 +1,467 @@ +// 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.discoveryengine.v1; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/discoveryengine/v1/common.proto"; +import "google/protobuf/duration.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.DiscoveryEngine.V1"; +option go_package = "cloud.google.com/go/discoveryengine/apiv1/discoveryenginepb;discoveryenginepb"; +option java_multiple_files = true; +option java_outer_classname = "UserEventProto"; +option java_package = "com.google.cloud.discoveryengine.v1"; +option objc_class_prefix = "DISCOVERYENGINE"; +option php_namespace = "Google\\Cloud\\DiscoveryEngine\\V1"; +option ruby_package = "Google::Cloud::DiscoveryEngine::V1"; + +// UserEvent captures all metadata information Discovery Engine API needs to +// know about how end users interact with customers' website. +message UserEvent { + // Required. User event type. Allowed values are: + // + // Generic values: + // + // * `search`: Search for Documents. + // * `view-item`: Detailed page view of a Document. + // * `view-item-list`: View of a panel or ordered list of Documents. + // * `view-home-page`: View of the home page. + // * `view-category-page`: View of a category page, e.g. Home > Men > Jeans + // + // Retail-related values: + // + // * `add-to-cart`: Add an item(s) to cart, e.g. in Retail online shopping + // * `purchase`: Purchase an item(s) + // + // Media-related values: + // + // * `media-play`: Start/resume watching a video, playing a song, etc. + // * `media-complete`: Finished or stopped midway through a video, song, etc. + string event_type = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. A unique identifier for tracking visitors. + // + // For example, this could be implemented with an HTTP cookie, which should be + // able to uniquely identify a visitor on a single device. This unique + // identifier should not change if the visitor log in/out of the website. + // + // Do not set the field to the same fixed ID for different users. This mixes + // the event history of those users together, which results in degraded model + // quality. + // + // The field must be a UTF-8 encoded string with a length limit of 128 + // characters. Otherwise, an `INVALID_ARGUMENT` error is returned. + // + // The field should not contain PII or user-data. We recommend to use Google + // Analytics [Client + // ID](https://developers.google.com/analytics/devguides/collection/analyticsjs/field-reference#clientId) + // for this field. + string user_pseudo_id = 2 [(google.api.field_behavior) = REQUIRED]; + + // Only required for + // [UserEventService.ImportUserEvents][google.cloud.discoveryengine.v1.UserEventService.ImportUserEvents] + // method. Timestamp of when the user event happened. + google.protobuf.Timestamp event_time = 3; + + // Information about the end user. + UserInfo user_info = 4; + + // Should set to true if the request is made directly from the end user, in + // which case the + // [UserEvent.user_info.user_agent][google.cloud.discoveryengine.v1.UserInfo.user_agent] + // can be populated from the HTTP request. + // + // This flag should be set only if the API request is made directly from the + // end user such as a mobile app (and not if a gateway or a server is + // processing and pushing the user events). + // + // This should not be set when using the JavaScript tag in + // [UserEventService.CollectUserEvent][google.cloud.discoveryengine.v1.UserEventService.CollectUserEvent]. + bool direct_user_request = 5; + + // A unique identifier for tracking a visitor session with a length limit of + // 128 bytes. A session is an aggregation of an end user behavior in a time + // span. + // + // A general guideline to populate the session_id: + // + // 1. If user has no activity for 30 min, a new session_id should be assigned. + // 2. The session_id should be unique across users, suggest use uuid or add + // [UserEvent.user_pseudo_id][google.cloud.discoveryengine.v1.UserEvent.user_pseudo_id] + // as prefix. + string session_id = 6; + + // Page metadata such as categories and other critical information for certain + // event types such as `view-category-page`. + PageInfo page_info = 7; + + // Token to attribute an API response to user action(s) to trigger the event. + // + // Highly recommended for user events that are the result of + // [RecommendationService.Recommend][]. This field enables accurate + // attribution of recommendation model performance. + // + // The value must be one of: + // + // * [RecommendResponse.attribution_token][] for events that are the result of + // [RecommendationService.Recommend][]. + // * [SearchResponse.attribution_token][google.cloud.discoveryengine.v1.SearchResponse.attribution_token] for events that are the result of + // [SearchService.Search][google.cloud.discoveryengine.v1.SearchService.Search]. + // + // This token enables us to accurately attribute page view or conversion + // completion back to the event and the particular predict response containing + // this clicked/purchased product. If user clicks on product K in the + // recommendation results, pass [RecommendResponse.attribution_token][] as a + // URL parameter to product K's page. When recording events on product K's + // page, log the [RecommendResponse.attribution_token][] to this field. + string attribution_token = 8; + + // The filter syntax consists of an expression language for constructing a + // predicate from one or more fields of the documents being filtered. + // + // One example is for `search` events, the associated + // [SearchRequest][google.cloud.discoveryengine.v1.SearchRequest] may contain + // a filter expression in + // [SearchRequest.filter][google.cloud.discoveryengine.v1.SearchRequest.filter] + // conforming to https://google.aip.dev/160#filtering. + // + // Similarly, for `view-item-list` events that are generated from a + // [RecommendRequest][], this field may be populated directly from + // [RecommendRequest.filter][] conforming to + // https://google.aip.dev/160#filtering. + // + // The value must be a UTF-8 encoded string with a length limit of 1,000 + // characters. Otherwise, an `INVALID_ARGUMENT` error is returned. + string filter = 9; + + // List of [Document][google.cloud.discoveryengine.v1.Document]s associated + // with this user event. + // + // This field is optional except for the following event types: + // + // * `view-item` + // * `add-to-cart` + // * `purchase` + // * `media-play` + // * `media-complete` + // + // In a `search` event, this field represents the documents returned to the + // end user on the current page (the end user may have not finished browsing + // the whole page yet). When a new page is returned to the end user, after + // pagination/filtering/ordering even for the same query, a new `search` event + // with different + // [UserEvent.documents][google.cloud.discoveryengine.v1.UserEvent.documents] + // is desired. + repeated DocumentInfo documents = 10; + + // Panel metadata associated with this user event. + PanelInfo panel = 11; + + // [SearchService.Search][google.cloud.discoveryengine.v1.SearchService.Search] + // details related to the event. + // + // This field should be set for `search` event. + SearchInfo search_info = 12; + + // [CompletionService.CompleteQuery][google.cloud.discoveryengine.v1.CompletionService.CompleteQuery] + // details related to the event. + // + // This field should be set for `search` event when autocomplete function is + // enabled and the user clicks a suggestion for search. + CompletionInfo completion_info = 13; + + // The transaction metadata (if any) associated with this user event. + TransactionInfo transaction_info = 14; + + // A list of identifiers for the independent experiment groups this user event + // belongs to. This is used to distinguish between user events associated with + // different experiment setups on the customer end. + repeated string tag_ids = 15; + + // The promotion IDs if this is an event associated with promotions. + // Currently, this field is restricted to at most one ID. + repeated string promotion_ids = 16; + + // Extra user event features to include in the recommendation model. + // These attributes must NOT contain data that needs to be parsed or processed + // further, e.g. JSON or other encodings. + // + // If you provide custom attributes for ingested user events, also include + // them in the user events that you associate with prediction requests. Custom + // attribute formatting must be consistent between imported events and events + // provided with prediction requests. This lets the Discovery Engine API use + // those custom attributes when training models and serving predictions, which + // helps improve recommendation quality. + // + // This field needs to pass all below criteria, otherwise an + // `INVALID_ARGUMENT` error is returned: + // + // * The key must be a UTF-8 encoded string with a length limit of 5,000 + // characters. + // * For text attributes, at most 400 values are allowed. Empty values are not + // allowed. Each value must be a UTF-8 encoded string with a length limit of + // 256 characters. + // * For number attributes, at most 400 values are allowed. + // + // For product recommendations, an example of extra user information is + // `traffic_channel`, which is how a user arrives at the site. Users can + // arrive + // at the site by coming to the site directly, coming through Google + // search, or in other ways. + map attributes = 17; + + // Media-specific info. + MediaInfo media_info = 18; +} + +// Detailed page information. +message PageInfo { + // A unique ID of a web page view. + // + // This should be kept the same for all user events triggered from the same + // pageview. For example, an item detail page view could trigger multiple + // events as the user is browsing the page. The `pageview_id` property should + // be kept the same for all these events so that they can be grouped together + // properly. + // + // When using the client side event reporting with JavaScript pixel and Google + // Tag Manager, this value is filled in automatically. + string pageview_id = 1; + + // The most specific category associated with a category page. + // + // To represent full path of category, use '>' sign to separate different + // hierarchies. If '>' is part of the category name, please replace it with + // other character(s). + // + // Category pages include special pages such as sales or promotions. For + // instance, a special sale page may have the category hierarchy: + // `"pageCategory" : "Sales > 2017 Black Friday Deals"`. + // + // Required for `view-category-page` events. Other event types should not set + // this field. Otherwise, an `INVALID_ARGUMENT` error is returned. + string page_category = 2; + + // Complete URL (window.location.href) of the user's current page. + // + // When using the client side event reporting with JavaScript pixel and Google + // Tag Manager, this value is filled in automatically. Maximum length 5,000 + // characters. + string uri = 3; + + // The referrer URL of the current page. + // + // When using the client side event reporting with JavaScript pixel and Google + // Tag Manager, this value is filled in automatically. However, some browser + // privacy restrictions may cause this field to be empty. + string referrer_uri = 4; +} + +// Detailed search information. +message SearchInfo { + // The user's search query. + // + // See + // [SearchRequest.query][google.cloud.discoveryengine.v1.SearchRequest.query] + // for definition. + // + // The value must be a UTF-8 encoded string with a length limit of 5,000 + // characters. Otherwise, an `INVALID_ARGUMENT` error is returned. + // + // At least one of + // [search_query][google.cloud.discoveryengine.v1.SearchInfo.search_query] or + // [PageInfo.page_category][google.cloud.discoveryengine.v1.PageInfo.page_category] + // is required for `search` events. Other event types should not set this + // field. Otherwise, an `INVALID_ARGUMENT` error is returned. + string search_query = 1; + + // The order in which products are returned, if applicable. + // + // See + // [SearchRequest.order_by][google.cloud.discoveryengine.v1.SearchRequest.order_by] + // for definition and syntax. + // + // The value must be a UTF-8 encoded string with a length limit of 1,000 + // characters. Otherwise, an `INVALID_ARGUMENT` error is returned. + // + // This can only be set for `search` events. Other event types should not set + // this field. Otherwise, an `INVALID_ARGUMENT` error is returned. + string order_by = 2; + + // An integer that specifies the current offset for pagination (the 0-indexed + // starting location, amongst the products deemed by the API as relevant). + // + // See + // [SearchRequest.offset][google.cloud.discoveryengine.v1.SearchRequest.offset] + // for definition. + // + // If this field is negative, an `INVALID_ARGUMENT` is returned. + // + // This can only be set for `search` events. Other event types should not set + // this field. Otherwise, an `INVALID_ARGUMENT` error is returned. + optional int32 offset = 3; +} + +// Detailed completion information including completion attribution token and +// clicked completion info. +message CompletionInfo { + // End user selected + // [CompleteQueryResponse.QuerySuggestion.suggestion][google.cloud.discoveryengine.v1.CompleteQueryResponse.QuerySuggestion.suggestion]. + string selected_suggestion = 1; + + // End user selected + // [CompleteQueryResponse.QuerySuggestion.suggestion][google.cloud.discoveryengine.v1.CompleteQueryResponse.QuerySuggestion.suggestion] + // position, starting from 0. + int32 selected_position = 2; +} + +// A transaction represents the entire purchase transaction. +message TransactionInfo { + // Required. Total non-zero value associated with the transaction. This value + // may include shipping, tax, or other adjustments to the total value that you + // want to include. + optional float value = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. Currency code. Use three-character ISO-4217 code. + string currency = 2 [(google.api.field_behavior) = REQUIRED]; + + // The transaction ID with a length limit of 128 characters. + string transaction_id = 3; + + // All the taxes associated with the transaction. + optional float tax = 4; + + // All the costs associated with the products. These can be manufacturing + // costs, shipping expenses not borne by the end user, or any other costs, + // such that: + // + // * Profit = [value][google.cloud.discoveryengine.v1.TransactionInfo.value] - + // [tax][google.cloud.discoveryengine.v1.TransactionInfo.tax] - + // [cost][google.cloud.discoveryengine.v1.TransactionInfo.cost] + optional float cost = 5; + + // The total discount(s) value applied to this transaction. + // This figure should be excluded from + // [TransactionInfo.value][google.cloud.discoveryengine.v1.TransactionInfo.value] + // + // For example, if a user paid + // [TransactionInfo.value][google.cloud.discoveryengine.v1.TransactionInfo.value] + // amount, then nominal (pre-discount) value of the transaction is the sum of + // [TransactionInfo.value][google.cloud.discoveryengine.v1.TransactionInfo.value] + // and + // [TransactionInfo.discount_value][google.cloud.discoveryengine.v1.TransactionInfo.discount_value] + // + // This means that profit is calculated the same way, regardless of the + // discount value, and that + // [TransactionInfo.discount_value][google.cloud.discoveryengine.v1.TransactionInfo.discount_value] + // can be larger than + // [TransactionInfo.value][google.cloud.discoveryengine.v1.TransactionInfo.value]: + // + // * Profit = [value][google.cloud.discoveryengine.v1.TransactionInfo.value] - + // [tax][google.cloud.discoveryengine.v1.TransactionInfo.tax] - + // [cost][google.cloud.discoveryengine.v1.TransactionInfo.cost] + optional float discount_value = 6; +} + +// Detailed document information associated with a user event. +message DocumentInfo { + // A required descriptor of the associated + // [Document][google.cloud.discoveryengine.v1.Document]. + // + // * If [id][google.cloud.discoveryengine.v1.DocumentInfo.id] is specified, + // then the default values for + // `{location}`, `{collection_id}`, `{data_store_id}`, and `{branch_id}` are + // used when annotating with the stored Document. + // + // * If [name][google.cloud.discoveryengine.v1.DocumentInfo.name] is + // specified, then the provided values (default values allowed) for + // `{location}`, `{collection_id}`, `{data_store_id}`, and + // `{branch_id}` are used when annotating with the stored Document. + oneof document_descriptor { + // The [Document][google.cloud.discoveryengine.v1.Document] resource ID. + string id = 1; + + // The [Document][google.cloud.discoveryengine.v1.Document] resource full + // name, of the form: + // `projects/{project_id}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}/branches/{branch_id}/documents/{document_id}` + string name = 2 [(google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/Document" + }]; + + // The [Document][google.cloud.discoveryengine.v1.Document] URI - only + // allowed for website data stores. + string uri = 6; + } + + // Quantity of the Document associated with the user event. Defaults to 1. + // + // For example, this field will be 2 if two quantities of the same Document + // are involved in a `add-to-cart` event. + // + // Required for events of the following event types: + // + // * `add-to-cart` + // * `purchase` + optional int32 quantity = 3; + + // The promotion IDs associated with this Document. + // Currently, this field is restricted to at most one ID. + repeated string promotion_ids = 4; +} + +// Detailed panel information associated with a user event. +message PanelInfo { + // Required. The panel ID. + string panel_id = 2 [(google.api.field_behavior) = REQUIRED]; + + // The display name of the panel. + string display_name = 3; + + // The ordered position of the panel, if shown to the user with other panels. + // If set, then + // [total_panels][google.cloud.discoveryengine.v1.PanelInfo.total_panels] must + // also be set. + optional int32 panel_position = 4; + + // The total number of panels, including this one, shown to the user. + // Must be set if + // [panel_position][google.cloud.discoveryengine.v1.PanelInfo.panel_position] + // is set. + optional int32 total_panels = 5; +} + +// Media-specific user event information. +message MediaInfo { + // The media progress time in seconds, if applicable. + // For example, if the end user has finished 90 seconds of a playback video, + // then + // [MediaInfo.media_progress_duration.seconds][google.protobuf.Duration.seconds] + // should be set to 90. + google.protobuf.Duration media_progress_duration = 1; + + // Media progress should be computed using only the + // [media_progress_duration][google.cloud.discoveryengine.v1.MediaInfo.media_progress_duration] + // relative to the media total length. + // + // This value must be between `[0, 1.0]` inclusive. + // + // If this is not a playback or the progress cannot be computed (e.g. ongoing + // livestream), this field should be unset. + optional float media_progress_percentage = 2; +} diff --git a/third_party/googleapis/google/cloud/discoveryengine/v1/user_event_service.proto b/third_party/googleapis/google/cloud/discoveryengine/v1/user_event_service.proto new file mode 100644 index 000000000..faedebe66 --- /dev/null +++ b/third_party/googleapis/google/cloud/discoveryengine/v1/user_event_service.proto @@ -0,0 +1,133 @@ +// 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.discoveryengine.v1; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/httpbody.proto"; +import "google/api/resource.proto"; +import "google/cloud/discoveryengine/v1/import_config.proto"; +import "google/cloud/discoveryengine/v1/user_event.proto"; +import "google/longrunning/operations.proto"; + +option csharp_namespace = "Google.Cloud.DiscoveryEngine.V1"; +option go_package = "cloud.google.com/go/discoveryengine/apiv1/discoveryenginepb;discoveryenginepb"; +option java_multiple_files = true; +option java_outer_classname = "UserEventServiceProto"; +option java_package = "com.google.cloud.discoveryengine.v1"; +option objc_class_prefix = "DISCOVERYENGINE"; +option php_namespace = "Google\\Cloud\\DiscoveryEngine\\V1"; +option ruby_package = "Google::Cloud::DiscoveryEngine::V1"; + +// Service for ingesting end user actions on a website to Discovery Engine API. +service UserEventService { + option (google.api.default_host) = "discoveryengine.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform"; + + // Writes a single user event. + rpc WriteUserEvent(WriteUserEventRequest) returns (UserEvent) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*/dataStores/*}/userEvents:write" + body: "user_event" + additional_bindings { + post: "/v1/{parent=projects/*/locations/*/collections/*/dataStores/*}/userEvents:write" + body: "user_event" + } + }; + } + + // Writes a single user event from the browser. This uses a GET request to + // due to browser restriction of POST-ing to a third-party domain. + // + // This method is used only by the Discovery Engine API JavaScript pixel and + // Google Tag Manager. Users should not call this method directly. + rpc CollectUserEvent(CollectUserEventRequest) returns (google.api.HttpBody) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*/dataStores/*}/userEvents:collect" + additional_bindings { + get: "/v1/{parent=projects/*/locations/*/collections/*/dataStores/*}/userEvents:collect" + } + }; + } + + // Bulk import of User events. Request processing might be + // synchronous. Events that already exist are skipped. + // Use this method for backfilling historical user events. + // + // Operation.response is of type ImportResponse. Note that it is + // possible for a subset of the items to be successfully inserted. + // Operation.metadata is of type ImportMetadata. + rpc ImportUserEvents(ImportUserEventsRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*/dataStores/*}/userEvents:import" + body: "*" + additional_bindings { + post: "/v1/{parent=projects/*/locations/*/collections/*/dataStores/*}/userEvents:import" + body: "*" + } + }; + option (google.longrunning.operation_info) = { + response_type: "google.cloud.discoveryengine.v1.ImportUserEventsResponse" + metadata_type: "google.cloud.discoveryengine.v1.ImportUserEventsMetadata" + }; + } +} + +// Request message for WriteUserEvent method. +message WriteUserEventRequest { + // Required. The parent DataStore resource name, such as + // `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/DataStore" + } + ]; + + // Required. User event to write. + optional UserEvent user_event = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for CollectUserEvent method. +message CollectUserEventRequest { + // Required. The parent DataStore resource name, such as + // `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/DataStore" + } + ]; + + // Required. URL encoded UserEvent proto with a length limit of 2,000,000 + // characters. + string user_event = 2 [(google.api.field_behavior) = REQUIRED]; + + // The URL including cgi-parameters but excluding the hash fragment with a + // length limit of 5,000 characters. This is often more useful than the + // referer URL, because many browsers only send the domain for third-party + // requests. + optional string uri = 3; + + // The event timestamp in milliseconds. This prevents browser caching of + // otherwise identical get requests. The name is abbreviated to reduce the + // payload bytes. + optional int64 ets = 4; +} diff --git a/third_party/googleapis/google/cloud/discoveryengine/v1alpha/BUILD.bazel b/third_party/googleapis/google/cloud/discoveryengine/v1alpha/BUILD.bazel new file mode 100644 index 000000000..ee09533f8 --- /dev/null +++ b/third_party/googleapis/google/cloud/discoveryengine/v1alpha/BUILD.bazel @@ -0,0 +1,432 @@ +# 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 = "discoveryengine_proto", + srcs = [ + "common.proto", + "completion_service.proto", + "conversation.proto", + "conversational_search_service.proto", + "data_store.proto", + "data_store_service.proto", + "document.proto", + "document_service.proto", + "engine.proto", + "engine_service.proto", + "import_config.proto", + "purge_config.proto", + "recommendation_service.proto", + "schema.proto", + "schema_service.proto", + "search_service.proto", + "search_tuning_service.proto", + "site_search_engine.proto", + "site_search_engine_service.proto", + "user_event.proto", + "user_event_service.proto", + ], + deps = [ + "//google/api:annotations_proto", + "//google/api:client_proto", + "//google/api:field_behavior_proto", + "//google/api:httpbody_proto", + "//google/api:resource_proto", + "//google/longrunning:operations_proto", + "//google/rpc:status_proto", + "//google/type:date_proto", + "@com_google_protobuf//:duration_proto", + "@com_google_protobuf//:empty_proto", + "@com_google_protobuf//:field_mask_proto", + "@com_google_protobuf//:struct_proto", + "@com_google_protobuf//:timestamp_proto", + ], +) + +proto_library_with_info( + name = "discoveryengine_proto_with_info", + deps = [ + ":discoveryengine_proto", + "//google/cloud/location:location_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 = "discoveryengine_java_proto", + deps = [":discoveryengine_proto"], +) + +java_grpc_library( + name = "discoveryengine_java_grpc", + srcs = [":discoveryengine_proto"], + deps = [":discoveryengine_java_proto"], +) + +java_gapic_library( + name = "discoveryengine_java_gapic", + srcs = [":discoveryengine_proto_with_info"], + gapic_yaml = None, + grpc_service_config = "discoveryengine_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "discoveryengine_v1alpha.yaml", + test_deps = [ + "//google/cloud/location:location_java_grpc", + ":discoveryengine_java_grpc", + ], + transport = "grpc+rest", + deps = [ + ":discoveryengine_java_proto", + "//google/api:api_java_proto", + "//google/cloud/location:location_java_proto", + ], +) + +java_gapic_test( + name = "discoveryengine_java_gapic_test_suite", + test_classes = [ + "com.google.cloud.discoveryengine.v1alpha.CompletionServiceClientHttpJsonTest", + "com.google.cloud.discoveryengine.v1alpha.CompletionServiceClientTest", + "com.google.cloud.discoveryengine.v1alpha.ConversationalSearchServiceClientHttpJsonTest", + "com.google.cloud.discoveryengine.v1alpha.ConversationalSearchServiceClientTest", + "com.google.cloud.discoveryengine.v1alpha.DataStoreServiceClientHttpJsonTest", + "com.google.cloud.discoveryengine.v1alpha.DataStoreServiceClientTest", + "com.google.cloud.discoveryengine.v1alpha.DocumentServiceClientHttpJsonTest", + "com.google.cloud.discoveryengine.v1alpha.DocumentServiceClientTest", + "com.google.cloud.discoveryengine.v1alpha.EngineServiceClientHttpJsonTest", + "com.google.cloud.discoveryengine.v1alpha.EngineServiceClientTest", + "com.google.cloud.discoveryengine.v1alpha.RecommendationServiceClientHttpJsonTest", + "com.google.cloud.discoveryengine.v1alpha.RecommendationServiceClientTest", + "com.google.cloud.discoveryengine.v1alpha.SchemaServiceClientHttpJsonTest", + "com.google.cloud.discoveryengine.v1alpha.SchemaServiceClientTest", + "com.google.cloud.discoveryengine.v1alpha.SearchServiceClientHttpJsonTest", + "com.google.cloud.discoveryengine.v1alpha.SearchServiceClientTest", + "com.google.cloud.discoveryengine.v1alpha.SearchTuningServiceClientHttpJsonTest", + "com.google.cloud.discoveryengine.v1alpha.SearchTuningServiceClientTest", + "com.google.cloud.discoveryengine.v1alpha.SiteSearchEngineServiceClientHttpJsonTest", + "com.google.cloud.discoveryengine.v1alpha.SiteSearchEngineServiceClientTest", + "com.google.cloud.discoveryengine.v1alpha.UserEventServiceClientHttpJsonTest", + "com.google.cloud.discoveryengine.v1alpha.UserEventServiceClientTest", + ], + runtime_deps = [":discoveryengine_java_gapic_test"], +) + +# Open Source Packages +java_gapic_assembly_gradle_pkg( + name = "google-cloud-discoveryengine-v1alpha-java", + transport = "grpc+rest", + deps = [ + ":discoveryengine_java_gapic", + ":discoveryengine_java_grpc", + ":discoveryengine_java_proto", + ":discoveryengine_proto", + ], + include_samples = True, +) + +############################################################################## +# Go +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "go_gapic_assembly_pkg", + "go_gapic_library", + "go_proto_library", +) + +go_proto_library( + name = "discoveryengine_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "cloud.google.com/go/discoveryengine/apiv1alpha/discoveryenginepb", + protos = [":discoveryengine_proto"], + deps = [ + "//google/api:annotations_go_proto", + "//google/api:httpbody_go_proto", + "//google/longrunning:longrunning_go_proto", + "//google/rpc:status_go_proto", + "//google/type:date_go_proto", + ], +) + +go_gapic_library( + name = "discoveryengine_go_gapic", + srcs = [":discoveryengine_proto_with_info"], + grpc_service_config = "discoveryengine_grpc_service_config.json", + importpath = "cloud.google.com/go/discoveryengine/apiv1alpha;discoveryengine", + metadata = True, + release_level = "beta", + rest_numeric_enums = True, + service_yaml = "discoveryengine_v1alpha.yaml", + transport = "grpc+rest", + deps = [ + ":discoveryengine_go_proto", + "//google/api:httpbody_go_proto", + "//google/cloud/location:location_go_proto", + "//google/longrunning:longrunning_go_proto", + "@com_google_cloud_go_longrunning//:go_default_library", + "@com_google_cloud_go_longrunning//autogen:go_default_library", + "@io_bazel_rules_go//proto/wkt:duration_go_proto", + "@io_bazel_rules_go//proto/wkt:struct_go_proto", + ], +) + +# Open Source Packages +go_gapic_assembly_pkg( + name = "gapi-cloud-discoveryengine-v1alpha-go", + deps = [ + ":discoveryengine_go_gapic", + ":discoveryengine_go_gapic_srcjar-test.srcjar", + ":discoveryengine_go_gapic_srcjar-metadata.srcjar", + ":discoveryengine_go_gapic_srcjar-snippets.srcjar", + ":discoveryengine_go_proto", + ], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "py_gapic_assembly_pkg", + "py_gapic_library", + "py_test", +) + +py_gapic_library( + name = "discoveryengine_py_gapic", + srcs = [":discoveryengine_proto"], + grpc_service_config = "discoveryengine_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "discoveryengine_v1alpha.yaml", + transport = "grpc+rest", + deps = [], +) + +py_test( + name = "discoveryengine_py_gapic_test", + srcs = [ + "discoveryengine_py_gapic_pytest.py", + "discoveryengine_py_gapic_test.py", + ], + legacy_create_init = False, + deps = [":discoveryengine_py_gapic"], +) + +# Open Source Packages +py_gapic_assembly_pkg( + name = "discoveryengine-v1alpha-py", + deps = [ + ":discoveryengine_py_gapic", + ], +) + +############################################################################## +# PHP +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "php_gapic_assembly_pkg", + "php_gapic_library", + "php_proto_library", +) + +php_proto_library( + name = "discoveryengine_php_proto", + deps = [":discoveryengine_proto"], +) + +php_gapic_library( + name = "discoveryengine_php_gapic", + srcs = [":discoveryengine_proto_with_info"], + grpc_service_config = "discoveryengine_grpc_service_config.json", + rest_numeric_enums = True, + migration_mode = "NEW_SURFACE_ONLY", + service_yaml = "discoveryengine_v1alpha.yaml", + transport = "grpc+rest", + deps = [ + ":discoveryengine_php_proto", + ], +) + +# Open Source Packages +php_gapic_assembly_pkg( + name = "google-cloud-discoveryengine-v1alpha-php", + deps = [ + ":discoveryengine_php_gapic", + ":discoveryengine_php_proto", + ], +) + +############################################################################## +# Node.js +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "nodejs_gapic_assembly_pkg", + "nodejs_gapic_library", +) + +nodejs_gapic_library( + name = "discoveryengine_nodejs_gapic", + package_name = "@google-cloud/discoveryengine", + src = ":discoveryengine_proto_with_info", + extra_protoc_parameters = ["metadata"], + grpc_service_config = "discoveryengine_grpc_service_config.json", + package = "google.cloud.discoveryengine.v1alpha", + rest_numeric_enums = True, + service_yaml = "discoveryengine_v1alpha.yaml", + transport = "grpc+rest", + deps = [], +) + +nodejs_gapic_assembly_pkg( + name = "discoveryengine-v1alpha-nodejs", + deps = [ + ":discoveryengine_nodejs_gapic", + ":discoveryengine_proto", + ], +) + +############################################################################## +# Ruby +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "ruby_gapic_assembly_pkg", + "ruby_cloud_gapic_library", + "ruby_grpc_library", + "ruby_proto_library", +) + +ruby_proto_library( + name = "discoveryengine_ruby_proto", + deps = [":discoveryengine_proto"], +) + +ruby_grpc_library( + name = "discoveryengine_ruby_grpc", + srcs = [":discoveryengine_proto"], + deps = [":discoveryengine_ruby_proto"], +) + +ruby_cloud_gapic_library( + name = "discoveryengine_ruby_gapic", + srcs = [":discoveryengine_proto_with_info"], + extra_protoc_parameters = [ + "ruby-cloud-gem-name=google-cloud-discoveryengine-v1alpha", + ], + grpc_service_config = "discoveryengine_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "discoveryengine_v1alpha.yaml", + transport = "grpc+rest", + deps = [ + ":discoveryengine_ruby_grpc", + ":discoveryengine_ruby_proto", + ], +) + +# Open Source Packages +ruby_gapic_assembly_pkg( + name = "google-cloud-discoveryengine-v1alpha-ruby", + deps = [ + ":discoveryengine_ruby_gapic", + ":discoveryengine_ruby_grpc", + ":discoveryengine_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 = "discoveryengine_csharp_proto", + extra_opts = [], + deps = [":discoveryengine_proto"], +) + +csharp_grpc_library( + name = "discoveryengine_csharp_grpc", + srcs = [":discoveryengine_proto"], + deps = [":discoveryengine_csharp_proto"], +) + +csharp_gapic_library( + name = "discoveryengine_csharp_gapic", + srcs = [":discoveryengine_proto_with_info"], + common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json", + grpc_service_config = "discoveryengine_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "discoveryengine_v1alpha.yaml", + deps = [ + ":discoveryengine_csharp_grpc", + ":discoveryengine_csharp_proto", + ], +) + +# Open Source Packages +csharp_gapic_assembly_pkg( + name = "google-cloud-discoveryengine-v1alpha-csharp", + deps = [ + ":discoveryengine_csharp_gapic", + ":discoveryengine_csharp_grpc", + ":discoveryengine_csharp_proto", + ], +) + +############################################################################## +# C++ +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "cc_grpc_library", + "cc_proto_library", +) + +cc_proto_library( + name = "discoveryengine_cc_proto", + deps = [":discoveryengine_proto"], +) + +cc_grpc_library( + name = "discoveryengine_cc_grpc", + srcs = [":discoveryengine_proto"], + grpc_only = True, + deps = [":discoveryengine_cc_proto"], +) diff --git a/third_party/googleapis/google/cloud/discoveryengine/v1alpha/common.proto b/third_party/googleapis/google/cloud/discoveryengine/v1alpha/common.proto new file mode 100644 index 000000000..3fb016429 --- /dev/null +++ b/third_party/googleapis/google/cloud/discoveryengine/v1alpha/common.proto @@ -0,0 +1,185 @@ +// 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.discoveryengine.v1alpha; + +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Cloud.DiscoveryEngine.V1Alpha"; +option go_package = "cloud.google.com/go/discoveryengine/apiv1alpha/discoveryenginepb;discoveryenginepb"; +option java_multiple_files = true; +option java_outer_classname = "CommonProto"; +option java_package = "com.google.cloud.discoveryengine.v1alpha"; +option objc_class_prefix = "DISCOVERYENGINE"; +option php_namespace = "Google\\Cloud\\DiscoveryEngine\\V1alpha"; +option ruby_package = "Google::Cloud::DiscoveryEngine::V1alpha"; +option (google.api.resource_definition) = { + type: "discoveryengine.googleapis.com/Branch" + pattern: "projects/{project}/locations/{location}/dataStores/{data_store}/branches/{branch}" + pattern: "projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}" +}; +option (google.api.resource_definition) = { + type: "discoveryengine.googleapis.com/Collection" + pattern: "projects/{project}/locations/{location}/collections/{collection}" +}; +option (google.api.resource_definition) = { + type: "discoveryengine.googleapis.com/ServingConfig" + pattern: "projects/{project}/locations/{location}/dataStores/{data_store}/servingConfigs/{serving_config}" + pattern: "projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/servingConfigs/{serving_config}" + pattern: "projects/{project}/locations/{location}/collections/{collection}/engines/{engine}/servingConfigs/{serving_config}" +}; + +// The industry vertical associated with the +// [DataStore][google.cloud.discoveryengine.v1alpha.DataStore]. +enum IndustryVertical { + // Value used when unset. + INDUSTRY_VERTICAL_UNSPECIFIED = 0; + + // The generic vertical for documents that are not specific to any industry + // vertical. + GENERIC = 1; + + // The media industry vertical. + MEDIA = 2; +} + +// The type of solution. +enum SolutionType { + // Default value. + SOLUTION_TYPE_UNSPECIFIED = 0; + + // Used for Recommendations AI. + SOLUTION_TYPE_RECOMMENDATION = 1; + + // Used for Discovery Search. + SOLUTION_TYPE_SEARCH = 2; + + // Used for use cases related to the Generative AI agent. + SOLUTION_TYPE_CHAT = 3; +} + +// Tiers of search features. Different tiers might have different +// pricing. To learn more, please check the pricing documentation. +enum SearchTier { + // Default value when the enum is unspecified. This is invalid to use. + SEARCH_TIER_UNSPECIFIED = 0; + + // Standard tier. + SEARCH_TIER_STANDARD = 1; + + // Enterprise tier. + SEARCH_TIER_ENTERPRISE = 2; +} + +// Add-on that provides additional functionality for search. +enum SearchAddOn { + // Default value when the enum is unspecified. This is invalid to use. + SEARCH_ADD_ON_UNSPECIFIED = 0; + + // Large language model add-on. + SEARCH_ADD_ON_LLM = 1; +} + +// A floating point interval. +message Interval { + // The lower bound of the interval. If neither of the min fields are + // set, then the lower bound is negative infinity. + // + // This field must be not larger than max. + // Otherwise, an `INVALID_ARGUMENT` error is returned. + oneof min { + // Inclusive lower bound. + double minimum = 1; + + // Exclusive lower bound. + double exclusive_minimum = 2; + } + + // The upper bound of the interval. If neither of the max fields are + // set, then the upper bound is positive infinity. + // + // This field must be not smaller than min. + // Otherwise, an `INVALID_ARGUMENT` error is returned. + oneof max { + // Inclusive upper bound. + double maximum = 3; + + // Exclusive upper bound. + double exclusive_maximum = 4; + } +} + +// A custom attribute that is not explicitly modeled in a resource, e.g. +// [UserEvent][google.cloud.discoveryengine.v1alpha.UserEvent]. +message CustomAttribute { + // The textual values of this custom attribute. For example, `["yellow", + // "green"]` when the key is "color". + // + // Empty string is not allowed. Otherwise, an `INVALID_ARGUMENT` error is + // returned. + // + // Exactly one of + // [CustomAttribute.text][google.cloud.discoveryengine.v1alpha.CustomAttribute.text] + // or + // [CustomAttribute.numbers][google.cloud.discoveryengine.v1alpha.CustomAttribute.numbers] + // should be set. Otherwise, an `INVALID_ARGUMENT` error is returned. + repeated string text = 1; + + // The numerical values of this custom attribute. For example, `[2.3, 15.4]` + // when the key is "lengths_cm". + // + // Exactly one of + // [CustomAttribute.text][google.cloud.discoveryengine.v1alpha.CustomAttribute.text] + // or + // [CustomAttribute.numbers][google.cloud.discoveryengine.v1alpha.CustomAttribute.numbers] + // should be set. Otherwise, an `INVALID_ARGUMENT` error is returned. + repeated double numbers = 2; +} + +// Information of an end user. +message UserInfo { + // Highly recommended for logged-in users. Unique identifier for logged-in + // user, such as a user name. Don't set for anonymous users. + // + // Always use a hashed value for this ID. + // + // Don't set the field to the same fixed ID for different users. This mixes + // the event history of those users together, which results in degraded + // model quality. + // + // The field must be a UTF-8 encoded string with a length limit of 128 + // characters. Otherwise, an `INVALID_ARGUMENT` error is returned. + string user_id = 1; + + // User agent as included in the HTTP header. + // + // The field must be a UTF-8 encoded string with a length limit of 1,000 + // characters. Otherwise, an `INVALID_ARGUMENT` error is returned. + // + // This should not be set when using the client side event reporting with + // GTM or JavaScript tag in + // [UserEventService.CollectUserEvent][google.cloud.discoveryengine.v1alpha.UserEventService.CollectUserEvent] + // or if + // [UserEvent.direct_user_request][google.cloud.discoveryengine.v1alpha.UserEvent.direct_user_request] + // is set. + string user_agent = 2; +} + +// Double list. +message DoubleList { + // Double values. + repeated double values = 1; +} diff --git a/third_party/googleapis/google/cloud/discoveryengine/v1alpha/completion_service.proto b/third_party/googleapis/google/cloud/discoveryengine/v1alpha/completion_service.proto new file mode 100644 index 000000000..d035688e3 --- /dev/null +++ b/third_party/googleapis/google/cloud/discoveryengine/v1alpha/completion_service.proto @@ -0,0 +1,134 @@ +// 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.discoveryengine.v1alpha; + +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.Cloud.DiscoveryEngine.V1Alpha"; +option go_package = "cloud.google.com/go/discoveryengine/apiv1alpha/discoveryenginepb;discoveryenginepb"; +option java_multiple_files = true; +option java_outer_classname = "CompletionServiceProto"; +option java_package = "com.google.cloud.discoveryengine.v1alpha"; +option objc_class_prefix = "DISCOVERYENGINE"; +option php_namespace = "Google\\Cloud\\DiscoveryEngine\\V1alpha"; +option ruby_package = "Google::Cloud::DiscoveryEngine::V1alpha"; + +// Service for Auto-Completion. +service CompletionService { + option (google.api.default_host) = "discoveryengine.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform"; + + // Completes the specified user input with keyword suggestions. + rpc CompleteQuery(CompleteQueryRequest) returns (CompleteQueryResponse) { + option (google.api.http) = { + get: "/v1alpha/{data_store=projects/*/locations/*/dataStores/*}:completeQuery" + additional_bindings { + get: "/v1alpha/{data_store=projects/*/locations/*/collections/*/dataStores/*}:completeQuery" + } + }; + } +} + +// Request message for +// [CompletionService.CompleteQuery][google.cloud.discoveryengine.v1alpha.CompletionService.CompleteQuery] +// method. +message CompleteQueryRequest { + // Required. The parent data store resource name for which the completion is + // performed, such as + // `projects/*/locations/global/collections/default_collection/dataStores/default_data_store`. + string data_store = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/DataStore" + } + ]; + + // Required. The typeahead input used to fetch suggestions. Maximum length is + // 128 characters. + string query = 2 [(google.api.field_behavior) = REQUIRED]; + + // Selects data model of query suggestions for serving. Currently supported + // values: + // + // * `document` - Using suggestions generated from user-imported documents. + // * `search-history` - Using suggestions generated from the past history of + // [SearchService.Search][google.cloud.discoveryengine.v1alpha.SearchService.Search] + // API calls. Do not use it when there is no traffic for Search API. + // * `user-event` - Using suggestions generated from user-imported search + // events. + // * `document-completable` - Using suggestions taken directly from + // user-imported document fields marked as completable. + // + // Default values: + // + // * `document` is the default model for regular dataStores. + // * `search-history` is the default model for site search dataStores. + string query_model = 3; + + // A unique identifier for tracking visitors. For example, this could be + // implemented with an HTTP cookie, which should be able to uniquely identify + // a visitor on a single device. This unique identifier should not change if + // the visitor logs in or out of the website. + // + // This field should NOT have a fixed value such as `unknown_visitor`. + // + // This should be the same identifier as + // [UserEvent.user_pseudo_id][google.cloud.discoveryengine.v1alpha.UserEvent.user_pseudo_id] + // and + // [SearchRequest.user_pseudo_id][google.cloud.discoveryengine.v1alpha.SearchRequest.user_pseudo_id]. + // + // The field must be a UTF-8 encoded string with a length limit of 128 + // characters. Otherwise, an `INVALID_ARGUMENT` error is returned. + string user_pseudo_id = 4; + + // Indicates if tail suggestions should be returned if there are no + // suggestions that match the full query. Even if set to true, if there are + // suggestions that match the full query, those are returned and no + // tail suggestions are returned. + bool include_tail_suggestions = 5; +} + +// Response message for +// [CompletionService.CompleteQuery][google.cloud.discoveryengine.v1alpha.CompletionService.CompleteQuery] +// method. +message CompleteQueryResponse { + // Suggestions as search queries. + message QuerySuggestion { + // The suggestion for the query. + string suggestion = 1; + + // The unique document field paths that serve as the source of this + // suggestion if it was generated from completable fields. + // + // This field is only populated for the document-completable model. + repeated string completable_field_paths = 2; + } + + // Results of the matched query suggestions. The result list is ordered and + // the first result is a top suggestion. + repeated QuerySuggestion query_suggestions = 1; + + // True if the returned suggestions are all tail suggestions. + // + // For tail matching to be triggered, include_tail_suggestions in the request + // must be true and there must be no suggestions that match the full query. + bool tail_match_triggered = 2; +} diff --git a/third_party/googleapis/google/cloud/discoveryengine/v1alpha/conversation.proto b/third_party/googleapis/google/cloud/discoveryengine/v1alpha/conversation.proto new file mode 100644 index 000000000..4495b4587 --- /dev/null +++ b/third_party/googleapis/google/cloud/discoveryengine/v1alpha/conversation.proto @@ -0,0 +1,141 @@ +// 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.discoveryengine.v1alpha; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/discoveryengine/v1alpha/search_service.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.DiscoveryEngine.V1Alpha"; +option go_package = "cloud.google.com/go/discoveryengine/apiv1alpha/discoveryenginepb;discoveryenginepb"; +option java_multiple_files = true; +option java_outer_classname = "ConversationProto"; +option java_package = "com.google.cloud.discoveryengine.v1alpha"; +option objc_class_prefix = "DISCOVERYENGINE"; +option php_namespace = "Google\\Cloud\\DiscoveryEngine\\V1alpha"; +option ruby_package = "Google::Cloud::DiscoveryEngine::V1alpha"; + +// External conversation proto definition. +message Conversation { + option (google.api.resource) = { + type: "discoveryengine.googleapis.com/Conversation" + pattern: "projects/{project}/locations/{location}/dataStores/{data_store}/conversations/{conversation}" + pattern: "projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/conversations/{conversation}" + pattern: "projects/{project}/locations/{location}/collections/{collection}/engines/{engine}/conversations/{conversation}" + }; + + // Enumeration of the state of the conversation. + enum State { + // Unknown. + STATE_UNSPECIFIED = 0; + + // Conversation is currently open. + IN_PROGRESS = 1; + + // Conversation has been completed. + COMPLETED = 2; + } + + // Immutable. Fully qualified name + // `project/*/locations/global/collections/{collection}/dataStore/*/conversations/*` + // or + // `project/*/locations/global/collections/{collection}/engines/*/conversations/*`. + string name = 1 [(google.api.field_behavior) = IMMUTABLE]; + + // The state of the Conversation. + State state = 2; + + // A unique identifier for tracking users. + string user_pseudo_id = 3; + + // Conversation messages. + repeated ConversationMessage messages = 4; + + // Output only. The time the conversation started. + google.protobuf.Timestamp start_time = 5 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The time the conversation finished. + google.protobuf.Timestamp end_time = 6 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Defines a reply message to user. +message Reply { + // Defines reference in reply. + message Reference { + option deprecated = true; + + // URI link reference. + string uri = 1; + + // Anchor text. + string anchor_text = 2; + + // Anchor text start index. + int32 start = 3; + + // Anchor text end index. + int32 end = 4; + } + + // DEPRECATED: use `summary` instead. + // Text reply. + string reply = 1 [deprecated = true]; + + // References in the reply. + repeated Reference references = 2 [deprecated = true]; + + // Summary based on search results. + SearchResponse.Summary summary = 3; +} + +// Defines context of the conversation +message ConversationContext { + // The current list of documents the user is seeing. + // It contains the document resource references. + repeated string context_documents = 1; + + // The current active document the user opened. + // It contains the document resource reference. + string active_document = 2; +} + +// Defines text input. +message TextInput { + // Text input. + string input = 1; + + // Conversation context of the input. + ConversationContext context = 2; +} + +// Defines a conversation message. +message ConversationMessage { + oneof message { + // User text input. + TextInput user_input = 1; + + // Search reply. + Reply reply = 2; + } + + // Output only. Message creation timestamp. + google.protobuf.Timestamp create_time = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/cloud/discoveryengine/v1alpha/conversational_search_service.proto b/third_party/googleapis/google/cloud/discoveryengine/v1alpha/conversational_search_service.proto new file mode 100644 index 000000000..675682eb7 --- /dev/null +++ b/third_party/googleapis/google/cloud/discoveryengine/v1alpha/conversational_search_service.proto @@ -0,0 +1,345 @@ +// 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.discoveryengine.v1alpha; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/discoveryengine/v1alpha/conversation.proto"; +import "google/cloud/discoveryengine/v1alpha/search_service.proto"; +import "google/protobuf/empty.proto"; +import "google/protobuf/field_mask.proto"; + +option csharp_namespace = "Google.Cloud.DiscoveryEngine.V1Alpha"; +option go_package = "cloud.google.com/go/discoveryengine/apiv1alpha/discoveryenginepb;discoveryenginepb"; +option java_multiple_files = true; +option java_outer_classname = "ConversationalSearchServiceProto"; +option java_package = "com.google.cloud.discoveryengine.v1alpha"; +option objc_class_prefix = "DISCOVERYENGINE"; +option php_namespace = "Google\\Cloud\\DiscoveryEngine\\V1alpha"; +option ruby_package = "Google::Cloud::DiscoveryEngine::V1alpha"; + +// Service for conversational search. +service ConversationalSearchService { + option (google.api.default_host) = "discoveryengine.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform"; + + // Converses a conversation. + rpc ConverseConversation(ConverseConversationRequest) + returns (ConverseConversationResponse) { + option (google.api.http) = { + post: "/v1alpha/{name=projects/*/locations/*/dataStores/*/conversations/*}:converse" + body: "*" + additional_bindings { + post: "/v1alpha/{name=projects/*/locations/*/collections/*/dataStores/*/conversations/*}:converse" + body: "*" + } + additional_bindings { + post: "/v1alpha/{name=projects/*/locations/*/collections/*/engines/*/conversations/*}:converse" + body: "*" + } + }; + option (google.api.method_signature) = "name,query"; + } + + // Creates a Conversation. + // + // If the [Conversation][google.cloud.discoveryengine.v1alpha.Conversation] to + // create already exists, an ALREADY_EXISTS error is returned. + rpc CreateConversation(CreateConversationRequest) returns (Conversation) { + option (google.api.http) = { + post: "/v1alpha/{parent=projects/*/locations/*/dataStores/*}/conversations" + body: "conversation" + additional_bindings { + post: "/v1alpha/{parent=projects/*/locations/*/collections/*/dataStores/*}/conversations" + body: "conversation" + } + additional_bindings { + post: "/v1alpha/{parent=projects/*/locations/*/collections/*/engines/*}/conversations" + body: "conversation" + } + }; + option (google.api.method_signature) = "parent,conversation"; + } + + // Deletes a Conversation. + // + // If the [Conversation][google.cloud.discoveryengine.v1alpha.Conversation] to + // delete does not exist, a NOT_FOUND error is returned. + rpc DeleteConversation(DeleteConversationRequest) + returns (google.protobuf.Empty) { + option (google.api.http) = { + delete: "/v1alpha/{name=projects/*/locations/*/dataStores/*/conversations/*}" + additional_bindings { + delete: "/v1alpha/{name=projects/*/locations/*/collections/*/dataStores/*/conversations/*}" + } + additional_bindings { + delete: "/v1alpha/{name=projects/*/locations/*/collections/*/engines/*/conversations/*}" + } + }; + option (google.api.method_signature) = "name"; + } + + // Updates a Conversation. + // + // [Conversation][google.cloud.discoveryengine.v1alpha.Conversation] action + // type cannot be changed. If the + // [Conversation][google.cloud.discoveryengine.v1alpha.Conversation] to update + // does not exist, a NOT_FOUND error is returned. + rpc UpdateConversation(UpdateConversationRequest) returns (Conversation) { + option (google.api.http) = { + patch: "/v1alpha/{conversation.name=projects/*/locations/*/dataStores/*/conversations/*}" + body: "conversation" + additional_bindings { + patch: "/v1alpha/{conversation.name=projects/*/locations/*/collections/*/dataStores/*/conversations/*}" + body: "conversation" + } + additional_bindings { + patch: "/v1alpha/{conversation.name=projects/*/locations/*/collections/*/engines/*/conversations/*}" + body: "conversation" + } + }; + option (google.api.method_signature) = "conversation,update_mask"; + } + + // Gets a Conversation. + rpc GetConversation(GetConversationRequest) returns (Conversation) { + option (google.api.http) = { + get: "/v1alpha/{name=projects/*/locations/*/dataStores/*/conversations/*}" + additional_bindings { + get: "/v1alpha/{name=projects/*/locations/*/collections/*/dataStores/*/conversations/*}" + } + additional_bindings { + get: "/v1alpha/{name=projects/*/locations/*/collections/*/engines/*/conversations/*}" + } + }; + option (google.api.method_signature) = "name"; + } + + // Lists all Conversations by their parent + // [DataStore][google.cloud.discoveryengine.v1alpha.DataStore]. + rpc ListConversations(ListConversationsRequest) + returns (ListConversationsResponse) { + option (google.api.http) = { + get: "/v1alpha/{parent=projects/*/locations/*/dataStores/*}/conversations" + additional_bindings { + get: "/v1alpha/{parent=projects/*/locations/*/collections/*/dataStores/*}/conversations" + } + additional_bindings { + get: "/v1alpha/{parent=projects/*/locations/*/collections/*/engines/*}/conversations" + } + }; + option (google.api.method_signature) = "parent"; + } +} + +// Request message for +// [ConversationalSearchService.ConverseConversation][google.cloud.discoveryengine.v1alpha.ConversationalSearchService.ConverseConversation] +// method. +message ConverseConversationRequest { + // Required. The resource name of the Conversation to get. Format: + // `projects/{project_number}/locations/{location_id}/collections/{collection}/dataStores/{data_store_id}/conversations/{conversation_id}`. + // Use + // `projects/{project_number}/locations/{location_id}/collections/{collection}/dataStores/{data_store_id}/conversations/-` + // to activate auto session mode, which automatically creates a new + // conversation inside a ConverseConversation session. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/Conversation" + } + ]; + + // Required. Current user input. + TextInput query = 2 [(google.api.field_behavior) = REQUIRED]; + + // The resource name of the Serving Config to use. Format: + // `projects/{project_number}/locations/{location_id}/collections/{collection}/dataStores/{data_store_id}/servingConfigs/{serving_config_id}` + // If this is not set, the default serving config will be used. + string serving_config = 3 [(google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/ServingConfig" + }]; + + // The conversation to be used by auto session only. The name field will be + // ignored as we automatically assign new name for the conversation in auto + // session. + Conversation conversation = 5; + + // Whether to turn on safe search. + bool safe_search = 6; + + // The user labels applied to a resource must meet the following requirements: + // + // * Each resource can have multiple labels, up to a maximum of 64. + // * Each label must be a key-value pair. + // * Keys have a minimum length of 1 character and a maximum length of 63 + // characters and cannot be empty. Values can be empty and have a maximum + // length of 63 characters. + // * Keys and values can contain only lowercase letters, numeric characters, + // underscores, and dashes. All characters must use UTF-8 encoding, and + // international characters are allowed. + // * The key portion of a label must be unique. However, you can use the same + // key with multiple resources. + // * Keys must start with a lowercase letter or international character. + // + // See [Google Cloud + // Document](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements) + // for more details. + map user_labels = 7; + + // A specification for configuring the summary returned in the response. + SearchRequest.ContentSearchSpec.SummarySpec summary_spec = 8; + + // The filter syntax consists of an expression language for constructing a + // predicate from one or more fields of the documents being filtered. Filter + // expression is case-sensitive. This will be used to filter search results + // which may affect the summary response. + // + // If this field is unrecognizable, an `INVALID_ARGUMENT` is returned. + // + // Filtering in Vertex AI Search is done by mapping the LHS filter key to a + // key property defined in the Vertex AI Search backend -- this mapping is + // defined by the customer in their schema. For example a media customer might + // have a field 'name' in their schema. In this case the filter would look + // like this: filter --> name:'ANY("king kong")' + // + // For more information about filtering including syntax and filter + // operators, see + // [Filter](https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata) + string filter = 9; +} + +// Response message for +// [ConversationalSearchService.ConverseConversation][google.cloud.discoveryengine.v1alpha.ConversationalSearchService.ConverseConversation] +// method. +message ConverseConversationResponse { + // Answer to the current query. + Reply reply = 1; + + // Updated conversation including the answer. + Conversation conversation = 2; + + // Suggested related questions. + repeated string related_questions = 6; + + // Search Results. + repeated SearchResponse.SearchResult search_results = 3; +} + +// Request for CreateConversation method. +message CreateConversationRequest { + // Required. Full resource name of parent data store. Format: + // `projects/{project_number}/locations/{location_id}/collections/{collection}/dataStores/{data_store_id}` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/DataStore" + } + ]; + + // Required. The conversation to create. + Conversation conversation = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Request for UpdateConversation method. +message UpdateConversationRequest { + // Required. The Conversation to update. + Conversation conversation = 1 [(google.api.field_behavior) = REQUIRED]; + + // Indicates which fields in the provided + // [Conversation][google.cloud.discoveryengine.v1alpha.Conversation] to + // update. The following are NOT supported: + // + // * [conversation.name][] + // + // If not set or empty, all supported fields are updated. + google.protobuf.FieldMask update_mask = 2; +} + +// Request for DeleteConversation method. +message DeleteConversationRequest { + // Required. The resource name of the Conversation to delete. Format: + // `projects/{project_number}/locations/{location_id}/collections/{collection}/dataStores/{data_store_id}/conversations/{conversation_id}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/Conversation" + } + ]; +} + +// Request for GetConversation method. +message GetConversationRequest { + // Required. The resource name of the Conversation to get. Format: + // `projects/{project_number}/locations/{location_id}/collections/{collection}/dataStores/{data_store_id}/conversations/{conversation_id}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/Conversation" + } + ]; +} + +// Request for ListConversations method. +message ListConversationsRequest { + // Required. The data store resource name. Format: + // `projects/{project_number}/locations/{location_id}/collections/{collection}/dataStores/{data_store_id}` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/DataStore" + } + ]; + + // Maximum number of results to return. If unspecified, defaults + // to 50. Max allowed value is 1000. + int32 page_size = 2; + + // A page token, received from a previous `ListConversations` call. + // Provide this to retrieve the subsequent page. + string page_token = 3; + + // A filter to apply on the list results. The supported features are: + // user_pseudo_id, state. + // + // Example: + // "user_pseudo_id = some_id" + string filter = 4; + + // A comma-separated list of fields to order by, sorted in ascending order. + // Use "desc" after a field name for descending. + // Supported fields: + // * `update_time` + // * `create_time` + // * `conversation_name` + // + // Example: + // "update_time desc" + // "create_time" + string order_by = 5; +} + +// Response for ListConversations method. +message ListConversationsResponse { + // All the Conversations for a given data store. + repeated Conversation conversations = 1; + + // Pagination token, if not returned indicates the last page. + string next_page_token = 2; +} diff --git a/third_party/googleapis/google/cloud/discoveryengine/v1alpha/data_store.proto b/third_party/googleapis/google/cloud/discoveryengine/v1alpha/data_store.proto new file mode 100644 index 000000000..e7809cb1f --- /dev/null +++ b/third_party/googleapis/google/cloud/discoveryengine/v1alpha/data_store.proto @@ -0,0 +1,98 @@ +// 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.discoveryengine.v1alpha; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/discoveryengine/v1alpha/common.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.DiscoveryEngine.V1Alpha"; +option go_package = "cloud.google.com/go/discoveryengine/apiv1alpha/discoveryenginepb;discoveryenginepb"; +option java_multiple_files = true; +option java_outer_classname = "DataStoreProto"; +option java_package = "com.google.cloud.discoveryengine.v1alpha"; +option objc_class_prefix = "DISCOVERYENGINE"; +option php_namespace = "Google\\Cloud\\DiscoveryEngine\\V1alpha"; +option ruby_package = "Google::Cloud::DiscoveryEngine::V1alpha"; + +// DataStore captures global settings and configs at the DataStore level. +message DataStore { + option (google.api.resource) = { + type: "discoveryengine.googleapis.com/DataStore" + pattern: "projects/{project}/locations/{location}/dataStores/{data_store}" + pattern: "projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}" + }; + + // Content config of the data store. + enum ContentConfig { + // Default value. + CONTENT_CONFIG_UNSPECIFIED = 0; + + // Only contains documents without any + // [Document.content][google.cloud.discoveryengine.v1alpha.Document.content]. + NO_CONTENT = 1; + + // Only contains documents with + // [Document.content][google.cloud.discoveryengine.v1alpha.Document.content]. + CONTENT_REQUIRED = 2; + + // The data store is used for public website search. + PUBLIC_WEBSITE = 3; + } + + // Immutable. The full resource name of the data store. + // Format: + // `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}`. + // + // This field must be a UTF-8 encoded string with a length limit of 1024 + // characters. + string name = 1 [(google.api.field_behavior) = IMMUTABLE]; + + // Required. The data store display name. + // + // This field must be a UTF-8 encoded string with a length limit of 128 + // characters. Otherwise, an INVALID_ARGUMENT error is returned. + string display_name = 2 [(google.api.field_behavior) = REQUIRED]; + + // Immutable. The industry vertical that the data store registers. + IndustryVertical industry_vertical = 3 + [(google.api.field_behavior) = IMMUTABLE]; + + // The solutions that the data store enrolls. Available solutions for each + // [industry_vertical][google.cloud.discoveryengine.v1alpha.DataStore.industry_vertical]: + // + // * `MEDIA`: `SOLUTION_TYPE_RECOMMENDATION` and `SOLUTION_TYPE_SEARCH`. + // * `SITE_SEARCH`: `SOLUTION_TYPE_SEARCH` is automatically enrolled. Other + // solutions cannot be enrolled. + repeated SolutionType solution_types = 5; + + // Output only. The id of the default + // [Schema][google.cloud.discoveryengine.v1alpha.Schema] asscociated to this + // data store. + string default_schema_id = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. The content config of the data store. If this field is unset, + // the server behavior defaults to + // [ContentConfig.NO_CONTENT][google.cloud.discoveryengine.v1alpha.DataStore.ContentConfig.NO_CONTENT]. + ContentConfig content_config = 6 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. Timestamp the + // [DataStore][google.cloud.discoveryengine.v1alpha.DataStore] was created at. + google.protobuf.Timestamp create_time = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/cloud/discoveryengine/v1alpha/data_store_service.proto b/third_party/googleapis/google/cloud/discoveryengine/v1alpha/data_store_service.proto new file mode 100644 index 000000000..2e8967ab2 --- /dev/null +++ b/third_party/googleapis/google/cloud/discoveryengine/v1alpha/data_store_service.proto @@ -0,0 +1,307 @@ +// 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.discoveryengine.v1alpha; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/discoveryengine/v1alpha/data_store.proto"; +import "google/longrunning/operations.proto"; +import "google/protobuf/empty.proto"; +import "google/protobuf/field_mask.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.DiscoveryEngine.V1Alpha"; +option go_package = "cloud.google.com/go/discoveryengine/apiv1alpha/discoveryenginepb;discoveryenginepb"; +option java_multiple_files = true; +option java_outer_classname = "DataStoreServiceProto"; +option java_package = "com.google.cloud.discoveryengine.v1alpha"; +option objc_class_prefix = "DISCOVERYENGINE"; +option php_namespace = "Google\\Cloud\\DiscoveryEngine\\V1alpha"; +option ruby_package = "Google::Cloud::DiscoveryEngine::V1alpha"; + +// Service for managing +// [DataStore][google.cloud.discoveryengine.v1alpha.DataStore] configuration. +service DataStoreService { + option (google.api.default_host) = "discoveryengine.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform"; + + // Creates a [DataStore][google.cloud.discoveryengine.v1alpha.DataStore]. + // + // DataStore is for storing + // [Documents][google.cloud.discoveryengine.v1alpha.Document]. To serve these + // documents for Search, or Recommendation use case, an + // [Engine][google.cloud.discoveryengine.v1alpha.Engine] needs to be created + // separately. + rpc CreateDataStore(CreateDataStoreRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1alpha/{parent=projects/*/locations/*}/dataStores" + body: "data_store" + additional_bindings { + post: "/v1alpha/{parent=projects/*/locations/*/collections/*}/dataStores" + body: "data_store" + } + }; + option (google.api.method_signature) = "parent,data_store,data_store_id"; + option (google.longrunning.operation_info) = { + response_type: "google.cloud.discoveryengine.v1alpha.DataStore" + metadata_type: "google.cloud.discoveryengine.v1alpha.CreateDataStoreMetadata" + }; + } + + // Gets a [DataStore][google.cloud.discoveryengine.v1alpha.DataStore]. + rpc GetDataStore(GetDataStoreRequest) returns (DataStore) { + option (google.api.http) = { + get: "/v1alpha/{name=projects/*/locations/*/dataStores/*}" + additional_bindings { + get: "/v1alpha/{name=projects/*/locations/*/collections/*/dataStores/*}" + } + }; + option (google.api.method_signature) = "name"; + } + + // Lists all the [DataStore][google.cloud.discoveryengine.v1alpha.DataStore]s + // associated with the project. + rpc ListDataStores(ListDataStoresRequest) returns (ListDataStoresResponse) { + option (google.api.http) = { + get: "/v1alpha/{parent=projects/*/locations/*}/dataStores" + additional_bindings { + get: "/v1alpha/{parent=projects/*/locations/*/collections/*}/dataStores" + } + }; + option (google.api.method_signature) = "parent"; + } + + // Deletes a [DataStore][google.cloud.discoveryengine.v1alpha.DataStore]. + rpc DeleteDataStore(DeleteDataStoreRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1alpha/{name=projects/*/locations/*/dataStores/*}" + additional_bindings { + delete: "/v1alpha/{name=projects/*/locations/*/collections/*/dataStores/*}" + } + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "google.cloud.discoveryengine.v1alpha.DeleteDataStoreMetadata" + }; + } + + // Updates a [DataStore][google.cloud.discoveryengine.v1alpha.DataStore] + rpc UpdateDataStore(UpdateDataStoreRequest) returns (DataStore) { + option (google.api.http) = { + patch: "/v1alpha/{data_store.name=projects/*/locations/*/dataStores/*}" + body: "data_store" + additional_bindings { + patch: "/v1alpha/{data_store.name=projects/*/locations/*/collections/*/dataStores/*}" + body: "data_store" + } + }; + option (google.api.method_signature) = "data_store,update_mask"; + } +} + +// Request for +// [DataStoreService.CreateDataStore][google.cloud.discoveryengine.v1alpha.DataStoreService.CreateDataStore] +// method. +message CreateDataStoreRequest { + // Required. The parent resource name, such as + // `projects/{project}/locations/{location}/collections/{collection}`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/Collection" + } + ]; + + // Required. The [DataStore][google.cloud.discoveryengine.v1alpha.DataStore] + // to create. + DataStore data_store = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The ID to use for the + // [DataStore][google.cloud.discoveryengine.v1alpha.DataStore], which will + // become the final component of the + // [DataStore][google.cloud.discoveryengine.v1alpha.DataStore]'s resource + // name. + // + // This field must conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) + // standard with a length limit of 63 characters. Otherwise, an + // INVALID_ARGUMENT error is returned. + string data_store_id = 3 [(google.api.field_behavior) = REQUIRED]; + + // A boolean flag indicating whether user want to directly create an advanced + // data store for site search. + // If the data store is not configured as site + // search (GENERIC vertical and PUBLIC_WEBSITE content_config), this flag will + // be ignored. + bool create_advanced_site_search = 4; +} + +// Request message for +// [DataStoreService.GetDataStore][google.cloud.discoveryengine.v1alpha.DataStoreService.GetDataStore] +// method. +message GetDataStoreRequest { + // Required. Full resource name of + // [DataStore][google.cloud.discoveryengine.v1alpha.DataStore], such as + // `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}`. + // + // If the caller does not have permission to access the + // [DataStore][google.cloud.discoveryengine.v1alpha.DataStore], regardless of + // whether or not it exists, a PERMISSION_DENIED error is returned. + // + // If the requested + // [DataStore][google.cloud.discoveryengine.v1alpha.DataStore] does not exist, + // a NOT_FOUND error is returned. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/DataStore" + } + ]; +} + +// Metadata related to the progress of the +// [DataStoreService.CreateDataStore][google.cloud.discoveryengine.v1alpha.DataStoreService.CreateDataStore] +// operation. This will be returned by the google.longrunning.Operation.metadata +// field. +message CreateDataStoreMetadata { + // Operation create time. + google.protobuf.Timestamp create_time = 1; + + // Operation last update time. If the operation is done, this is also the + // finish time. + google.protobuf.Timestamp update_time = 2; +} + +// Request message for +// [DataStoreService.ListDataStores][google.cloud.discoveryengine.v1alpha.DataStoreService.ListDataStores] +// method. +message ListDataStoresRequest { + // Required. The parent branch resource name, such as + // `projects/{project}/locations/{location}/collections/{collection_id}`. + // + // If the caller does not have permission to list [DataStores][]s under this + // location, regardless of whether or not this data store exists, a + // PERMISSION_DENIED error is returned. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/Collection" + } + ]; + + // Maximum number of + // [DataStore][google.cloud.discoveryengine.v1alpha.DataStore]s to return. If + // unspecified, defaults to 10. The maximum allowed value is 50. Values above + // 50 will be coerced to 50. + // + // If this field is negative, an INVALID_ARGUMENT is returned. + int32 page_size = 2; + + // A page token + // [ListDataStoresResponse.next_page_token][google.cloud.discoveryengine.v1alpha.ListDataStoresResponse.next_page_token], + // received from a previous + // [DataStoreService.ListDataStores][google.cloud.discoveryengine.v1alpha.DataStoreService.ListDataStores] + // call. Provide this to retrieve the subsequent page. + // + // When paginating, all other parameters provided to + // [DataStoreService.ListDataStores][google.cloud.discoveryengine.v1alpha.DataStoreService.ListDataStores] + // must match the call that provided the page token. Otherwise, an + // INVALID_ARGUMENT error is returned. + string page_token = 3; + + // Filter by solution type. For example: filter = + // 'solution_type:SOLUTION_TYPE_SEARCH' + string filter = 4; +} + +// Response message for +// [DataStoreService.ListDataStores][google.cloud.discoveryengine.v1alpha.DataStoreService.ListDataStores] +// method. +message ListDataStoresResponse { + // All the customer's + // [DataStore][google.cloud.discoveryengine.v1alpha.DataStore]s. + repeated DataStore data_stores = 1; + + // A token that can be sent as + // [ListDataStoresRequest.page_token][google.cloud.discoveryengine.v1alpha.ListDataStoresRequest.page_token] + // to retrieve the next page. If this field is omitted, there are no + // subsequent pages. + string next_page_token = 2; +} + +// Request message for +// [DataStoreService.DeleteDataStore][google.cloud.discoveryengine.v1alpha.DataStoreService.DeleteDataStore] +// method. +message DeleteDataStoreRequest { + // Required. Full resource name of + // [DataStore][google.cloud.discoveryengine.v1alpha.DataStore], such as + // `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}`. + // + // If the caller does not have permission to delete the + // [DataStore][google.cloud.discoveryengine.v1alpha.DataStore], regardless of + // whether or not it exists, a PERMISSION_DENIED error is returned. + // + // If the [DataStore][google.cloud.discoveryengine.v1alpha.DataStore] to + // delete does not exist, a NOT_FOUND error is returned. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/DataStore" + } + ]; +} + +// Request message for +// [DataStoreService.UpdateDataStore][google.cloud.discoveryengine.v1alpha.DataStoreService.UpdateDataStore] +// method. +message UpdateDataStoreRequest { + // Required. The [DataStore][google.cloud.discoveryengine.v1alpha.DataStore] + // to update. + // + // If the caller does not have permission to update the + // [DataStore][google.cloud.discoveryengine.v1alpha.DataStore], regardless of + // whether or not it exists, a PERMISSION_DENIED error is returned. + // + // If the [DataStore][google.cloud.discoveryengine.v1alpha.DataStore] to + // update does not exist, a NOT_FOUND error is returned. + DataStore data_store = 1 [(google.api.field_behavior) = REQUIRED]; + + // Indicates which fields in the provided + // [DataStore][google.cloud.discoveryengine.v1alpha.DataStore] to update. + // + // If an unsupported or unknown field is provided, an INVALID_ARGUMENT error + // is returned. + google.protobuf.FieldMask update_mask = 2; +} + +// Metadata related to the progress of the +// [DataStoreService.DeleteDataStore][google.cloud.discoveryengine.v1alpha.DataStoreService.DeleteDataStore] +// operation. This will be returned by the google.longrunning.Operation.metadata +// field. +message DeleteDataStoreMetadata { + // Operation create time. + google.protobuf.Timestamp create_time = 1; + + // Operation last update time. If the operation is done, this is also the + // finish time. + google.protobuf.Timestamp update_time = 2; +} diff --git a/third_party/googleapis/google/cloud/discoveryengine/v1alpha/discoveryengine_grpc_service_config.json b/third_party/googleapis/google/cloud/discoveryengine/v1alpha/discoveryengine_grpc_service_config.json new file mode 100644 index 000000000..e3ed84ee1 --- /dev/null +++ b/third_party/googleapis/google/cloud/discoveryengine/v1alpha/discoveryengine_grpc_service_config.json @@ -0,0 +1,57 @@ +{ + "methodConfig": [ + { + "name": [ + { "service": "google.cloud.discoveryengine.v1alpha.CompletionService" }, + { "service": "google.cloud.discoveryengine.v1alpha.RecommendationService" }, + { "service": "google.cloud.discoveryengine.v1alpha.SearchService" } + ], + "timeout": "5s", + "retryPolicy": { + "initialBackoff": "0.100s", + "maxBackoff": "5s", + "backoffMultiplier": 1.3, + "retryableStatusCodes": ["UNAVAILABLE"] + } + }, + { + "name": [ + { "service": "google.cloud.discoveryengine.v1alpha.ConversationalSearchService" }, + { "service": "google.cloud.discoveryengine.v1alpha.DocumentService" }, + { "service": "google.cloud.discoveryengine.v1alpha.SchemaService" }, + { "service": "google.cloud.discoveryengine.v1alpha.UserEventService" }, + { "service": "google.longrunning.Operations"} + ], + "timeout": "30s", + "retryPolicy": { + "initialBackoff": "1s", + "maxBackoff": "10s", + "backoffMultiplier": 1.3, + "retryableStatusCodes": ["UNAVAILABLE"] + } + }, + { + "name": [ + { + "service": "google.cloud.discoveryengine.v1alpha.DocumentService", + "method": "ImportDocuments" + }, + { + "service": "google.cloud.discoveryengine.v1alpha.UserEventService", + "method": "ImportUserEvents" + }, + { + "service": "google.longrunning.Operations", + "method": "ListOperations" + } + ], + "timeout": "300s", + "retryPolicy": { + "initialBackoff": "1s", + "maxBackoff": "30s", + "backoffMultiplier": 1.3, + "retryableStatusCodes": ["UNAVAILABLE"] + } + } + ] +} diff --git a/third_party/googleapis/google/cloud/discoveryengine/v1alpha/discoveryengine_v1alpha.yaml b/third_party/googleapis/google/cloud/discoveryengine/v1alpha/discoveryengine_v1alpha.yaml new file mode 100644 index 000000000..72e8709ab --- /dev/null +++ b/third_party/googleapis/google/cloud/discoveryengine/v1alpha/discoveryengine_v1alpha.yaml @@ -0,0 +1,179 @@ +type: google.api.Service +config_version: 3 +name: discoveryengine.googleapis.com +title: Discovery Engine API + +apis: +- name: google.cloud.discoveryengine.v1alpha.CompletionService +- name: google.cloud.discoveryengine.v1alpha.ConversationalSearchService +- name: google.cloud.discoveryengine.v1alpha.DataStoreService +- name: google.cloud.discoveryengine.v1alpha.DocumentService +- name: google.cloud.discoveryengine.v1alpha.EngineService +- name: google.cloud.discoveryengine.v1alpha.RecommendationService +- name: google.cloud.discoveryengine.v1alpha.SchemaService +- name: google.cloud.discoveryengine.v1alpha.SearchService +- name: google.cloud.discoveryengine.v1alpha.SearchTuningService +- name: google.cloud.discoveryengine.v1alpha.SiteSearchEngineService +- name: google.cloud.discoveryengine.v1alpha.UserEventService +- name: google.cloud.location.Locations +- name: google.longrunning.Operations + +types: +- name: google.cloud.discoveryengine.logging.ErrorLog +- name: google.cloud.discoveryengine.v1alpha.BatchCreateTargetSiteMetadata +- name: google.cloud.discoveryengine.v1alpha.BatchCreateTargetSitesResponse +- name: google.cloud.discoveryengine.v1alpha.CreateDataStoreMetadata +- name: google.cloud.discoveryengine.v1alpha.CreateEngineMetadata +- name: google.cloud.discoveryengine.v1alpha.CreateSchemaMetadata +- name: google.cloud.discoveryengine.v1alpha.CreateTargetSiteMetadata +- name: google.cloud.discoveryengine.v1alpha.DataStore +- name: google.cloud.discoveryengine.v1alpha.DeleteDataStoreMetadata +- name: google.cloud.discoveryengine.v1alpha.DeleteEngineMetadata +- name: google.cloud.discoveryengine.v1alpha.DeleteSchemaMetadata +- name: google.cloud.discoveryengine.v1alpha.DeleteTargetSiteMetadata +- name: google.cloud.discoveryengine.v1alpha.DisableAdvancedSiteSearchMetadata +- name: google.cloud.discoveryengine.v1alpha.DisableAdvancedSiteSearchResponse +- name: google.cloud.discoveryengine.v1alpha.DocumentProcessingConfig +- name: google.cloud.discoveryengine.v1alpha.EnableAdvancedSiteSearchMetadata +- name: google.cloud.discoveryengine.v1alpha.EnableAdvancedSiteSearchResponse +- name: google.cloud.discoveryengine.v1alpha.Engine +- name: google.cloud.discoveryengine.v1alpha.FieldConfig +- name: google.cloud.discoveryengine.v1alpha.ImportDocumentsMetadata +- name: google.cloud.discoveryengine.v1alpha.ImportDocumentsResponse +- name: google.cloud.discoveryengine.v1alpha.ImportUserEventsMetadata +- name: google.cloud.discoveryengine.v1alpha.ImportUserEventsResponse +- name: google.cloud.discoveryengine.v1alpha.PurgeDocumentsMetadata +- name: google.cloud.discoveryengine.v1alpha.PurgeDocumentsResponse +- name: google.cloud.discoveryengine.v1alpha.PurgeUserEventsMetadata +- name: google.cloud.discoveryengine.v1alpha.PurgeUserEventsResponse +- name: google.cloud.discoveryengine.v1alpha.RecrawlUrisMetadata +- name: google.cloud.discoveryengine.v1alpha.RecrawlUrisResponse +- name: google.cloud.discoveryengine.v1alpha.Schema +- name: google.cloud.discoveryengine.v1alpha.TargetSite +- name: google.cloud.discoveryengine.v1alpha.TrainCustomModelMetadata +- name: google.cloud.discoveryengine.v1alpha.TrainCustomModelResponse +- name: google.cloud.discoveryengine.v1alpha.TuneEngineMetadata +- name: google.cloud.discoveryengine.v1alpha.TuneEngineResponse +- name: google.cloud.discoveryengine.v1alpha.UpdateSchemaMetadata +- name: google.cloud.discoveryengine.v1alpha.UpdateTargetSiteMetadata + +documentation: + summary: Discovery Engine API. + +http: + rules: + - selector: google.longrunning.Operations.GetOperation + get: '/v1alpha/{name=projects/*/locations/*/collections/*/dataConnector/operations/*}' + additional_bindings: + - get: '/v1alpha/{name=projects/*/locations/*/collections/*/dataStores/*/branches/*/operations/*}' + - get: '/v1alpha/{name=projects/*/locations/*/collections/*/dataStores/*/models/*/operations/*}' + - get: '/v1alpha/{name=projects/*/locations/*/collections/*/dataStores/*/operations/*}' + - get: '/v1alpha/{name=projects/*/locations/*/collections/*/dataStores/*/schemas/*/operations/*}' + - get: '/v1alpha/{name=projects/*/locations/*/collections/*/dataStores/*/siteSearchEngine/operations/*}' + - get: '/v1alpha/{name=projects/*/locations/*/collections/*/dataStores/*/siteSearchEngine/targetSites/operations/*}' + - get: '/v1alpha/{name=projects/*/locations/*/collections/*/engines/*/operations/*}' + - get: '/v1alpha/{name=projects/*/locations/*/collections/*/operations/*}' + - get: '/v1alpha/{name=projects/*/locations/*/dataStores/*/branches/*/operations/*}' + - get: '/v1alpha/{name=projects/*/locations/*/dataStores/*/models/*/operations/*}' + - get: '/v1alpha/{name=projects/*/locations/*/dataStores/*/operations/*}' + - get: '/v1alpha/{name=projects/*/locations/*/operations/*}' + - get: '/v1alpha/{name=projects/*/operations/*}' + - selector: google.longrunning.Operations.ListOperations + get: '/v1alpha/{name=projects/*/locations/*/collections/*/dataConnector}/operations' + additional_bindings: + - get: '/v1alpha/{name=projects/*/locations/*/collections/*/dataStores/*/branches/*}/operations' + - get: '/v1alpha/{name=projects/*/locations/*/collections/*/dataStores/*/models/*}/operations' + - get: '/v1alpha/{name=projects/*/locations/*/collections/*/dataStores/*/schemas/*}/operations' + - get: '/v1alpha/{name=projects/*/locations/*/collections/*/dataStores/*/siteSearchEngine/targetSites}/operations' + - get: '/v1alpha/{name=projects/*/locations/*/collections/*/dataStores/*/siteSearchEngine}/operations' + - get: '/v1alpha/{name=projects/*/locations/*/collections/*/dataStores/*}/operations' + - get: '/v1alpha/{name=projects/*/locations/*/collections/*/engines/*}/operations' + - get: '/v1alpha/{name=projects/*/locations/*/collections/*}/operations' + - get: '/v1alpha/{name=projects/*/locations/*/dataStores/*/branches/*}/operations' + - get: '/v1alpha/{name=projects/*/locations/*/dataStores/*/models/*}/operations' + - get: '/v1alpha/{name=projects/*/locations/*/dataStores/*}/operations' + - get: '/v1alpha/{name=projects/*/locations/*}/operations' + - get: '/v1alpha/{name=projects/*}/operations' + +authentication: + rules: + - selector: google.cloud.discoveryengine.v1alpha.CompletionService.CompleteQuery + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + - selector: 'google.cloud.discoveryengine.v1alpha.ConversationalSearchService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + - selector: 'google.cloud.discoveryengine.v1alpha.DataStoreService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + - selector: 'google.cloud.discoveryengine.v1alpha.DocumentService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + - selector: 'google.cloud.discoveryengine.v1alpha.EngineService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + - selector: google.cloud.discoveryengine.v1alpha.RecommendationService.Recommend + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + - selector: 'google.cloud.discoveryengine.v1alpha.SchemaService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + - selector: google.cloud.discoveryengine.v1alpha.SearchService.Search + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + - selector: google.cloud.discoveryengine.v1alpha.SearchTuningService.TrainCustomModel + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + - selector: 'google.cloud.discoveryengine.v1alpha.SiteSearchEngineService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + - selector: 'google.cloud.discoveryengine.v1alpha.UserEventService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + - selector: google.longrunning.Operations.GetOperation + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + - selector: google.longrunning.Operations.ListOperations + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + +publishing: + new_issue_uri: https://issuetracker.google.com/issues/new?component=911831&template=1480251 + documentation_uri: https://cloud.google.com/generative-ai-app-builder/docs + api_short_name: discoveryengine + github_label: 'api: discoveryengine' + doc_tag_prefix: discoveryengine + organization: CLOUD + library_settings: + - version: google.cloud.discoveryengine.v1alpha + launch_stage: ALPHA + java_settings: + common: + destinations: + - PACKAGE_MANAGER + python_settings: + common: + destinations: + - PACKAGE_MANAGER + node_settings: + common: + destinations: + - PACKAGE_MANAGER + go_settings: + common: + destinations: + - PACKAGE_MANAGER + proto_reference_documentation_uri: https://cloud.google.com/generative-ai-app-builder/docs/reference/rpc diff --git a/third_party/googleapis/google/cloud/discoveryengine/v1alpha/document.proto b/third_party/googleapis/google/cloud/discoveryengine/v1alpha/document.proto new file mode 100644 index 000000000..463c36cee --- /dev/null +++ b/third_party/googleapis/google/cloud/discoveryengine/v1alpha/document.proto @@ -0,0 +1,121 @@ +// 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.discoveryengine.v1alpha; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/struct.proto"; + +option csharp_namespace = "Google.Cloud.DiscoveryEngine.V1Alpha"; +option go_package = "cloud.google.com/go/discoveryengine/apiv1alpha/discoveryenginepb;discoveryenginepb"; +option java_multiple_files = true; +option java_outer_classname = "DocumentProto"; +option java_package = "com.google.cloud.discoveryengine.v1alpha"; +option objc_class_prefix = "DISCOVERYENGINE"; +option php_namespace = "Google\\Cloud\\DiscoveryEngine\\V1alpha"; +option ruby_package = "Google::Cloud::DiscoveryEngine::V1alpha"; + +// Document captures all raw metadata information of items to be recommended or +// searched. +message Document { + option (google.api.resource) = { + type: "discoveryengine.googleapis.com/Document" + pattern: "projects/{project}/locations/{location}/dataStores/{data_store}/branches/{branch}/documents/{document}" + pattern: "projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}/documents/{document}" + }; + + // Unstructured data linked to this document. + message Content { + oneof content { + // The content represented as a stream of bytes. The maximum length is + // 1,000,000 bytes (1 MB / ~0.95 MiB). + // + // Note: As with all `bytes` fields, this field is represented as pure + // binary in Protocol Buffers and base64-encoded string in JSON. For + // example, `abc123!?$*&()'-=@~` should be represented as + // `YWJjMTIzIT8kKiYoKSctPUB+` in JSON. See + // https://developers.google.com/protocol-buffers/docs/proto3#json. + bytes raw_bytes = 2; + + // The URI of the content. Only Cloud Storage URIs (e.g. + // `gs://bucket-name/path/to/file`) are supported. The maximum file size + // is 2.5 MB for text-based formats, 100 MB for other formats. + string uri = 3; + } + + // The MIME type of the content. Supported types: + // + // * `application/pdf` (PDF, only native PDFs are supported for now) + // * `text/html` (HTML) + // * `application/vnd.openxmlformats-officedocument.wordprocessingml.document` (DOCX) + // * `application/vnd.openxmlformats-officedocument.presentationml.presentation` (PPTX) + // * `text/plain` (TXT) + // + // See https://www.iana.org/assignments/media-types/media-types.xhtml. + string mime_type = 1; + } + + // Data representation. One of + // [struct_data][google.cloud.discoveryengine.v1alpha.Document.struct_data] or + // [json_data][google.cloud.discoveryengine.v1alpha.Document.json_data] should + // be provided otherwise an `INVALID_ARGUMENT` error is thrown. + oneof data { + // The structured JSON data for the document. It should conform to the + // registered [Schema][google.cloud.discoveryengine.v1alpha.Schema] or an + // `INVALID_ARGUMENT` error is thrown. + google.protobuf.Struct struct_data = 4; + + // The JSON string representation of the document. It should conform to the + // registered [Schema][google.cloud.discoveryengine.v1alpha.Schema] or an + // `INVALID_ARGUMENT` error is thrown. + string json_data = 5; + } + + // Immutable. The full resource name of the document. + // Format: + // `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}/documents/{document_id}`. + // + // This field must be a UTF-8 encoded string with a length limit of 1024 + // characters. + string name = 1 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. The identifier of the document. + // + // Id should conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) + // standard with a length limit of 63 characters. + string id = 2 [(google.api.field_behavior) = IMMUTABLE]; + + // The identifier of the schema located in the same data store. + string schema_id = 3; + + // The unstructured data linked to this document. Content must be set if this + // document is under a + // `CONTENT_REQUIRED` data store. + Content content = 10; + + // The identifier of the parent document. Currently supports at most two level + // document hierarchy. + // + // Id should conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) + // standard with a length limit of 63 characters. + string parent_document_id = 7; + + // Output only. This field is OUTPUT_ONLY. + // It contains derived data that are not in the original input document. + google.protobuf.Struct derived_struct_data = 6 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/cloud/discoveryengine/v1alpha/document_service.proto b/third_party/googleapis/google/cloud/discoveryengine/v1alpha/document_service.proto new file mode 100644 index 000000000..84dfae087 --- /dev/null +++ b/third_party/googleapis/google/cloud/discoveryengine/v1alpha/document_service.proto @@ -0,0 +1,318 @@ +// 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.discoveryengine.v1alpha; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/discoveryengine/v1alpha/document.proto"; +import "google/cloud/discoveryengine/v1alpha/import_config.proto"; +import "google/cloud/discoveryengine/v1alpha/purge_config.proto"; +import "google/longrunning/operations.proto"; +import "google/protobuf/empty.proto"; + +option csharp_namespace = "Google.Cloud.DiscoveryEngine.V1Alpha"; +option go_package = "cloud.google.com/go/discoveryengine/apiv1alpha/discoveryenginepb;discoveryenginepb"; +option java_multiple_files = true; +option java_outer_classname = "DocumentServiceProto"; +option java_package = "com.google.cloud.discoveryengine.v1alpha"; +option objc_class_prefix = "DISCOVERYENGINE"; +option php_namespace = "Google\\Cloud\\DiscoveryEngine\\V1alpha"; +option ruby_package = "Google::Cloud::DiscoveryEngine::V1alpha"; + +// Service for ingesting +// [Document][google.cloud.discoveryengine.v1alpha.Document] information of the +// customer's website. +service DocumentService { + option (google.api.default_host) = "discoveryengine.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform"; + + // Gets a [Document][google.cloud.discoveryengine.v1alpha.Document]. + rpc GetDocument(GetDocumentRequest) returns (Document) { + option (google.api.http) = { + get: "/v1alpha/{name=projects/*/locations/*/dataStores/*/branches/*/documents/*}" + additional_bindings { + get: "/v1alpha/{name=projects/*/locations/*/collections/*/dataStores/*/branches/*/documents/*}" + } + }; + option (google.api.method_signature) = "name"; + } + + // Gets a list of [Document][google.cloud.discoveryengine.v1alpha.Document]s. + rpc ListDocuments(ListDocumentsRequest) returns (ListDocumentsResponse) { + option (google.api.http) = { + get: "/v1alpha/{parent=projects/*/locations/*/dataStores/*/branches/*}/documents" + additional_bindings { + get: "/v1alpha/{parent=projects/*/locations/*/collections/*/dataStores/*/branches/*}/documents" + } + }; + option (google.api.method_signature) = "parent"; + } + + // Creates a [Document][google.cloud.discoveryengine.v1alpha.Document]. + rpc CreateDocument(CreateDocumentRequest) returns (Document) { + option (google.api.http) = { + post: "/v1alpha/{parent=projects/*/locations/*/dataStores/*/branches/*}/documents" + body: "document" + additional_bindings { + post: "/v1alpha/{parent=projects/*/locations/*/collections/*/dataStores/*/branches/*}/documents" + body: "document" + } + }; + option (google.api.method_signature) = "parent,document,document_id"; + } + + // Updates a [Document][google.cloud.discoveryengine.v1alpha.Document]. + rpc UpdateDocument(UpdateDocumentRequest) returns (Document) { + option (google.api.http) = { + patch: "/v1alpha/{document.name=projects/*/locations/*/dataStores/*/branches/*/documents/*}" + body: "document" + additional_bindings { + patch: "/v1alpha/{document.name=projects/*/locations/*/collections/*/dataStores/*/branches/*/documents/*}" + body: "document" + } + }; + } + + // Deletes a [Document][google.cloud.discoveryengine.v1alpha.Document]. + rpc DeleteDocument(DeleteDocumentRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + delete: "/v1alpha/{name=projects/*/locations/*/dataStores/*/branches/*/documents/*}" + additional_bindings { + delete: "/v1alpha/{name=projects/*/locations/*/collections/*/dataStores/*/branches/*/documents/*}" + } + }; + option (google.api.method_signature) = "name"; + } + + // Bulk import of multiple + // [Document][google.cloud.discoveryengine.v1alpha.Document]s. Request + // processing may be synchronous. Non-existing items will be created. + // + // Note: It is possible for a subset of the + // [Document][google.cloud.discoveryengine.v1alpha.Document]s to be + // successfully updated. + rpc ImportDocuments(ImportDocumentsRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1alpha/{parent=projects/*/locations/*/dataStores/*/branches/*}/documents:import" + body: "*" + additional_bindings { + post: "/v1alpha/{parent=projects/*/locations/*/collections/*/dataStores/*/branches/*}/documents:import" + body: "*" + } + }; + option (google.longrunning.operation_info) = { + response_type: "google.cloud.discoveryengine.v1alpha.ImportDocumentsResponse" + metadata_type: "google.cloud.discoveryengine.v1alpha.ImportDocumentsMetadata" + }; + } + + // Permanently deletes all selected + // [Document][google.cloud.discoveryengine.v1alpha.Document]s in a branch. + // + // This process is asynchronous. Depending on the number of + // [Document][google.cloud.discoveryengine.v1alpha.Document]s to be deleted, + // this operation can take hours to complete. Before the delete operation + // completes, some [Document][google.cloud.discoveryengine.v1alpha.Document]s + // might still be returned by + // [DocumentService.GetDocument][google.cloud.discoveryengine.v1alpha.DocumentService.GetDocument] + // or + // [DocumentService.ListDocuments][google.cloud.discoveryengine.v1alpha.DocumentService.ListDocuments]. + // + // To get a list of the + // [Document][google.cloud.discoveryengine.v1alpha.Document]s to be deleted, + // set + // [PurgeDocumentsRequest.force][google.cloud.discoveryengine.v1alpha.PurgeDocumentsRequest.force] + // to false. + rpc PurgeDocuments(PurgeDocumentsRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1alpha/{parent=projects/*/locations/*/dataStores/*/branches/*}/documents:purge" + body: "*" + additional_bindings { + post: "/v1alpha/{parent=projects/*/locations/*/collections/*/dataStores/*/branches/*}/documents:purge" + body: "*" + } + }; + option (google.longrunning.operation_info) = { + response_type: "google.cloud.discoveryengine.v1alpha.PurgeDocumentsResponse" + metadata_type: "google.cloud.discoveryengine.v1alpha.PurgeDocumentsMetadata" + }; + } +} + +// Request message for +// [DocumentService.GetDocument][google.cloud.discoveryengine.v1alpha.DocumentService.GetDocument] +// method. +message GetDocumentRequest { + // Required. Full resource name of + // [Document][google.cloud.discoveryengine.v1alpha.Document], such as + // `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}/documents/{document}`. + // + // If the caller does not have permission to access the + // [Document][google.cloud.discoveryengine.v1alpha.Document], regardless of + // whether or not it exists, a `PERMISSION_DENIED` error is returned. + // + // If the requested [Document][google.cloud.discoveryengine.v1alpha.Document] + // does not exist, a `NOT_FOUND` error is returned. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/Document" + } + ]; +} + +// Request message for +// [DocumentService.ListDocuments][google.cloud.discoveryengine.v1alpha.DocumentService.ListDocuments] +// method. +message ListDocumentsRequest { + // Required. The parent branch resource name, such as + // `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}`. + // Use `default_branch` as the branch ID, to list documents under the default + // branch. + // + // If the caller does not have permission to list + // [Document][google.cloud.discoveryengine.v1alpha.Document]s under this + // branch, regardless of whether or not this branch exists, a + // `PERMISSION_DENIED` error is returned. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/Branch" + } + ]; + + // Maximum number of + // [Document][google.cloud.discoveryengine.v1alpha.Document]s to return. If + // unspecified, defaults to 100. The maximum allowed value is 1000. Values + // above 1000 will be coerced to 1000. + // + // If this field is negative, an `INVALID_ARGUMENT` error is returned. + int32 page_size = 2; + + // A page token + // [ListDocumentsResponse.next_page_token][google.cloud.discoveryengine.v1alpha.ListDocumentsResponse.next_page_token], + // received from a previous + // [DocumentService.ListDocuments][google.cloud.discoveryengine.v1alpha.DocumentService.ListDocuments] + // call. Provide this to retrieve the subsequent page. + // + // When paginating, all other parameters provided to + // [DocumentService.ListDocuments][google.cloud.discoveryengine.v1alpha.DocumentService.ListDocuments] + // must match the call that provided the page token. Otherwise, an + // `INVALID_ARGUMENT` error is returned. + string page_token = 3; +} + +// Response message for +// [DocumentService.ListDocuments][google.cloud.discoveryengine.v1alpha.DocumentService.ListDocuments] +// method. +message ListDocumentsResponse { + // The [Document][google.cloud.discoveryengine.v1alpha.Document]s. + repeated Document documents = 1; + + // A token that can be sent as + // [ListDocumentsRequest.page_token][google.cloud.discoveryengine.v1alpha.ListDocumentsRequest.page_token] + // to retrieve the next page. If this field is omitted, there are no + // subsequent pages. + string next_page_token = 2; +} + +// Request message for +// [DocumentService.CreateDocument][google.cloud.discoveryengine.v1alpha.DocumentService.CreateDocument] +// method. +message CreateDocumentRequest { + // Required. The parent resource name, such as + // `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/Branch" + } + ]; + + // Required. The [Document][google.cloud.discoveryengine.v1alpha.Document] to + // create. + Document document = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The ID to use for the + // [Document][google.cloud.discoveryengine.v1alpha.Document], which will + // become the final component of the + // [Document.name][google.cloud.discoveryengine.v1alpha.Document.name]. + // + // If the caller does not have permission to create the + // [Document][google.cloud.discoveryengine.v1alpha.Document], regardless of + // whether or not it exists, a `PERMISSION_DENIED` error is returned. + // + // This field must be unique among all + // [Document][google.cloud.discoveryengine.v1alpha.Document]s with the same + // [parent][google.cloud.discoveryengine.v1alpha.CreateDocumentRequest.parent]. + // Otherwise, an `ALREADY_EXISTS` error is returned. + // + // This field must conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) + // standard with a length limit of 63 characters. Otherwise, an + // `INVALID_ARGUMENT` error is returned. + string document_id = 3 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for +// [DocumentService.UpdateDocument][google.cloud.discoveryengine.v1alpha.DocumentService.UpdateDocument] +// method. +message UpdateDocumentRequest { + // Required. The document to update/create. + // + // If the caller does not have permission to update the + // [Document][google.cloud.discoveryengine.v1alpha.Document], regardless of + // whether or not it exists, a `PERMISSION_DENIED` error is returned. + // + // If the [Document][google.cloud.discoveryengine.v1alpha.Document] to update + // does not exist and + // [allow_missing][google.cloud.discoveryengine.v1alpha.UpdateDocumentRequest.allow_missing] + // is not set, a `NOT_FOUND` error is returned. + Document document = 1 [(google.api.field_behavior) = REQUIRED]; + + // If set to true, and the + // [Document][google.cloud.discoveryengine.v1alpha.Document] is not found, a + // new [Document][google.cloud.discoveryengine.v1alpha.Document] will be + // created. + bool allow_missing = 2; +} + +// Request message for +// [DocumentService.DeleteDocument][google.cloud.discoveryengine.v1alpha.DocumentService.DeleteDocument] +// method. +message DeleteDocumentRequest { + // Required. Full resource name of + // [Document][google.cloud.discoveryengine.v1alpha.Document], such as + // `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}/documents/{document}`. + // + // If the caller does not have permission to delete the + // [Document][google.cloud.discoveryengine.v1alpha.Document], regardless of + // whether or not it exists, a `PERMISSION_DENIED` error is returned. + // + // If the [Document][google.cloud.discoveryengine.v1alpha.Document] to delete + // does not exist, a `NOT_FOUND` error is returned. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/Document" + } + ]; +} diff --git a/third_party/googleapis/google/cloud/discoveryengine/v1alpha/engine.proto b/third_party/googleapis/google/cloud/discoveryengine/v1alpha/engine.proto new file mode 100644 index 000000000..0c96b0c3f --- /dev/null +++ b/third_party/googleapis/google/cloud/discoveryengine/v1alpha/engine.proto @@ -0,0 +1,370 @@ +// 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.discoveryengine.v1alpha; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/discoveryengine/v1alpha/common.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.DiscoveryEngine.V1Alpha"; +option go_package = "cloud.google.com/go/discoveryengine/apiv1alpha/discoveryenginepb;discoveryenginepb"; +option java_multiple_files = true; +option java_outer_classname = "EngineProto"; +option java_package = "com.google.cloud.discoveryengine.v1alpha"; +option objc_class_prefix = "DISCOVERYENGINE"; +option php_namespace = "Google\\Cloud\\DiscoveryEngine\\V1alpha"; +option ruby_package = "Google::Cloud::DiscoveryEngine::V1alpha"; + +// Metadata that describes the training and serving parameters of an +// [Engine][google.cloud.discoveryengine.v1alpha.Engine]. +message Engine { + option (google.api.resource) = { + type: "discoveryengine.googleapis.com/Engine" + pattern: "projects/{project}/locations/{location}/collections/{collection}/engines/{engine}" + }; + + // Configurations for a Search Engine. + message SearchEngineConfig { + // The search feature tier of this engine. + // + // Different tiers might have different + // pricing. To learn more, please check the pricing documentation. + // + // Defaults to + // [SearchTier.SEARCH_TIER_STANDARD][google.cloud.discoveryengine.v1alpha.SearchTier.SEARCH_TIER_STANDARD] + // if not specified. + SearchTier search_tier = 1; + + // The add-on that this search engine enables. + repeated SearchAddOn search_add_ons = 2; + } + + // Additional config specs for a `similar-items` engine. + message SimilarDocumentsEngineConfig {} + + // Additional config specs for a Media Recommendation engine. + message MediaRecommendationEngineConfig { + // Custom threshold for `cvr` optimization_objective. + message OptimizationObjectiveConfig { + // Required. The name of the field to target. Currently supported + // values: `watch-percentage`, `watch-time`. + string target_field = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The threshold to be applied to the target (e.g., 0.5). + float target_field_value_float = 2 + [(google.api.field_behavior) = REQUIRED]; + } + + // The training state of the engine. + enum TrainingState { + // Unspecified training state. + TRAINING_STATE_UNSPECIFIED = 0; + + // The engine training is paused. + PAUSED = 1; + + // The engine is training. + TRAINING = 2; + } + + // Required. The type of engine e.g. `recommended-for-you`. + // + // This field together with + // [optimization_objective][Engine.optimization_objective] describe engine + // metadata to use to control engine training and serving. + // + // Currently supported values: `recommended-for-you`, `others-you-may-like`, + // `more-like-this`, `most-popular-items`. + string type = 1 [(google.api.field_behavior) = REQUIRED]; + + // The optimization objective e.g. `cvr`. + // + // This field together with + // [optimization_objective][google.cloud.discoveryengine.v1alpha.Engine.MediaRecommendationEngineConfig.type] + // describe engine metadata to use to control engine training and serving. + // + // Currently supported + // values: `ctr`, `cvr`. + // + // If not specified, we choose default based on engine type. + // Default depends on type of recommendation: + // + // `recommended-for-you` => `ctr` + // + // `others-you-may-like` => `ctr` + string optimization_objective = 2; + + // Name and value of the custom threshold for cvr optimization_objective. + // For target_field `watch-time`, target_field_value must be an integer + // value indicating the media progress time in seconds between (0, 86400] + // (excludes 0, includes 86400) (e.g., 90). + // For target_field `watch-percentage`, the target_field_value must be a + // valid float value between (0, 1.0] (excludes 0, includes 1.0) (e.g., + // 0.5). + OptimizationObjectiveConfig optimization_objective_config = 3; + + // The training state that the engine is in (e.g. + // `TRAINING` or `PAUSED`). + // + // Since part of the cost of running the service + // is frequency of training - this can be used to determine when to train + // engine in order to control cost. If not specified: the default value for + // `CreateEngine` method is `TRAINING`. The default value for + // `UpdateEngine` method is to keep the state the same as before. + TrainingState training_state = 4; + } + + // Configurations for a Chat Engine. + message ChatEngineConfig { + // Configurations for generating a Dialogflow agent. + // + // Note that these configurations are one-time consumed by + // and passed to Dialogflow service. It means they cannot be retrieved using + // [EngineService.GetEngine][google.cloud.discoveryengine.v1alpha.EngineService.GetEngine] + // or + // [EngineService.ListEngines][google.cloud.discoveryengine.v1alpha.EngineService.ListEngines] + // API after engine creation. + message AgentCreationConfig { + // Name of the company, organization or other entity that the agent + // represents. Used for knowledge connector LLM prompt and for knowledge + // search. + string business = 1; + + // Required. The default language of the agent as a language tag. + // See [Language + // Support](https://cloud.google.com/dialogflow/docs/reference/language) + // for a list of the currently supported language codes. + string default_language_code = 2; + + // Required. The time zone of the agent from the [time zone + // database](https://www.iana.org/time-zones), e.g., America/New_York, + // Europe/Paris. + string time_zone = 3 [(google.api.field_behavior) = REQUIRED]; + } + + // The configurationt generate the Dialogflow agent that is associated to + // this Engine. + // + // Note that these configurations are one-time consumed by + // and passed to Dialogflow service. It means they cannot be retrieved using + // [EngineService.GetEngine][google.cloud.discoveryengine.v1alpha.EngineService.GetEngine] + // or + // [EngineService.ListEngines][google.cloud.discoveryengine.v1alpha.EngineService.ListEngines] + // API after engine creation. + AgentCreationConfig agent_creation_config = 1; + + // The resource name of an exist Dialogflow agent to link to this Chat + // Engine. Customers can either provide `agent_creation_config` to create + // agent or provide an agent name that links the agent with the Chat engine. + // + // Format: `projects//locations//agents/`. + // + // Note that the `dialogflow_agent_to_link` are one-time consumed by and + // passed to Dialogflow service. It means they cannot be retrieved using + // [EngineService.GetEngine][google.cloud.discoveryengine.v1alpha.EngineService.GetEngine] + // or + // [EngineService.ListEngines][google.cloud.discoveryengine.v1alpha.EngineService.ListEngines] + // API after engine creation. Please use + // [chat_engine_metadata.dialogflow_agent][] for actual agent + // association after Engine is created. + string dialogflow_agent_to_link = 2; + } + + // Common configurations for an Engine. + message CommonConfig { + // The name of the company, business or entity that is associated with the + // engine. Setting this may help improve LLM related features. + string company_name = 1; + } + + // Additional information of a recommendation engine. + message RecommendationMetadata { + // The serving state of the recommendation engine. + enum ServingState { + // Unspecified serving state. + SERVING_STATE_UNSPECIFIED = 0; + + // The engine is not serving. + INACTIVE = 1; + + // The engine is serving and can be queried. + ACTIVE = 2; + + // The engine is trained on tuned hyperparameters and can be + // queried. + TUNED = 3; + } + + // Describes whether this engine have sufficient training data + // to be continuously trained. + enum DataState { + // Unspecified default value, should never be explicitly set. + DATA_STATE_UNSPECIFIED = 0; + + // The engine has sufficient training data. + DATA_OK = 1; + + // The engine does not have sufficient training data. Error + // messages can be queried via Stackdriver. + DATA_ERROR = 2; + } + + // Output only. The serving state of the engine: `ACTIVE`, `NOT_ACTIVE`. + ServingState serving_state = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The state of data requirements for this engine: `DATA_OK` + // and `DATA_ERROR`. + // + // Engine cannot be trained if the data is in + // `DATA_ERROR` state. Engine can have `DATA_ERROR` state even + // if serving state is `ACTIVE`: engines were trained successfully before, + // but cannot be refreshed because the underlying engine no longer has + // sufficient data for training. + DataState data_state = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The timestamp when the latest successful tune finished. Only + // applicable on Media Recommendation engines. + google.protobuf.Timestamp last_tune_time = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The latest tune operation id associated with the engine. + // Only applicable on Media Recommendation engines. + // + // If present, this operation id can be used to determine if there is an + // ongoing tune for this engine. To check the operation status, send the + // GetOperation request with this operation id in the engine resource + // format. If no tuning has happened for this engine, the string is empty. + string tuning_operation = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Additional information of a Chat Engine. + // Fields in this message are output only. + message ChatEngineMetadata { + // The resource name of a Dialogflow agent, that this Chat Engine refers + // to. + // + // Format: `projects//locations//agents/`. + string dialogflow_agent = 1; + } + + // Additional config specs that defines the behavior of the engine. + oneof engine_config { + // Additional config specs for a `similar-items` engine. + SimilarDocumentsEngineConfig similar_documents_config = 9; + + // Configurations for the Chat Engine. Only applicable if + // [solution_type][google.cloud.discoveryengine.v1alpha.Engine.solution_type] + // is + // [SOLUTION_TYPE_CHAT][google.cloud.discoveryengine.v1alpha.SolutionType.SOLUTION_TYPE_CHAT]. + ChatEngineConfig chat_engine_config = 11; + + // Configurations for the Search Engine. Only applicable if + // [solution_type][google.cloud.discoveryengine.v1alpha.Engine.solution_type] + // is + // [SOLUTION_TYPE_SEARCH][google.cloud.discoveryengine.v1alpha.SolutionType.SOLUTION_TYPE_SEARCH]. + SearchEngineConfig search_engine_config = 13; + + // Configurations for the Media Engine. Only applicable on the data + // stores with + // [solution_type][google.cloud.discoveryengine.v1alpha.Engine.solution_type] + // [SOLUTION_TYPE_RECOMMENDATION][google.cloud.discoveryengine.v1alpha.SolutionType.SOLUTION_TYPE_RECOMMENDATION] + // and + // [IndustryVertical.MEDIA][google.cloud.discoveryengine.v1alpha.IndustryVertical.MEDIA] + // vertical. + MediaRecommendationEngineConfig media_recommendation_engine_config = 14; + } + + // Engine metadata to monitor the status of the engine. + oneof engine_metadata { + // Output only. Additional information of a recommendation engine. Only + // applicable if + // [solution_type][google.cloud.discoveryengine.v1alpha.Engine.solution_type] + // is + // [SOLUTION_TYPE_RECOMMENDATION][google.cloud.discoveryengine.v1alpha.SolutionType.SOLUTION_TYPE_RECOMMENDATION]. + RecommendationMetadata recommendation_metadata = 10 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Additional information of the Chat Engine. Only applicable + // if + // [solution_type][google.cloud.discoveryengine.v1alpha.Engine.solution_type] + // is + // [SOLUTION_TYPE_CHAT][google.cloud.discoveryengine.v1alpha.SolutionType.SOLUTION_TYPE_CHAT]. + ChatEngineMetadata chat_engine_metadata = 12 + [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Immutable. The fully qualified resource name of the engine. + // + // This field must be a UTF-8 encoded string with a length limit of 1024 + // characters. + // + // Format: + // `projects/{project_number}/locations/{location}/collections/{collection}/engines/{engine}` + // engine should be 1-63 characters, and valid characters are + // /[a-z0-9][a-z0-9-_]*/. Otherwise, an INVALID_ARGUMENT error is returned. + string name = 1 [(google.api.field_behavior) = IMMUTABLE]; + + // Required. The display name of the engine. Should be human readable. UTF-8 + // encoded string with limit of 1024 characters. + string display_name = 2 [(google.api.field_behavior) = REQUIRED]; + + // Output only. Timestamp the Recommendation Engine was created at. + google.protobuf.Timestamp create_time = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Timestamp the Recommendation Engine was last updated. + google.protobuf.Timestamp update_time = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The data stores associated with this engine. + // + // For + // [SOLUTION_TYPE_SEARCH][google.cloud.discoveryengine.v1alpha.SolutionType.SOLUTION_TYPE_SEARCH] + // and + // [SOLUTION_TYPE_RECOMMENDATION][google.cloud.discoveryengine.v1alpha.SolutionType.SOLUTION_TYPE_RECOMMENDATION] + // type of engines, they can only associate with at most one data store. + // + // If + // [solution_type][google.cloud.discoveryengine.v1alpha.Engine.solution_type] + // is + // [SOLUTION_TYPE_CHAT][google.cloud.discoveryengine.v1alpha.SolutionType.SOLUTION_TYPE_CHAT], + // multiple [DataStore][google.cloud.discoveryengine.v1alpha.DataStore]s in + // the same [Collection][google.cloud.discoveryengine.v1alpha.Collection] can + // be associated here. + // + // Note that when used in + // [CreateEngineRequest][google.cloud.discoveryengine.v1alpha.CreateEngineRequest], + // one DataStore id must be provided as the system will use it for necessary + // intializations. + repeated string data_store_ids = 5; + + // Required. The solutions of the engine. + SolutionType solution_type = 6 [(google.api.field_behavior) = REQUIRED]; + + // The industry vertical that the engine registers. + // The restriction of the Engine industry vertical is based on + // [DataStore][google.cloud.discoveryengine.v1alpha.DataStore]: If + // unspecified, default to `GENERIC`. Vertical on Engine has to match vertical + // of the DataStore liniked to the engine. + IndustryVertical industry_vertical = 16; + + // Common config spec that specifies the metadata of the engine. + CommonConfig common_config = 15; +} diff --git a/third_party/googleapis/google/cloud/discoveryengine/v1alpha/engine_service.proto b/third_party/googleapis/google/cloud/discoveryengine/v1alpha/engine_service.proto new file mode 100644 index 000000000..106381deb --- /dev/null +++ b/third_party/googleapis/google/cloud/discoveryengine/v1alpha/engine_service.proto @@ -0,0 +1,336 @@ +// 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.discoveryengine.v1alpha; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/discoveryengine/v1alpha/engine.proto"; +import "google/longrunning/operations.proto"; +import "google/protobuf/empty.proto"; +import "google/protobuf/field_mask.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.DiscoveryEngine.V1Alpha"; +option go_package = "cloud.google.com/go/discoveryengine/apiv1alpha/discoveryenginepb;discoveryenginepb"; +option java_multiple_files = true; +option java_outer_classname = "EngineServiceProto"; +option java_package = "com.google.cloud.discoveryengine.v1alpha"; +option objc_class_prefix = "DISCOVERYENGINE"; +option php_namespace = "Google\\Cloud\\DiscoveryEngine\\V1alpha"; +option ruby_package = "Google::Cloud::DiscoveryEngine::V1alpha"; + +// Service for managing [Engine][google.cloud.discoveryengine.v1alpha.Engine] +// configuration. +service EngineService { + option (google.api.default_host) = "discoveryengine.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform"; + + // Creates a [Engine][google.cloud.discoveryengine.v1alpha.Engine]. + rpc CreateEngine(CreateEngineRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1alpha/{parent=projects/*/locations/*/collections/*}/engines" + body: "engine" + }; + option (google.api.method_signature) = "parent,engine,engine_id"; + option (google.longrunning.operation_info) = { + response_type: "google.cloud.discoveryengine.v1alpha.Engine" + metadata_type: "google.cloud.discoveryengine.v1alpha.CreateEngineMetadata" + }; + } + + // Deletes a [Engine][google.cloud.discoveryengine.v1alpha.Engine]. + rpc DeleteEngine(DeleteEngineRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1alpha/{name=projects/*/locations/*/collections/*/engines/*}" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "google.cloud.discoveryengine.v1alpha.DeleteEngineMetadata" + }; + } + + // Updates an [Engine][google.cloud.discoveryengine.v1alpha.Engine] + rpc UpdateEngine(UpdateEngineRequest) returns (Engine) { + option (google.api.http) = { + patch: "/v1alpha/{engine.name=projects/*/locations/*/collections/*/engines/*}" + body: "engine" + }; + option (google.api.method_signature) = "engine,update_mask"; + } + + // Gets a [Engine][google.cloud.discoveryengine.v1alpha.Engine]. + rpc GetEngine(GetEngineRequest) returns (Engine) { + option (google.api.http) = { + get: "/v1alpha/{name=projects/*/locations/*/collections/*/engines/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Lists all the [Engine][google.cloud.discoveryengine.v1alpha.Engine]s + // associated with the project. + rpc ListEngines(ListEnginesRequest) returns (ListEnginesResponse) { + option (google.api.http) = { + get: "/v1alpha/{parent=projects/*/locations/*/collections/*}/engines" + }; + option (google.api.method_signature) = "parent"; + } + + // Pauses the training of an existing engine. Only applicable if + // [solution_type][] is + // [SOLUTION_TYPE_RECOMMENDATION][google.cloud.discoveryengine.v1alpha.SolutionType.SOLUTION_TYPE_RECOMMENDATION]. + rpc PauseEngine(PauseEngineRequest) returns (Engine) { + option (google.api.http) = { + post: "/v1alpha/{name=projects/*/locations/*/collections/*/engines/*}:pause" + body: "*" + }; + option (google.api.method_signature) = "name"; + } + + // Resumes the training of an existing engine. Only applicable if + // [SolutionType][google.cloud.discoveryengine.v1alpha.SolutionType] is + // [SOLUTION_TYPE_RECOMMENDATION][google.cloud.discoveryengine.v1alpha.SolutionType.SOLUTION_TYPE_RECOMMENDATION]. + rpc ResumeEngine(ResumeEngineRequest) returns (Engine) { + option (google.api.http) = { + post: "/v1alpha/{name=projects/*/locations/*/collections/*/engines/*}:resume" + body: "*" + }; + option (google.api.method_signature) = "name"; + } + + // Tunes an existing engine. Only applicable if [solution_type][] is + // [SOLUTION_TYPE_RECOMMENDATION][google.cloud.discoveryengine.v1alpha.SolutionType.SOLUTION_TYPE_RECOMMENDATION]. + rpc TuneEngine(TuneEngineRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1alpha/{name=projects/*/locations/*/collections/*/engines/*}:tune" + body: "*" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "TuneEngineResponse" + metadata_type: "TuneEngineMetadata" + }; + } +} + +// Request for +// [EngineService.CreateEngine][google.cloud.discoveryengine.v1alpha.EngineService.CreateEngine] +// method. +message CreateEngineRequest { + // Required. The parent resource name, such as + // `projects/{project}/locations/{location}/collections/{collection}`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/Collection" + } + ]; + + // Required. The [Engine][google.cloud.discoveryengine.v1alpha.Engine] to + // create. + Engine engine = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The ID to use for the + // [Engine][google.cloud.discoveryengine.v1alpha.Engine], which will become + // the final component of the + // [Engine][google.cloud.discoveryengine.v1alpha.Engine]'s resource name. + // + // This field must conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) + // standard with a length limit of 63 characters. Otherwise, an + // INVALID_ARGUMENT error is returned. + string engine_id = 3 [(google.api.field_behavior) = REQUIRED]; +} + +// Metadata related to the progress of the +// [EngineService.CreateEngine][google.cloud.discoveryengine.v1alpha.EngineService.CreateEngine] +// operation. This will be returned by the google.longrunning.Operation.metadata +// field. +message CreateEngineMetadata { + // Operation create time. + google.protobuf.Timestamp create_time = 1; + + // Operation last update time. If the operation is done, this is also the + // finish time. + google.protobuf.Timestamp update_time = 2; +} + +// Request message for +// [EngineService.DeleteEngine][google.cloud.discoveryengine.v1alpha.EngineService.DeleteEngine] +// method. +message DeleteEngineRequest { + // Required. Full resource name of + // [Engine][google.cloud.discoveryengine.v1alpha.Engine], such as + // `projects/{project}/locations/{location}/collections/{collection_id}/engines/{engine_id}`. + // + // If the caller does not have permission to delete the + // [Engine][google.cloud.discoveryengine.v1alpha.Engine], regardless of + // whether or not it exists, a PERMISSION_DENIED error is returned. + // + // If the [Engine][google.cloud.discoveryengine.v1alpha.Engine] to delete does + // not exist, a NOT_FOUND error is returned. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/Engine" + } + ]; +} + +// Metadata related to the progress of the +// [EngineService.DeleteEngine][google.cloud.discoveryengine.v1alpha.EngineService.DeleteEngine] +// operation. This will be returned by the google.longrunning.Operation.metadata +// field. +message DeleteEngineMetadata { + // Operation create time. + google.protobuf.Timestamp create_time = 1; + + // Operation last update time. If the operation is done, this is also the + // finish time. + google.protobuf.Timestamp update_time = 2; +} + +// Request message for +// [EngineService.GetEngine][google.cloud.discoveryengine.v1alpha.EngineService.GetEngine] +// method. +message GetEngineRequest { + // Required. Full resource name of + // [Engine][google.cloud.discoveryengine.v1alpha.Engine], such as + // `projects/{project}/locations/{location}/collections/{collection_id}/engines/{engine_id}`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/Engine" + } + ]; +} + +// Request message for +// [EngineService.ListEngines][google.cloud.discoveryengine.v1alpha.EngineService.ListEngines] +// method. +message ListEnginesRequest { + // Required. The parent resource name, such as + // `projects/{project}/locations/{location}/collections/{collection_id}`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/Collection" + } + ]; + + // Optional. Not supported. + int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Not supported. + string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Filter by solution type. For example: + // solution_type=SOLUTION_TYPE_SEARCH + string filter = 4 [(google.api.field_behavior) = OPTIONAL]; +} + +// Response message for +// [EngineService.ListEngines][google.cloud.discoveryengine.v1alpha.EngineService.ListEngines] +// method. +message ListEnginesResponse { + // All the customer's [Engine][google.cloud.discoveryengine.v1alpha.Engine]s. + repeated Engine engines = 1; + + // Not supported. + string next_page_token = 2; +} + +// Request message for +// [EngineService.UpdateEngine][google.cloud.discoveryengine.v1alpha.EngineService.UpdateEngine] +// method. +message UpdateEngineRequest { + // Required. The [Engine][google.cloud.discoveryengine.v1alpha.Engine] to + // update. + // + // If the caller does not have permission to update the + // [Engine][google.cloud.discoveryengine.v1alpha.Engine], regardless of + // whether or not it exists, a PERMISSION_DENIED error is returned. + // + // If the [Engine][google.cloud.discoveryengine.v1alpha.Engine] to update does + // not exist, a NOT_FOUND error is returned. + Engine engine = 1 [(google.api.field_behavior) = REQUIRED]; + + // Indicates which fields in the provided + // [Engine][google.cloud.discoveryengine.v1alpha.Engine] to update. + // + // If an unsupported or unknown field is provided, an INVALID_ARGUMENT error + // is returned. + google.protobuf.FieldMask update_mask = 2; +} + +// Request for pausing training of an engine. +message PauseEngineRequest { + // Required. The name of the engine to pause. + // Format: + // `projects/{project_number}/locations/{location_id}/collections/{collection_id}/engines/{engine_id}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/Engine" + } + ]; +} + +// Request for resuming training of an engine. +message ResumeEngineRequest { + // Required. The name of the engine to resume. + // Format: + // `projects/{project_number}/locations/{location_id}/collections/{collection_id}/engines/{engine_id}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/Engine" + } + ]; +} + +// Request to manually start a tuning process now (instead of waiting for +// the periodically scheduled tuning to happen). +message TuneEngineRequest { + // Required. The resource name of the engine to tune. + // Format: + // `projects/{project_number}/locations/{location_id}/collections/{collection_id}/engines/{engine_id}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/Engine" + } + ]; +} + +// Metadata associated with a tune operation. +message TuneEngineMetadata { + // Required. The resource name of the engine that this tune applies to. + // Format: + // `projects/{project_number}/locations/{location_id}/collections/{collection_id}/engines/{engine_id}` + string engine = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/Engine" + } + ]; +} + +// Response associated with a tune operation. +message TuneEngineResponse {} diff --git a/third_party/googleapis/google/cloud/discoveryengine/v1alpha/import_config.proto b/third_party/googleapis/google/cloud/discoveryengine/v1alpha/import_config.proto new file mode 100644 index 000000000..8902565ba --- /dev/null +++ b/third_party/googleapis/google/cloud/discoveryengine/v1alpha/import_config.proto @@ -0,0 +1,343 @@ +// 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.discoveryengine.v1alpha; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/discoveryengine/v1alpha/document.proto"; +import "google/cloud/discoveryengine/v1alpha/user_event.proto"; +import "google/protobuf/timestamp.proto"; +import "google/rpc/status.proto"; +import "google/type/date.proto"; + +option csharp_namespace = "Google.Cloud.DiscoveryEngine.V1Alpha"; +option go_package = "cloud.google.com/go/discoveryengine/apiv1alpha/discoveryenginepb;discoveryenginepb"; +option java_multiple_files = true; +option java_outer_classname = "ImportConfigProto"; +option java_package = "com.google.cloud.discoveryengine.v1alpha"; +option objc_class_prefix = "DISCOVERYENGINE"; +option php_namespace = "Google\\Cloud\\DiscoveryEngine\\V1alpha"; +option ruby_package = "Google::Cloud::DiscoveryEngine::V1alpha"; + +// Cloud Storage location for input content. +message GcsSource { + // Required. Cloud Storage URIs to input files. URI can be up to + // 2000 characters long. URIs can match the full object path (for example, + // `gs://bucket/directory/object.json`) or a pattern matching one or more + // files, such as `gs://bucket/directory/*.json`. + // + // A request can contain at most 100 files (or 100,000 files if `data_schema` + // is `content`). Each file can be up to 2 GB (or 100 MB if `data_schema` is + // `content`). + repeated string input_uris = 1 [(google.api.field_behavior) = REQUIRED]; + + // The schema to use when parsing the data from the source. + // + // Supported values for document imports: + // + // * `document` (default): One JSON + // [Document][google.cloud.discoveryengine.v1alpha.Document] per line. Each + // document must + // have a valid + // [Document.id][google.cloud.discoveryengine.v1alpha.Document.id]. + // * `content`: Unstructured data (e.g. PDF, HTML). Each file matched by + // `input_uris` becomes a document, with the ID set to the first 128 + // bits of SHA256(URI) encoded as a hex string. + // * `custom`: One custom data JSON per row in arbitrary format that conforms + // to the defined [Schema][google.cloud.discoveryengine.v1alpha.Schema] of + // the data store. This can only be used by Gen App Builder. + // * `csv`: A CSV file with header conforming to the defined + // [Schema][google.cloud.discoveryengine.v1alpha.Schema] of the + // data store. Each entry after the header is imported as a Document. + // This can only be used by Gen App Builder. + // + // Supported values for user even imports: + // + // * `user_event` (default): One JSON + // [UserEvent][google.cloud.discoveryengine.v1alpha.UserEvent] per line. + string data_schema = 2; +} + +// BigQuery source import data from. +message BigQuerySource { + // BigQuery table partition info. Leave this empty if the BigQuery table + // is not partitioned. + oneof partition { + // BigQuery time partitioned table's _PARTITIONDATE in YYYY-MM-DD format. + google.type.Date partition_date = 5; + } + + // The project ID (can be project # or ID) that the BigQuery source is in with + // a length limit of 128 characters. If not specified, inherits the project + // ID from the parent request. + string project_id = 1; + + // Required. The BigQuery data set to copy the data from with a length limit + // of 1,024 characters. + string dataset_id = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The BigQuery table to copy the data from with a length limit of + // 1,024 characters. + string table_id = 3 [(google.api.field_behavior) = REQUIRED]; + + // Intermediate Cloud Storage directory used for the import with a length + // limit of 2,000 characters. Can be specified if one wants to have the + // BigQuery export to a specific Cloud Storage directory. + string gcs_staging_dir = 4; + + // The schema to use when parsing the data from the source. + // + // Supported values for user event imports: + // + // * `user_event` (default): One + // [UserEvent][google.cloud.discoveryengine.v1alpha.UserEvent] per row. + // + // Supported values for document imports: + // + // * `document` (default): One + // [Document][google.cloud.discoveryengine.v1alpha.Document] format per + // row. Each document must have a valid + // [Document.id][google.cloud.discoveryengine.v1alpha.Document.id] and one + // of + // [Document.json_data][google.cloud.discoveryengine.v1alpha.Document.json_data] + // or + // [Document.struct_data][google.cloud.discoveryengine.v1alpha.Document.struct_data]. + // * `custom`: One custom data per row in arbitrary format that conforms to + // the defined [Schema][google.cloud.discoveryengine.v1alpha.Schema] of the + // data store. This can only be used by Gen App Builder. + string data_schema = 6; +} + +// Configuration of destination for Import related errors. +message ImportErrorConfig { + // Required. Errors destination. + oneof destination { + // Cloud Storage prefix for import errors. This must be an empty, + // existing Cloud Storage directory. Import errors are written to + // sharded files in this directory, one per line, as a JSON-encoded + // `google.rpc.Status` message. + string gcs_prefix = 1; + } +} + +// Request message for the ImportUserEvents request. +message ImportUserEventsRequest { + // The inline source for the input config for ImportUserEvents method. + message InlineSource { + // Required. A list of user events to import. Recommended max of 10k items. + repeated UserEvent user_events = 1 [(google.api.field_behavior) = REQUIRED]; + } + + // Required - The desired input source of the user event data. + oneof source { + // The Inline source for the input content for UserEvents. + InlineSource inline_source = 2; + + // Cloud Storage location for the input content. + GcsSource gcs_source = 3; + + // BigQuery input source. + BigQuerySource bigquery_source = 4; + } + + // Required. Parent DataStore resource name, of the form + // `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/DataStore" + } + ]; + + // The desired location of errors incurred during the Import. Cannot be set + // for inline user event imports. + ImportErrorConfig error_config = 5; +} + +// Response of the ImportUserEventsRequest. If the long running +// operation was successful, then this message is returned by the +// google.longrunning.Operations.response field if the operation was successful. +message ImportUserEventsResponse { + // A sample of errors encountered while processing the request. + repeated google.rpc.Status error_samples = 1; + + // Echoes the destination for the complete errors if this field was set in + // the request. + ImportErrorConfig error_config = 2; + + // Count of user events imported with complete existing Documents. + int64 joined_events_count = 3; + + // Count of user events imported, but with Document information not found + // in the existing Branch. + int64 unjoined_events_count = 4; +} + +// Metadata related to the progress of the Import operation. This is +// returned by the google.longrunning.Operation.metadata field. +message ImportUserEventsMetadata { + // Operation create time. + google.protobuf.Timestamp create_time = 1; + + // Operation last update time. If the operation is done, this is also the + // finish time. + google.protobuf.Timestamp update_time = 2; + + // Count of entries that were processed successfully. + int64 success_count = 3; + + // Count of entries that encountered errors while processing. + int64 failure_count = 4; +} + +// Metadata related to the progress of the ImportDocuments operation. This is +// returned by the google.longrunning.Operation.metadata field. +message ImportDocumentsMetadata { + // Operation create time. + google.protobuf.Timestamp create_time = 1; + + // Operation last update time. If the operation is done, this is also the + // finish time. + google.protobuf.Timestamp update_time = 2; + + // Count of entries that were processed successfully. + int64 success_count = 3; + + // Count of entries that encountered errors while processing. + int64 failure_count = 4; +} + +// Request message for Import methods. +message ImportDocumentsRequest { + // The inline source for the input config for ImportDocuments method. + message InlineSource { + // Required. A list of documents to update/create. Each document must have a + // valid [Document.id][google.cloud.discoveryengine.v1alpha.Document.id]. + // Recommended max of 100 items. + repeated Document documents = 1 [(google.api.field_behavior) = REQUIRED]; + } + + // Indicates how imported documents are reconciled with the existing documents + // created or imported before. + enum ReconciliationMode { + // Defaults to `INCREMENTAL`. + RECONCILIATION_MODE_UNSPECIFIED = 0; + + // Inserts new documents or updates existing documents. + INCREMENTAL = 1; + + // Calculates diff and replaces the entire document dataset. Existing + // documents may be deleted if they are not present in the source location. + FULL = 2; + } + + // Required. The source of the input. + oneof source { + // The Inline source for the input content for documents. + InlineSource inline_source = 2; + + // Cloud Storage location for the input content. + GcsSource gcs_source = 3; + + // BigQuery input source. + BigQuerySource bigquery_source = 4; + } + + // Required. The parent branch resource name, such as + // `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}`. + // Requires create/update permission. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/Branch" + } + ]; + + // The desired location of errors incurred during the Import. + ImportErrorConfig error_config = 5; + + // The mode of reconciliation between existing documents and the documents to + // be imported. Defaults to + // [ReconciliationMode.INCREMENTAL][google.cloud.discoveryengine.v1alpha.ImportDocumentsRequest.ReconciliationMode.INCREMENTAL]. + ReconciliationMode reconciliation_mode = 6; + + // Whether to automatically generate IDs for the documents if absent. + // + // If set to `true`, + // [Document.id][google.cloud.discoveryengine.v1alpha.Document.id]s are + // automatically generated based on the hash of the payload, where IDs may not + // be consistent during multiple imports. In which case + // [ReconciliationMode.FULL][google.cloud.discoveryengine.v1alpha.ImportDocumentsRequest.ReconciliationMode.FULL] + // is highly recommended to avoid duplicate contents. If unset or set to + // `false`, [Document.id][google.cloud.discoveryengine.v1alpha.Document.id]s + // have to be specified using + // [id_field][google.cloud.discoveryengine.v1alpha.ImportDocumentsRequest.id_field], + // otherwise, documents without IDs fail to be imported. + // + // Only set this field when using + // [GcsSource][google.cloud.discoveryengine.v1alpha.GcsSource] or + // [BigQuerySource][google.cloud.discoveryengine.v1alpha.BigQuerySource], and + // when + // [GcsSource.data_schema][google.cloud.discoveryengine.v1alpha.GcsSource.data_schema] + // or + // [BigQuerySource.data_schema][google.cloud.discoveryengine.v1alpha.BigQuerySource.data_schema] + // is `custom` or `csv`. Otherwise, an INVALID_ARGUMENT error is thrown. + bool auto_generate_ids = 8; + + // The field in the Cloud Storage and BigQuery sources that indicates the + // unique IDs of the documents. + // + // For [GcsSource][google.cloud.discoveryengine.v1alpha.GcsSource] it is the + // key of the JSON field. For instance, `my_id` for JSON `{"my_id": + // "some_uuid"}`. For + // [BigQuerySource][google.cloud.discoveryengine.v1alpha.BigQuerySource] it is + // the column name of the BigQuery table where the unique ids are stored. + // + // The values of the JSON field or the BigQuery column are used as the + // [Document.id][google.cloud.discoveryengine.v1alpha.Document.id]s. The JSON + // field or the BigQuery column must be of string type, and the values must be + // set as valid strings conform to + // [RFC-1034](https://tools.ietf.org/html/rfc1034) with 1-63 characters. + // Otherwise, documents without valid IDs fail to be imported. + // + // Only set this field when using + // [GcsSource][google.cloud.discoveryengine.v1alpha.GcsSource] or + // [BigQuerySource][google.cloud.discoveryengine.v1alpha.BigQuerySource], and + // when + // [GcsSource.data_schema][google.cloud.discoveryengine.v1alpha.GcsSource.data_schema] + // or + // [BigQuerySource.data_schema][google.cloud.discoveryengine.v1alpha.BigQuerySource.data_schema] + // is `custom`. And only set this field when + // [auto_generate_ids][google.cloud.discoveryengine.v1alpha.ImportDocumentsRequest.auto_generate_ids] + // is unset or set as `false`. Otherwise, an INVALID_ARGUMENT error is thrown. + // + // If it is unset, a default value `_id` is used when importing from the + // allowed data sources. + string id_field = 9; +} + +// Response of the +// [ImportDocumentsRequest][google.cloud.discoveryengine.v1alpha.ImportDocumentsRequest]. +// If the long running operation is done, then this message is returned by the +// google.longrunning.Operations.response field if the operation was successful. +message ImportDocumentsResponse { + // A sample of errors encountered while processing the request. + repeated google.rpc.Status error_samples = 1; + + // Echoes the destination for the complete errors in the request if set. + ImportErrorConfig error_config = 2; +} diff --git a/third_party/googleapis/google/cloud/discoveryengine/v1alpha/purge_config.proto b/third_party/googleapis/google/cloud/discoveryengine/v1alpha/purge_config.proto new file mode 100644 index 000000000..ae6158bf2 --- /dev/null +++ b/third_party/googleapis/google/cloud/discoveryengine/v1alpha/purge_config.proto @@ -0,0 +1,159 @@ +// 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.discoveryengine.v1alpha; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.DiscoveryEngine.V1Alpha"; +option go_package = "cloud.google.com/go/discoveryengine/apiv1alpha/discoveryenginepb;discoveryenginepb"; +option java_multiple_files = true; +option java_outer_classname = "PurgeConfigProto"; +option java_package = "com.google.cloud.discoveryengine.v1alpha"; +option objc_class_prefix = "DISCOVERYENGINE"; +option php_namespace = "Google\\Cloud\\DiscoveryEngine\\V1alpha"; +option ruby_package = "Google::Cloud::DiscoveryEngine::V1alpha"; + +// Request message for PurgeUserEvents method. +message PurgeUserEventsRequest { + // Required. The resource name of the catalog under which the events are + // created. The format is + // `projects/${projectId}/locations/global/collections/{$collectionId}/dataStores/${dataStoreId}` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/DataStore" + } + ]; + + // Required. The filter string to specify the events to be deleted with a + // length limit of 5,000 characters. The eligible fields for filtering are: + // + // * `eventType`: Double quoted + // [UserEvent.event_type][google.cloud.discoveryengine.v1alpha.UserEvent.event_type] + // string. + // * `eventTime`: in ISO 8601 "zulu" format. + // * `userPseudoId`: Double quoted string. Specifying this will delete all + // events associated with a visitor. + // * `userId`: Double quoted string. Specifying this will delete all events + // associated with a user. + // + // Examples: + // + // * Deleting all events in a time range: + // `eventTime > "2012-04-23T18:25:43.511Z" + // eventTime < "2012-04-23T18:30:43.511Z"` + // * Deleting specific eventType: + // `eventType = "search"` + // * Deleting all events for a specific visitor: + // `userPseudoId = "visitor1024"` + // * Deleting all events inside a DataStore: + // `*` + // + // The filtering fields are assumed to have an implicit AND. + string filter = 2 [(google.api.field_behavior) = REQUIRED]; + + // The `force` field is currently not supported. Purge user event requests + // will permanently delete all purgeable events. Once the development is + // complete: + // If `force` is set to false, the method will return the expected + // purge count without deleting any user events. This field will default to + // false if not included in the request. + bool force = 3; +} + +// Response of the PurgeUserEventsRequest. If the long running operation is +// successfully done, then this message is returned by the +// google.longrunning.Operations.response field. +message PurgeUserEventsResponse { + // The total count of events purged as a result of the operation. + int64 purge_count = 1; +} + +// Metadata related to the progress of the PurgeUserEvents operation. +// This will be returned by the google.longrunning.Operation.metadata field. +message PurgeUserEventsMetadata { + // Operation create time. + google.protobuf.Timestamp create_time = 1; + + // Operation last update time. If the operation is done, this is also the + // finish time. + google.protobuf.Timestamp update_time = 2; + + // Count of entries that were deleted successfully. + int64 success_count = 3; + + // Count of entries that encountered errors while processing. + int64 failure_count = 4; +} + +// Request message for +// [DocumentService.PurgeDocuments][google.cloud.discoveryengine.v1alpha.DocumentService.PurgeDocuments] +// method. +message PurgeDocumentsRequest { + // Required. The parent resource name, such as + // `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/Branch" + } + ]; + + // Required. Filter matching documents to purge. Only currently supported + // value is + // `*` (all items). + string filter = 2 [(google.api.field_behavior) = REQUIRED]; + + // Actually performs the purge. If `force` is set to false, return the + // expected purge count without deleting any documents. + bool force = 3; +} + +// Response message for +// [DocumentService.PurgeDocuments][google.cloud.discoveryengine.v1alpha.DocumentService.PurgeDocuments] +// method. If the long running operation is successfully done, then this message +// is returned by the google.longrunning.Operations.response field. +message PurgeDocumentsResponse { + // The total count of documents purged as a result of the operation. + int64 purge_count = 1; + + // A sample of document names that will be deleted. Only populated if `force` + // is set to false. A max of 100 names will be returned and the names are + // chosen at random. + repeated string purge_sample = 2 [(google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/Document" + }]; +} + +// Metadata related to the progress of the PurgeDocuments operation. +// This will be returned by the google.longrunning.Operation.metadata field. +message PurgeDocumentsMetadata { + // Operation create time. + google.protobuf.Timestamp create_time = 1; + + // Operation last update time. If the operation is done, this is also the + // finish time. + google.protobuf.Timestamp update_time = 2; + + // Count of entries that were deleted successfully. + int64 success_count = 3; + + // Count of entries that encountered errors while processing. + int64 failure_count = 4; +} diff --git a/third_party/googleapis/google/cloud/discoveryengine/v1alpha/recommendation_service.proto b/third_party/googleapis/google/cloud/discoveryengine/v1alpha/recommendation_service.proto new file mode 100644 index 000000000..bb53f14f8 --- /dev/null +++ b/third_party/googleapis/google/cloud/discoveryengine/v1alpha/recommendation_service.proto @@ -0,0 +1,227 @@ +// 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.discoveryengine.v1alpha; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/discoveryengine/v1alpha/document.proto"; +import "google/cloud/discoveryengine/v1alpha/user_event.proto"; +import "google/protobuf/struct.proto"; + +option csharp_namespace = "Google.Cloud.DiscoveryEngine.V1Alpha"; +option go_package = "cloud.google.com/go/discoveryengine/apiv1alpha/discoveryenginepb;discoveryenginepb"; +option java_multiple_files = true; +option java_outer_classname = "RecommendationServiceProto"; +option java_package = "com.google.cloud.discoveryengine.v1alpha"; +option objc_class_prefix = "DISCOVERYENGINE"; +option php_namespace = "Google\\Cloud\\DiscoveryEngine\\V1alpha"; +option ruby_package = "Google::Cloud::DiscoveryEngine::V1alpha"; + +// Service for making recommendations. +service RecommendationService { + option (google.api.default_host) = "discoveryengine.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform"; + + // Makes a recommendation, which requires a contextual user event. + rpc Recommend(RecommendRequest) returns (RecommendResponse) { + option (google.api.http) = { + post: "/v1alpha/{serving_config=projects/*/locations/*/dataStores/*/servingConfigs/*}:recommend" + body: "*" + additional_bindings { + post: "/v1alpha/{serving_config=projects/*/locations/*/collections/*/dataStores/*/servingConfigs/*}:recommend" + body: "*" + } + additional_bindings { + post: "/v1alpha/{serving_config=projects/*/locations/*/collections/*/engines/*/servingConfigs/*}:recommend" + body: "*" + } + }; + } +} + +// Request message for Recommend method. +message RecommendRequest { + // Required. Full resource name of a + // [ServingConfig][google.cloud.discoveryengine.v1alpha.ServingConfig]: + // `projects/*/locations/global/collections/*/engines/*/servingConfigs/*`, or + // `projects/*/locations/global/collections/*/dataStores/*/servingConfigs/*` + // + // One default serving config is created along with your recommendation engine + // creation. The engine ID will be used as the ID of the default serving + // config. For example, for Engine + // `projects/*/locations/global/collections/*/engines/my-engine`, you can use + // `projects/*/locations/global/collections/*/engines/my-engine/servingConfigs/my-engine` + // for your [Recommend][] requests. + string serving_config = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/ServingConfig" + } + ]; + + // Required. Context about the user, what they are looking at and what action + // they took to trigger the Recommend request. Note that this user event + // detail won't be ingested to userEvent logs. Thus, a separate userEvent + // write request is required for event logging. + // + // Don't set + // [UserEvent.user_pseudo_id][google.cloud.discoveryengine.v1alpha.UserEvent.user_pseudo_id] + // or + // [UserEvent.user_info.user_id][google.cloud.discoveryengine.v1alpha.UserInfo.user_id] + // to the same fixed ID for different users. If you are trying to receive + // non-personalized recommendations (not recommended; this can negatively + // impact model performance), instead set + // [UserEvent.user_pseudo_id][google.cloud.discoveryengine.v1alpha.UserEvent.user_pseudo_id] + // to a random unique ID and leave + // [UserEvent.user_info.user_id][google.cloud.discoveryengine.v1alpha.UserInfo.user_id] + // unset. + UserEvent user_event = 2 [(google.api.field_behavior) = REQUIRED]; + + // Maximum number of results to return. Set this property + // to the number of recommendation results needed. If zero, the service will + // choose a reasonable default. The maximum allowed value is 100. Values + // above 100 will be coerced to 100. + int32 page_size = 3; + + // Filter for restricting recommendation results with a length limit of 5,000 + // characters. Currently, only filter expressions on the `filter_tags` + // attribute is supported. + // + // + // Examples: + // + // * `(filter_tags: ANY("Red", "Blue") OR filter_tags: ANY("Hot", "Cold"))` + // * `(filter_tags: ANY("Red", "Blue")) AND NOT (filter_tags: ANY("Green"))` + // + // If `attributeFilteringSyntax` is set to true under the `params` field, then + // attribute-based expressions are expected instead of the above described + // tag-based syntax. Examples: + // + // * (launguage: ANY("en", "es")) AND NOT (categories: ANY("Movie")) + // * (available: true) AND + // (launguage: ANY("en", "es")) OR (categories: ANY("Movie")) + // + // If your filter blocks all results, the API will return generic + // (unfiltered) popular Documents. If you only want results strictly matching + // the filters, set `strictFiltering` to True in + // [RecommendRequest.params][google.cloud.discoveryengine.v1alpha.RecommendRequest.params] + // to receive empty results instead. + // + // Note that the API will never return + // [Document][google.cloud.discoveryengine.v1alpha.Document]s with + // `storageStatus` of `EXPIRED` or `DELETED` regardless of filter choices. + string filter = 4; + + // Use validate only mode for this recommendation query. If set to true, a + // fake model will be used that returns arbitrary Document IDs. + // Note that the validate only mode should only be used for testing the API, + // or if the model is not ready. + bool validate_only = 5; + + // Additional domain specific parameters for the recommendations. + // + // Allowed values: + // + // * `returnDocument`: Boolean. If set to true, the associated Document + // object will be returned in + // [RecommendResponse.RecommendationResult.document][google.cloud.discoveryengine.v1alpha.RecommendResponse.RecommendationResult.document]. + // * `returnScore`: Boolean. If set to true, the recommendation 'score' + // corresponding to each returned Document will be set in + // [RecommendResponse.RecommendationResult.metadata][google.cloud.discoveryengine.v1alpha.RecommendResponse.RecommendationResult.metadata]. + // The given 'score' indicates the probability of a Document conversion + // given the user's context and history. + // * `strictFiltering`: Boolean. True by default. If set to false, the service + // will return generic (unfiltered) popular Documents instead of empty if + // your filter blocks all recommendation results. + // * `diversityLevel`: String. Default empty. If set to be non-empty, then + // it needs to be one of: + // * `no-diversity` + // * `low-diversity` + // * `medium-diversity` + // * `high-diversity` + // * `auto-diversity` + // This gives request-level control and adjusts recommendation results + // based on Document category. + // * `attributeFilteringSyntax`: Boolean. False by default. If set to true, + // the `filter` field is interpreted according to the new, + // attribute-based syntax. + map params = 6; + + // The user labels applied to a resource must meet the following requirements: + // + // * Each resource can have multiple labels, up to a maximum of 64. + // * Each label must be a key-value pair. + // * Keys have a minimum length of 1 character and a maximum length of 63 + // characters and cannot be empty. Values can be empty and have a maximum + // length of 63 characters. + // * Keys and values can contain only lowercase letters, numeric characters, + // underscores, and dashes. All characters must use UTF-8 encoding, and + // international characters are allowed. + // * The key portion of a label must be unique. However, you can use the same + // key with multiple resources. + // * Keys must start with a lowercase letter or international character. + // + // See [Requirements for + // labels](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements) + // for more details. + map user_labels = 8; +} + +// Response message for Recommend method. +message RecommendResponse { + // RecommendationResult represents a generic recommendation result with + // associated metadata. + message RecommendationResult { + // Resource ID of the recommended Document. + string id = 1; + + // Set if `returnDocument` is set to true in + // [RecommendRequest.params][google.cloud.discoveryengine.v1alpha.RecommendRequest.params]. + Document document = 2; + + // Additional Document metadata / annotations. + // + // Possible values: + // + // * `score`: Recommendation score in double value. Is set if + // `returnScore` is set to true in + // [RecommendRequest.params][google.cloud.discoveryengine.v1alpha.RecommendRequest.params]. + map metadata = 3; + } + + // A list of recommended Documents. The order represents the ranking (from the + // most relevant Document to the least). + repeated RecommendationResult results = 1; + + // A unique attribution token. This should be included in the + // [UserEvent][google.cloud.discoveryengine.v1alpha.UserEvent] logs resulting + // from this recommendation, which enables accurate attribution of + // recommendation model performance. + string attribution_token = 2; + + // IDs of documents in the request that were missing from the default Branch + // associated with the requested ServingConfig. + repeated string missing_ids = 3; + + // True if + // [RecommendRequest.validate_only][google.cloud.discoveryengine.v1alpha.RecommendRequest.validate_only] + // was set. + bool validate_only = 4; +} diff --git a/third_party/googleapis/google/cloud/discoveryengine/v1alpha/schema.proto b/third_party/googleapis/google/cloud/discoveryengine/v1alpha/schema.proto new file mode 100644 index 000000000..1c073962a --- /dev/null +++ b/third_party/googleapis/google/cloud/discoveryengine/v1alpha/schema.proto @@ -0,0 +1,312 @@ +// 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.discoveryengine.v1alpha; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/struct.proto"; + +option csharp_namespace = "Google.Cloud.DiscoveryEngine.V1Alpha"; +option go_package = "cloud.google.com/go/discoveryengine/apiv1alpha/discoveryenginepb;discoveryenginepb"; +option java_multiple_files = true; +option java_outer_classname = "SchemaProto"; +option java_package = "com.google.cloud.discoveryengine.v1alpha"; +option objc_class_prefix = "DISCOVERYENGINE"; +option php_namespace = "Google\\Cloud\\DiscoveryEngine\\V1alpha"; +option ruby_package = "Google::Cloud::DiscoveryEngine::V1alpha"; + +// Defines the structure and layout of a type of document data. +message Schema { + option (google.api.resource) = { + type: "discoveryengine.googleapis.com/Schema" + pattern: "projects/{project}/locations/{location}/dataStores/{data_store}/schemas/{schema}" + pattern: "projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/schemas/{schema}" + }; + + // Schema representation. One of + // [struct_schema][google.cloud.discoveryengine.v1alpha.Schema.struct_schema] + // or [json_schema][google.cloud.discoveryengine.v1alpha.Schema.json_schema] + // should be provided otherwise an `INVALID_ARGUMENT` error is thrown. + oneof schema { + // The structured representation of the schema. + google.protobuf.Struct struct_schema = 2; + + // The JSON representation of the schema. + string json_schema = 3; + } + + // Immutable. The full resource name of the schema, in the format of + // `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/schemas/{schema}`. + // + // This field must be a UTF-8 encoded string with a length limit of 1024 + // characters. + string name = 1 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. Configurations for fields of the schema. + repeated FieldConfig field_configs = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Configurations for fields of a schema. For example, configuring a field is +// indexable, or searchable. +message FieldConfig { + // Field value type in the Schema. + enum FieldType { + // Field type is unspecified. + FIELD_TYPE_UNSPECIFIED = 0; + + // Field value type is Object. + OBJECT = 1; + + // Field value type is String. + STRING = 2; + + // Field value type is Number. + NUMBER = 3; + + // Field value type is Integer. + INTEGER = 4; + + // Field value type is Boolean. + BOOLEAN = 5; + + // Field value type is Geolocation. + GEOLOCATION = 6; + } + + // The setting of Indexable options in schema. + enum IndexableOption { + // Value used when unset. + INDEXABLE_OPTION_UNSPECIFIED = 0; + + // Indexable option enabled for a schema field. + INDEXABLE_ENABLED = 1; + + // Indexable option disabled for a schema field. + INDEXABLE_DISABLED = 2; + } + + // The status of the dynamic facetable option of a schema field. + enum DynamicFacetableOption { + // Value used when unset. + DYNAMIC_FACETABLE_OPTION_UNSPECIFIED = 0; + + // Dynamic facetable option enabled for a schema field. + DYNAMIC_FACETABLE_ENABLED = 1; + + // Dynamic facetable option disabled for a schema field. + DYNAMIC_FACETABLE_DISABLED = 2; + } + + // The setting of Searchable options in schema. + enum SearchableOption { + // Value used when unset. + SEARCHABLE_OPTION_UNSPECIFIED = 0; + + // Searchable option enabled for a schema field. + SEARCHABLE_ENABLED = 1; + + // Searchable option disabled for a schema field. + SEARCHABLE_DISABLED = 2; + } + + // The setting of Retrievable options in schema. + enum RetrievableOption { + // Value used when unset. + RETRIEVABLE_OPTION_UNSPECIFIED = 0; + + // Retrievable option enabled for a schema field. + RETRIEVABLE_ENABLED = 1; + + // Retrievable option disabled for a schema field. + RETRIEVABLE_DISABLED = 2; + } + + // The setting of Completable options in schema. + enum CompletableOption { + // Value used when unset. + COMPLETABLE_OPTION_UNSPECIFIED = 0; + + // Completable option enabled for a schema field. + COMPLETABLE_ENABLED = 1; + + // Completable option disabled for a schema field. + COMPLETABLE_DISABLED = 2; + } + + // Sets the filterable option for schema fields. + enum FilterableOption { + // Value used when unset. + FILTERABLE_OPTION_UNSPECIFIED = 0; + + // Filterable option enabled for a schema field. + FILTERABLE_ENABLED = 1; + + // Filterable option disabled for a schema field. + FILTERABLE_DISABLED = 2; + } + + // Required. Field path of the schema field. + // For example: `title`, `description`, `release_info.release_year`. + string field_path = 1 [(google.api.field_behavior) = REQUIRED]; + + // Output only. Raw type of the field. + FieldType field_type = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // If + // [indexable_option][google.cloud.discoveryengine.v1alpha.FieldConfig.indexable_option] + // is + // [INDEXABLE_ENABLED][google.cloud.discoveryengine.v1alpha.FieldConfig.IndexableOption.INDEXABLE_ENABLED], + // field values are indexed so that it can be filtered or faceted in + // [SearchService.Search][google.cloud.discoveryengine.v1alpha.SearchService.Search]. + // + // If + // [indexable_option][google.cloud.discoveryengine.v1alpha.FieldConfig.indexable_option] + // is unset, the server behavior defaults to + // [INDEXABLE_DISABLED][google.cloud.discoveryengine.v1alpha.FieldConfig.IndexableOption.INDEXABLE_DISABLED] + // for fields that support setting indexable options. For those fields that do + // not support setting indexable options, such as `object` and `boolean` and + // key properties, the server will skip + // [indexable_option][google.cloud.discoveryengine.v1alpha.FieldConfig.indexable_option] + // setting, and setting + // [indexable_option][google.cloud.discoveryengine.v1alpha.FieldConfig.indexable_option] + // for those fields will throw `INVALID_ARGUMENT` error. + IndexableOption indexable_option = 3; + + // If + // [dynamic_facetable_option][google.cloud.discoveryengine.v1alpha.FieldConfig.dynamic_facetable_option] + // is + // [DYNAMIC_FACETABLE_ENABLED][google.cloud.discoveryengine.v1alpha.FieldConfig.DynamicFacetableOption.DYNAMIC_FACETABLE_ENABLED], + // field values are available for dynamic facet. Could only be + // [DYNAMIC_FACETABLE_DISABLED][google.cloud.discoveryengine.v1alpha.FieldConfig.DynamicFacetableOption.DYNAMIC_FACETABLE_DISABLED] + // if + // [FieldConfig.indexable_option][google.cloud.discoveryengine.v1alpha.FieldConfig.indexable_option] + // is + // [INDEXABLE_DISABLED][google.cloud.discoveryengine.v1alpha.FieldConfig.IndexableOption.INDEXABLE_DISABLED]. + // Otherwise, an `INVALID_ARGUMENT` error will be returned. + // + // If + // [dynamic_facetable_option][google.cloud.discoveryengine.v1alpha.FieldConfig.dynamic_facetable_option] + // is unset, the server behavior defaults to + // [DYNAMIC_FACETABLE_DISABLED][google.cloud.discoveryengine.v1alpha.FieldConfig.DynamicFacetableOption.DYNAMIC_FACETABLE_DISABLED] + // for fields that support setting dynamic facetable options. For those fields + // that do not support setting dynamic facetable options, such as `object` and + // `boolean`, the server will skip dynamic facetable option setting, and + // setting + // [dynamic_facetable_option][google.cloud.discoveryengine.v1alpha.FieldConfig.dynamic_facetable_option] + // for those fields will throw `INVALID_ARGUMENT` error. + DynamicFacetableOption dynamic_facetable_option = 4; + + // If + // [searchable_option][google.cloud.discoveryengine.v1alpha.FieldConfig.searchable_option] + // is + // [SEARCHABLE_ENABLED][google.cloud.discoveryengine.v1alpha.FieldConfig.SearchableOption.SEARCHABLE_ENABLED], + // field values are searchable by text queries in + // [SearchService.Search][google.cloud.discoveryengine.v1alpha.SearchService.Search]. + // + // If + // [SEARCHABLE_ENABLED][google.cloud.discoveryengine.v1alpha.FieldConfig.SearchableOption.SEARCHABLE_ENABLED] + // but field type is numerical, field values will not be searchable by text + // queries in + // [SearchService.Search][google.cloud.discoveryengine.v1alpha.SearchService.Search], + // as there are no text values associated to numerical fields. + // + // If + // [searchable_option][google.cloud.discoveryengine.v1alpha.FieldConfig.searchable_option] + // is unset, the server behavior defaults to + // [SEARCHABLE_DISABLED][google.cloud.discoveryengine.v1alpha.FieldConfig.SearchableOption.SEARCHABLE_DISABLED] + // for fields that support setting searchable options. Only `string` fields + // that have no key property mapping support setting + // [searchable_option][google.cloud.discoveryengine.v1alpha.FieldConfig.searchable_option]. + // + // For those fields that do not support setting searchable options, the server + // will skip searchable option setting, and setting + // [searchable_option][google.cloud.discoveryengine.v1alpha.FieldConfig.searchable_option] + // for those fields will throw `INVALID_ARGUMENT` error. + SearchableOption searchable_option = 5; + + // If + // [retrievable_option][google.cloud.discoveryengine.v1alpha.FieldConfig.retrievable_option] + // is + // [RETRIEVABLE_ENABLED][google.cloud.discoveryengine.v1alpha.FieldConfig.RetrievableOption.RETRIEVABLE_ENABLED], + // field values are included in the search results. + // + // If + // [retrievable_option][google.cloud.discoveryengine.v1alpha.FieldConfig.retrievable_option] + // is unset, the server behavior defaults to + // [RETRIEVABLE_DISABLED][google.cloud.discoveryengine.v1alpha.FieldConfig.RetrievableOption.RETRIEVABLE_DISABLED] + // for fields that support setting retrievable options. For those fields + // that do not support setting retrievable options, such as `object` and + // `boolean`, the server will skip retrievable option setting, and setting + // [retrievable_option][google.cloud.discoveryengine.v1alpha.FieldConfig.retrievable_option] + // for those fields will throw `INVALID_ARGUMENT` error. + RetrievableOption retrievable_option = 6; + + // If + // [completable_option][google.cloud.discoveryengine.v1alpha.FieldConfig.completable_option] + // is + // [COMPLETABLE_ENABLED][google.cloud.discoveryengine.v1alpha.FieldConfig.CompletableOption.COMPLETABLE_ENABLED], + // field values are directly used and returned as suggestions for Autocomplete + // in + // [CompletionService.CompleteQuery][google.cloud.discoveryengine.v1alpha.CompletionService.CompleteQuery]. + // + // If + // [completable_option][google.cloud.discoveryengine.v1alpha.FieldConfig.completable_option] + // is unset, the server behavior defaults to + // [COMPLETABLE_DISABLED][google.cloud.discoveryengine.v1alpha.FieldConfig.CompletableOption.COMPLETABLE_DISABLED] + // for fields that support setting completable options, which are just + // `string` fields. For those fields that do not support setting completable + // options, the server will skip completable option setting, and setting + // [completable_option][google.cloud.discoveryengine.v1alpha.FieldConfig.completable_option] + // for those fields will throw `INVALID_ARGUMENT` error. + CompletableOption completable_option = 8; + + // If + // [recs_filterable_option][google.cloud.discoveryengine.v1alpha.FieldConfig.recs_filterable_option] + // is + // [FILTERABLE_ENABLED][google.cloud.discoveryengine.v1alpha.FieldConfig.FilterableOption.FILTERABLE_ENABLED], + // field values are filterable by filter expression in + // [RecommendationService.Recommend][google.cloud.discoveryengine.v1alpha.RecommendationService.Recommend]. + // + // If + // [FILTERABLE_ENABLED][google.cloud.discoveryengine.v1alpha.FieldConfig.FilterableOption.FILTERABLE_ENABLED] + // but the field type is numerical, field values are not filterable by text + // queries in + // [RecommendationService.Recommend][google.cloud.discoveryengine.v1alpha.RecommendationService.Recommend]. + // Only textual fields are supported. + // + // If + // [recs_filterable_option][google.cloud.discoveryengine.v1alpha.FieldConfig.recs_filterable_option] + // is unset, the default setting is + // [FILTERABLE_DISABLED][google.cloud.discoveryengine.v1alpha.FieldConfig.FilterableOption.FILTERABLE_DISABLED] + // for fields that support setting filterable options. + // + // When a field set to [FILTERABLE_DISABLED] is filtered, a warning is + // generated and an empty result is returned. + FilterableOption recs_filterable_option = 9; + + // Output only. Type of the key property that this field is mapped to. Empty + // string if this is not annotated as mapped to a key property. + // + // Example types are `title`, `description`. Full list is defined + // by `keyPropertyMapping` in the schema field annotation. + // + // If the schema field has a `KeyPropertyMapping` annotation, + // `indexable_option` and `searchable_option` of this field cannot be + // modified. + string key_property_type = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/cloud/discoveryengine/v1alpha/schema_service.proto b/third_party/googleapis/google/cloud/discoveryengine/v1alpha/schema_service.proto new file mode 100644 index 000000000..9d5e4ee99 --- /dev/null +++ b/third_party/googleapis/google/cloud/discoveryengine/v1alpha/schema_service.proto @@ -0,0 +1,260 @@ +// 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.discoveryengine.v1alpha; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/discoveryengine/v1alpha/schema.proto"; +import "google/longrunning/operations.proto"; +import "google/protobuf/empty.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.DiscoveryEngine.V1Alpha"; +option go_package = "cloud.google.com/go/discoveryengine/apiv1alpha/discoveryenginepb;discoveryenginepb"; +option java_multiple_files = true; +option java_outer_classname = "SchemaServiceProto"; +option java_package = "com.google.cloud.discoveryengine.v1alpha"; +option objc_class_prefix = "DISCOVERYENGINE"; +option php_namespace = "Google\\Cloud\\DiscoveryEngine\\V1alpha"; +option ruby_package = "Google::Cloud::DiscoveryEngine::V1alpha"; + +// Service for managing [Schema][google.cloud.discoveryengine.v1alpha.Schema]s. +service SchemaService { + option (google.api.default_host) = "discoveryengine.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform"; + + // Gets a [Schema][google.cloud.discoveryengine.v1alpha.Schema]. + rpc GetSchema(GetSchemaRequest) returns (Schema) { + option (google.api.http) = { + get: "/v1alpha/{name=projects/*/locations/*/dataStores/*/schemas/*}" + additional_bindings { + get: "/v1alpha/{name=projects/*/locations/*/collections/*/dataStores/*/schemas/*}" + } + }; + option (google.api.method_signature) = "name"; + } + + // Gets a list of [Schema][google.cloud.discoveryengine.v1alpha.Schema]s. + rpc ListSchemas(ListSchemasRequest) returns (ListSchemasResponse) { + option (google.api.http) = { + get: "/v1alpha/{parent=projects/*/locations/*/dataStores/*}/schemas" + additional_bindings { + get: "/v1alpha/{parent=projects/*/locations/*/collections/*/dataStores/*}/schemas" + } + }; + option (google.api.method_signature) = "parent"; + } + + // Creates a [Schema][google.cloud.discoveryengine.v1alpha.Schema]. + rpc CreateSchema(CreateSchemaRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1alpha/{parent=projects/*/locations/*/dataStores/*}/schemas" + body: "schema" + additional_bindings { + post: "/v1alpha/{parent=projects/*/locations/*/collections/*/dataStores/*}/schemas" + body: "schema" + } + }; + option (google.api.method_signature) = "parent,schema,schema_id"; + option (google.longrunning.operation_info) = { + response_type: "google.cloud.discoveryengine.v1alpha.Schema" + metadata_type: "google.cloud.discoveryengine.v1alpha.CreateSchemaMetadata" + }; + } + + // Updates a [Schema][google.cloud.discoveryengine.v1alpha.Schema]. + rpc UpdateSchema(UpdateSchemaRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + patch: "/v1alpha/{schema.name=projects/*/locations/*/dataStores/*/schemas/*}" + body: "schema" + additional_bindings { + patch: "/v1alpha/{schema.name=projects/*/locations/*/collections/*/dataStores/*/schemas/*}" + body: "schema" + } + }; + option (google.longrunning.operation_info) = { + response_type: "google.cloud.discoveryengine.v1alpha.Schema" + metadata_type: "google.cloud.discoveryengine.v1alpha.UpdateSchemaMetadata" + }; + } + + // Deletes a [Schema][google.cloud.discoveryengine.v1alpha.Schema]. + rpc DeleteSchema(DeleteSchemaRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1alpha/{name=projects/*/locations/*/dataStores/*/schemas/*}" + additional_bindings { + delete: "/v1alpha/{name=projects/*/locations/*/collections/*/dataStores/*/schemas/*}" + } + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "google.cloud.discoveryengine.v1alpha.DeleteSchemaMetadata" + }; + } +} + +// Request message for +// [SchemaService.GetSchema][google.cloud.discoveryengine.v1alpha.SchemaService.GetSchema] +// method. +message GetSchemaRequest { + // Required. The full resource name of the schema, in the format of + // `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/schemas/{schema}`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/Schema" + } + ]; +} + +// Request message for +// [SchemaService.ListSchemas][google.cloud.discoveryengine.v1alpha.SchemaService.ListSchemas] +// method. +message ListSchemasRequest { + // Required. The parent data store resource name, in the format of + // `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/DataStore" + } + ]; + + // The maximum number of + // [Schema][google.cloud.discoveryengine.v1alpha.Schema]s to return. The + // service may return fewer than this value. + // + // If unspecified, at most 100 + // [Schema][google.cloud.discoveryengine.v1alpha.Schema]s will be returned. + // + // The maximum value is 1000; values above 1000 will be coerced to 1000. + int32 page_size = 2; + + // A page token, received from a previous + // [SchemaService.ListSchemas][google.cloud.discoveryengine.v1alpha.SchemaService.ListSchemas] + // call. Provide this to retrieve the subsequent page. + // + // When paginating, all other parameters provided to + // [SchemaService.ListSchemas][google.cloud.discoveryengine.v1alpha.SchemaService.ListSchemas] + // must match the call that provided the page token. + string page_token = 3; +} + +// Response message for +// [SchemaService.ListSchemas][google.cloud.discoveryengine.v1alpha.SchemaService.ListSchemas] +// method. +message ListSchemasResponse { + // The [Schema][google.cloud.discoveryengine.v1alpha.Schema]s. + repeated Schema schemas = 1; + + // A token that can be sent as + // [ListSchemasRequest.page_token][google.cloud.discoveryengine.v1alpha.ListSchemasRequest.page_token] + // to retrieve the next page. If this field is omitted, there are no + // subsequent pages. + string next_page_token = 2; +} + +// Request message for +// [SchemaService.CreateSchema][google.cloud.discoveryengine.v1alpha.SchemaService.CreateSchema] +// method. +message CreateSchemaRequest { + // Required. The parent data store resource name, in the format of + // `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/DataStore" + } + ]; + + // Required. The [Schema][google.cloud.discoveryengine.v1alpha.Schema] to + // create. + Schema schema = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The ID to use for the + // [Schema][google.cloud.discoveryengine.v1alpha.Schema], which will become + // the final component of the + // [Schema.name][google.cloud.discoveryengine.v1alpha.Schema.name]. + // + // This field should conform to + // [RFC-1034](https://tools.ietf.org/html/rfc1034) standard with a length + // limit of 63 characters. + string schema_id = 3 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for +// [SchemaService.UpdateSchema][google.cloud.discoveryengine.v1alpha.SchemaService.UpdateSchema] +// method. +message UpdateSchemaRequest { + // Required. The [Schema][google.cloud.discoveryengine.v1alpha.Schema] to + // update. + Schema schema = 1 [(google.api.field_behavior) = REQUIRED]; + + // If set to true, and the + // [Schema][google.cloud.discoveryengine.v1alpha.Schema] is not found, a new + // [Schema][google.cloud.discoveryengine.v1alpha.Schema] will be created. In + // this situation, `update_mask` is ignored. + bool allow_missing = 3; +} + +// Request message for +// [SchemaService.DeleteSchema][google.cloud.discoveryengine.v1alpha.SchemaService.DeleteSchema] +// method. +message DeleteSchemaRequest { + // Required. The full resource name of the schema, in the format of + // `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/schemas/{schema}`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/Schema" + } + ]; +} + +// Metadata for Create Schema LRO. +message CreateSchemaMetadata { + // Operation create time. + google.protobuf.Timestamp create_time = 1; + + // Operation last update time. If the operation is done, this is also the + // finish time. + google.protobuf.Timestamp update_time = 2; +} + +// Metadata for UpdateSchema LRO. +message UpdateSchemaMetadata { + // Operation create time. + google.protobuf.Timestamp create_time = 1; + + // Operation last update time. If the operation is done, this is also the + // finish time. + google.protobuf.Timestamp update_time = 2; +} + +// Metadata for DeleteSchema LRO. +message DeleteSchemaMetadata { + // Operation create time. + google.protobuf.Timestamp create_time = 1; + + // Operation last update time. If the operation is done, this is also the + // finish time. + google.protobuf.Timestamp update_time = 2; +} diff --git a/third_party/googleapis/google/cloud/discoveryengine/v1alpha/search_service.proto b/third_party/googleapis/google/cloud/discoveryengine/v1alpha/search_service.proto new file mode 100644 index 000000000..881504d25 --- /dev/null +++ b/third_party/googleapis/google/cloud/discoveryengine/v1alpha/search_service.proto @@ -0,0 +1,971 @@ +// 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.discoveryengine.v1alpha; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/discoveryengine/v1alpha/common.proto"; +import "google/cloud/discoveryengine/v1alpha/document.proto"; +import "google/protobuf/struct.proto"; + +option csharp_namespace = "Google.Cloud.DiscoveryEngine.V1Alpha"; +option go_package = "cloud.google.com/go/discoveryengine/apiv1alpha/discoveryenginepb;discoveryenginepb"; +option java_multiple_files = true; +option java_outer_classname = "SearchServiceProto"; +option java_package = "com.google.cloud.discoveryengine.v1alpha"; +option objc_class_prefix = "DISCOVERYENGINE"; +option php_namespace = "Google\\Cloud\\DiscoveryEngine\\V1alpha"; +option ruby_package = "Google::Cloud::DiscoveryEngine::V1alpha"; + +// Service for search. +service SearchService { + option (google.api.default_host) = "discoveryengine.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform"; + + // Performs a search. + rpc Search(SearchRequest) returns (SearchResponse) { + option (google.api.http) = { + post: "/v1alpha/{serving_config=projects/*/locations/*/dataStores/*/servingConfigs/*}:search" + body: "*" + additional_bindings { + post: "/v1alpha/{serving_config=projects/*/locations/*/collections/*/dataStores/*/servingConfigs/*}:search" + body: "*" + } + additional_bindings { + post: "/v1alpha/{serving_config=projects/*/locations/*/collections/*/engines/*/servingConfigs/*}:search" + body: "*" + } + }; + } +} + +// Request message for +// [SearchService.Search][google.cloud.discoveryengine.v1alpha.SearchService.Search] +// method. +message SearchRequest { + // Specifies the image query input. + message ImageQuery { + oneof image { + // Base64 encoded image bytes. Supported image formats: JPEG, PNG, and + // BMP. + string image_bytes = 1; + } + } + + // A facet specification to perform faceted search. + message FacetSpec { + // Specifies how a facet is computed. + message FacetKey { + // Required. Supported textual and numerical facet keys in + // [Document][google.cloud.discoveryengine.v1alpha.Document] object, over + // which the facet values are computed. Facet key is case-sensitive. + string key = 1 [(google.api.field_behavior) = REQUIRED]; + + // Set only if values should be bucketed into intervals. Must be set + // for facets with numerical values. Must not be set for facet with text + // values. Maximum number of intervals is 30. + repeated Interval intervals = 2; + + // Only get facet for the given restricted values. Only supported on + // textual fields. For example, suppose "category" has three values + // "Action > 2022", "Action > 2021" and "Sci-Fi > 2022". If set + // "restricted_values" to "Action > 2022", the "category" facet only + // contains "Action > 2022". Only supported on textual fields. Maximum + // is 10. + repeated string restricted_values = 3; + + // Only get facet values that start with the given string prefix. For + // example, suppose "category" has three values "Action > 2022", + // "Action > 2021" and "Sci-Fi > 2022". If set "prefixes" to "Action", the + // "category" facet only contains "Action > 2022" and "Action > 2021". + // Only supported on textual fields. Maximum is 10. + repeated string prefixes = 4; + + // Only get facet values that contains the given strings. For example, + // suppose "category" has three values "Action > 2022", + // "Action > 2021" and "Sci-Fi > 2022". If set "contains" to "2022", the + // "category" facet only contains "Action > 2022" and "Sci-Fi > 2022". + // Only supported on textual fields. Maximum is 10. + repeated string contains = 5; + + // True to make facet keys case insensitive when getting faceting + // values with prefixes or contains; false otherwise. + bool case_insensitive = 6; + + // The order in which documents are returned. + // + // Allowed values are: + // + // * "count desc", which means order by + // [SearchResponse.Facet.values.count][google.cloud.discoveryengine.v1alpha.SearchResponse.Facet.FacetValue.count] + // descending. + // + // * "value desc", which means order by + // [SearchResponse.Facet.values.value][google.cloud.discoveryengine.v1alpha.SearchResponse.Facet.FacetValue.value] + // descending. + // Only applies to textual facets. + // + // If not set, textual values are sorted in [natural + // order](https://en.wikipedia.org/wiki/Natural_sort_order); numerical + // intervals are sorted in the order given by + // [FacetSpec.FacetKey.intervals][google.cloud.discoveryengine.v1alpha.SearchRequest.FacetSpec.FacetKey.intervals]. + string order_by = 7; + } + + // Required. The facet key specification. + FacetKey facet_key = 1 [(google.api.field_behavior) = REQUIRED]; + + // Maximum of facet values that should be returned for this facet. If + // unspecified, defaults to 20. The maximum allowed value is 300. Values + // above 300 are coerced to 300. + // + // If this field is negative, an `INVALID_ARGUMENT` is returned. + int32 limit = 2; + + // List of keys to exclude when faceting. + // + // + // By default, + // [FacetKey.key][google.cloud.discoveryengine.v1alpha.SearchRequest.FacetSpec.FacetKey.key] + // is not excluded from the filter unless it is listed in this field. + // + // Listing a facet key in this field allows its values to appear as facet + // results, even when they are filtered out of search results. Using this + // field does not affect what search results are returned. + // + // For example, suppose there are 100 documents with the color facet "Red" + // and 200 documents with the color facet "Blue". A query containing the + // filter "color:ANY("Red")" and having "color" as + // [FacetKey.key][google.cloud.discoveryengine.v1alpha.SearchRequest.FacetSpec.FacetKey.key] + // would by default return only "Red" documents in the search results, and + // also return "Red" with count 100 as the only color facet. Although there + // are also blue documents available, "Blue" would not be shown as an + // available facet value. + // + // If "color" is listed in "excludedFilterKeys", then the query returns the + // facet values "Red" with count 100 and "Blue" with count 200, because the + // "color" key is now excluded from the filter. Because this field doesn't + // affect search results, the search results are still correctly filtered to + // return only "Red" documents. + // + // A maximum of 100 values are allowed. Otherwise, an `INVALID_ARGUMENT` + // error is returned. + repeated string excluded_filter_keys = 3; + + // Enables dynamic position for this facet. If set to true, the position of + // this facet among all facets in the response is determined automatically. + // If dynamic facets are enabled, it is ordered together. + // If set to false, the position of this facet in the + // response is the same as in the request, and it is ranked before + // the facets with dynamic position enable and all dynamic facets. + // + // For example, you may always want to have rating facet returned in + // the response, but it's not necessarily to always display the rating facet + // at the top. In that case, you can set enable_dynamic_position to true so + // that the position of rating facet in response is determined + // automatically. + // + // Another example, assuming you have the following facets in the request: + // + // * "rating", enable_dynamic_position = true + // + // * "price", enable_dynamic_position = false + // + // * "brands", enable_dynamic_position = false + // + // And also you have a dynamic facets enabled, which generates a facet + // `gender`. Then the final order of the facets in the response can be + // ("price", "brands", "rating", "gender") or ("price", "brands", "gender", + // "rating") depends on how API orders "gender" and "rating" facets. + // However, notice that "price" and "brands" are always + // ranked at first and second position because their enable_dynamic_position + // is false. + bool enable_dynamic_position = 4; + } + + // Boost specification to boost certain documents. + message BoostSpec { + // Boost applies to documents which match a condition. + message ConditionBoostSpec { + // An expression which specifies a boost condition. The syntax and + // supported fields are the same as a filter expression. See + // [SearchRequest.filter][google.cloud.discoveryengine.v1alpha.SearchRequest.filter] + // for detail syntax and limitations. + // + // Examples: + // + // * To boost documents with document ID "doc_1" or "doc_2", and + // color + // "Red" or "Blue": + // * (id: ANY("doc_1", "doc_2")) AND (color: ANY("Red","Blue")) + string condition = 1; + + // Strength of the condition boost, which should be in [-1, 1]. Negative + // boost means demotion. Default is 0.0. + // + // Setting to 1.0 gives the document a big promotion. However, it does not + // necessarily mean that the boosted document will be the top result at + // all times, nor that other documents will be excluded. Results could + // still be shown even when none of them matches the condition. And + // results that are significantly more relevant to the search query can + // still trump your heavily favored but irrelevant documents. + // + // Setting to -1.0 gives the document a big demotion. However, results + // that are deeply relevant might still be shown. The document will have + // an upstream battle to get a fairly high ranking, but it is not blocked + // out completely. + // + // Setting to 0.0 means no boost applied. The boosting condition is + // ignored. + float boost = 2; + } + + // Condition boost specifications. If a document matches multiple conditions + // in the specifictions, boost scores from these specifications are all + // applied and combined in a non-linear way. Maximum number of + // specifications is 20. + repeated ConditionBoostSpec condition_boost_specs = 1; + } + + // Specification to determine under which conditions query expansion should + // occur. + message QueryExpansionSpec { + // Enum describing under which condition query expansion should occur. + enum Condition { + // Unspecified query expansion condition. In this case, server behavior + // defaults to + // [Condition.DISABLED][google.cloud.discoveryengine.v1alpha.SearchRequest.QueryExpansionSpec.Condition.DISABLED]. + CONDITION_UNSPECIFIED = 0; + + // Disabled query expansion. Only the exact search query is used, even if + // [SearchResponse.total_size][google.cloud.discoveryengine.v1alpha.SearchResponse.total_size] + // is zero. + DISABLED = 1; + + // Automatic query expansion built by the Search API. + AUTO = 2; + } + + // The condition under which query expansion should occur. Default to + // [Condition.DISABLED][google.cloud.discoveryengine.v1alpha.SearchRequest.QueryExpansionSpec.Condition.DISABLED]. + Condition condition = 1; + + // Whether to pin unexpanded results. If this field is set to true, + // unexpanded products are always at the top of the search results, followed + // by the expanded results. + bool pin_unexpanded_results = 2; + } + + // The specification for query spell correction. + message SpellCorrectionSpec { + // Enum describing under which mode spell correction should occur. + enum Mode { + // Unspecified spell correction mode. In this case, server behavior + // defaults to + // [Mode.AUTO][google.cloud.discoveryengine.v1alpha.SearchRequest.SpellCorrectionSpec.Mode.AUTO]. + MODE_UNSPECIFIED = 0; + + // Search API will try to find a spell suggestion if there + // is any and put in the + // [SearchResponse.corrected_query][google.cloud.discoveryengine.v1alpha.SearchResponse.corrected_query]. + // The spell suggestion will not be used as the search query. + SUGGESTION_ONLY = 1; + + // Automatic spell correction built by the Search API. Search will + // be based on the corrected query if found. + AUTO = 2; + } + + // The mode under which spell correction should take effect to + // replace the original search query. Default to + // [Mode.AUTO][google.cloud.discoveryengine.v1alpha.SearchRequest.SpellCorrectionSpec.Mode.AUTO]. + Mode mode = 1; + } + + // A specification for configuring the behavior of content search. + message ContentSearchSpec { + // A specification for configuring snippets in a search response. + message SnippetSpec { + // [DEPRECATED] This field is deprecated. To control snippet return, use + // `return_snippet` field. For backwards compatibility, we will return + // snippet if max_snippet_count > 0. + int32 max_snippet_count = 1 [deprecated = true]; + + // [DEPRECATED] This field is deprecated and will have no affect on the + // snippet. + bool reference_only = 2 [deprecated = true]; + + // If `true`, then return snippet. If no snippet can be generated, we + // return "No snippet is available for this page." A `snippet_status` with + // `SUCCESS` or `NO_SNIPPET_AVAILABLE` will also be returned. + bool return_snippet = 3; + } + + // A specification for configuring a summary returned in a search + // response. + message SummarySpec { + // Specification of the prompt to use with the model. + message ModelPromptSpec { + // Text at the beginning of the prompt that instructs the assistant. + // Examples are available in the user guide. + string preamble = 1; + } + + // Specification of the model. + message ModelSpec { + // The string format of the model version. + // e.g. stable, preview, etc. + string version = 1; + } + + // The number of top results to generate the summary from. If the number + // of results returned is less than `summaryResultCount`, the summary is + // generated from all of the results. + // + // At most five results can be used to generate a summary. + int32 summary_result_count = 1; + + // Specifies whether to include citations in the summary. The default + // value is `false`. + // + // When this field is set to `true`, summaries include in-line citation + // numbers. + // + // Example summary including citations: + // + // BigQuery is Google Cloud's fully managed and completely serverless + // enterprise data warehouse [1]. BigQuery supports all data types, works + // across clouds, and has built-in machine learning and business + // intelligence, all within a unified platform [2, 3]. + // + // The citation numbers refer to the returned search results and are + // 1-indexed. For example, [1] means that the sentence is attributed to + // the first search result. [2, 3] means that the sentence is attributed + // to both the second and third search results. + bool include_citations = 2; + + // Specifies whether to filter out adversarial queries. The default value + // is `false`. + // + // Google employs search-query classification to detect adversarial + // queries. No summary is returned if the search query is classified as an + // adversarial query. For example, a user might ask a question regarding + // negative comments about the company or submit a query designed to + // generate unsafe, policy-violating output. If this field is set to + // `true`, we skip generating summaries for adversarial queries and return + // fallback messages instead. + bool ignore_adversarial_query = 3; + + // Specifies whether to filter out queries that are not summary-seeking. + // The default value is `false`. + // + // Google employs search-query classification to detect summary-seeking + // queries. No summary is returned if the search query is classified as a + // non-summary seeking query. For example, `why is the sky blue` and `Who + // is the best soccer player in the world?` are summary-seeking queries, + // but `SFO airport` and `world cup 2026` are not. They are most likely + // navigational queries. If this field is set to `true`, we skip + // generating summaries for non-summary seeking queries and return + // fallback messages instead. + bool ignore_non_summary_seeking_query = 4; + + // If specified, the spec will be used to modify the prompt provided to + // the LLM. + ModelPromptSpec model_prompt_spec = 5; + + // Language code for Summary. Use language tags defined by + // [BCP47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt). + // Note: This is an experimental feature. + string language_code = 6; + + // If specified, the spec will be used to modify the model specification + // provided to the LLM. + ModelSpec model_spec = 7; + } + + // A specification for configuring the extractive content in a search + // response. + message ExtractiveContentSpec { + // The maximum number of extractive answers returned in each search + // result. + // + // An extractive answer is a verbatim answer extracted from the original + // document, which provides a precise and contextually relevant answer to + // the search query. + // + // If the number of matching answers is less than the + // `max_extractive_answer_count`, return all of the answers. Otherwise, + // return the `max_extractive_answer_count`. + // + // At most one answer is returned for each + // [SearchResult][google.cloud.discoveryengine.v1alpha.SearchResponse.SearchResult]. + int32 max_extractive_answer_count = 1; + + // The max number of extractive segments returned in each search result. + // Only applied if the + // [DataStore][google.cloud.discoveryengine.v1alpha.DataStore] is set to + // [DataStore.ContentConfig.CONTENT_REQUIRED][google.cloud.discoveryengine.v1alpha.DataStore.ContentConfig.CONTENT_REQUIRED] + // or + // [DataStore.solution_types][google.cloud.discoveryengine.v1alpha.DataStore.solution_types] + // is + // [SOLUTION_TYPE_CHAT][google.cloud.discoveryengine.v1alpha.SolutionType.SOLUTION_TYPE_CHAT]. + // + // An extractive segment is a text segment extracted from the original + // document that is relevant to the search query, and, in general, more + // verbose than an extractive answer. The segment could then be used as + // input for LLMs to generate summaries and answers. + // + // If the number of matching segments is less than + // `max_extractive_segment_count`, return all of the segments. Otherwise, + // return the `max_extractive_segment_count`. + int32 max_extractive_segment_count = 2; + + // Specifies whether to return the confidence score from the extractive + // segments in each search result. The default value is `false`. + // + // Note: this is a priavte preview feature and only works for allowlisted + // users, please reach out to Cloud Support team if you want to use it. + bool return_extractive_segment_score = 3; + + // Specifies whether to also include the adjacent from each selected + // segments. + // Return at most `num_previous_segments` segments before each selected + // segments. + int32 num_previous_segments = 4; + + // Return at most `num_next_segments` segments after each selected + // segments. + int32 num_next_segments = 5; + } + + // If `snippetSpec` is not specified, snippets are not included in the + // search response. + SnippetSpec snippet_spec = 1; + + // If `summarySpec` is not specified, summaries are not included in the + // search response. + SummarySpec summary_spec = 2; + + // If there is no extractive_content_spec provided, there will be no + // extractive answer in the search response. + ExtractiveContentSpec extractive_content_spec = 3; + } + + // The specification that uses customized query embedding vector to do + // semantic document retrieval. + message EmbeddingSpec { + // Embedding vector. + message EmbeddingVector { + // Embedding field path in schema. + string field_path = 1; + + // Query embedding vector. + repeated float vector = 2; + } + + // The embedding vector used for retrieval. Limit to 1. + repeated EmbeddingVector embedding_vectors = 1; + } + + // Required. The resource name of the Search serving config, such as + // `projects/*/locations/global/collections/default_collection/engines/*/servingConfigs/default_serving_config`, + // or + // `projects/*/locations/global/collections/default_collection/dataStores/default_data_store/servingConfigs/default_serving_config`. + // This field is used to identify the serving configuration name, set + // of models used to make the search. + string serving_config = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/ServingConfig" + } + ]; + + // The branch resource name, such as + // `projects/*/locations/global/collections/default_collection/dataStores/default_data_store/branches/0`. + // + // Use `default_branch` as the branch ID or leave this field empty, to search + // documents under the default branch. + string branch = 2 [(google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/Branch" + }]; + + // Raw search query. + string query = 3; + + // Raw image query. + ImageQuery image_query = 19; + + // Maximum number of + // [Document][google.cloud.discoveryengine.v1alpha.Document]s to return. If + // unspecified, defaults to a reasonable value. The maximum allowed value is + // 100. Values above 100 are coerced to 100. + // + // If this field is negative, an `INVALID_ARGUMENT` is returned. + int32 page_size = 4; + + // A page token received from a previous + // [SearchService.Search][google.cloud.discoveryengine.v1alpha.SearchService.Search] + // call. Provide this to retrieve the subsequent page. + // + // When paginating, all other parameters provided to + // [SearchService.Search][google.cloud.discoveryengine.v1alpha.SearchService.Search] + // must match the call that provided the page token. Otherwise, an + // `INVALID_ARGUMENT` error is returned. + string page_token = 5; + + // A 0-indexed integer that specifies the current offset (that is, starting + // result location, amongst the + // [Document][google.cloud.discoveryengine.v1alpha.Document]s deemed by the + // API as relevant) in search results. This field is only considered if + // [page_token][google.cloud.discoveryengine.v1alpha.SearchRequest.page_token] + // is unset. + // + // If this field is negative, an `INVALID_ARGUMENT` is returned. + int32 offset = 6; + + // The filter syntax consists of an expression language for constructing a + // predicate from one or more fields of the documents being filtered. Filter + // expression is case-sensitive. + // + // If this field is unrecognizable, an `INVALID_ARGUMENT` is returned. + // + // Filtering in Vertex AI Search is done by mapping the LHS filter key to a + // key property defined in the Vertex AI Search backend -- this mapping is + // defined by the customer in their schema. For example a media customer might + // have a field 'name' in their schema. In this case the filter would look + // like this: filter --> name:'ANY("king kong")' + // + // For more information about filtering including syntax and filter + // operators, see + // [Filter](https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata) + string filter = 7; + + // The default filter that is applied when a user performs a search without + // checking any filters on the search page. + // + // The filter applied to every search request when quality improvement such as + // query expansion is needed. In the case a query does not have a sufficient + // amount of results this filter will be used to determine whether or not to + // enable the query expansion flow. The original filter will still be used for + // the query expanded search. + // This field is strongly recommended to achieve high search quality. + // + // For more information about filter syntax, see + // [SearchRequest.filter][google.cloud.discoveryengine.v1alpha.SearchRequest.filter]. + string canonical_filter = 29; + + // The order in which documents are returned. Documents can be ordered by + // a field in an [Document][google.cloud.discoveryengine.v1alpha.Document] + // object. Leave it unset if ordered by relevance. `order_by` expression is + // case-sensitive. For more information on ordering, see + // [Ordering](https://cloud.google.com/retail/docs/filter-and-order#order) + // + // If this field is unrecognizable, an `INVALID_ARGUMENT` is returned. + string order_by = 8; + + // Information about the end user. + // Highly recommended for analytics. + // [UserInfo.user_agent][google.cloud.discoveryengine.v1alpha.UserInfo.user_agent] + // is used to deduce `device_type` for analytics. + UserInfo user_info = 21; + + // Facet specifications for faceted search. If empty, no facets are returned. + // + // A maximum of 100 values are allowed. Otherwise, an `INVALID_ARGUMENT` + // error is returned. + repeated FacetSpec facet_specs = 9; + + // Boost specification to boost certain documents. + // For more information on boosting, see + // [Boosting](https://cloud.google.com/retail/docs/boosting#boost) + BoostSpec boost_spec = 10; + + // Additional search parameters. + // + // For public website search only, supported values are: + // + // * `user_country_code`: string. Default empty. If set to non-empty, results + // are restricted or boosted based on the location provided. + // Example: + // user_country_code: "au" + // + // For available codes see [Country + // Codes](https://developers.google.com/custom-search/docs/json_api_reference#countryCodes) + // + // * `search_type`: double. Default empty. Enables non-webpage searching + // depending on the value. The only valid non-default value is 1, + // which enables image searching. + // Example: + // search_type: 1 + map params = 11; + + // The query expansion specification that specifies the conditions under which + // query expansion occurs. + QueryExpansionSpec query_expansion_spec = 13; + + // The spell correction specification that specifies the mode under + // which spell correction takes effect. + SpellCorrectionSpec spell_correction_spec = 14; + + // A unique identifier for tracking visitors. For example, this could be + // implemented with an HTTP cookie, which should be able to uniquely identify + // a visitor on a single device. This unique identifier should not change if + // the visitor logs in or out of the website. + // + // This field should NOT have a fixed value such as `unknown_visitor`. + // + // This should be the same identifier as + // [UserEvent.user_pseudo_id][google.cloud.discoveryengine.v1alpha.UserEvent.user_pseudo_id] + // and + // [CompleteQueryRequest.user_pseudo_id][google.cloud.discoveryengine.v1alpha.CompleteQueryRequest.user_pseudo_id] + // + // The field must be a UTF-8 encoded string with a length limit of 128 + // characters. Otherwise, an `INVALID_ARGUMENT` error is returned. + string user_pseudo_id = 15; + + // A specification for configuring the behavior of content search. + ContentSearchSpec content_search_spec = 24; + + // Uses the provided embedding to do additional semantic document retrieval. + // The retrieval is based on the dot product of + // [SearchRequest.embedding_spec.embedding_vectors.vector][] and the document + // embedding that is provided in + // [SearchRequest.embedding_spec.embedding_vectors.field_path][]. + // + // If [SearchRequest.embedding_spec.embedding_vectors.field_path][] is not + // provided, it will use [ServingConfig.embedding_config.field_paths][]. + EmbeddingSpec embedding_spec = 23; + + // The ranking expression controls the customized ranking on retrieval + // documents. This overrides + // [ServingConfig.ranking_expression][google.cloud.discoveryengine.v1alpha.ServingConfig.ranking_expression]. + // The ranking expression is a single function or multiple functions that are + // joint by "+". + // * ranking_expression = function, { " + ", function }; + // Supported functions: + // * double * relevance_score + // * double * dotProduct(embedding_field_path) + // Function variables: + // `relevance_score`: pre-defined keywords, used for measure relevance + // between query and document. + // `embedding_field_path`: the document embedding field + // used with query embedding vector. + // `dotProduct`: embedding function between embedding_field_path and query + // embedding vector. + // + // Example ranking expression: + // If document has an embedding field doc_embedding, the ranking expression + // could be `0.5 * relevance_score + 0.3 * dotProduct(doc_embedding)`. + string ranking_expression = 26; + + // Whether to turn on safe search. This is only supported for + // website search. + bool safe_search = 20; + + // The user labels applied to a resource must meet the following requirements: + // + // * Each resource can have multiple labels, up to a maximum of 64. + // * Each label must be a key-value pair. + // * Keys have a minimum length of 1 character and a maximum length of 63 + // characters and cannot be empty. Values can be empty and have a maximum + // length of 63 characters. + // * Keys and values can contain only lowercase letters, numeric characters, + // underscores, and dashes. All characters must use UTF-8 encoding, and + // international characters are allowed. + // * The key portion of a label must be unique. However, you can use the same + // key with multiple resources. + // * Keys must start with a lowercase letter or international character. + // + // See [Google Cloud + // Document](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements) + // for more details. + map user_labels = 22; +} + +// Response message for +// [SearchService.Search][google.cloud.discoveryengine.v1alpha.SearchService.Search] +// method. +message SearchResponse { + // Represents the search results. + message SearchResult { + // [Document.id][google.cloud.discoveryengine.v1alpha.Document.id] of the + // searched [Document][google.cloud.discoveryengine.v1alpha.Document]. + string id = 1; + + // The document data snippet in the search response. Only fields that are + // marked as retrievable are populated. + Document document = 2; + + // Google provided available scores. + map model_scores = 4; + } + + // A facet result. + message Facet { + // A facet value which contains value names and their count. + message FacetValue { + // A facet value which contains values. + oneof facet_value { + // Text value of a facet, such as "Black" for facet "colors". + string value = 1; + + // Interval value for a facet, such as [10, 20) for facet "price". It + // matches + // [SearchRequest.FacetSpec.FacetKey.intervals][google.cloud.discoveryengine.v1alpha.SearchRequest.FacetSpec.FacetKey.intervals]. + Interval interval = 2; + } + + // Number of items that have this facet value. + int64 count = 3; + } + + // The key for this facet. E.g., "colors" or "price". It matches + // [SearchRequest.FacetSpec.FacetKey.key][google.cloud.discoveryengine.v1alpha.SearchRequest.FacetSpec.FacetKey.key]. + string key = 1; + + // The facet values for this field. + repeated FacetValue values = 2; + + // Whether the facet is dynamically generated. + bool dynamic_facet = 3; + } + + // Guided search result. The guided search helps user to refine the search + // results and narrow down to the real needs from a broaded search results. + message GuidedSearchResult { + // Useful attribute for search result refinements. + message RefinementAttribute { + // Attribute key used to refine the results e.g. 'movie_type'. + string attribute_key = 1; + + // Attribute value used to refine the results e.g. 'drama'. + string attribute_value = 2; + } + + // A list of ranked refinement attributes. + repeated RefinementAttribute refinement_attributes = 1; + + // Suggested follow-up questions. + repeated string follow_up_questions = 2; + } + + // Summary of the top N search result specified by the summary spec. + message Summary { + // Safety Attribute categories and their associated confidence scores. + message SafetyAttributes { + // The display names of Safety Attribute categories associated with the + // generated content. Order matches the Scores. + repeated string categories = 1; + + // The confidence scores of the each category, higher + // value means higher confidence. Order matches the Categories. + repeated float scores = 2; + } + + // Citation metadata. + message CitationMetadata { + // Citations for segments. + repeated Citation citations = 1; + } + + // Citation info for a segment. + message Citation { + // Index indicates the start of the segment, measured in bytes/unicode. + int64 start_index = 1; + + // End of the attributed segment, exclusive. + int64 end_index = 2; + + // Citation sources for the attributed segment. + repeated CitationSource sources = 3; + } + + // Citation source. + message CitationSource { + // Document reference index from SummaryWithMetadata.references. + // It is 0-indexed and the value will be zero if the reference_index is + // not set explicitly. + int64 reference_index = 4; + } + + // Document reference. + message Reference { + // Title of the document. + string title = 1; + + // Required. + // [Document.name][google.cloud.discoveryengine.v1alpha.Document.name] of + // the document. Full resource name of the referenced document, in the + // format + // `projects/*/locations/*/collections/*/dataStores/*/branches/*/documents/*`. + string document = 2 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/Document" + } + ]; + + // GCS or HTTP uri for the document. + string uri = 3; + } + + // Summary with metadata information. + message SummaryWithMetadata { + // Summary text with no citation information. + string summary = 1; + + // Citation metadata for given summary. + CitationMetadata citation_metadata = 2; + + // Document References. + repeated Reference references = 3; + } + + // An Enum for summary-skipped reasons. + enum SummarySkippedReason { + // Default value. The summary skipped reason is not specified. + SUMMARY_SKIPPED_REASON_UNSPECIFIED = 0; + + // The adversarial query ignored case. + // + // Only populated when + // [SummarySpec.ignore_adversarial_query][google.cloud.discoveryengine.v1alpha.SearchRequest.ContentSearchSpec.SummarySpec.ignore_adversarial_query] + // is set to `true`. + ADVERSARIAL_QUERY_IGNORED = 1; + + // The non-summary seeking query ignored case. + // + // Only populated when + // [SummarySpec.ignore_non_summary_seeking_query][google.cloud.discoveryengine.v1alpha.SearchRequest.ContentSearchSpec.SummarySpec.ignore_non_summary_seeking_query] + // is set to `true`. + NON_SUMMARY_SEEKING_QUERY_IGNORED = 2; + + // The out-of-domain query ignored case. + // + // Google skips the summary if there are no high-relevance search results. + // For example, the data store contains facts about company A but the + // user query is asking questions about company B. + OUT_OF_DOMAIN_QUERY_IGNORED = 3; + + // The potential policy violation case. + // + // Google skips the summary if there is a potential policy violation + // detected. This includes content that may be violent or toxic. + POTENTIAL_POLICY_VIOLATION = 4; + + // The LLM addon not enabled case. + // + // Google skips the summary if the LLM addon is not enabled. + LLM_ADDON_NOT_ENABLED = 5; + } + + // The summary content. + string summary_text = 1; + + // Additional summary-skipped reasons. This provides the reason for ignored + // cases. If nothing is skipped, this field is not set. + repeated SummarySkippedReason summary_skipped_reasons = 2; + + // A collection of Safety Attribute categories and their associated + // confidence scores. + SafetyAttributes safety_attributes = 3; + + SummaryWithMetadata summary_with_metadata = 4; + } + + // Debug information specifically related to forward geocoding issues arising + // from Geolocation Search. + message GeoSearchDebugInfo { + // The address from which forward geocoding ingestion produced issues. + string original_address_query = 1; + + // The error produced. + string error_message = 2; + } + + // Information describing query expansion including whether expansion has + // occurred. + message QueryExpansionInfo { + // Bool describing whether query expansion has occurred. + bool expanded_query = 1; + + // Number of pinned results. This field will only be set when expansion + // happens and + // [SearchRequest.QueryExpansionSpec.pin_unexpanded_results][google.cloud.discoveryengine.v1alpha.SearchRequest.QueryExpansionSpec.pin_unexpanded_results] + // is set to true. + int64 pinned_result_count = 2; + } + + // A list of matched documents. The order represents the ranking. + repeated SearchResult results = 1; + + // Results of facets requested by user. + repeated Facet facets = 2; + + // Guided search result. + GuidedSearchResult guided_search_result = 8; + + // The estimated total count of matched items irrespective of pagination. The + // count of + // [results][google.cloud.discoveryengine.v1alpha.SearchResponse.results] + // returned by pagination may be less than the + // [total_size][google.cloud.discoveryengine.v1alpha.SearchResponse.total_size] + // that matches. + int32 total_size = 3; + + // A unique search token. This should be included in the + // [UserEvent][google.cloud.discoveryengine.v1alpha.UserEvent] logs resulting + // from this search, which enables accurate attribution of search model + // performance. + string attribution_token = 4; + + // The URI of a customer-defined redirect page. If redirect action is + // triggered, no search is performed, and only + // [redirect_uri][google.cloud.discoveryengine.v1alpha.SearchResponse.redirect_uri] + // and + // [attribution_token][google.cloud.discoveryengine.v1alpha.SearchResponse.attribution_token] + // are set in the response. + string redirect_uri = 12; + + // A token that can be sent as + // [SearchRequest.page_token][google.cloud.discoveryengine.v1alpha.SearchRequest.page_token] + // to retrieve the next page. If this field is omitted, there are no + // subsequent pages. + string next_page_token = 5; + + // Contains the spell corrected query, if found. If the spell correction type + // is AUTOMATIC, then the search results are based on corrected_query. + // Otherwise the original query is used for search. + string corrected_query = 7; + + // A summary as part of the search results. + // This field is only returned if + // [SearchRequest.ContentSearchSpec.summary_spec][google.cloud.discoveryengine.v1alpha.SearchRequest.ContentSearchSpec.summary_spec] + // is set. + Summary summary = 9; + + // Controls applied as part of the Control service. + repeated string applied_controls = 10; + + repeated GeoSearchDebugInfo geo_search_debug_info = 16; + + // Query expansion information for the returned results. + QueryExpansionInfo query_expansion_info = 14; +} diff --git a/third_party/googleapis/google/cloud/discoveryengine/v1alpha/search_tuning_service.proto b/third_party/googleapis/google/cloud/discoveryengine/v1alpha/search_tuning_service.proto new file mode 100644 index 000000000..97f1d82c7 --- /dev/null +++ b/third_party/googleapis/google/cloud/discoveryengine/v1alpha/search_tuning_service.proto @@ -0,0 +1,147 @@ +// 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.discoveryengine.v1alpha; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/discoveryengine/v1alpha/import_config.proto"; +import "google/longrunning/operations.proto"; +import "google/protobuf/timestamp.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Cloud.DiscoveryEngine.V1Alpha"; +option go_package = "cloud.google.com/go/discoveryengine/apiv1alpha/discoveryenginepb;discoveryenginepb"; +option java_multiple_files = true; +option java_outer_classname = "SearchTuningServiceProto"; +option java_package = "com.google.cloud.discoveryengine.v1alpha"; +option objc_class_prefix = "DISCOVERYENGINE"; +option php_namespace = "Google\\Cloud\\DiscoveryEngine\\V1alpha"; +option ruby_package = "Google::Cloud::DiscoveryEngine::V1alpha"; + +// Service for search tuning. +service SearchTuningService { + option (google.api.default_host) = "discoveryengine.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform"; + + // Trains a custom model. + rpc TrainCustomModel(TrainCustomModelRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1alpha/{data_store=projects/*/locations/*/collections/*/dataStores/*}:trainCustomModel" + body: "*" + }; + option (google.longrunning.operation_info) = { + response_type: "google.cloud.discoveryengine.v1alpha.TrainCustomModelResponse" + metadata_type: "google.cloud.discoveryengine.v1alpha.TrainCustomModelMetadata" + }; + } +} + +// Request message for +// [SearchTuningService.TrainCustomModel][google.cloud.discoveryengine.v1alpha.SearchTuningService.TrainCustomModel] +// method. +message TrainCustomModelRequest { + // Gcs training data input. + message GcsTrainingInput { + // The gcs corpus data which could be associated in train data. + // The data path format is gs:///. + // A newline delimited jsonl/ndjson file. + // * For search-tuning model, each line should have the _id, title + // and text. Example: {"_id": "doc1", title: "relevant doc", "text": + // "relevant text"} + string corpus_data_path = 1; + + // The gcs query data which could be associated in train data. + // The data path format is gs:///. + // A newline delimited jsonl/ndjson file. + // * For search-tuning model, each line should have the _id + // and text. Example: {"_id": "query1", "text": "example query"} + string query_data_path = 2; + + // Gcs training data path whose format should be + // gs:///. The file should be in tsv format. + // Each line should have the doc_id and query_id and score (number). + // * For search-tuning model, it should have the query-id corpus-id + // score as tsv file header. The score should be a number in [0, inf+). The + // larger the number is, the more relevant the pair is. Example: + // query-id\tcorpus-id\tscore + // query1\tdoc1\t1 + string train_data_path = 3; + + // Gcs test data. Same format as train_data_path. If not provided, a + // random 80/20 train/test split will be performed on train_data_path. + string test_data_path = 4; + } + + // Model training input. + oneof training_input { + // Gcs training input. + GcsTrainingInput gcs_training_input = 2; + } + + // Required. The resource name of the Data Store, such as + // `projects/*/locations/global/collections/default_collection/dataStores/default_data_store`. + // This field is used to identify the data store where to train the models. + string data_store = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/DataStore" + } + ]; + + // Model to be trained. Supported values are: + // + // * **search-tuning**: Fine tuning the search system based on data provided. + string model_type = 3; + + // The desired location of errors incurred during the data ingestion and + // training. + ImportErrorConfig error_config = 4; +} + +// Response of the +// [TrainCustomModelRequest][google.cloud.discoveryengine.v1alpha.TrainCustomModelRequest]. +// This message is returned by the google.longrunning.Operations.response field. +message TrainCustomModelResponse { + // A sample of errors encountered while processing the data. + repeated google.rpc.Status error_samples = 1; + + // Echoes the destination for the complete errors in the request if set. + ImportErrorConfig error_config = 2; + + // The trained model status. Possible values are: + // + // * **bad-data**: The training data quality is bad. + // * **no-improvement**: Tuning didn't improve performance. Won't deploy. + // * **in-progress**: Model training is in progress. + // * **ready**: The model is ready for serving. + string model_status = 3; +} + +// Metadata related to the progress of the TrainCustomModel operation. This is +// returned by the google.longrunning.Operation.metadata field. +message TrainCustomModelMetadata { + // Operation create time. + google.protobuf.Timestamp create_time = 1; + + // Operation last update time. If the operation is done, this is also the + // finish time. + google.protobuf.Timestamp update_time = 2; +} diff --git a/third_party/googleapis/google/cloud/discoveryengine/v1alpha/site_search_engine.proto b/third_party/googleapis/google/cloud/discoveryengine/v1alpha/site_search_engine.proto new file mode 100644 index 000000000..73e18d6ec --- /dev/null +++ b/third_party/googleapis/google/cloud/discoveryengine/v1alpha/site_search_engine.proto @@ -0,0 +1,164 @@ +// 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.discoveryengine.v1alpha; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.DiscoveryEngine.V1Alpha"; +option go_package = "cloud.google.com/go/discoveryengine/apiv1alpha/discoveryenginepb;discoveryenginepb"; +option java_multiple_files = true; +option java_outer_classname = "SiteSearchEngineProto"; +option java_package = "com.google.cloud.discoveryengine.v1alpha"; +option objc_class_prefix = "DISCOVERYENGINE"; +option php_namespace = "Google\\Cloud\\DiscoveryEngine\\V1alpha"; +option ruby_package = "Google::Cloud::DiscoveryEngine::V1alpha"; + +// SiteSearchEngine captures DataStore level site search persisting +// configurations. It is a singleton value per data store. +message SiteSearchEngine { + option (google.api.resource) = { + type: "discoveryengine.googleapis.com/SiteSearchEngine" + pattern: "projects/{project}/locations/{location}/dataStores/{data_store}/siteSearchEngine" + pattern: "projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine" + }; + + // The fully qualified resource name of the site search engine. + // Format: `projects/*/locations/*/dataStores/*/siteSearchEngine` + string name = 1; +} + +// A target site for the SiteSearchEngine. +message TargetSite { + option (google.api.resource) = { + type: "discoveryengine.googleapis.com/TargetSite" + pattern: "projects/{project}/locations/{location}/dataStores/{data_store}/siteSearchEngine/targetSites/{target_site}" + pattern: "projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine/targetSites/{target_site}" + }; + + // Site search indexing failure reasons. + message FailureReason { + message QuotaFailure {} + + oneof failure { + // Failed due to insufficient quota. + QuotaFailure quota_failure = 1; + } + } + + // Possible target site types. + enum Type { + // This value is unused. In this case, server behavior defaults to + // [Type.INCLUDE][google.cloud.discoveryengine.v1alpha.TargetSite.Type.INCLUDE]. + TYPE_UNSPECIFIED = 0; + + // Include the target site. + INCLUDE = 1; + + // Exclude the target site. + EXCLUDE = 2; + } + + // Target site indexing status enumeration. + enum IndexingStatus { + // Defaults to SUCCEEDED. + INDEXING_STATUS_UNSPECIFIED = 0; + + // The target site is in the update queue and will be picked up by indexing + // pipeline. + PENDING = 1; + + // The target site fails to be indexed. + FAILED = 2; + + // The target site has been indexed. + SUCCEEDED = 3; + + // The previously indexed target site has been marked to be deleted. This is + // a transitioning state which will resulted in either: + // 1. target site deleted if unindexing is successful; + // 2. state reverts to SUCCEEDED if the unindexing fails. + DELETING = 4; + } + + // Output only. The fully qualified resource name of the target site. + // `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine/targetSites/{target_site}` + // The `target_site_id` is system-generated. + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. Input only. The user provided URI pattern from which the + // `generated_uri_pattern` is generated. + string provided_uri_pattern = 2 [ + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = INPUT_ONLY + ]; + + // The type of the target site, e.g. whether the site is to be included or + // excluded. + Type type = 3; + + // Input only. If set to false, a uri_pattern is generated to include all + // pages whose address contains the provided_uri_pattern. If set to true, an + // uri_pattern is generated to try to be an exact match of the + // provided_uri_pattern or just the specific page if the provided_uri_pattern + // is a specific one. provided_uri_pattern is always normalized to + // generate the URI pattern to be used by the search engine. + bool exact_match = 6 [(google.api.field_behavior) = INPUT_ONLY]; + + // Output only. This is system-generated based on the provided_uri_pattern. + string generated_uri_pattern = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Site ownership and validity verification status. + SiteVerificationInfo site_verification_info = 7 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Indexing status. + IndexingStatus indexing_status = 8 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The target site's last updated time. + google.protobuf.Timestamp update_time = 5 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Failure reason. + FailureReason failure_reason = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Verification information for target sites in advanced site search. +message SiteVerificationInfo { + // Site verification state. + enum SiteVerificationState { + // Defaults to VERIFIED. + SITE_VERIFICATION_STATE_UNSPECIFIED = 0; + + // Site ownership verified. + VERIFIED = 1; + + // Site ownership pending verification or verification failed. + UNVERIFIED = 2; + + // Site exempt from verification, e.g. a public website that opens to all. + EXEMPTED = 3; + } + + // Site verification state indicating the ownership and validity. + SiteVerificationState site_verification_state = 1; + + // Latest site verification time. + google.protobuf.Timestamp verify_time = 2; +} diff --git a/third_party/googleapis/google/cloud/discoveryengine/v1alpha/site_search_engine_service.proto b/third_party/googleapis/google/cloud/discoveryengine/v1alpha/site_search_engine_service.proto new file mode 100644 index 000000000..73c4d7c74 --- /dev/null +++ b/third_party/googleapis/google/cloud/discoveryengine/v1alpha/site_search_engine_service.proto @@ -0,0 +1,692 @@ +// 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.discoveryengine.v1alpha; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/discoveryengine/v1alpha/site_search_engine.proto"; +import "google/longrunning/operations.proto"; +import "google/protobuf/empty.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.DiscoveryEngine.V1Alpha"; +option go_package = "cloud.google.com/go/discoveryengine/apiv1alpha/discoveryenginepb;discoveryenginepb"; +option java_multiple_files = true; +option java_outer_classname = "SiteSearchEngineServiceProto"; +option java_package = "com.google.cloud.discoveryengine.v1alpha"; +option objc_class_prefix = "DISCOVERYENGINE"; +option php_namespace = "Google\\Cloud\\DiscoveryEngine\\V1alpha"; +option ruby_package = "Google::Cloud::DiscoveryEngine::V1alpha"; + +// Service for managing site search related resources. +service SiteSearchEngineService { + option (google.api.default_host) = "discoveryengine.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform"; + + // Gets the + // [SiteSearchEngine][google.cloud.discoveryengine.v1alpha.SiteSearchEngine]. + rpc GetSiteSearchEngine(GetSiteSearchEngineRequest) + returns (SiteSearchEngine) { + option (google.api.http) = { + get: "/v1alpha/{name=projects/*/locations/*/dataStores/*/siteSearchEngine}" + additional_bindings { + get: "/v1alpha/{name=projects/*/locations/*/collections/*/dataStores/*/siteSearchEngine}" + } + }; + option (google.api.method_signature) = "name"; + } + + // Creates a [TargetSite][google.cloud.discoveryengine.v1alpha.TargetSite]. + rpc CreateTargetSite(CreateTargetSiteRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1alpha/{parent=projects/*/locations/*/dataStores/*/siteSearchEngine}/targetSites" + body: "target_site" + additional_bindings { + post: "/v1alpha/{parent=projects/*/locations/*/collections/*/dataStores/*/siteSearchEngine}/targetSites" + body: "target_site" + } + }; + option (google.api.method_signature) = "parent,target_site"; + option (google.longrunning.operation_info) = { + response_type: "google.cloud.discoveryengine.v1alpha.TargetSite" + metadata_type: "google.cloud.discoveryengine.v1alpha.CreateTargetSiteMetadata" + }; + } + + // Creates [TargetSite][google.cloud.discoveryengine.v1alpha.TargetSite] in a + // batch. + rpc BatchCreateTargetSites(BatchCreateTargetSitesRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1alpha/{parent=projects/*/locations/*/dataStores/*/siteSearchEngine}/targetSites:batchCreate" + body: "*" + additional_bindings { + post: "/v1alpha/{parent=projects/*/locations/*/collections/*/dataStores/*/siteSearchEngine}/targetSites:batchCreate" + body: "*" + } + }; + option (google.longrunning.operation_info) = { + response_type: "google.cloud.discoveryengine.v1alpha.BatchCreateTargetSitesResponse" + metadata_type: "google.cloud.discoveryengine.v1alpha.BatchCreateTargetSiteMetadata" + }; + } + + // Gets a [TargetSite][google.cloud.discoveryengine.v1alpha.TargetSite]. + rpc GetTargetSite(GetTargetSiteRequest) returns (TargetSite) { + option (google.api.http) = { + get: "/v1alpha/{name=projects/*/locations/*/dataStores/*/siteSearchEngine/targetSites/*}" + additional_bindings { + get: "/v1alpha/{name=projects/*/locations/*/collections/*/dataStores/*/siteSearchEngine/targetSites/*}" + } + }; + option (google.api.method_signature) = "name"; + } + + // Updates a [TargetSite][google.cloud.discoveryengine.v1alpha.TargetSite]. + rpc UpdateTargetSite(UpdateTargetSiteRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + patch: "/v1alpha/{target_site.name=projects/*/locations/*/dataStores/*/siteSearchEngine/targetSites/*}" + body: "target_site" + additional_bindings { + patch: "/v1alpha/{target_site.name=projects/*/locations/*/collections/*/dataStores/*/siteSearchEngine/targetSites/*}" + body: "target_site" + } + }; + option (google.api.method_signature) = "target_site"; + option (google.longrunning.operation_info) = { + response_type: "google.cloud.discoveryengine.v1alpha.TargetSite" + metadata_type: "google.cloud.discoveryengine.v1alpha.UpdateTargetSiteMetadata" + }; + } + + // Deletes a [TargetSite][google.cloud.discoveryengine.v1alpha.TargetSite]. + rpc DeleteTargetSite(DeleteTargetSiteRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1alpha/{name=projects/*/locations/*/dataStores/*/siteSearchEngine/targetSites/*}" + additional_bindings { + delete: "/v1alpha/{name=projects/*/locations/*/collections/*/dataStores/*/siteSearchEngine/targetSites/*}" + } + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "google.cloud.discoveryengine.v1alpha.DeleteTargetSiteMetadata" + }; + } + + // Gets a list of + // [TargetSite][google.cloud.discoveryengine.v1alpha.TargetSite]s. + rpc ListTargetSites(ListTargetSitesRequest) + returns (ListTargetSitesResponse) { + option (google.api.http) = { + get: "/v1alpha/{parent=projects/*/locations/*/dataStores/*/siteSearchEngine}/targetSites" + additional_bindings { + get: "/v1alpha/{parent=projects/*/locations/*/collections/*/dataStores/*/siteSearchEngine}/targetSites" + } + }; + option (google.api.method_signature) = "parent"; + } + + // Upgrade from basic site search to advanced site search. + rpc EnableAdvancedSiteSearch(EnableAdvancedSiteSearchRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1alpha/{site_search_engine=projects/*/locations/*/dataStores/*/siteSearchEngine}:enableAdvancedSiteSearch" + body: "*" + additional_bindings { + post: "/v1alpha/{site_search_engine=projects/*/locations/*/collections/*/dataStores/*/siteSearchEngine}:enableAdvancedSiteSearch" + body: "*" + } + }; + option (google.longrunning.operation_info) = { + response_type: "google.cloud.discoveryengine.v1alpha.EnableAdvancedSiteSearchResponse" + metadata_type: "google.cloud.discoveryengine.v1alpha.EnableAdvancedSiteSearchMetadata" + }; + } + + // Downgrade from advanced site search to basic site search. + rpc DisableAdvancedSiteSearch(DisableAdvancedSiteSearchRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1alpha/{site_search_engine=projects/*/locations/*/dataStores/*/siteSearchEngine}:disableAdvancedSiteSearch" + body: "*" + additional_bindings { + post: "/v1alpha/{site_search_engine=projects/*/locations/*/collections/*/dataStores/*/siteSearchEngine}:disableAdvancedSiteSearch" + body: "*" + } + }; + option (google.longrunning.operation_info) = { + response_type: "google.cloud.discoveryengine.v1alpha.DisableAdvancedSiteSearchResponse" + metadata_type: "google.cloud.discoveryengine.v1alpha.DisableAdvancedSiteSearchMetadata" + }; + } + + // Request on-demand recrawl for a list of URIs. + rpc RecrawlUris(RecrawlUrisRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1alpha/{site_search_engine=projects/*/locations/*/dataStores/*/siteSearchEngine}:recrawlUris" + body: "*" + additional_bindings { + post: "/v1alpha/{site_search_engine=projects/*/locations/*/collections/*/dataStores/*/siteSearchEngine}:recrawlUris" + body: "*" + } + }; + option (google.longrunning.operation_info) = { + response_type: "google.cloud.discoveryengine.v1alpha.RecrawlUrisResponse" + metadata_type: "google.cloud.discoveryengine.v1alpha.RecrawlUrisMetadata" + }; + } + + // Verify target sites' ownership and validity. + // This API sends all the target sites under site search engine for + // verification. + rpc BatchVerifyTargetSites(BatchVerifyTargetSitesRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1alpha/{parent=projects/*/locations/*/collections/*/dataStores/*/siteSearchEngine}:batchVerifyTargetSites" + body: "*" + }; + option (google.longrunning.operation_info) = { + response_type: "google.cloud.discoveryengine.v1alpha.BatchVerifyTargetSitesResponse" + metadata_type: "google.cloud.discoveryengine.v1alpha.BatchVerifyTargetSitesMetadata" + }; + } + + // Returns list of target sites with its domain verification status. + // This method can only be called under data store with BASIC_SITE_SEARCH + // state at the moment. + rpc FetchDomainVerificationStatus(FetchDomainVerificationStatusRequest) + returns (FetchDomainVerificationStatusResponse) { + option (google.api.http) = { + get: "/v1alpha/{site_search_engine=projects/*/locations/*/collections/*/dataStores/*/siteSearchEngine}:fetchDomainVerificationStatus" + }; + } +} + +// Request message for +// [SiteSearchEngineService.GetSiteSearchEngine][google.cloud.discoveryengine.v1alpha.SiteSearchEngineService.GetSiteSearchEngine] +// method. +message GetSiteSearchEngineRequest { + // Required. Resource name of + // [SiteSearchEngine][google.cloud.discoveryengine.v1alpha.SiteSearchEngine], + // such as + // `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine`. + // + // If the caller does not have permission to access the [SiteSearchEngine], + // regardless of whether or not it exists, a PERMISSION_DENIED error is + // returned. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/SiteSearchEngine" + } + ]; +} + +// Request message for +// [SiteSearchEngineService.CreateTargetSite][google.cloud.discoveryengine.v1alpha.SiteSearchEngineService.CreateTargetSite] +// method. +message CreateTargetSiteRequest { + // Required. Parent resource name of + // [TargetSite][google.cloud.discoveryengine.v1alpha.TargetSite], such as + // `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/SiteSearchEngine" + } + ]; + + // Required. The [TargetSite][google.cloud.discoveryengine.v1alpha.TargetSite] + // to create. + TargetSite target_site = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Metadata related to the progress of the +// [SiteSearchEngineService.CreateTargetSite][google.cloud.discoveryengine.v1alpha.SiteSearchEngineService.CreateTargetSite] +// operation. This will be returned by the google.longrunning.Operation.metadata +// field. +message CreateTargetSiteMetadata { + // Operation create time. + google.protobuf.Timestamp create_time = 1; + + // Operation last update time. If the operation is done, this is also the + // finish time. + google.protobuf.Timestamp update_time = 2; +} + +// Request message for [SiteSearchEngineService.s][] method. +message BatchCreateTargetSitesRequest { + // Required. The parent resource shared by all TargetSites being created. + // `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine`. + // The parent field in the CreateBookRequest messages must either be empty or + // match this field. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/SiteSearchEngine" + } + ]; + + // Required. The request message specifying the resources to create. + // A maximum of 20 TargetSites can be created in a batch. + repeated CreateTargetSiteRequest requests = 2 + [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for +// [SiteSearchEngineService.GetTargetSite][google.cloud.discoveryengine.v1alpha.SiteSearchEngineService.GetTargetSite] +// method. +message GetTargetSiteRequest { + // Required. Full resource name of + // [TargetSite][google.cloud.discoveryengine.v1alpha.TargetSite], such as + // `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine/targetSites/{target_site}`. + // + // If the caller does not have permission to access the + // [TargetSite][google.cloud.discoveryengine.v1alpha.TargetSite], regardless + // of whether or not it exists, a PERMISSION_DENIED error is returned. + // + // If the requested + // [TargetSite][google.cloud.discoveryengine.v1alpha.TargetSite] does not + // exist, a NOT_FOUND error is returned. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/TargetSite" + } + ]; +} + +// Request message for +// [SiteSearchEngineService.UpdateTargetSite][google.cloud.discoveryengine.v1alpha.SiteSearchEngineService.UpdateTargetSite] +// method. +message UpdateTargetSiteRequest { + // Required. The target site to update. + // If the caller does not have permission to update the + // [TargetSite][google.cloud.discoveryengine.v1alpha.TargetSite], regardless + // of whether or not it exists, a PERMISSION_DENIED error is returned. + // + // If the [TargetSite][google.cloud.discoveryengine.v1alpha.TargetSite] to + // update does not exist, a NOT_FOUND error is returned. + TargetSite target_site = 1 [(google.api.field_behavior) = REQUIRED]; +} + +// Metadata related to the progress of the +// [SiteSearchEngineService.UpdateTargetSite][google.cloud.discoveryengine.v1alpha.SiteSearchEngineService.UpdateTargetSite] +// operation. This will be returned by the google.longrunning.Operation.metadata +// field. +message UpdateTargetSiteMetadata { + // Operation create time. + google.protobuf.Timestamp create_time = 1; + + // Operation last update time. If the operation is done, this is also the + // finish time. + google.protobuf.Timestamp update_time = 2; +} + +// Request message for +// [SiteSearchEngineService.DeleteTargetSite][google.cloud.discoveryengine.v1alpha.SiteSearchEngineService.DeleteTargetSite] +// method. +message DeleteTargetSiteRequest { + // Required. Full resource name of + // [TargetSite][google.cloud.discoveryengine.v1alpha.TargetSite], such as + // `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine/targetSites/{target_site}`. + // + // If the caller does not have permission to access the + // [TargetSite][google.cloud.discoveryengine.v1alpha.TargetSite], regardless + // of whether or not it exists, a PERMISSION_DENIED error is returned. + // + // If the requested + // [TargetSite][google.cloud.discoveryengine.v1alpha.TargetSite] does not + // exist, a NOT_FOUND error is returned. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/TargetSite" + } + ]; +} + +// Metadata related to the progress of the +// [SiteSearchEngineService.DeleteTargetSite][google.cloud.discoveryengine.v1alpha.SiteSearchEngineService.DeleteTargetSite] +// operation. This will be returned by the google.longrunning.Operation.metadata +// field. +message DeleteTargetSiteMetadata { + // Operation create time. + google.protobuf.Timestamp create_time = 1; + + // Operation last update time. If the operation is done, this is also the + // finish time. + google.protobuf.Timestamp update_time = 2; +} + +// Request message for +// [SiteSearchEngineService.ListTargetSites][google.cloud.discoveryengine.v1alpha.SiteSearchEngineService.ListTargetSites] +// method. +message ListTargetSitesRequest { + // Required. The parent site search engine resource name, such as + // `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine`. + // + // If the caller does not have permission to list + // [TargetSite][google.cloud.discoveryengine.v1alpha.TargetSite]s under this + // site search engine, regardless of whether or not this branch exists, a + // PERMISSION_DENIED error is returned. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/SiteSearchEngine" + } + ]; + + // Requested page size. Server may return fewer items than requested. If + // unspecified, server will pick an appropriate default. The maximum value is + // 1000; values above 1000 will be coerced to 1000. + // + // If this field is negative, an INVALID_ARGUMENT error is returned. + int32 page_size = 2; + + // A page token, received from a previous `ListTargetSites` call. + // Provide this to retrieve the subsequent page. + // + // When paginating, all other parameters provided to `ListTargetSites` + // must match the call that provided the page token. + string page_token = 3; +} + +// Response message for +// [SiteSearchEngineService.ListTargetSites][google.cloud.discoveryengine.v1alpha.SiteSearchEngineService.ListTargetSites] +// method. +message ListTargetSitesResponse { + // List of TargetSites. + repeated TargetSite target_sites = 1; + + // A token that can be sent as `page_token` to retrieve the next page. + // If this field is omitted, there are no subsequent pages. + string next_page_token = 2; + + // The total number of items matching the request. + // This will always be populated in the response. + int32 total_size = 3; +} + +// Metadata related to the progress of the +// [SiteSearchEngineService.BatchCreateTargetSite][] operation. This will be +// returned by the google.longrunning.Operation.metadata field. +message BatchCreateTargetSiteMetadata { + // Operation create time. + google.protobuf.Timestamp create_time = 1; + + // Operation last update time. If the operation is done, this is also the + // finish time. + google.protobuf.Timestamp update_time = 2; +} + +// Response message for +// [SiteSearchEngineService.BatchCreateTargetSites][google.cloud.discoveryengine.v1alpha.SiteSearchEngineService.BatchCreateTargetSites] +// method. +message BatchCreateTargetSitesResponse { + // TargetSites created. + repeated TargetSite target_sites = 1; +} + +// Request message for +// [SiteSearchEngineService.EnableAdvancedSiteSearch][google.cloud.discoveryengine.v1alpha.SiteSearchEngineService.EnableAdvancedSiteSearch] +// method. +message EnableAdvancedSiteSearchRequest { + // Required. Full resource name of the + // [SiteSearchEngine][google.cloud.discoveryengine.v1alpha.SiteSearchEngine], + // such as + // `projects/{project}/locations/{location}/dataStores/{data_store_id}/siteSearchEngine`. + string site_search_engine = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/SiteSearchEngine" + } + ]; +} + +// Response message for +// [SiteSearchEngineService.EnableAdvancedSiteSearch][google.cloud.discoveryengine.v1alpha.SiteSearchEngineService.EnableAdvancedSiteSearch] +// method. +message EnableAdvancedSiteSearchResponse {} + +// Metadata related to the progress of the +// [SiteSearchEngineService.EnableAdvancedSiteSearch][google.cloud.discoveryengine.v1alpha.SiteSearchEngineService.EnableAdvancedSiteSearch] +// operation. This will be returned by the google.longrunning.Operation.metadata +// field. +message EnableAdvancedSiteSearchMetadata { + // Operation create time. + google.protobuf.Timestamp create_time = 1; + + // Operation last update time. If the operation is done, this is also the + // finish time. + google.protobuf.Timestamp update_time = 2; +} + +// Request message for +// [SiteSearchEngineService.DisableAdvancedSiteSearch][google.cloud.discoveryengine.v1alpha.SiteSearchEngineService.DisableAdvancedSiteSearch] +// method. +message DisableAdvancedSiteSearchRequest { + // Required. Full resource name of the + // [SiteSearchEngine][google.cloud.discoveryengine.v1alpha.SiteSearchEngine], + // such as + // `projects/{project}/locations/{location}/dataStores/{data_store_id}/siteSearchEngine`. + string site_search_engine = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/SiteSearchEngine" + } + ]; +} + +// Response message for +// [SiteSearchEngineService.DisableAdvancedSiteSearch][google.cloud.discoveryengine.v1alpha.SiteSearchEngineService.DisableAdvancedSiteSearch] +// method. +message DisableAdvancedSiteSearchResponse {} + +// Metadata related to the progress of the +// [SiteSearchEngineService.DisableAdvancedSiteSearch][google.cloud.discoveryengine.v1alpha.SiteSearchEngineService.DisableAdvancedSiteSearch] +// operation. This will be returned by the google.longrunning.Operation.metadata +// field. +message DisableAdvancedSiteSearchMetadata { + // Operation create time. + google.protobuf.Timestamp create_time = 1; + + // Operation last update time. If the operation is done, this is also the + // finish time. + google.protobuf.Timestamp update_time = 2; +} + +// Request message for +// [SiteSearchEngineService.RecrawlUris][google.cloud.discoveryengine.v1alpha.SiteSearchEngineService.RecrawlUris] +// method. +message RecrawlUrisRequest { + // Required. Full resource name of the + // [SiteSearchEngine][google.cloud.discoveryengine.v1alpha.SiteSearchEngine], + // such as + // `projects/*/locations/*/collections/*/dataStores/*/siteSearchEngine`. + string site_search_engine = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/SiteSearchEngine" + } + ]; + + // Required. List of URIs to crawl. At most 10K URIs are supported, otherwise + // an INVALID_ARGUMENT error is thrown. Each URI should match at least one + // [TargetSite][google.cloud.discoveryengine.v1alpha.TargetSite] in + // `site_search_engine`. + repeated string uris = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Response message for +// [SiteSearchEngineService.RecrawlUris][google.cloud.discoveryengine.v1alpha.SiteSearchEngineService.RecrawlUris] +// method. +message RecrawlUrisResponse { + // Details about why a particular URI failed to be crawled. Each FailureInfo + // contains one FailureReason per CorpusType. + message FailureInfo { + // Details about why crawling failed for a particular CorpusType, e.g. + // DESKTOP and MOBILE crawling may fail for different reasons. + message FailureReason { + // CorpusType for the failed crawling operation. + enum CorpusType { + // Default value. + CORPUS_TYPE_UNSPECIFIED = 0; + + // Denotes a crawling attempt for the desktop version of a page. + DESKTOP = 1; + + // Denotes a crawling attempt for the mobile version of a page. + MOBILE = 2; + } + + // DESKTOP, MOBILE, or CORPUS_TYPE_UNSPECIFIED. + CorpusType corpus_type = 1; + + // Reason why the URI was not crawled. + string error_message = 2; + } + + // URI that failed to be crawled. + string uri = 1; + + // List of failure reasons by corpus type (e.g. desktop, mobile). + repeated FailureReason failure_reasons = 2; + } + + // Details for a sample of up to 10 `failed_uris`. + repeated FailureInfo failure_samples = 1; + + // URIs that were not crawled before the LRO terminated. + repeated string failed_uris = 2; +} + +// Metadata related to the progress of the +// [SiteSearchEngineService.RecrawlUris][google.cloud.discoveryengine.v1alpha.SiteSearchEngineService.RecrawlUris] +// operation. This will be returned by the google.longrunning.Operation.metadata +// field. +message RecrawlUrisMetadata { + // Operation create time. + google.protobuf.Timestamp create_time = 1; + + // Operation last update time. If the operation is done, this is also the + // finish time. + google.protobuf.Timestamp update_time = 2; + + // Unique URIs in the request that don't match any TargetSite in the + // DataStore, only match TargetSites that haven't been fully indexed, or match + // a TargetSite with type EXCLUDE. + repeated string invalid_uris = 3; + + // Total number of unique URIs in the request that are not in invalid_uris. + int32 valid_uris_count = 4; + + // Total number of URIs that have been crawled so far. + int32 success_count = 5; + + // Total number of URIs that have yet to be crawled. + int32 pending_count = 6; + + // Total number of URIs that were rejected due to insufficient indexing + // resources. + int32 quota_exceeded_count = 7; +} + +// Request message for +// [SiteSearchEngineService.BatchVerifyTargetSites][google.cloud.discoveryengine.v1alpha.SiteSearchEngineService.BatchVerifyTargetSites] +// method. +message BatchVerifyTargetSitesRequest { + // Required. The parent resource shared by all TargetSites being verified. + // `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/SiteSearchEngine" + } + ]; +} + +// Response message for +// [SiteSearchEngineService.BatchVerifyTargetSites][google.cloud.discoveryengine.v1alpha.SiteSearchEngineService.BatchVerifyTargetSites] +// method. +message BatchVerifyTargetSitesResponse {} + +// Metadata related to the progress of the +// [SiteSearchEngineService.BatchVerifyTargetSites][google.cloud.discoveryengine.v1alpha.SiteSearchEngineService.BatchVerifyTargetSites] +// operation. This will be returned by the google.longrunning.Operation.metadata +// field. +message BatchVerifyTargetSitesMetadata { + // Operation create time. + google.protobuf.Timestamp create_time = 1; + + // Operation last update time. If the operation is done, this is also the + // finish time. + google.protobuf.Timestamp update_time = 2; +} + +// Request message for +// [SiteSearchEngineService.FetchDomainVerificationStatus][google.cloud.discoveryengine.v1alpha.SiteSearchEngineService.FetchDomainVerificationStatus] +// method. +message FetchDomainVerificationStatusRequest { + // Required. The site search engine resource under which we fetch all the + // domain verification status. + // `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine`. + string site_search_engine = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/SiteSearchEngine" + } + ]; + + // Requested page size. Server may return fewer items than requested. If + // unspecified, server will pick an appropriate default. The maximum value is + // 1000; values above 1000 will be coerced to 1000. + // + // If this field is negative, an INVALID_ARGUMENT error is returned. + int32 page_size = 2; + + // A page token, received from a previous `FetchDomainVerificationStatus` + // call. Provide this to retrieve the subsequent page. + // + // When paginating, all other parameters provided to + // `FetchDomainVerificationStatus` must match the call that provided the page + // token. + string page_token = 3; +} + +// Response message for +// [SiteSearchEngineService.FetchDomainVerificationStatus][google.cloud.discoveryengine.v1alpha.SiteSearchEngineService.FetchDomainVerificationStatus] +// method. +message FetchDomainVerificationStatusResponse { + // List of TargetSites containing the site verification status. + repeated TargetSite target_sites = 1; + + // A token that can be sent as `page_token` to retrieve the next page. + // If this field is omitted, there are no subsequent pages. + string next_page_token = 2; + + // The total number of items matching the request. + // This will always be populated in the response. + int32 total_size = 3; +} diff --git a/third_party/googleapis/google/cloud/discoveryengine/v1alpha/user_event.proto b/third_party/googleapis/google/cloud/discoveryengine/v1alpha/user_event.proto new file mode 100644 index 000000000..7ba96f7e2 --- /dev/null +++ b/third_party/googleapis/google/cloud/discoveryengine/v1alpha/user_event.proto @@ -0,0 +1,475 @@ +// 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.discoveryengine.v1alpha; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/discoveryengine/v1alpha/common.proto"; +import "google/protobuf/duration.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.DiscoveryEngine.V1Alpha"; +option go_package = "cloud.google.com/go/discoveryengine/apiv1alpha/discoveryenginepb;discoveryenginepb"; +option java_multiple_files = true; +option java_outer_classname = "UserEventProto"; +option java_package = "com.google.cloud.discoveryengine.v1alpha"; +option objc_class_prefix = "DISCOVERYENGINE"; +option php_namespace = "Google\\Cloud\\DiscoveryEngine\\V1alpha"; +option ruby_package = "Google::Cloud::DiscoveryEngine::V1alpha"; + +// UserEvent captures all metadata information Discovery Engine API needs to +// know about how end users interact with customers' website. +message UserEvent { + // Required. User event type. Allowed values are: + // + // Generic values: + // + // * `search`: Search for Documents. + // * `view-item`: Detailed page view of a Document. + // * `view-item-list`: View of a panel or ordered list of Documents. + // * `view-home-page`: View of the home page. + // * `view-category-page`: View of a category page, e.g. Home > Men > Jeans + // + // Retail-related values: + // + // * `add-to-cart`: Add an item(s) to cart, e.g. in Retail online shopping + // * `purchase`: Purchase an item(s) + // + // Media-related values: + // + // * `media-play`: Start/resume watching a video, playing a song, etc. + // * `media-complete`: Finished or stopped midway through a video, song, etc. + string event_type = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. A unique identifier for tracking visitors. + // + // For example, this could be implemented with an HTTP cookie, which should be + // able to uniquely identify a visitor on a single device. This unique + // identifier should not change if the visitor log in/out of the website. + // + // Do not set the field to the same fixed ID for different users. This mixes + // the event history of those users together, which results in degraded model + // quality. + // + // The field must be a UTF-8 encoded string with a length limit of 128 + // characters. Otherwise, an `INVALID_ARGUMENT` error is returned. + // + // The field should not contain PII or user-data. We recommend to use Google + // Analytics [Client + // ID](https://developers.google.com/analytics/devguides/collection/analyticsjs/field-reference#clientId) + // for this field. + string user_pseudo_id = 2 [(google.api.field_behavior) = REQUIRED]; + + // Only required for + // [UserEventService.ImportUserEvents][google.cloud.discoveryengine.v1alpha.UserEventService.ImportUserEvents] + // method. Timestamp of when the user event happened. + google.protobuf.Timestamp event_time = 3; + + // Information about the end user. + UserInfo user_info = 4; + + // Should set to true if the request is made directly from the end user, in + // which case the + // [UserEvent.user_info.user_agent][google.cloud.discoveryengine.v1alpha.UserInfo.user_agent] + // can be populated from the HTTP request. + // + // This flag should be set only if the API request is made directly from the + // end user such as a mobile app (and not if a gateway or a server is + // processing and pushing the user events). + // + // This should not be set when using the JavaScript tag in + // [UserEventService.CollectUserEvent][google.cloud.discoveryengine.v1alpha.UserEventService.CollectUserEvent]. + bool direct_user_request = 5; + + // A unique identifier for tracking a visitor session with a length limit of + // 128 bytes. A session is an aggregation of an end user behavior in a time + // span. + // + // A general guideline to populate the session_id: + // + // 1. If user has no activity for 30 min, a new session_id should be assigned. + // 2. The session_id should be unique across users, suggest use uuid or add + // [UserEvent.user_pseudo_id][google.cloud.discoveryengine.v1alpha.UserEvent.user_pseudo_id] + // as prefix. + string session_id = 6; + + // Page metadata such as categories and other critical information for certain + // event types such as `view-category-page`. + PageInfo page_info = 7; + + // Token to attribute an API response to user action(s) to trigger the event. + // + // Highly recommended for user events that are the result of + // [RecommendationService.Recommend][google.cloud.discoveryengine.v1alpha.RecommendationService.Recommend]. + // This field enables accurate attribution of recommendation model + // performance. + // + // The value must be one of: + // + // * [RecommendResponse.attribution_token][google.cloud.discoveryengine.v1alpha.RecommendResponse.attribution_token] for events that are the result of + // [RecommendationService.Recommend][google.cloud.discoveryengine.v1alpha.RecommendationService.Recommend]. + // * [SearchResponse.attribution_token][google.cloud.discoveryengine.v1alpha.SearchResponse.attribution_token] for events that are the result of + // [SearchService.Search][google.cloud.discoveryengine.v1alpha.SearchService.Search]. + // + // This token enables us to accurately attribute page view or conversion + // completion back to the event and the particular predict response containing + // this clicked/purchased product. If user clicks on product K in the + // recommendation results, pass + // [RecommendResponse.attribution_token][google.cloud.discoveryengine.v1alpha.RecommendResponse.attribution_token] + // as a URL parameter to product K's page. When recording events on product + // K's page, log the + // [RecommendResponse.attribution_token][google.cloud.discoveryengine.v1alpha.RecommendResponse.attribution_token] + // to this field. + string attribution_token = 8; + + // The filter syntax consists of an expression language for constructing a + // predicate from one or more fields of the documents being filtered. + // + // One example is for `search` events, the associated + // [SearchRequest][google.cloud.discoveryengine.v1alpha.SearchRequest] may + // contain a filter expression in + // [SearchRequest.filter][google.cloud.discoveryengine.v1alpha.SearchRequest.filter] + // conforming to https://google.aip.dev/160#filtering. + // + // Similarly, for `view-item-list` events that are generated from a + // [RecommendationService.RecommendRequest][], this field may be populated + // directly from [RecommendationService.RecommendRequest.filter][] conforming + // to https://google.aip.dev/160#filtering. + // + // The value must be a UTF-8 encoded string with a length limit of 1,000 + // characters. Otherwise, an `INVALID_ARGUMENT` error is returned. + string filter = 9; + + // List of [Document][google.cloud.discoveryengine.v1alpha.Document]s + // associated with this user event. + // + // This field is optional except for the following event types: + // + // * `view-item` + // * `add-to-cart` + // * `purchase` + // * `media-play` + // * `media-complete` + // + // In a `search` event, this field represents the documents returned to the + // end user on the current page (the end user may have not finished browsing + // the whole page yet). When a new page is returned to the end user, after + // pagination/filtering/ordering even for the same query, a new `search` event + // with different + // [UserEvent.documents][google.cloud.discoveryengine.v1alpha.UserEvent.documents] + // is desired. + repeated DocumentInfo documents = 10; + + // Panel metadata associated with this user event. + PanelInfo panel = 11; + + // [SearchService.Search][google.cloud.discoveryengine.v1alpha.SearchService.Search] + // details related to the event. + // + // This field should be set for `search` event. + SearchInfo search_info = 12; + + // [CompletionService.CompleteQuery][google.cloud.discoveryengine.v1alpha.CompletionService.CompleteQuery] + // details related to the event. + // + // This field should be set for `search` event when autocomplete function is + // enabled and the user clicks a suggestion for search. + CompletionInfo completion_info = 13; + + // The transaction metadata (if any) associated with this user event. + TransactionInfo transaction_info = 14; + + // A list of identifiers for the independent experiment groups this user event + // belongs to. This is used to distinguish between user events associated with + // different experiment setups on the customer end. + repeated string tag_ids = 15; + + // The promotion IDs if this is an event associated with promotions. + // Currently, this field is restricted to at most one ID. + repeated string promotion_ids = 16; + + // Extra user event features to include in the recommendation model. + // These attributes must NOT contain data that needs to be parsed or processed + // further, e.g. JSON or other encodings. + // + // If you provide custom attributes for ingested user events, also include + // them in the user events that you associate with prediction requests. Custom + // attribute formatting must be consistent between imported events and events + // provided with prediction requests. This lets the Discovery Engine API use + // those custom attributes when training models and serving predictions, which + // helps improve recommendation quality. + // + // This field needs to pass all below criteria, otherwise an + // `INVALID_ARGUMENT` error is returned: + // + // * The key must be a UTF-8 encoded string with a length limit of 5,000 + // characters. + // * For text attributes, at most 400 values are allowed. Empty values are not + // allowed. Each value must be a UTF-8 encoded string with a length limit of + // 256 characters. + // * For number attributes, at most 400 values are allowed. + // + // For product recommendations, an example of extra user information is + // `traffic_channel`, which is how a user arrives at the site. Users can + // arrive + // at the site by coming to the site directly, coming through Google + // search, or in other ways. + map attributes = 17; + + // Media-specific info. + MediaInfo media_info = 18; +} + +// Detailed page information. +message PageInfo { + // A unique ID of a web page view. + // + // This should be kept the same for all user events triggered from the same + // pageview. For example, an item detail page view could trigger multiple + // events as the user is browsing the page. The `pageview_id` property should + // be kept the same for all these events so that they can be grouped together + // properly. + // + // When using the client side event reporting with JavaScript pixel and Google + // Tag Manager, this value is filled in automatically. + string pageview_id = 1; + + // The most specific category associated with a category page. + // + // To represent full path of category, use '>' sign to separate different + // hierarchies. If '>' is part of the category name, please replace it with + // other character(s). + // + // Category pages include special pages such as sales or promotions. For + // instance, a special sale page may have the category hierarchy: + // `"pageCategory" : "Sales > 2017 Black Friday Deals"`. + // + // Required for `view-category-page` events. Other event types should not set + // this field. Otherwise, an `INVALID_ARGUMENT` error is returned. + string page_category = 2; + + // Complete URL (window.location.href) of the user's current page. + // + // When using the client side event reporting with JavaScript pixel and Google + // Tag Manager, this value is filled in automatically. Maximum length 5,000 + // characters. + string uri = 3; + + // The referrer URL of the current page. + // + // When using the client side event reporting with JavaScript pixel and Google + // Tag Manager, this value is filled in automatically. However, some browser + // privacy restrictions may cause this field to be empty. + string referrer_uri = 4; +} + +// Detailed search information. +message SearchInfo { + // The user's search query. + // + // See + // [SearchRequest.query][google.cloud.discoveryengine.v1alpha.SearchRequest.query] + // for definition. + // + // The value must be a UTF-8 encoded string with a length limit of 5,000 + // characters. Otherwise, an `INVALID_ARGUMENT` error is returned. + // + // At least one of + // [search_query][google.cloud.discoveryengine.v1alpha.SearchInfo.search_query] + // or + // [PageInfo.page_category][google.cloud.discoveryengine.v1alpha.PageInfo.page_category] + // is required for `search` events. Other event types should not set this + // field. Otherwise, an `INVALID_ARGUMENT` error is returned. + string search_query = 1; + + // The order in which products are returned, if applicable. + // + // See + // [SearchRequest.order_by][google.cloud.discoveryengine.v1alpha.SearchRequest.order_by] + // for definition and syntax. + // + // The value must be a UTF-8 encoded string with a length limit of 1,000 + // characters. Otherwise, an `INVALID_ARGUMENT` error is returned. + // + // This can only be set for `search` events. Other event types should not set + // this field. Otherwise, an `INVALID_ARGUMENT` error is returned. + string order_by = 2; + + // An integer that specifies the current offset for pagination (the 0-indexed + // starting location, amongst the products deemed by the API as relevant). + // + // See + // [SearchRequest.offset][google.cloud.discoveryengine.v1alpha.SearchRequest.offset] + // for definition. + // + // If this field is negative, an `INVALID_ARGUMENT` is returned. + // + // This can only be set for `search` events. Other event types should not set + // this field. Otherwise, an `INVALID_ARGUMENT` error is returned. + optional int32 offset = 3; +} + +// Detailed completion information including completion attribution token and +// clicked completion info. +message CompletionInfo { + // End user selected + // [CompleteQueryResponse.QuerySuggestion.suggestion][google.cloud.discoveryengine.v1alpha.CompleteQueryResponse.QuerySuggestion.suggestion]. + string selected_suggestion = 1; + + // End user selected + // [CompleteQueryResponse.QuerySuggestion.suggestion][google.cloud.discoveryengine.v1alpha.CompleteQueryResponse.QuerySuggestion.suggestion] + // position, starting from 0. + int32 selected_position = 2; +} + +// A transaction represents the entire purchase transaction. +message TransactionInfo { + // Required. Total non-zero value associated with the transaction. This value + // may include shipping, tax, or other adjustments to the total value that you + // want to include. + optional float value = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. Currency code. Use three-character ISO-4217 code. + string currency = 2 [(google.api.field_behavior) = REQUIRED]; + + // The transaction ID with a length limit of 128 characters. + string transaction_id = 3; + + // All the taxes associated with the transaction. + optional float tax = 4; + + // All the costs associated with the products. These can be manufacturing + // costs, shipping expenses not borne by the end user, or any other costs, + // such that: + // + // * Profit = + // [value][google.cloud.discoveryengine.v1alpha.TransactionInfo.value] - + // [tax][google.cloud.discoveryengine.v1alpha.TransactionInfo.tax] - + // [cost][google.cloud.discoveryengine.v1alpha.TransactionInfo.cost] + optional float cost = 5; + + // The total discount(s) value applied to this transaction. + // This figure should be excluded from + // [TransactionInfo.value][google.cloud.discoveryengine.v1alpha.TransactionInfo.value] + // + // For example, if a user paid + // [TransactionInfo.value][google.cloud.discoveryengine.v1alpha.TransactionInfo.value] + // amount, then nominal (pre-discount) value of the transaction is the sum of + // [TransactionInfo.value][google.cloud.discoveryengine.v1alpha.TransactionInfo.value] + // and + // [TransactionInfo.discount_value][google.cloud.discoveryengine.v1alpha.TransactionInfo.discount_value] + // + // This means that profit is calculated the same way, regardless of the + // discount value, and that + // [TransactionInfo.discount_value][google.cloud.discoveryengine.v1alpha.TransactionInfo.discount_value] + // can be larger than + // [TransactionInfo.value][google.cloud.discoveryengine.v1alpha.TransactionInfo.value]: + // + // * Profit = + // [value][google.cloud.discoveryengine.v1alpha.TransactionInfo.value] - + // [tax][google.cloud.discoveryengine.v1alpha.TransactionInfo.tax] - + // [cost][google.cloud.discoveryengine.v1alpha.TransactionInfo.cost] + optional float discount_value = 6; +} + +// Detailed document information associated with a user event. +message DocumentInfo { + // A required descriptor of the associated + // [Document][google.cloud.discoveryengine.v1alpha.Document]. + // + // * If [id][google.cloud.discoveryengine.v1alpha.DocumentInfo.id] is + // specified, then the default values for + // `{location}`, `{collection_id}`, `{data_store_id}`, and `{branch_id}` are + // used when annotating with the stored Document. + // + // * If [name][google.cloud.discoveryengine.v1alpha.DocumentInfo.name] is + // specified, then the provided values (default values allowed) for + // `{location}`, `{collection_id}`, `{data_store_id}`, and + // `{branch_id}` are used when annotating with the stored Document. + oneof document_descriptor { + // The [Document][google.cloud.discoveryengine.v1alpha.Document] resource + // ID. + string id = 1; + + // The [Document][google.cloud.discoveryengine.v1alpha.Document] resource + // full name, of the form: + // `projects/{project_id}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}/branches/{branch_id}/documents/{document_id}` + string name = 2 [(google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/Document" + }]; + + // The [Document][google.cloud.discoveryengine.v1alpha.Document] URI - only + // allowed for website data stores. + string uri = 6; + } + + // Quantity of the Document associated with the user event. Defaults to 1. + // + // For example, this field will be 2 if two quantities of the same Document + // are involved in a `add-to-cart` event. + // + // Required for events of the following event types: + // + // * `add-to-cart` + // * `purchase` + optional int32 quantity = 3; + + // The promotion IDs associated with this Document. + // Currently, this field is restricted to at most one ID. + repeated string promotion_ids = 4; +} + +// Detailed panel information associated with a user event. +message PanelInfo { + // Required. The panel ID. + string panel_id = 2 [(google.api.field_behavior) = REQUIRED]; + + // The display name of the panel. + string display_name = 3; + + // The ordered position of the panel, if shown to the user with other panels. + // If set, then + // [total_panels][google.cloud.discoveryengine.v1alpha.PanelInfo.total_panels] + // must also be set. + optional int32 panel_position = 4; + + // The total number of panels, including this one, shown to the user. + // Must be set if + // [panel_position][google.cloud.discoveryengine.v1alpha.PanelInfo.panel_position] + // is set. + optional int32 total_panels = 5; +} + +// Media-specific user event information. +message MediaInfo { + // The media progress time in seconds, if applicable. + // For example, if the end user has finished 90 seconds of a playback video, + // then + // [MediaInfo.media_progress_duration.seconds][google.protobuf.Duration.seconds] + // should be set to 90. + google.protobuf.Duration media_progress_duration = 1; + + // Media progress should be computed using only the + // [media_progress_duration][google.cloud.discoveryengine.v1alpha.MediaInfo.media_progress_duration] + // relative to the media total length. + // + // This value must be between `[0, 1.0]` inclusive. + // + // If this is not a playback or the progress cannot be computed (e.g. ongoing + // livestream), this field should be unset. + optional float media_progress_percentage = 2; +} diff --git a/third_party/googleapis/google/cloud/discoveryengine/v1alpha/user_event_service.proto b/third_party/googleapis/google/cloud/discoveryengine/v1alpha/user_event_service.proto new file mode 100644 index 000000000..9919d67fc --- /dev/null +++ b/third_party/googleapis/google/cloud/discoveryengine/v1alpha/user_event_service.proto @@ -0,0 +1,154 @@ +// 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.discoveryengine.v1alpha; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/httpbody.proto"; +import "google/api/resource.proto"; +import "google/cloud/discoveryengine/v1alpha/import_config.proto"; +import "google/cloud/discoveryengine/v1alpha/purge_config.proto"; +import "google/cloud/discoveryengine/v1alpha/user_event.proto"; +import "google/longrunning/operations.proto"; + +option csharp_namespace = "Google.Cloud.DiscoveryEngine.V1Alpha"; +option go_package = "cloud.google.com/go/discoveryengine/apiv1alpha/discoveryenginepb;discoveryenginepb"; +option java_multiple_files = true; +option java_outer_classname = "UserEventServiceProto"; +option java_package = "com.google.cloud.discoveryengine.v1alpha"; +option objc_class_prefix = "DISCOVERYENGINE"; +option php_namespace = "Google\\Cloud\\DiscoveryEngine\\V1alpha"; +option ruby_package = "Google::Cloud::DiscoveryEngine::V1alpha"; + +// Service for ingesting end user actions on a website to Discovery Engine API. +service UserEventService { + option (google.api.default_host) = "discoveryengine.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform"; + + // Writes a single user event. + rpc WriteUserEvent(WriteUserEventRequest) returns (UserEvent) { + option (google.api.http) = { + post: "/v1alpha/{parent=projects/*/locations/*/dataStores/*}/userEvents:write" + body: "user_event" + additional_bindings { + post: "/v1alpha/{parent=projects/*/locations/*/collections/*/dataStores/*}/userEvents:write" + body: "user_event" + } + }; + } + + // Writes a single user event from the browser. This uses a GET request to + // due to browser restriction of POST-ing to a third-party domain. + // + // This method is used only by the Discovery Engine API JavaScript pixel and + // Google Tag Manager. Users should not call this method directly. + rpc CollectUserEvent(CollectUserEventRequest) returns (google.api.HttpBody) { + option (google.api.http) = { + get: "/v1alpha/{parent=projects/*/locations/*/dataStores/*}/userEvents:collect" + additional_bindings { + get: "/v1alpha/{parent=projects/*/locations/*/collections/*/dataStores/*}/userEvents:collect" + } + }; + } + + // Deletes permanently all user events specified by the filter provided. + // Depending on the number of events specified by the filter, this operation + // could take hours or days to complete. To test a filter, use the list + // command first. + rpc PurgeUserEvents(PurgeUserEventsRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1alpha/{parent=projects/*/locations/*/dataStores/*}/userEvents:purge" + body: "*" + additional_bindings { + post: "/v1alpha/{parent=projects/*/locations/*/collections/*/dataStores/*}/userEvents:purge" + body: "*" + } + }; + option (google.longrunning.operation_info) = { + response_type: "google.cloud.discoveryengine.v1alpha.PurgeUserEventsResponse" + metadata_type: "google.cloud.discoveryengine.v1alpha.PurgeUserEventsMetadata" + }; + } + + // Bulk import of User events. Request processing might be + // synchronous. Events that already exist are skipped. + // Use this method for backfilling historical user events. + // + // Operation.response is of type ImportResponse. Note that it is + // possible for a subset of the items to be successfully inserted. + // Operation.metadata is of type ImportMetadata. + rpc ImportUserEvents(ImportUserEventsRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1alpha/{parent=projects/*/locations/*/dataStores/*}/userEvents:import" + body: "*" + additional_bindings { + post: "/v1alpha/{parent=projects/*/locations/*/collections/*/dataStores/*}/userEvents:import" + body: "*" + } + }; + option (google.longrunning.operation_info) = { + response_type: "google.cloud.discoveryengine.v1alpha.ImportUserEventsResponse" + metadata_type: "google.cloud.discoveryengine.v1alpha.ImportUserEventsMetadata" + }; + } +} + +// Request message for WriteUserEvent method. +message WriteUserEventRequest { + // Required. The parent DataStore resource name, such as + // `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/DataStore" + } + ]; + + // Required. User event to write. + optional UserEvent user_event = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for CollectUserEvent method. +message CollectUserEventRequest { + // Required. The parent DataStore resource name, such as + // `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/DataStore" + } + ]; + + // Required. URL encoded UserEvent proto with a length limit of 2,000,000 + // characters. + string user_event = 2 [(google.api.field_behavior) = REQUIRED]; + + // The URL including cgi-parameters but excluding the hash fragment with a + // length limit of 5,000 characters. This is often more useful than the + // referer URL, because many browsers only send the domain for third-party + // requests. + optional string uri = 3; + + // The event timestamp in milliseconds. This prevents browser caching of + // otherwise identical get requests. The name is abbreviated to reduce the + // payload bytes. + optional int64 ets = 4; +} diff --git a/third_party/googleapis/google/cloud/discoveryengine/v1beta/completion.proto b/third_party/googleapis/google/cloud/discoveryengine/v1beta/completion.proto new file mode 100644 index 000000000..bd724d277 --- /dev/null +++ b/third_party/googleapis/google/cloud/discoveryengine/v1beta/completion.proto @@ -0,0 +1,52 @@ +// 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.discoveryengine.v1beta; + +import "google/api/field_behavior.proto"; + +option csharp_namespace = "Google.Cloud.DiscoveryEngine.V1Beta"; +option go_package = "cloud.google.com/go/discoveryengine/apiv1beta/discoveryenginepb;discoveryenginepb"; +option java_multiple_files = true; +option java_outer_classname = "CompletionProto"; +option java_package = "com.google.cloud.discoveryengine.v1beta"; +option objc_class_prefix = "DISCOVERYENGINE"; +option php_namespace = "Google\\Cloud\\DiscoveryEngine\\V1beta"; +option ruby_package = "Google::Cloud::DiscoveryEngine::V1beta"; + +// Suggestion deny list entry identifying the phrase to block from suggestions +// and the applied operation for the phrase. +message SuggestionDenyListEntry { + // Operator for matching with the generated suggestions. + enum MatchOperator { + // Default value. Should not be used + MATCH_OPERATOR_UNSPECIFIED = 0; + + // If the suggestion is an exact match to the block_phrase, then block it. + EXACT_MATCH = 1; + + // If the suggestion contains the block_phrase, then block it. + CONTAINS = 2; + } + + // Required. Phrase to block from suggestions served. Can be maximum 125 + // characters. + string block_phrase = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The match operator to apply for this phrase. Whether to block the + // exact phrase, or block any suggestions containing this phrase. + MatchOperator match_operator = 2 [(google.api.field_behavior) = REQUIRED]; +} diff --git a/third_party/googleapis/google/cloud/discoveryengine/v1beta/completion_service.proto b/third_party/googleapis/google/cloud/discoveryengine/v1beta/completion_service.proto new file mode 100644 index 000000000..62db2c877 --- /dev/null +++ b/third_party/googleapis/google/cloud/discoveryengine/v1beta/completion_service.proto @@ -0,0 +1,176 @@ +// 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.discoveryengine.v1beta; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/discoveryengine/v1beta/import_config.proto"; +import "google/cloud/discoveryengine/v1beta/purge_config.proto"; +import "google/longrunning/operations.proto"; + +option csharp_namespace = "Google.Cloud.DiscoveryEngine.V1Beta"; +option go_package = "cloud.google.com/go/discoveryengine/apiv1beta/discoveryenginepb;discoveryenginepb"; +option java_multiple_files = true; +option java_outer_classname = "CompletionServiceProto"; +option java_package = "com.google.cloud.discoveryengine.v1beta"; +option objc_class_prefix = "DISCOVERYENGINE"; +option php_namespace = "Google\\Cloud\\DiscoveryEngine\\V1beta"; +option ruby_package = "Google::Cloud::DiscoveryEngine::V1beta"; + +// Service for Auto-Completion. +service CompletionService { + option (google.api.default_host) = "discoveryengine.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform"; + + // Completes the specified user input with keyword suggestions. + rpc CompleteQuery(CompleteQueryRequest) returns (CompleteQueryResponse) { + option (google.api.http) = { + get: "/v1beta/{data_store=projects/*/locations/*/dataStores/*}:completeQuery" + additional_bindings { + get: "/v1beta/{data_store=projects/*/locations/*/collections/*/dataStores/*}:completeQuery" + } + }; + } + + // Imports all + // [SuggestionDenyListEntry][google.cloud.discoveryengine.v1beta.SuggestionDenyListEntry] + // for a DataStore. + rpc ImportSuggestionDenyListEntries(ImportSuggestionDenyListEntriesRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1beta/{parent=projects/*/locations/*/collections/*/dataStores/*}/suggestionDenyListEntries:import" + body: "*" + additional_bindings { + post: "/v1beta/{parent=projects/*/locations/*/dataStores/*}/suggestionDenyListEntries:import" + body: "*" + } + }; + option (google.longrunning.operation_info) = { + response_type: "google.cloud.discoveryengine.v1beta.ImportSuggestionDenyListEntriesResponse" + metadata_type: "google.cloud.discoveryengine.v1beta.ImportSuggestionDenyListEntriesMetadata" + }; + } + + // Permanently deletes all + // [SuggestionDenyListEntry][google.cloud.discoveryengine.v1beta.SuggestionDenyListEntry] + // for a DataStore. + rpc PurgeSuggestionDenyListEntries(PurgeSuggestionDenyListEntriesRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1beta/{parent=projects/*/locations/*/collections/*/dataStores/*}/suggestionDenyListEntries:purge" + body: "*" + additional_bindings { + post: "/v1beta/{parent=projects/*/locations/*/dataStores/**}/suggestionDenyListEntries:purge" + body: "*" + } + }; + option (google.longrunning.operation_info) = { + response_type: "google.cloud.discoveryengine.v1beta.PurgeSuggestionDenyListEntriesResponse" + metadata_type: "google.cloud.discoveryengine.v1beta.PurgeSuggestionDenyListEntriesMetadata" + }; + } +} + +// Request message for +// [CompletionService.CompleteQuery][google.cloud.discoveryengine.v1beta.CompletionService.CompleteQuery] +// method. +message CompleteQueryRequest { + // Required. The parent data store resource name for which the completion is + // performed, such as + // `projects/*/locations/global/collections/default_collection/dataStores/default_data_store`. + string data_store = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/DataStore" + } + ]; + + // Required. The typeahead input used to fetch suggestions. Maximum length is + // 128 characters. + string query = 2 [(google.api.field_behavior) = REQUIRED]; + + // Specifies the autocomplete data model. This overrides any model specified + // in the Configuration > Autocomplete section of the Cloud console. Currently + // supported values: + // + // * `document` - Using suggestions generated from user-imported documents. + // * `search-history` - Using suggestions generated from the past history of + // [SearchService.Search][google.cloud.discoveryengine.v1beta.SearchService.Search] + // API calls. Do not use it when there is no traffic for Search API. + // * `user-event` - Using suggestions generated from user-imported search + // events. + // * `document-completable` - Using suggestions taken directly from + // user-imported document fields marked as completable. + // + // Default values: + // + // * `document` is the default model for regular dataStores. + // * `search-history` is the default model for site search dataStores. + string query_model = 3; + + // A unique identifier for tracking visitors. For example, this could be + // implemented with an HTTP cookie, which should be able to uniquely identify + // a visitor on a single device. This unique identifier should not change if + // the visitor logs in or out of the website. + // + // This field should NOT have a fixed value such as `unknown_visitor`. + // + // This should be the same identifier as + // [UserEvent.user_pseudo_id][google.cloud.discoveryengine.v1beta.UserEvent.user_pseudo_id] + // and + // [SearchRequest.user_pseudo_id][google.cloud.discoveryengine.v1beta.SearchRequest.user_pseudo_id]. + // + // The field must be a UTF-8 encoded string with a length limit of 128 + // characters. Otherwise, an `INVALID_ARGUMENT` error is returned. + string user_pseudo_id = 4; + + // Indicates if tail suggestions should be returned if there are no + // suggestions that match the full query. Even if set to true, if there are + // suggestions that match the full query, those are returned and no + // tail suggestions are returned. + bool include_tail_suggestions = 5; +} + +// Response message for +// [CompletionService.CompleteQuery][google.cloud.discoveryengine.v1beta.CompletionService.CompleteQuery] +// method. +message CompleteQueryResponse { + // Suggestions as search queries. + message QuerySuggestion { + // The suggestion for the query. + string suggestion = 1; + + // The unique document field paths that serve as the source of this + // suggestion if it was generated from completable fields. + // + // This field is only populated for the document-completable model. + repeated string completable_field_paths = 2; + } + + // Results of the matched query suggestions. The result list is ordered and + // the first result is a top suggestion. + repeated QuerySuggestion query_suggestions = 1; + + // True if the returned suggestions are all tail suggestions. + // + // For tail matching to be triggered, include_tail_suggestions in the request + // must be true and there must be no suggestions that match the full query. + bool tail_match_triggered = 2; +} diff --git a/third_party/googleapis/google/cloud/discoveryengine/v1beta/conversation.proto b/third_party/googleapis/google/cloud/discoveryengine/v1beta/conversation.proto new file mode 100644 index 000000000..a738ff839 --- /dev/null +++ b/third_party/googleapis/google/cloud/discoveryengine/v1beta/conversation.proto @@ -0,0 +1,141 @@ +// 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.discoveryengine.v1beta; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/discoveryengine/v1beta/search_service.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.DiscoveryEngine.V1Beta"; +option go_package = "cloud.google.com/go/discoveryengine/apiv1beta/discoveryenginepb;discoveryenginepb"; +option java_multiple_files = true; +option java_outer_classname = "ConversationProto"; +option java_package = "com.google.cloud.discoveryengine.v1beta"; +option objc_class_prefix = "DISCOVERYENGINE"; +option php_namespace = "Google\\Cloud\\DiscoveryEngine\\V1beta"; +option ruby_package = "Google::Cloud::DiscoveryEngine::V1beta"; + +// External conversation proto definition. +message Conversation { + option (google.api.resource) = { + type: "discoveryengine.googleapis.com/Conversation" + pattern: "projects/{project}/locations/{location}/dataStores/{data_store}/conversations/{conversation}" + pattern: "projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/conversations/{conversation}" + pattern: "projects/{project}/locations/{location}/collections/{collection}/engines/{engine}/conversations/{conversation}" + }; + + // Enumeration of the state of the conversation. + enum State { + // Unknown. + STATE_UNSPECIFIED = 0; + + // Conversation is currently open. + IN_PROGRESS = 1; + + // Conversation has been completed. + COMPLETED = 2; + } + + // Immutable. Fully qualified name + // `project/*/locations/global/collections/{collection}/dataStore/*/conversations/*` + // or + // `project/*/locations/global/collections/{collection}/engines/*/conversations/*`. + string name = 1 [(google.api.field_behavior) = IMMUTABLE]; + + // The state of the Conversation. + State state = 2; + + // A unique identifier for tracking users. + string user_pseudo_id = 3; + + // Conversation messages. + repeated ConversationMessage messages = 4; + + // Output only. The time the conversation started. + google.protobuf.Timestamp start_time = 5 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The time the conversation finished. + google.protobuf.Timestamp end_time = 6 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Defines a reply message to user. +message Reply { + // Defines reference in reply. + message Reference { + option deprecated = true; + + // URI link reference. + string uri = 1; + + // Anchor text. + string anchor_text = 2; + + // Anchor text start index. + int32 start = 3; + + // Anchor text end index. + int32 end = 4; + } + + // DEPRECATED: use `summary` instead. + // Text reply. + string reply = 1 [deprecated = true]; + + // References in the reply. + repeated Reference references = 2 [deprecated = true]; + + // Summary based on search results. + SearchResponse.Summary summary = 3; +} + +// Defines context of the conversation +message ConversationContext { + // The current list of documents the user is seeing. + // It contains the document resource references. + repeated string context_documents = 1; + + // The current active document the user opened. + // It contains the document resource reference. + string active_document = 2; +} + +// Defines text input. +message TextInput { + // Text input. + string input = 1; + + // Conversation context of the input. + ConversationContext context = 2; +} + +// Defines a conversation message. +message ConversationMessage { + oneof message { + // User text input. + TextInput user_input = 1; + + // Search reply. + Reply reply = 2; + } + + // Output only. Message creation timestamp. + google.protobuf.Timestamp create_time = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/cloud/discoveryengine/v1beta/conversational_search_service.proto b/third_party/googleapis/google/cloud/discoveryengine/v1beta/conversational_search_service.proto new file mode 100644 index 000000000..261db57e1 --- /dev/null +++ b/third_party/googleapis/google/cloud/discoveryengine/v1beta/conversational_search_service.proto @@ -0,0 +1,345 @@ +// 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.discoveryengine.v1beta; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/discoveryengine/v1beta/conversation.proto"; +import "google/cloud/discoveryengine/v1beta/search_service.proto"; +import "google/protobuf/empty.proto"; +import "google/protobuf/field_mask.proto"; + +option csharp_namespace = "Google.Cloud.DiscoveryEngine.V1Beta"; +option go_package = "cloud.google.com/go/discoveryengine/apiv1beta/discoveryenginepb;discoveryenginepb"; +option java_multiple_files = true; +option java_outer_classname = "ConversationalSearchServiceProto"; +option java_package = "com.google.cloud.discoveryengine.v1beta"; +option objc_class_prefix = "DISCOVERYENGINE"; +option php_namespace = "Google\\Cloud\\DiscoveryEngine\\V1beta"; +option ruby_package = "Google::Cloud::DiscoveryEngine::V1beta"; + +// Service for conversational search. +service ConversationalSearchService { + option (google.api.default_host) = "discoveryengine.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform"; + + // Converses a conversation. + rpc ConverseConversation(ConverseConversationRequest) + returns (ConverseConversationResponse) { + option (google.api.http) = { + post: "/v1beta/{name=projects/*/locations/*/dataStores/*/conversations/*}:converse" + body: "*" + additional_bindings { + post: "/v1beta/{name=projects/*/locations/*/collections/*/dataStores/*/conversations/*}:converse" + body: "*" + } + additional_bindings { + post: "/v1beta/{name=projects/*/locations/*/collections/*/engines/*/conversations/*}:converse" + body: "*" + } + }; + option (google.api.method_signature) = "name,query"; + } + + // Creates a Conversation. + // + // If the [Conversation][google.cloud.discoveryengine.v1beta.Conversation] to + // create already exists, an ALREADY_EXISTS error is returned. + rpc CreateConversation(CreateConversationRequest) returns (Conversation) { + option (google.api.http) = { + post: "/v1beta/{parent=projects/*/locations/*/dataStores/*}/conversations" + body: "conversation" + additional_bindings { + post: "/v1beta/{parent=projects/*/locations/*/collections/*/dataStores/*}/conversations" + body: "conversation" + } + additional_bindings { + post: "/v1beta/{parent=projects/*/locations/*/collections/*/engines/*}/conversations" + body: "conversation" + } + }; + option (google.api.method_signature) = "parent,conversation"; + } + + // Deletes a Conversation. + // + // If the [Conversation][google.cloud.discoveryengine.v1beta.Conversation] to + // delete does not exist, a NOT_FOUND error is returned. + rpc DeleteConversation(DeleteConversationRequest) + returns (google.protobuf.Empty) { + option (google.api.http) = { + delete: "/v1beta/{name=projects/*/locations/*/dataStores/*/conversations/*}" + additional_bindings { + delete: "/v1beta/{name=projects/*/locations/*/collections/*/dataStores/*/conversations/*}" + } + additional_bindings { + delete: "/v1beta/{name=projects/*/locations/*/collections/*/engines/*/conversations/*}" + } + }; + option (google.api.method_signature) = "name"; + } + + // Updates a Conversation. + // + // [Conversation][google.cloud.discoveryengine.v1beta.Conversation] action + // type cannot be changed. If the + // [Conversation][google.cloud.discoveryengine.v1beta.Conversation] to update + // does not exist, a NOT_FOUND error is returned. + rpc UpdateConversation(UpdateConversationRequest) returns (Conversation) { + option (google.api.http) = { + patch: "/v1beta/{conversation.name=projects/*/locations/*/dataStores/*/conversations/*}" + body: "conversation" + additional_bindings { + patch: "/v1beta/{conversation.name=projects/*/locations/*/collections/*/dataStores/*/conversations/*}" + body: "conversation" + } + additional_bindings { + patch: "/v1beta/{conversation.name=projects/*/locations/*/collections/*/engines/*/conversations/*}" + body: "conversation" + } + }; + option (google.api.method_signature) = "conversation,update_mask"; + } + + // Gets a Conversation. + rpc GetConversation(GetConversationRequest) returns (Conversation) { + option (google.api.http) = { + get: "/v1beta/{name=projects/*/locations/*/dataStores/*/conversations/*}" + additional_bindings { + get: "/v1beta/{name=projects/*/locations/*/collections/*/dataStores/*/conversations/*}" + } + additional_bindings { + get: "/v1beta/{name=projects/*/locations/*/collections/*/engines/*/conversations/*}" + } + }; + option (google.api.method_signature) = "name"; + } + + // Lists all Conversations by their parent + // [DataStore][google.cloud.discoveryengine.v1beta.DataStore]. + rpc ListConversations(ListConversationsRequest) + returns (ListConversationsResponse) { + option (google.api.http) = { + get: "/v1beta/{parent=projects/*/locations/*/dataStores/*}/conversations" + additional_bindings { + get: "/v1beta/{parent=projects/*/locations/*/collections/*/dataStores/*}/conversations" + } + additional_bindings { + get: "/v1beta/{parent=projects/*/locations/*/collections/*/engines/*}/conversations" + } + }; + option (google.api.method_signature) = "parent"; + } +} + +// Request message for +// [ConversationalSearchService.ConverseConversation][google.cloud.discoveryengine.v1beta.ConversationalSearchService.ConverseConversation] +// method. +message ConverseConversationRequest { + // Required. The resource name of the Conversation to get. Format: + // `projects/{project_number}/locations/{location_id}/collections/{collection}/dataStores/{data_store_id}/conversations/{conversation_id}`. + // Use + // `projects/{project_number}/locations/{location_id}/collections/{collection}/dataStores/{data_store_id}/conversations/-` + // to activate auto session mode, which automatically creates a new + // conversation inside a ConverseConversation session. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/Conversation" + } + ]; + + // Required. Current user input. + TextInput query = 2 [(google.api.field_behavior) = REQUIRED]; + + // The resource name of the Serving Config to use. Format: + // `projects/{project_number}/locations/{location_id}/collections/{collection}/dataStores/{data_store_id}/servingConfigs/{serving_config_id}` + // If this is not set, the default serving config will be used. + string serving_config = 3 [(google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/ServingConfig" + }]; + + // The conversation to be used by auto session only. The name field will be + // ignored as we automatically assign new name for the conversation in auto + // session. + Conversation conversation = 5; + + // Whether to turn on safe search. + bool safe_search = 6; + + // The user labels applied to a resource must meet the following requirements: + // + // * Each resource can have multiple labels, up to a maximum of 64. + // * Each label must be a key-value pair. + // * Keys have a minimum length of 1 character and a maximum length of 63 + // characters and cannot be empty. Values can be empty and have a maximum + // length of 63 characters. + // * Keys and values can contain only lowercase letters, numeric characters, + // underscores, and dashes. All characters must use UTF-8 encoding, and + // international characters are allowed. + // * The key portion of a label must be unique. However, you can use the same + // key with multiple resources. + // * Keys must start with a lowercase letter or international character. + // + // See [Google Cloud + // Document](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements) + // for more details. + map user_labels = 7; + + // A specification for configuring the summary returned in the response. + SearchRequest.ContentSearchSpec.SummarySpec summary_spec = 8; + + // The filter syntax consists of an expression language for constructing a + // predicate from one or more fields of the documents being filtered. Filter + // expression is case-sensitive. This will be used to filter search results + // which may affect the summary response. + // + // If this field is unrecognizable, an `INVALID_ARGUMENT` is returned. + // + // Filtering in Vertex AI Search is done by mapping the LHS filter key to a + // key property defined in the Vertex AI Search backend -- this mapping is + // defined by the customer in their schema. For example a media customer might + // have a field 'name' in their schema. In this case the filter would look + // like this: filter --> name:'ANY("king kong")' + // + // For more information about filtering including syntax and filter + // operators, see + // [Filter](https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata) + string filter = 9; +} + +// Response message for +// [ConversationalSearchService.ConverseConversation][google.cloud.discoveryengine.v1beta.ConversationalSearchService.ConverseConversation] +// method. +message ConverseConversationResponse { + // Answer to the current query. + Reply reply = 1; + + // Updated conversation including the answer. + Conversation conversation = 2; + + // Suggested related questions. + repeated string related_questions = 6; + + // Search Results. + repeated SearchResponse.SearchResult search_results = 3; +} + +// Request for CreateConversation method. +message CreateConversationRequest { + // Required. Full resource name of parent data store. Format: + // `projects/{project_number}/locations/{location_id}/collections/{collection}/dataStores/{data_store_id}` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/DataStore" + } + ]; + + // Required. The conversation to create. + Conversation conversation = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Request for UpdateConversation method. +message UpdateConversationRequest { + // Required. The Conversation to update. + Conversation conversation = 1 [(google.api.field_behavior) = REQUIRED]; + + // Indicates which fields in the provided + // [Conversation][google.cloud.discoveryengine.v1beta.Conversation] to update. + // The following are NOT supported: + // + // * [Conversation.name][google.cloud.discoveryengine.v1beta.Conversation.name] + // + // If not set or empty, all supported fields are updated. + google.protobuf.FieldMask update_mask = 2; +} + +// Request for DeleteConversation method. +message DeleteConversationRequest { + // Required. The resource name of the Conversation to delete. Format: + // `projects/{project_number}/locations/{location_id}/collections/{collection}/dataStores/{data_store_id}/conversations/{conversation_id}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/Conversation" + } + ]; +} + +// Request for GetConversation method. +message GetConversationRequest { + // Required. The resource name of the Conversation to get. Format: + // `projects/{project_number}/locations/{location_id}/collections/{collection}/dataStores/{data_store_id}/conversations/{conversation_id}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/Conversation" + } + ]; +} + +// Request for ListConversations method. +message ListConversationsRequest { + // Required. The data store resource name. Format: + // `projects/{project_number}/locations/{location_id}/collections/{collection}/dataStores/{data_store_id}` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/DataStore" + } + ]; + + // Maximum number of results to return. If unspecified, defaults + // to 50. Max allowed value is 1000. + int32 page_size = 2; + + // A page token, received from a previous `ListConversations` call. + // Provide this to retrieve the subsequent page. + string page_token = 3; + + // A filter to apply on the list results. The supported features are: + // user_pseudo_id, state. + // + // Example: + // "user_pseudo_id = some_id" + string filter = 4; + + // A comma-separated list of fields to order by, sorted in ascending order. + // Use "desc" after a field name for descending. + // Supported fields: + // * `update_time` + // * `create_time` + // * `conversation_name` + // + // Example: + // "update_time desc" + // "create_time" + string order_by = 5; +} + +// Response for ListConversations method. +message ListConversationsResponse { + // All the Conversations for a given data store. + repeated Conversation conversations = 1; + + // Pagination token, if not returned indicates the last page. + string next_page_token = 2; +} diff --git a/third_party/googleapis/google/cloud/discoveryengine/v1beta/data_store.proto b/third_party/googleapis/google/cloud/discoveryengine/v1beta/data_store.proto new file mode 100644 index 000000000..200927d3e --- /dev/null +++ b/third_party/googleapis/google/cloud/discoveryengine/v1beta/data_store.proto @@ -0,0 +1,98 @@ +// 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.discoveryengine.v1beta; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/discoveryengine/v1beta/common.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.DiscoveryEngine.V1Beta"; +option go_package = "cloud.google.com/go/discoveryengine/apiv1beta/discoveryenginepb;discoveryenginepb"; +option java_multiple_files = true; +option java_outer_classname = "DataStoreProto"; +option java_package = "com.google.cloud.discoveryengine.v1beta"; +option objc_class_prefix = "DISCOVERYENGINE"; +option php_namespace = "Google\\Cloud\\DiscoveryEngine\\V1beta"; +option ruby_package = "Google::Cloud::DiscoveryEngine::V1beta"; + +// DataStore captures global settings and configs at the DataStore level. +message DataStore { + option (google.api.resource) = { + type: "discoveryengine.googleapis.com/DataStore" + pattern: "projects/{project}/locations/{location}/dataStores/{data_store}" + pattern: "projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}" + }; + + // Content config of the data store. + enum ContentConfig { + // Default value. + CONTENT_CONFIG_UNSPECIFIED = 0; + + // Only contains documents without any + // [Document.content][google.cloud.discoveryengine.v1beta.Document.content]. + NO_CONTENT = 1; + + // Only contains documents with + // [Document.content][google.cloud.discoveryengine.v1beta.Document.content]. + CONTENT_REQUIRED = 2; + + // The data store is used for public website search. + PUBLIC_WEBSITE = 3; + } + + // Immutable. The full resource name of the data store. + // Format: + // `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}`. + // + // This field must be a UTF-8 encoded string with a length limit of 1024 + // characters. + string name = 1 [(google.api.field_behavior) = IMMUTABLE]; + + // Required. The data store display name. + // + // This field must be a UTF-8 encoded string with a length limit of 128 + // characters. Otherwise, an INVALID_ARGUMENT error is returned. + string display_name = 2 [(google.api.field_behavior) = REQUIRED]; + + // Immutable. The industry vertical that the data store registers. + IndustryVertical industry_vertical = 3 + [(google.api.field_behavior) = IMMUTABLE]; + + // The solutions that the data store enrolls. Available solutions for each + // [industry_vertical][google.cloud.discoveryengine.v1beta.DataStore.industry_vertical]: + // + // * `MEDIA`: `SOLUTION_TYPE_RECOMMENDATION` and `SOLUTION_TYPE_SEARCH`. + // * `SITE_SEARCH`: `SOLUTION_TYPE_SEARCH` is automatically enrolled. Other + // solutions cannot be enrolled. + repeated SolutionType solution_types = 5; + + // Output only. The id of the default + // [Schema][google.cloud.discoveryengine.v1beta.Schema] asscociated to this + // data store. + string default_schema_id = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. The content config of the data store. If this field is unset, + // the server behavior defaults to + // [ContentConfig.NO_CONTENT][google.cloud.discoveryengine.v1beta.DataStore.ContentConfig.NO_CONTENT]. + ContentConfig content_config = 6 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. Timestamp the + // [DataStore][google.cloud.discoveryengine.v1beta.DataStore] was created at. + google.protobuf.Timestamp create_time = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/cloud/discoveryengine/v1beta/data_store_service.proto b/third_party/googleapis/google/cloud/discoveryengine/v1beta/data_store_service.proto new file mode 100644 index 000000000..6c1ac9663 --- /dev/null +++ b/third_party/googleapis/google/cloud/discoveryengine/v1beta/data_store_service.proto @@ -0,0 +1,306 @@ +// 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.discoveryengine.v1beta; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/discoveryengine/v1beta/data_store.proto"; +import "google/longrunning/operations.proto"; +import "google/protobuf/empty.proto"; +import "google/protobuf/field_mask.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.DiscoveryEngine.V1Beta"; +option go_package = "cloud.google.com/go/discoveryengine/apiv1beta/discoveryenginepb;discoveryenginepb"; +option java_multiple_files = true; +option java_outer_classname = "DataStoreServiceProto"; +option java_package = "com.google.cloud.discoveryengine.v1beta"; +option objc_class_prefix = "DISCOVERYENGINE"; +option php_namespace = "Google\\Cloud\\DiscoveryEngine\\V1beta"; +option ruby_package = "Google::Cloud::DiscoveryEngine::V1beta"; + +// Service for managing +// [DataStore][google.cloud.discoveryengine.v1beta.DataStore] configuration. +service DataStoreService { + option (google.api.default_host) = "discoveryengine.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform"; + + // Creates a [DataStore][google.cloud.discoveryengine.v1beta.DataStore]. + // + // DataStore is for storing + // [Documents][google.cloud.discoveryengine.v1beta.Document]. To serve these + // documents for Search, or Recommendation use case, an + // [Engine][google.cloud.discoveryengine.v1beta.Engine] needs to be created + // separately. + rpc CreateDataStore(CreateDataStoreRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1beta/{parent=projects/*/locations/*}/dataStores" + body: "data_store" + additional_bindings { + post: "/v1beta/{parent=projects/*/locations/*/collections/*}/dataStores" + body: "data_store" + } + }; + option (google.api.method_signature) = "parent,data_store,data_store_id"; + option (google.longrunning.operation_info) = { + response_type: "google.cloud.discoveryengine.v1beta.DataStore" + metadata_type: "google.cloud.discoveryengine.v1beta.CreateDataStoreMetadata" + }; + } + + // Gets a [DataStore][google.cloud.discoveryengine.v1beta.DataStore]. + rpc GetDataStore(GetDataStoreRequest) returns (DataStore) { + option (google.api.http) = { + get: "/v1beta/{name=projects/*/locations/*/dataStores/*}" + additional_bindings { + get: "/v1beta/{name=projects/*/locations/*/collections/*/dataStores/*}" + } + }; + option (google.api.method_signature) = "name"; + } + + // Lists all the [DataStore][google.cloud.discoveryengine.v1beta.DataStore]s + // associated with the project. + rpc ListDataStores(ListDataStoresRequest) returns (ListDataStoresResponse) { + option (google.api.http) = { + get: "/v1beta/{parent=projects/*/locations/*}/dataStores" + additional_bindings { + get: "/v1beta/{parent=projects/*/locations/*/collections/*}/dataStores" + } + }; + option (google.api.method_signature) = "parent"; + } + + // Deletes a [DataStore][google.cloud.discoveryengine.v1beta.DataStore]. + rpc DeleteDataStore(DeleteDataStoreRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1beta/{name=projects/*/locations/*/dataStores/*}" + additional_bindings { + delete: "/v1beta/{name=projects/*/locations/*/collections/*/dataStores/*}" + } + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "google.cloud.discoveryengine.v1beta.DeleteDataStoreMetadata" + }; + } + + // Updates a [DataStore][google.cloud.discoveryengine.v1beta.DataStore] + rpc UpdateDataStore(UpdateDataStoreRequest) returns (DataStore) { + option (google.api.http) = { + patch: "/v1beta/{data_store.name=projects/*/locations/*/dataStores/*}" + body: "data_store" + additional_bindings { + patch: "/v1beta/{data_store.name=projects/*/locations/*/collections/*/dataStores/*}" + body: "data_store" + } + }; + option (google.api.method_signature) = "data_store,update_mask"; + } +} + +// Request for +// [DataStoreService.CreateDataStore][google.cloud.discoveryengine.v1beta.DataStoreService.CreateDataStore] +// method. +message CreateDataStoreRequest { + // Required. The parent resource name, such as + // `projects/{project}/locations/{location}/collections/{collection}`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/Collection" + } + ]; + + // Required. The [DataStore][google.cloud.discoveryengine.v1beta.DataStore] to + // create. + DataStore data_store = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The ID to use for the + // [DataStore][google.cloud.discoveryengine.v1beta.DataStore], which will + // become the final component of the + // [DataStore][google.cloud.discoveryengine.v1beta.DataStore]'s resource name. + // + // This field must conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) + // standard with a length limit of 63 characters. Otherwise, an + // INVALID_ARGUMENT error is returned. + string data_store_id = 3 [(google.api.field_behavior) = REQUIRED]; + + // A boolean flag indicating whether user want to directly create an advanced + // data store for site search. + // If the data store is not configured as site + // search (GENERIC vertical and PUBLIC_WEBSITE content_config), this flag will + // be ignored. + bool create_advanced_site_search = 4; +} + +// Request message for +// [DataStoreService.GetDataStore][google.cloud.discoveryengine.v1beta.DataStoreService.GetDataStore] +// method. +message GetDataStoreRequest { + // Required. Full resource name of + // [DataStore][google.cloud.discoveryengine.v1beta.DataStore], such as + // `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}`. + // + // If the caller does not have permission to access the + // [DataStore][google.cloud.discoveryengine.v1beta.DataStore], regardless of + // whether or not it exists, a PERMISSION_DENIED error is returned. + // + // If the requested [DataStore][google.cloud.discoveryengine.v1beta.DataStore] + // does not exist, a NOT_FOUND error is returned. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/DataStore" + } + ]; +} + +// Metadata related to the progress of the +// [DataStoreService.CreateDataStore][google.cloud.discoveryengine.v1beta.DataStoreService.CreateDataStore] +// operation. This will be returned by the google.longrunning.Operation.metadata +// field. +message CreateDataStoreMetadata { + // Operation create time. + google.protobuf.Timestamp create_time = 1; + + // Operation last update time. If the operation is done, this is also the + // finish time. + google.protobuf.Timestamp update_time = 2; +} + +// Request message for +// [DataStoreService.ListDataStores][google.cloud.discoveryengine.v1beta.DataStoreService.ListDataStores] +// method. +message ListDataStoresRequest { + // Required. The parent branch resource name, such as + // `projects/{project}/locations/{location}/collections/{collection_id}`. + // + // If the caller does not have permission to list + // [DataStore][google.cloud.discoveryengine.v1beta.DataStore]s under this + // location, regardless of whether or not this data store exists, a + // PERMISSION_DENIED error is returned. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/Collection" + } + ]; + + // Maximum number of + // [DataStore][google.cloud.discoveryengine.v1beta.DataStore]s to return. If + // unspecified, defaults to 10. The maximum allowed value is 50. Values above + // 50 will be coerced to 50. + // + // If this field is negative, an INVALID_ARGUMENT is returned. + int32 page_size = 2; + + // A page token + // [ListDataStoresResponse.next_page_token][google.cloud.discoveryengine.v1beta.ListDataStoresResponse.next_page_token], + // received from a previous + // [DataStoreService.ListDataStores][google.cloud.discoveryengine.v1beta.DataStoreService.ListDataStores] + // call. Provide this to retrieve the subsequent page. + // + // When paginating, all other parameters provided to + // [DataStoreService.ListDataStores][google.cloud.discoveryengine.v1beta.DataStoreService.ListDataStores] + // must match the call that provided the page token. Otherwise, an + // INVALID_ARGUMENT error is returned. + string page_token = 3; + + // Filter by solution type. For example: filter = + // 'solution_type:SOLUTION_TYPE_SEARCH' + string filter = 4; +} + +// Response message for +// [DataStoreService.ListDataStores][google.cloud.discoveryengine.v1beta.DataStoreService.ListDataStores] +// method. +message ListDataStoresResponse { + // All the customer's + // [DataStore][google.cloud.discoveryengine.v1beta.DataStore]s. + repeated DataStore data_stores = 1; + + // A token that can be sent as + // [ListDataStoresRequest.page_token][google.cloud.discoveryengine.v1beta.ListDataStoresRequest.page_token] + // to retrieve the next page. If this field is omitted, there are no + // subsequent pages. + string next_page_token = 2; +} + +// Request message for +// [DataStoreService.DeleteDataStore][google.cloud.discoveryengine.v1beta.DataStoreService.DeleteDataStore] +// method. +message DeleteDataStoreRequest { + // Required. Full resource name of + // [DataStore][google.cloud.discoveryengine.v1beta.DataStore], such as + // `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}`. + // + // If the caller does not have permission to delete the + // [DataStore][google.cloud.discoveryengine.v1beta.DataStore], regardless of + // whether or not it exists, a PERMISSION_DENIED error is returned. + // + // If the [DataStore][google.cloud.discoveryengine.v1beta.DataStore] to delete + // does not exist, a NOT_FOUND error is returned. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/DataStore" + } + ]; +} + +// Request message for +// [DataStoreService.UpdateDataStore][google.cloud.discoveryengine.v1beta.DataStoreService.UpdateDataStore] +// method. +message UpdateDataStoreRequest { + // Required. The [DataStore][google.cloud.discoveryengine.v1beta.DataStore] to + // update. + // + // If the caller does not have permission to update the + // [DataStore][google.cloud.discoveryengine.v1beta.DataStore], regardless of + // whether or not it exists, a PERMISSION_DENIED error is returned. + // + // If the [DataStore][google.cloud.discoveryengine.v1beta.DataStore] to update + // does not exist, a NOT_FOUND error is returned. + DataStore data_store = 1 [(google.api.field_behavior) = REQUIRED]; + + // Indicates which fields in the provided + // [DataStore][google.cloud.discoveryengine.v1beta.DataStore] to update. + // + // If an unsupported or unknown field is provided, an INVALID_ARGUMENT error + // is returned. + google.protobuf.FieldMask update_mask = 2; +} + +// Metadata related to the progress of the +// [DataStoreService.DeleteDataStore][google.cloud.discoveryengine.v1beta.DataStoreService.DeleteDataStore] +// operation. This will be returned by the google.longrunning.Operation.metadata +// field. +message DeleteDataStoreMetadata { + // Operation create time. + google.protobuf.Timestamp create_time = 1; + + // Operation last update time. If the operation is done, this is also the + // finish time. + google.protobuf.Timestamp update_time = 2; +} diff --git a/third_party/googleapis/google/cloud/discoveryengine/v1beta/engine.proto b/third_party/googleapis/google/cloud/discoveryengine/v1beta/engine.proto new file mode 100644 index 000000000..8bb716024 --- /dev/null +++ b/third_party/googleapis/google/cloud/discoveryengine/v1beta/engine.proto @@ -0,0 +1,220 @@ +// 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.discoveryengine.v1beta; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/discoveryengine/v1beta/common.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.DiscoveryEngine.V1Beta"; +option go_package = "cloud.google.com/go/discoveryengine/apiv1beta/discoveryenginepb;discoveryenginepb"; +option java_multiple_files = true; +option java_outer_classname = "EngineProto"; +option java_package = "com.google.cloud.discoveryengine.v1beta"; +option objc_class_prefix = "DISCOVERYENGINE"; +option php_namespace = "Google\\Cloud\\DiscoveryEngine\\V1beta"; +option ruby_package = "Google::Cloud::DiscoveryEngine::V1beta"; + +// Metadata that describes the training and serving parameters of an +// [Engine][google.cloud.discoveryengine.v1beta.Engine]. +message Engine { + option (google.api.resource) = { + type: "discoveryengine.googleapis.com/Engine" + pattern: "projects/{project}/locations/{location}/collections/{collection}/engines/{engine}" + }; + + // Configurations for a Search Engine. + message SearchEngineConfig { + // The search feature tier of this engine. + // + // Different tiers might have different + // pricing. To learn more, please check the pricing documentation. + // + // Defaults to + // [SearchTier.SEARCH_TIER_STANDARD][google.cloud.discoveryengine.v1beta.SearchTier.SEARCH_TIER_STANDARD] + // if not specified. + SearchTier search_tier = 1; + + // The add-on that this search engine enables. + repeated SearchAddOn search_add_ons = 2; + } + + // Configurations for a Chat Engine. + message ChatEngineConfig { + // Configurations for generating a Dialogflow agent. + // + // Note that these configurations are one-time consumed by + // and passed to Dialogflow service. It means they cannot be retrieved using + // [EngineService.GetEngine][google.cloud.discoveryengine.v1beta.EngineService.GetEngine] + // or + // [EngineService.ListEngines][google.cloud.discoveryengine.v1beta.EngineService.ListEngines] + // API after engine creation. + message AgentCreationConfig { + // Name of the company, organization or other entity that the agent + // represents. Used for knowledge connector LLM prompt and for knowledge + // search. + string business = 1; + + // Required. The default language of the agent as a language tag. + // See [Language + // Support](https://cloud.google.com/dialogflow/docs/reference/language) + // for a list of the currently supported language codes. + string default_language_code = 2; + + // Required. The time zone of the agent from the [time zone + // database](https://www.iana.org/time-zones), e.g., America/New_York, + // Europe/Paris. + string time_zone = 3 [(google.api.field_behavior) = REQUIRED]; + + // Agent location for Agent creation, supported values: global/us/eu. + // If not provided, us Engine will create Agent using us-central-1 by + // default; eu Engine will create Agent using eu-west-1 by default. + string location = 4; + } + + // The configurationt generate the Dialogflow agent that is associated to + // this Engine. + // + // Note that these configurations are one-time consumed by + // and passed to Dialogflow service. It means they cannot be retrieved using + // [EngineService.GetEngine][google.cloud.discoveryengine.v1beta.EngineService.GetEngine] + // or + // [EngineService.ListEngines][google.cloud.discoveryengine.v1beta.EngineService.ListEngines] + // API after engine creation. + AgentCreationConfig agent_creation_config = 1; + + // The resource name of an exist Dialogflow agent to link to this Chat + // Engine. Customers can either provide `agent_creation_config` to create + // agent or provide an agent name that links the agent with the Chat engine. + // + // Format: `projects//locations//agents/`. + // + // Note that the `dialogflow_agent_to_link` are one-time consumed by and + // passed to Dialogflow service. It means they cannot be retrieved using + // [EngineService.GetEngine][google.cloud.discoveryengine.v1beta.EngineService.GetEngine] + // or + // [EngineService.ListEngines][google.cloud.discoveryengine.v1beta.EngineService.ListEngines] + // API after engine creation. Please use + // [ChatEngineMetadata.dialogflow_agent][google.cloud.discoveryengine.v1beta.Engine.ChatEngineMetadata.dialogflow_agent] + // for actual agent association after Engine is created. + string dialogflow_agent_to_link = 2; + } + + // Common configurations for an Engine. + message CommonConfig { + // Immutable. The name of the company, business or entity that is associated + // with the engine. Setting this may help improve LLM related features. + string company_name = 1 [(google.api.field_behavior) = IMMUTABLE]; + } + + // Additional information of a Chat Engine. + // Fields in this message are output only. + message ChatEngineMetadata { + // The resource name of a Dialogflow agent, that this Chat Engine refers + // to. + // + // Format: `projects//locations//agents/`. + string dialogflow_agent = 1; + } + + // Additional config specs that defines the behavior of the engine. + oneof engine_config { + // Configurations for the Chat Engine. Only applicable if + // [solution_type][google.cloud.discoveryengine.v1beta.Engine.solution_type] + // is + // [SOLUTION_TYPE_CHAT][google.cloud.discoveryengine.v1beta.SolutionType.SOLUTION_TYPE_CHAT]. + ChatEngineConfig chat_engine_config = 11; + + // Configurations for the Search Engine. Only applicable if + // [solution_type][google.cloud.discoveryengine.v1beta.Engine.solution_type] + // is + // [SOLUTION_TYPE_SEARCH][google.cloud.discoveryengine.v1beta.SolutionType.SOLUTION_TYPE_SEARCH]. + SearchEngineConfig search_engine_config = 13; + } + + // Engine metadata to monitor the status of the engine. + oneof engine_metadata { + // Output only. Additional information of the Chat Engine. Only applicable + // if + // [solution_type][google.cloud.discoveryengine.v1beta.Engine.solution_type] + // is + // [SOLUTION_TYPE_CHAT][google.cloud.discoveryengine.v1beta.SolutionType.SOLUTION_TYPE_CHAT]. + ChatEngineMetadata chat_engine_metadata = 12 + [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Immutable. The fully qualified resource name of the engine. + // + // This field must be a UTF-8 encoded string with a length limit of 1024 + // characters. + // + // Format: + // `projects/{project_number}/locations/{location}/collections/{collection}/engines/{engine}` + // engine should be 1-63 characters, and valid characters are + // /[a-z0-9][a-z0-9-_]*/. Otherwise, an INVALID_ARGUMENT error is returned. + string name = 1 [(google.api.field_behavior) = IMMUTABLE]; + + // Required. The display name of the engine. Should be human readable. UTF-8 + // encoded string with limit of 1024 characters. + string display_name = 2 [(google.api.field_behavior) = REQUIRED]; + + // Output only. Timestamp the Recommendation Engine was created at. + google.protobuf.Timestamp create_time = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Timestamp the Recommendation Engine was last updated. + google.protobuf.Timestamp update_time = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The data stores associated with this engine. + // + // For + // [SOLUTION_TYPE_SEARCH][google.cloud.discoveryengine.v1beta.SolutionType.SOLUTION_TYPE_SEARCH] + // and + // [SOLUTION_TYPE_RECOMMENDATION][google.cloud.discoveryengine.v1beta.SolutionType.SOLUTION_TYPE_RECOMMENDATION] + // type of engines, they can only associate with at most one data store. + // + // If + // [solution_type][google.cloud.discoveryengine.v1beta.Engine.solution_type] + // is + // [SOLUTION_TYPE_CHAT][google.cloud.discoveryengine.v1beta.SolutionType.SOLUTION_TYPE_CHAT], + // multiple [DataStore][google.cloud.discoveryengine.v1beta.DataStore]s in the + // same [Collection][google.cloud.discoveryengine.v1beta.Collection] can be + // associated here. + // + // Note that when used in + // [CreateEngineRequest][google.cloud.discoveryengine.v1beta.CreateEngineRequest], + // one DataStore id must be provided as the system will use it for necessary + // initializations. + repeated string data_store_ids = 5; + + // Required. The solutions of the engine. + SolutionType solution_type = 6 [(google.api.field_behavior) = REQUIRED]; + + // The industry vertical that the engine registers. + // The restriction of the Engine industry vertical is based on + // [DataStore][google.cloud.discoveryengine.v1beta.DataStore]: If unspecified, + // default to `GENERIC`. Vertical on Engine has to match vertical of the + // DataStore liniked to the engine. + IndustryVertical industry_vertical = 16; + + // Common config spec that specifies the metadata of the engine. + CommonConfig common_config = 15; +} diff --git a/third_party/googleapis/google/cloud/discoveryengine/v1beta/engine_service.proto b/third_party/googleapis/google/cloud/discoveryengine/v1beta/engine_service.proto new file mode 100644 index 000000000..b05f86bbb --- /dev/null +++ b/third_party/googleapis/google/cloud/discoveryengine/v1beta/engine_service.proto @@ -0,0 +1,244 @@ +// 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.discoveryengine.v1beta; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/discoveryengine/v1beta/engine.proto"; +import "google/longrunning/operations.proto"; +import "google/protobuf/empty.proto"; +import "google/protobuf/field_mask.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.DiscoveryEngine.V1Beta"; +option go_package = "cloud.google.com/go/discoveryengine/apiv1beta/discoveryenginepb;discoveryenginepb"; +option java_multiple_files = true; +option java_outer_classname = "EngineServiceProto"; +option java_package = "com.google.cloud.discoveryengine.v1beta"; +option objc_class_prefix = "DISCOVERYENGINE"; +option php_namespace = "Google\\Cloud\\DiscoveryEngine\\V1beta"; +option ruby_package = "Google::Cloud::DiscoveryEngine::V1beta"; + +// Service for managing [Engine][google.cloud.discoveryengine.v1beta.Engine] +// configuration. +service EngineService { + option (google.api.default_host) = "discoveryengine.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform"; + + // Creates a [Engine][google.cloud.discoveryengine.v1beta.Engine]. + rpc CreateEngine(CreateEngineRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1beta/{parent=projects/*/locations/*/collections/*}/engines" + body: "engine" + }; + option (google.api.method_signature) = "parent,engine,engine_id"; + option (google.longrunning.operation_info) = { + response_type: "google.cloud.discoveryengine.v1beta.Engine" + metadata_type: "google.cloud.discoveryengine.v1beta.CreateEngineMetadata" + }; + } + + // Deletes a [Engine][google.cloud.discoveryengine.v1beta.Engine]. + rpc DeleteEngine(DeleteEngineRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1beta/{name=projects/*/locations/*/collections/*/engines/*}" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "google.cloud.discoveryengine.v1beta.DeleteEngineMetadata" + }; + } + + // Updates an [Engine][google.cloud.discoveryengine.v1beta.Engine] + rpc UpdateEngine(UpdateEngineRequest) returns (Engine) { + option (google.api.http) = { + patch: "/v1beta/{engine.name=projects/*/locations/*/collections/*/engines/*}" + body: "engine" + }; + option (google.api.method_signature) = "engine,update_mask"; + } + + // Gets a [Engine][google.cloud.discoveryengine.v1beta.Engine]. + rpc GetEngine(GetEngineRequest) returns (Engine) { + option (google.api.http) = { + get: "/v1beta/{name=projects/*/locations/*/collections/*/engines/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Lists all the [Engine][google.cloud.discoveryengine.v1beta.Engine]s + // associated with the project. + rpc ListEngines(ListEnginesRequest) returns (ListEnginesResponse) { + option (google.api.http) = { + get: "/v1beta/{parent=projects/*/locations/*/collections/*}/engines" + }; + option (google.api.method_signature) = "parent"; + } +} + +// Request for +// [EngineService.CreateEngine][google.cloud.discoveryengine.v1beta.EngineService.CreateEngine] +// method. +message CreateEngineRequest { + // Required. The parent resource name, such as + // `projects/{project}/locations/{location}/collections/{collection}`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/Collection" + } + ]; + + // Required. The [Engine][google.cloud.discoveryengine.v1beta.Engine] to + // create. + Engine engine = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The ID to use for the + // [Engine][google.cloud.discoveryengine.v1beta.Engine], which will become the + // final component of the + // [Engine][google.cloud.discoveryengine.v1beta.Engine]'s resource name. + // + // This field must conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) + // standard with a length limit of 63 characters. Otherwise, an + // INVALID_ARGUMENT error is returned. + string engine_id = 3 [(google.api.field_behavior) = REQUIRED]; +} + +// Metadata related to the progress of the +// [EngineService.CreateEngine][google.cloud.discoveryengine.v1beta.EngineService.CreateEngine] +// operation. This will be returned by the google.longrunning.Operation.metadata +// field. +message CreateEngineMetadata { + // Operation create time. + google.protobuf.Timestamp create_time = 1; + + // Operation last update time. If the operation is done, this is also the + // finish time. + google.protobuf.Timestamp update_time = 2; +} + +// Request message for +// [EngineService.DeleteEngine][google.cloud.discoveryengine.v1beta.EngineService.DeleteEngine] +// method. +message DeleteEngineRequest { + // Required. Full resource name of + // [Engine][google.cloud.discoveryengine.v1beta.Engine], such as + // `projects/{project}/locations/{location}/collections/{collection_id}/engines/{engine_id}`. + // + // If the caller does not have permission to delete the + // [Engine][google.cloud.discoveryengine.v1beta.Engine], regardless of whether + // or not it exists, a PERMISSION_DENIED error is returned. + // + // If the [Engine][google.cloud.discoveryengine.v1beta.Engine] to delete does + // not exist, a NOT_FOUND error is returned. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/Engine" + } + ]; +} + +// Metadata related to the progress of the +// [EngineService.DeleteEngine][google.cloud.discoveryengine.v1beta.EngineService.DeleteEngine] +// operation. This will be returned by the google.longrunning.Operation.metadata +// field. +message DeleteEngineMetadata { + // Operation create time. + google.protobuf.Timestamp create_time = 1; + + // Operation last update time. If the operation is done, this is also the + // finish time. + google.protobuf.Timestamp update_time = 2; +} + +// Request message for +// [EngineService.GetEngine][google.cloud.discoveryengine.v1beta.EngineService.GetEngine] +// method. +message GetEngineRequest { + // Required. Full resource name of + // [Engine][google.cloud.discoveryengine.v1beta.Engine], such as + // `projects/{project}/locations/{location}/collections/{collection_id}/engines/{engine_id}`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/Engine" + } + ]; +} + +// Request message for +// [EngineService.ListEngines][google.cloud.discoveryengine.v1beta.EngineService.ListEngines] +// method. +message ListEnginesRequest { + // Required. The parent resource name, such as + // `projects/{project}/locations/{location}/collections/{collection_id}`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/Collection" + } + ]; + + // Optional. Not supported. + int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Not supported. + string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Filter by solution type. For example: + // solution_type=SOLUTION_TYPE_SEARCH + string filter = 4 [(google.api.field_behavior) = OPTIONAL]; +} + +// Response message for +// [EngineService.ListEngines][google.cloud.discoveryengine.v1beta.EngineService.ListEngines] +// method. +message ListEnginesResponse { + // All the customer's [Engine][google.cloud.discoveryengine.v1beta.Engine]s. + repeated Engine engines = 1; + + // Not supported. + string next_page_token = 2; +} + +// Request message for +// [EngineService.UpdateEngine][google.cloud.discoveryengine.v1beta.EngineService.UpdateEngine] +// method. +message UpdateEngineRequest { + // Required. The [Engine][google.cloud.discoveryengine.v1beta.Engine] to + // update. + // + // If the caller does not have permission to update the + // [Engine][google.cloud.discoveryengine.v1beta.Engine], regardless of whether + // or not it exists, a PERMISSION_DENIED error is returned. + // + // If the [Engine][google.cloud.discoveryengine.v1beta.Engine] to update does + // not exist, a NOT_FOUND error is returned. + Engine engine = 1 [(google.api.field_behavior) = REQUIRED]; + + // Indicates which fields in the provided + // [Engine][google.cloud.discoveryengine.v1beta.Engine] to update. + // + // If an unsupported or unknown field is provided, an INVALID_ARGUMENT error + // is returned. + google.protobuf.FieldMask update_mask = 2; +} diff --git a/third_party/googleapis/google/cloud/discoveryengine/v1beta/purge_config.proto b/third_party/googleapis/google/cloud/discoveryengine/v1beta/purge_config.proto new file mode 100644 index 000000000..baa7759e8 --- /dev/null +++ b/third_party/googleapis/google/cloud/discoveryengine/v1beta/purge_config.proto @@ -0,0 +1,124 @@ +// 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.discoveryengine.v1beta; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/timestamp.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Cloud.DiscoveryEngine.V1Beta"; +option go_package = "cloud.google.com/go/discoveryengine/apiv1beta/discoveryenginepb;discoveryenginepb"; +option java_multiple_files = true; +option java_outer_classname = "PurgeConfigProto"; +option java_package = "com.google.cloud.discoveryengine.v1beta"; +option objc_class_prefix = "DISCOVERYENGINE"; +option php_namespace = "Google\\Cloud\\DiscoveryEngine\\V1beta"; +option ruby_package = "Google::Cloud::DiscoveryEngine::V1beta"; + +// Request message for +// [DocumentService.PurgeDocuments][google.cloud.discoveryengine.v1beta.DocumentService.PurgeDocuments] +// method. +message PurgeDocumentsRequest { + // Required. The parent resource name, such as + // `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/Branch" + } + ]; + + // Required. Filter matching documents to purge. Only currently supported + // value is + // `*` (all items). + string filter = 2 [(google.api.field_behavior) = REQUIRED]; + + // Actually performs the purge. If `force` is set to false, return the + // expected purge count without deleting any documents. + bool force = 3; +} + +// Response message for +// [DocumentService.PurgeDocuments][google.cloud.discoveryengine.v1beta.DocumentService.PurgeDocuments] +// method. If the long running operation is successfully done, then this message +// is returned by the google.longrunning.Operations.response field. +message PurgeDocumentsResponse { + // The total count of documents purged as a result of the operation. + int64 purge_count = 1; + + // A sample of document names that will be deleted. Only populated if `force` + // is set to false. A max of 100 names will be returned and the names are + // chosen at random. + repeated string purge_sample = 2 [(google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/Document" + }]; +} + +// Metadata related to the progress of the PurgeDocuments operation. +// This will be returned by the google.longrunning.Operation.metadata field. +message PurgeDocumentsMetadata { + // Operation create time. + google.protobuf.Timestamp create_time = 1; + + // Operation last update time. If the operation is done, this is also the + // finish time. + google.protobuf.Timestamp update_time = 2; + + // Count of entries that were deleted successfully. + int64 success_count = 3; + + // Count of entries that encountered errors while processing. + int64 failure_count = 4; +} + +// Request message for +// [CompletionService.PurgeSuggestionDenyListEntries][google.cloud.discoveryengine.v1beta.CompletionService.PurgeSuggestionDenyListEntries] +// method. +message PurgeSuggestionDenyListEntriesRequest { + // Required. The parent data store resource name for which to import denylist + // entries. Follows pattern projects/*/locations/*/collections/*/dataStores/*. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/DataStore" + } + ]; +} + +// Response message for +// [CompletionService.PurgeSuggestionDenyListEntries][google.cloud.discoveryengine.v1beta.CompletionService.PurgeSuggestionDenyListEntries] +// method. +message PurgeSuggestionDenyListEntriesResponse { + // Number of suggestion deny list entries purged. + int64 purge_count = 1; + + // A sample of errors encountered while processing the request. + repeated google.rpc.Status error_samples = 2; +} + +// Metadata related to the progress of the PurgeSuggestionDenyListEntries +// operation. This is returned by the google.longrunning.Operation.metadata +// field. +message PurgeSuggestionDenyListEntriesMetadata { + // Operation create time. + google.protobuf.Timestamp create_time = 1; + + // Operation last update time. If the operation is done, this is also the + // finish time. + google.protobuf.Timestamp update_time = 2; +} diff --git a/third_party/googleapis/google/cloud/discoveryengine/v1beta/schema.proto b/third_party/googleapis/google/cloud/discoveryengine/v1beta/schema.proto new file mode 100644 index 000000000..6f308a2d4 --- /dev/null +++ b/third_party/googleapis/google/cloud/discoveryengine/v1beta/schema.proto @@ -0,0 +1,58 @@ +// 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.discoveryengine.v1beta; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/struct.proto"; + +option csharp_namespace = "Google.Cloud.DiscoveryEngine.V1Beta"; +option go_package = "cloud.google.com/go/discoveryengine/apiv1beta/discoveryenginepb;discoveryenginepb"; +option java_multiple_files = true; +option java_outer_classname = "SchemaProto"; +option java_package = "com.google.cloud.discoveryengine.v1beta"; +option objc_class_prefix = "DISCOVERYENGINE"; +option php_namespace = "Google\\Cloud\\DiscoveryEngine\\V1beta"; +option ruby_package = "Google::Cloud::DiscoveryEngine::V1beta"; + +// Defines the structure and layout of a type of document data. +message Schema { + option (google.api.resource) = { + type: "discoveryengine.googleapis.com/Schema" + pattern: "projects/{project}/locations/{location}/dataStores/{data_store}/schemas/{schema}" + pattern: "projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/schemas/{schema}" + }; + + // Schema representation. One of + // [struct_schema][google.cloud.discoveryengine.v1beta.Schema.struct_schema] + // or [json_schema][google.cloud.discoveryengine.v1beta.Schema.json_schema] + // should be provided otherwise an `INVALID_ARGUMENT` error is thrown. + oneof schema { + // The structured representation of the schema. + google.protobuf.Struct struct_schema = 2; + + // The JSON representation of the schema. + string json_schema = 3; + } + + // Immutable. The full resource name of the schema, in the format of + // `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/schemas/{schema}`. + // + // This field must be a UTF-8 encoded string with a length limit of 1024 + // characters. + string name = 1 [(google.api.field_behavior) = IMMUTABLE]; +} diff --git a/third_party/googleapis/google/cloud/discoveryengine/v1beta/schema_service.proto b/third_party/googleapis/google/cloud/discoveryengine/v1beta/schema_service.proto new file mode 100644 index 000000000..bad4b9139 --- /dev/null +++ b/third_party/googleapis/google/cloud/discoveryengine/v1beta/schema_service.proto @@ -0,0 +1,259 @@ +// 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.discoveryengine.v1beta; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/discoveryengine/v1beta/schema.proto"; +import "google/longrunning/operations.proto"; +import "google/protobuf/empty.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.DiscoveryEngine.V1Beta"; +option go_package = "cloud.google.com/go/discoveryengine/apiv1beta/discoveryenginepb;discoveryenginepb"; +option java_multiple_files = true; +option java_outer_classname = "SchemaServiceProto"; +option java_package = "com.google.cloud.discoveryengine.v1beta"; +option objc_class_prefix = "DISCOVERYENGINE"; +option php_namespace = "Google\\Cloud\\DiscoveryEngine\\V1beta"; +option ruby_package = "Google::Cloud::DiscoveryEngine::V1beta"; + +// Service for managing [Schema][google.cloud.discoveryengine.v1beta.Schema]s. +service SchemaService { + option (google.api.default_host) = "discoveryengine.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform"; + + // Gets a [Schema][google.cloud.discoveryengine.v1beta.Schema]. + rpc GetSchema(GetSchemaRequest) returns (Schema) { + option (google.api.http) = { + get: "/v1beta/{name=projects/*/locations/*/dataStores/*/schemas/*}" + additional_bindings { + get: "/v1beta/{name=projects/*/locations/*/collections/*/dataStores/*/schemas/*}" + } + }; + option (google.api.method_signature) = "name"; + } + + // Gets a list of [Schema][google.cloud.discoveryengine.v1beta.Schema]s. + rpc ListSchemas(ListSchemasRequest) returns (ListSchemasResponse) { + option (google.api.http) = { + get: "/v1beta/{parent=projects/*/locations/*/dataStores/*}/schemas" + additional_bindings { + get: "/v1beta/{parent=projects/*/locations/*/collections/*/dataStores/*}/schemas" + } + }; + option (google.api.method_signature) = "parent"; + } + + // Creates a [Schema][google.cloud.discoveryengine.v1beta.Schema]. + rpc CreateSchema(CreateSchemaRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1beta/{parent=projects/*/locations/*/dataStores/*}/schemas" + body: "schema" + additional_bindings { + post: "/v1beta/{parent=projects/*/locations/*/collections/*/dataStores/*}/schemas" + body: "schema" + } + }; + option (google.api.method_signature) = "parent,schema,schema_id"; + option (google.longrunning.operation_info) = { + response_type: "google.cloud.discoveryengine.v1beta.Schema" + metadata_type: "google.cloud.discoveryengine.v1beta.CreateSchemaMetadata" + }; + } + + // Updates a [Schema][google.cloud.discoveryengine.v1beta.Schema]. + rpc UpdateSchema(UpdateSchemaRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + patch: "/v1beta/{schema.name=projects/*/locations/*/dataStores/*/schemas/*}" + body: "schema" + additional_bindings { + patch: "/v1beta/{schema.name=projects/*/locations/*/collections/*/dataStores/*/schemas/*}" + body: "schema" + } + }; + option (google.longrunning.operation_info) = { + response_type: "google.cloud.discoveryengine.v1beta.Schema" + metadata_type: "google.cloud.discoveryengine.v1beta.UpdateSchemaMetadata" + }; + } + + // Deletes a [Schema][google.cloud.discoveryengine.v1beta.Schema]. + rpc DeleteSchema(DeleteSchemaRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1beta/{name=projects/*/locations/*/dataStores/*/schemas/*}" + additional_bindings { + delete: "/v1beta/{name=projects/*/locations/*/collections/*/dataStores/*/schemas/*}" + } + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "google.cloud.discoveryengine.v1beta.DeleteSchemaMetadata" + }; + } +} + +// Request message for +// [SchemaService.GetSchema][google.cloud.discoveryengine.v1beta.SchemaService.GetSchema] +// method. +message GetSchemaRequest { + // Required. The full resource name of the schema, in the format of + // `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/schemas/{schema}`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/Schema" + } + ]; +} + +// Request message for +// [SchemaService.ListSchemas][google.cloud.discoveryengine.v1beta.SchemaService.ListSchemas] +// method. +message ListSchemasRequest { + // Required. The parent data store resource name, in the format of + // `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/DataStore" + } + ]; + + // The maximum number of [Schema][google.cloud.discoveryengine.v1beta.Schema]s + // to return. The service may return fewer than this value. + // + // If unspecified, at most 100 + // [Schema][google.cloud.discoveryengine.v1beta.Schema]s will be returned. + // + // The maximum value is 1000; values above 1000 will be coerced to 1000. + int32 page_size = 2; + + // A page token, received from a previous + // [SchemaService.ListSchemas][google.cloud.discoveryengine.v1beta.SchemaService.ListSchemas] + // call. Provide this to retrieve the subsequent page. + // + // When paginating, all other parameters provided to + // [SchemaService.ListSchemas][google.cloud.discoveryengine.v1beta.SchemaService.ListSchemas] + // must match the call that provided the page token. + string page_token = 3; +} + +// Response message for +// [SchemaService.ListSchemas][google.cloud.discoveryengine.v1beta.SchemaService.ListSchemas] +// method. +message ListSchemasResponse { + // The [Schema][google.cloud.discoveryengine.v1beta.Schema]s. + repeated Schema schemas = 1; + + // A token that can be sent as + // [ListSchemasRequest.page_token][google.cloud.discoveryengine.v1beta.ListSchemasRequest.page_token] + // to retrieve the next page. If this field is omitted, there are no + // subsequent pages. + string next_page_token = 2; +} + +// Request message for +// [SchemaService.CreateSchema][google.cloud.discoveryengine.v1beta.SchemaService.CreateSchema] +// method. +message CreateSchemaRequest { + // Required. The parent data store resource name, in the format of + // `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/DataStore" + } + ]; + + // Required. The [Schema][google.cloud.discoveryengine.v1beta.Schema] to + // create. + Schema schema = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The ID to use for the + // [Schema][google.cloud.discoveryengine.v1beta.Schema], which will become the + // final component of the + // [Schema.name][google.cloud.discoveryengine.v1beta.Schema.name]. + // + // This field should conform to + // [RFC-1034](https://tools.ietf.org/html/rfc1034) standard with a length + // limit of 63 characters. + string schema_id = 3 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for +// [SchemaService.UpdateSchema][google.cloud.discoveryengine.v1beta.SchemaService.UpdateSchema] +// method. +message UpdateSchemaRequest { + // Required. The [Schema][google.cloud.discoveryengine.v1beta.Schema] to + // update. + Schema schema = 1 [(google.api.field_behavior) = REQUIRED]; + + // If set to true, and the + // [Schema][google.cloud.discoveryengine.v1beta.Schema] is not found, a new + // [Schema][google.cloud.discoveryengine.v1beta.Schema] will be created. In + // this situation, `update_mask` is ignored. + bool allow_missing = 3; +} + +// Request message for +// [SchemaService.DeleteSchema][google.cloud.discoveryengine.v1beta.SchemaService.DeleteSchema] +// method. +message DeleteSchemaRequest { + // Required. The full resource name of the schema, in the format of + // `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/schemas/{schema}`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/Schema" + } + ]; +} + +// Metadata for Create Schema LRO. +message CreateSchemaMetadata { + // Operation create time. + google.protobuf.Timestamp create_time = 1; + + // Operation last update time. If the operation is done, this is also the + // finish time. + google.protobuf.Timestamp update_time = 2; +} + +// Metadata for UpdateSchema LRO. +message UpdateSchemaMetadata { + // Operation create time. + google.protobuf.Timestamp create_time = 1; + + // Operation last update time. If the operation is done, this is also the + // finish time. + google.protobuf.Timestamp update_time = 2; +} + +// Metadata for DeleteSchema LRO. +message DeleteSchemaMetadata { + // Operation create time. + google.protobuf.Timestamp create_time = 1; + + // Operation last update time. If the operation is done, this is also the + // finish time. + google.protobuf.Timestamp update_time = 2; +} diff --git a/third_party/googleapis/google/cloud/discoveryengine/v1beta/search_service.proto b/third_party/googleapis/google/cloud/discoveryengine/v1beta/search_service.proto new file mode 100644 index 000000000..55aef9869 --- /dev/null +++ b/third_party/googleapis/google/cloud/discoveryengine/v1beta/search_service.proto @@ -0,0 +1,968 @@ +// 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.discoveryengine.v1beta; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/discoveryengine/v1beta/common.proto"; +import "google/cloud/discoveryengine/v1beta/document.proto"; +import "google/protobuf/struct.proto"; + +option csharp_namespace = "Google.Cloud.DiscoveryEngine.V1Beta"; +option go_package = "cloud.google.com/go/discoveryengine/apiv1beta/discoveryenginepb;discoveryenginepb"; +option java_multiple_files = true; +option java_outer_classname = "SearchServiceProto"; +option java_package = "com.google.cloud.discoveryengine.v1beta"; +option objc_class_prefix = "DISCOVERYENGINE"; +option php_namespace = "Google\\Cloud\\DiscoveryEngine\\V1beta"; +option ruby_package = "Google::Cloud::DiscoveryEngine::V1beta"; + +// Service for search. +service SearchService { + option (google.api.default_host) = "discoveryengine.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform"; + + // Performs a search. + rpc Search(SearchRequest) returns (SearchResponse) { + option (google.api.http) = { + post: "/v1beta/{serving_config=projects/*/locations/*/dataStores/*/servingConfigs/*}:search" + body: "*" + additional_bindings { + post: "/v1beta/{serving_config=projects/*/locations/*/collections/*/dataStores/*/servingConfigs/*}:search" + body: "*" + } + additional_bindings { + post: "/v1beta/{serving_config=projects/*/locations/*/collections/*/engines/*/servingConfigs/*}:search" + body: "*" + } + }; + } +} + +// Request message for +// [SearchService.Search][google.cloud.discoveryengine.v1beta.SearchService.Search] +// method. +message SearchRequest { + // Specifies the image query input. + message ImageQuery { + oneof image { + // Base64 encoded image bytes. Supported image formats: JPEG, PNG, and + // BMP. + string image_bytes = 1; + } + } + + // A facet specification to perform faceted search. + message FacetSpec { + // Specifies how a facet is computed. + message FacetKey { + // Required. Supported textual and numerical facet keys in + // [Document][google.cloud.discoveryengine.v1beta.Document] object, over + // which the facet values are computed. Facet key is case-sensitive. + string key = 1 [(google.api.field_behavior) = REQUIRED]; + + // Set only if values should be bucketed into intervals. Must be set + // for facets with numerical values. Must not be set for facet with text + // values. Maximum number of intervals is 30. + repeated Interval intervals = 2; + + // Only get facet for the given restricted values. Only supported on + // textual fields. For example, suppose "category" has three values + // "Action > 2022", "Action > 2021" and "Sci-Fi > 2022". If set + // "restricted_values" to "Action > 2022", the "category" facet only + // contains "Action > 2022". Only supported on textual fields. Maximum + // is 10. + repeated string restricted_values = 3; + + // Only get facet values that start with the given string prefix. For + // example, suppose "category" has three values "Action > 2022", + // "Action > 2021" and "Sci-Fi > 2022". If set "prefixes" to "Action", the + // "category" facet only contains "Action > 2022" and "Action > 2021". + // Only supported on textual fields. Maximum is 10. + repeated string prefixes = 4; + + // Only get facet values that contains the given strings. For example, + // suppose "category" has three values "Action > 2022", + // "Action > 2021" and "Sci-Fi > 2022". If set "contains" to "2022", the + // "category" facet only contains "Action > 2022" and "Sci-Fi > 2022". + // Only supported on textual fields. Maximum is 10. + repeated string contains = 5; + + // True to make facet keys case insensitive when getting faceting + // values with prefixes or contains; false otherwise. + bool case_insensitive = 6; + + // The order in which documents are returned. + // + // Allowed values are: + // + // * "count desc", which means order by + // [SearchResponse.Facet.values.count][google.cloud.discoveryengine.v1beta.SearchResponse.Facet.FacetValue.count] + // descending. + // + // * "value desc", which means order by + // [SearchResponse.Facet.values.value][google.cloud.discoveryengine.v1beta.SearchResponse.Facet.FacetValue.value] + // descending. + // Only applies to textual facets. + // + // If not set, textual values are sorted in [natural + // order](https://en.wikipedia.org/wiki/Natural_sort_order); numerical + // intervals are sorted in the order given by + // [FacetSpec.FacetKey.intervals][google.cloud.discoveryengine.v1beta.SearchRequest.FacetSpec.FacetKey.intervals]. + string order_by = 7; + } + + // Required. The facet key specification. + FacetKey facet_key = 1 [(google.api.field_behavior) = REQUIRED]; + + // Maximum of facet values that should be returned for this facet. If + // unspecified, defaults to 20. The maximum allowed value is 300. Values + // above 300 are coerced to 300. + // + // If this field is negative, an `INVALID_ARGUMENT` is returned. + int32 limit = 2; + + // List of keys to exclude when faceting. + // + // + // By default, + // [FacetKey.key][google.cloud.discoveryengine.v1beta.SearchRequest.FacetSpec.FacetKey.key] + // is not excluded from the filter unless it is listed in this field. + // + // Listing a facet key in this field allows its values to appear as facet + // results, even when they are filtered out of search results. Using this + // field does not affect what search results are returned. + // + // For example, suppose there are 100 documents with the color facet "Red" + // and 200 documents with the color facet "Blue". A query containing the + // filter "color:ANY("Red")" and having "color" as + // [FacetKey.key][google.cloud.discoveryengine.v1beta.SearchRequest.FacetSpec.FacetKey.key] + // would by default return only "Red" documents in the search results, and + // also return "Red" with count 100 as the only color facet. Although there + // are also blue documents available, "Blue" would not be shown as an + // available facet value. + // + // If "color" is listed in "excludedFilterKeys", then the query returns the + // facet values "Red" with count 100 and "Blue" with count 200, because the + // "color" key is now excluded from the filter. Because this field doesn't + // affect search results, the search results are still correctly filtered to + // return only "Red" documents. + // + // A maximum of 100 values are allowed. Otherwise, an `INVALID_ARGUMENT` + // error is returned. + repeated string excluded_filter_keys = 3; + + // Enables dynamic position for this facet. If set to true, the position of + // this facet among all facets in the response is determined automatically. + // If dynamic facets are enabled, it is ordered together. + // If set to false, the position of this facet in the + // response is the same as in the request, and it is ranked before + // the facets with dynamic position enable and all dynamic facets. + // + // For example, you may always want to have rating facet returned in + // the response, but it's not necessarily to always display the rating facet + // at the top. In that case, you can set enable_dynamic_position to true so + // that the position of rating facet in response is determined + // automatically. + // + // Another example, assuming you have the following facets in the request: + // + // * "rating", enable_dynamic_position = true + // + // * "price", enable_dynamic_position = false + // + // * "brands", enable_dynamic_position = false + // + // And also you have a dynamic facets enabled, which generates a facet + // `gender`. Then the final order of the facets in the response can be + // ("price", "brands", "rating", "gender") or ("price", "brands", "gender", + // "rating") depends on how API orders "gender" and "rating" facets. + // However, notice that "price" and "brands" are always + // ranked at first and second position because their enable_dynamic_position + // is false. + bool enable_dynamic_position = 4; + } + + // Boost specification to boost certain documents. + message BoostSpec { + // Boost applies to documents which match a condition. + message ConditionBoostSpec { + // An expression which specifies a boost condition. The syntax and + // supported fields are the same as a filter expression. See + // [SearchRequest.filter][google.cloud.discoveryengine.v1beta.SearchRequest.filter] + // for detail syntax and limitations. + // + // Examples: + // + // * To boost documents with document ID "doc_1" or "doc_2", and + // color + // "Red" or "Blue": + // * (id: ANY("doc_1", "doc_2")) AND (color: ANY("Red","Blue")) + string condition = 1; + + // Strength of the condition boost, which should be in [-1, 1]. Negative + // boost means demotion. Default is 0.0. + // + // Setting to 1.0 gives the document a big promotion. However, it does not + // necessarily mean that the boosted document will be the top result at + // all times, nor that other documents will be excluded. Results could + // still be shown even when none of them matches the condition. And + // results that are significantly more relevant to the search query can + // still trump your heavily favored but irrelevant documents. + // + // Setting to -1.0 gives the document a big demotion. However, results + // that are deeply relevant might still be shown. The document will have + // an upstream battle to get a fairly high ranking, but it is not blocked + // out completely. + // + // Setting to 0.0 means no boost applied. The boosting condition is + // ignored. + float boost = 2; + } + + // Condition boost specifications. If a document matches multiple conditions + // in the specifictions, boost scores from these specifications are all + // applied and combined in a non-linear way. Maximum number of + // specifications is 20. + repeated ConditionBoostSpec condition_boost_specs = 1; + } + + // Specification to determine under which conditions query expansion should + // occur. + message QueryExpansionSpec { + // Enum describing under which condition query expansion should occur. + enum Condition { + // Unspecified query expansion condition. In this case, server behavior + // defaults to + // [Condition.DISABLED][google.cloud.discoveryengine.v1beta.SearchRequest.QueryExpansionSpec.Condition.DISABLED]. + CONDITION_UNSPECIFIED = 0; + + // Disabled query expansion. Only the exact search query is used, even if + // [SearchResponse.total_size][google.cloud.discoveryengine.v1beta.SearchResponse.total_size] + // is zero. + DISABLED = 1; + + // Automatic query expansion built by the Search API. + AUTO = 2; + } + + // The condition under which query expansion should occur. Default to + // [Condition.DISABLED][google.cloud.discoveryengine.v1beta.SearchRequest.QueryExpansionSpec.Condition.DISABLED]. + Condition condition = 1; + + // Whether to pin unexpanded results. If this field is set to true, + // unexpanded products are always at the top of the search results, followed + // by the expanded results. + bool pin_unexpanded_results = 2; + } + + // The specification for query spell correction. + message SpellCorrectionSpec { + // Enum describing under which mode spell correction should occur. + enum Mode { + // Unspecified spell correction mode. In this case, server behavior + // defaults to + // [Mode.AUTO][google.cloud.discoveryengine.v1beta.SearchRequest.SpellCorrectionSpec.Mode.AUTO]. + MODE_UNSPECIFIED = 0; + + // Search API will try to find a spell suggestion if there + // is any and put in the + // [SearchResponse.corrected_query][google.cloud.discoveryengine.v1beta.SearchResponse.corrected_query]. + // The spell suggestion will not be used as the search query. + SUGGESTION_ONLY = 1; + + // Automatic spell correction built by the Search API. Search will + // be based on the corrected query if found. + AUTO = 2; + } + + // The mode under which spell correction should take effect to + // replace the original search query. Default to + // [Mode.AUTO][google.cloud.discoveryengine.v1beta.SearchRequest.SpellCorrectionSpec.Mode.AUTO]. + Mode mode = 1; + } + + // A specification for configuring the behavior of content search. + message ContentSearchSpec { + // A specification for configuring snippets in a search response. + message SnippetSpec { + // [DEPRECATED] This field is deprecated. To control snippet return, use + // `return_snippet` field. For backwards compatibility, we will return + // snippet if max_snippet_count > 0. + int32 max_snippet_count = 1 [deprecated = true]; + + // [DEPRECATED] This field is deprecated and will have no affect on the + // snippet. + bool reference_only = 2 [deprecated = true]; + + // If `true`, then return snippet. If no snippet can be generated, we + // return "No snippet is available for this page." A `snippet_status` with + // `SUCCESS` or `NO_SNIPPET_AVAILABLE` will also be returned. + bool return_snippet = 3; + } + + // A specification for configuring a summary returned in a search + // response. + message SummarySpec { + // Specification of the prompt to use with the model. + message ModelPromptSpec { + // Text at the beginning of the prompt that instructs the assistant. + // Examples are available in the user guide. + string preamble = 1; + } + + // Specification of the model. + message ModelSpec { + // The model version used to generate the summary. + // + // Supported values are: + // + // * `stable`: string. Default value when no value is specified. Uses a + // generally available, fine-tuned version of the text-bison@001 + // model. + // * `preview`: string. (Public preview) Uses a fine-tuned version of + // the text-bison@002 model. This model works only for summaries in + // English. + string version = 1; + } + + // The number of top results to generate the summary from. If the number + // of results returned is less than `summaryResultCount`, the summary is + // generated from all of the results. + // + // At most five results can be used to generate a summary. + int32 summary_result_count = 1; + + // Specifies whether to include citations in the summary. The default + // value is `false`. + // + // When this field is set to `true`, summaries include in-line citation + // numbers. + // + // Example summary including citations: + // + // BigQuery is Google Cloud's fully managed and completely serverless + // enterprise data warehouse [1]. BigQuery supports all data types, works + // across clouds, and has built-in machine learning and business + // intelligence, all within a unified platform [2, 3]. + // + // The citation numbers refer to the returned search results and are + // 1-indexed. For example, [1] means that the sentence is attributed to + // the first search result. [2, 3] means that the sentence is attributed + // to both the second and third search results. + bool include_citations = 2; + + // Specifies whether to filter out adversarial queries. The default value + // is `false`. + // + // Google employs search-query classification to detect adversarial + // queries. No summary is returned if the search query is classified as an + // adversarial query. For example, a user might ask a question regarding + // negative comments about the company or submit a query designed to + // generate unsafe, policy-violating output. If this field is set to + // `true`, we skip generating summaries for adversarial queries and return + // fallback messages instead. + bool ignore_adversarial_query = 3; + + // Specifies whether to filter out queries that are not summary-seeking. + // The default value is `false`. + // + // Google employs search-query classification to detect summary-seeking + // queries. No summary is returned if the search query is classified as a + // non-summary seeking query. For example, `why is the sky blue` and `Who + // is the best soccer player in the world?` are summary-seeking queries, + // but `SFO airport` and `world cup 2026` are not. They are most likely + // navigational queries. If this field is set to `true`, we skip + // generating summaries for non-summary seeking queries and return + // fallback messages instead. + bool ignore_non_summary_seeking_query = 4; + + // If specified, the spec will be used to modify the prompt provided to + // the LLM. + ModelPromptSpec model_prompt_spec = 5; + + // Language code for Summary. Use language tags defined by + // [BCP47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt). + // Note: This is an experimental feature. + string language_code = 6; + + // If specified, the spec will be used to modify the model specification + // provided to the LLM. + ModelSpec model_spec = 7; + } + + // A specification for configuring the extractive content in a search + // response. + message ExtractiveContentSpec { + // The maximum number of extractive answers returned in each search + // result. + // + // An extractive answer is a verbatim answer extracted from the original + // document, which provides a precise and contextually relevant answer to + // the search query. + // + // If the number of matching answers is less than the + // `max_extractive_answer_count`, return all of the answers. Otherwise, + // return the `max_extractive_answer_count`. + // + // At most five answers are returned for each + // [SearchResult][google.cloud.discoveryengine.v1beta.SearchResponse.SearchResult]. + int32 max_extractive_answer_count = 1; + + // The max number of extractive segments returned in each search result. + // Only applied if the + // [DataStore][google.cloud.discoveryengine.v1beta.DataStore] is set to + // [DataStore.ContentConfig.CONTENT_REQUIRED][google.cloud.discoveryengine.v1beta.DataStore.ContentConfig.CONTENT_REQUIRED] + // or + // [DataStore.solution_types][google.cloud.discoveryengine.v1beta.DataStore.solution_types] + // is + // [SOLUTION_TYPE_CHAT][google.cloud.discoveryengine.v1beta.SolutionType.SOLUTION_TYPE_CHAT]. + // + // An extractive segment is a text segment extracted from the original + // document that is relevant to the search query, and, in general, more + // verbose than an extractive answer. The segment could then be used as + // input for LLMs to generate summaries and answers. + // + // If the number of matching segments is less than + // `max_extractive_segment_count`, return all of the segments. Otherwise, + // return the `max_extractive_segment_count`. + int32 max_extractive_segment_count = 2; + + // Specifies whether to return the confidence score from the extractive + // segments in each search result. The default value is `false`. + // + // Note: this is a priavte preview feature and only works for allowlisted + // users, please reach out to Cloud Support team if you want to use it. + bool return_extractive_segment_score = 3; + + // Specifies whether to also include the adjacent from each selected + // segments. + // Return at most `num_previous_segments` segments before each selected + // segments. + int32 num_previous_segments = 4; + + // Return at most `num_next_segments` segments after each selected + // segments. + int32 num_next_segments = 5; + } + + // If `snippetSpec` is not specified, snippets are not included in the + // search response. + SnippetSpec snippet_spec = 1; + + // If `summarySpec` is not specified, summaries are not included in the + // search response. + SummarySpec summary_spec = 2; + + // If there is no extractive_content_spec provided, there will be no + // extractive answer in the search response. + ExtractiveContentSpec extractive_content_spec = 3; + } + + // The specification that uses customized query embedding vector to do + // semantic document retrieval. + message EmbeddingSpec { + // Embedding vector. + message EmbeddingVector { + // Embedding field path in schema. + string field_path = 1; + + // Query embedding vector. + repeated float vector = 2; + } + + // The embedding vector used for retrieval. Limit to 1. + repeated EmbeddingVector embedding_vectors = 1; + } + + // Required. The resource name of the Search serving config, such as + // `projects/*/locations/global/collections/default_collection/engines/*/servingConfigs/default_serving_config`, + // or + // `projects/*/locations/global/collections/default_collection/dataStores/default_data_store/servingConfigs/default_serving_config`. + // This field is used to identify the serving configuration name, set + // of models used to make the search. + string serving_config = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/ServingConfig" + } + ]; + + // The branch resource name, such as + // `projects/*/locations/global/collections/default_collection/dataStores/default_data_store/branches/0`. + // + // Use `default_branch` as the branch ID or leave this field empty, to search + // documents under the default branch. + string branch = 2 [(google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/Branch" + }]; + + // Raw search query. + string query = 3; + + // Raw image query. + ImageQuery image_query = 19; + + // Maximum number of [Document][google.cloud.discoveryengine.v1beta.Document]s + // to return. If unspecified, defaults to a reasonable value. The maximum + // allowed value is 100. Values above 100 are coerced to 100. + // + // If this field is negative, an `INVALID_ARGUMENT` is returned. + int32 page_size = 4; + + // A page token received from a previous + // [SearchService.Search][google.cloud.discoveryengine.v1beta.SearchService.Search] + // call. Provide this to retrieve the subsequent page. + // + // When paginating, all other parameters provided to + // [SearchService.Search][google.cloud.discoveryengine.v1beta.SearchService.Search] + // must match the call that provided the page token. Otherwise, an + // `INVALID_ARGUMENT` error is returned. + string page_token = 5; + + // A 0-indexed integer that specifies the current offset (that is, starting + // result location, amongst the + // [Document][google.cloud.discoveryengine.v1beta.Document]s deemed by the API + // as relevant) in search results. This field is only considered if + // [page_token][google.cloud.discoveryengine.v1beta.SearchRequest.page_token] + // is unset. + // + // If this field is negative, an `INVALID_ARGUMENT` is returned. + int32 offset = 6; + + // The filter syntax consists of an expression language for constructing a + // predicate from one or more fields of the documents being filtered. Filter + // expression is case-sensitive. + // + // If this field is unrecognizable, an `INVALID_ARGUMENT` is returned. + // + // Filtering in Vertex AI Search is done by mapping the LHS filter key to a + // key property defined in the Vertex AI Search backend -- this mapping is + // defined by the customer in their schema. For example a media customer might + // have a field 'name' in their schema. In this case the filter would look + // like this: filter --> name:'ANY("king kong")' + // + // For more information about filtering including syntax and filter + // operators, see + // [Filter](https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata) + string filter = 7; + + // The default filter that is applied when a user performs a search without + // checking any filters on the search page. + // + // The filter applied to every search request when quality improvement such as + // query expansion is needed. In the case a query does not have a sufficient + // amount of results this filter will be used to determine whether or not to + // enable the query expansion flow. The original filter will still be used for + // the query expanded search. + // This field is strongly recommended to achieve high search quality. + // + // For more information about filter syntax, see + // [SearchRequest.filter][google.cloud.discoveryengine.v1beta.SearchRequest.filter]. + string canonical_filter = 29; + + // The order in which documents are returned. Documents can be ordered by + // a field in an [Document][google.cloud.discoveryengine.v1beta.Document] + // object. Leave it unset if ordered by relevance. `order_by` expression is + // case-sensitive. For more information on ordering, see + // [Ordering](https://cloud.google.com/retail/docs/filter-and-order#order) + // + // If this field is unrecognizable, an `INVALID_ARGUMENT` is returned. + string order_by = 8; + + // Information about the end user. + // Highly recommended for analytics. + // [UserInfo.user_agent][google.cloud.discoveryengine.v1beta.UserInfo.user_agent] + // is used to deduce `device_type` for analytics. + UserInfo user_info = 21; + + // Facet specifications for faceted search. If empty, no facets are returned. + // + // A maximum of 100 values are allowed. Otherwise, an `INVALID_ARGUMENT` + // error is returned. + repeated FacetSpec facet_specs = 9; + + // Boost specification to boost certain documents. + // For more information on boosting, see + // [Boosting](https://cloud.google.com/retail/docs/boosting#boost) + BoostSpec boost_spec = 10; + + // Additional search parameters. + // + // For public website search only, supported values are: + // + // * `user_country_code`: string. Default empty. If set to non-empty, results + // are restricted or boosted based on the location provided. + // Example: + // user_country_code: "au" + // + // For available codes see [Country + // Codes](https://developers.google.com/custom-search/docs/json_api_reference#countryCodes) + // + // * `search_type`: double. Default empty. Enables non-webpage searching + // depending on the value. The only valid non-default value is 1, + // which enables image searching. + // Example: + // search_type: 1 + map params = 11; + + // The query expansion specification that specifies the conditions under which + // query expansion occurs. + QueryExpansionSpec query_expansion_spec = 13; + + // The spell correction specification that specifies the mode under + // which spell correction takes effect. + SpellCorrectionSpec spell_correction_spec = 14; + + // A unique identifier for tracking visitors. For example, this could be + // implemented with an HTTP cookie, which should be able to uniquely identify + // a visitor on a single device. This unique identifier should not change if + // the visitor logs in or out of the website. + // + // This field should NOT have a fixed value such as `unknown_visitor`. + // + // This should be the same identifier as + // [UserEvent.user_pseudo_id][google.cloud.discoveryengine.v1beta.UserEvent.user_pseudo_id] + // and + // [CompleteQueryRequest.user_pseudo_id][google.cloud.discoveryengine.v1beta.CompleteQueryRequest.user_pseudo_id] + // + // The field must be a UTF-8 encoded string with a length limit of 128 + // characters. Otherwise, an `INVALID_ARGUMENT` error is returned. + string user_pseudo_id = 15; + + // A specification for configuring the behavior of content search. + ContentSearchSpec content_search_spec = 24; + + // Uses the provided embedding to do additional semantic document retrieval. + // The retrieval is based on the dot product of + // [SearchRequest.EmbeddingSpec.EmbeddingVector.vector][google.cloud.discoveryengine.v1beta.SearchRequest.EmbeddingSpec.EmbeddingVector.vector] + // and the document embedding that is provided in + // [SearchRequest.EmbeddingSpec.EmbeddingVector.field_path][google.cloud.discoveryengine.v1beta.SearchRequest.EmbeddingSpec.EmbeddingVector.field_path]. + // + // If + // [SearchRequest.EmbeddingSpec.EmbeddingVector.field_path][google.cloud.discoveryengine.v1beta.SearchRequest.EmbeddingSpec.EmbeddingVector.field_path] + // is not provided, it will use [ServingConfig.EmbeddingConfig.field_path][]. + EmbeddingSpec embedding_spec = 23; + + // The ranking expression controls the customized ranking on retrieval + // documents. This overrides + // [ServingConfig.ranking_expression][google.cloud.discoveryengine.v1beta.ServingConfig.ranking_expression]. + // The ranking expression is a single function or multiple functions that are + // joint by "+". + // * ranking_expression = function, { " + ", function }; + // Supported functions: + // * double * relevance_score + // * double * dotProduct(embedding_field_path) + // Function variables: + // `relevance_score`: pre-defined keywords, used for measure relevance + // between query and document. + // `embedding_field_path`: the document embedding field + // used with query embedding vector. + // `dotProduct`: embedding function between embedding_field_path and query + // embedding vector. + // + // Example ranking expression: + // If document has an embedding field doc_embedding, the ranking expression + // could be `0.5 * relevance_score + 0.3 * dotProduct(doc_embedding)`. + string ranking_expression = 26; + + // Whether to turn on safe search. This is only supported for + // website search. + bool safe_search = 20; + + // The user labels applied to a resource must meet the following requirements: + // + // * Each resource can have multiple labels, up to a maximum of 64. + // * Each label must be a key-value pair. + // * Keys have a minimum length of 1 character and a maximum length of 63 + // characters and cannot be empty. Values can be empty and have a maximum + // length of 63 characters. + // * Keys and values can contain only lowercase letters, numeric characters, + // underscores, and dashes. All characters must use UTF-8 encoding, and + // international characters are allowed. + // * The key portion of a label must be unique. However, you can use the same + // key with multiple resources. + // * Keys must start with a lowercase letter or international character. + // + // See [Google Cloud + // Document](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements) + // for more details. + map user_labels = 22; +} + +// Response message for +// [SearchService.Search][google.cloud.discoveryengine.v1beta.SearchService.Search] +// method. +message SearchResponse { + // Represents the search results. + message SearchResult { + // [Document.id][google.cloud.discoveryengine.v1beta.Document.id] of the + // searched [Document][google.cloud.discoveryengine.v1beta.Document]. + string id = 1; + + // The document data snippet in the search response. Only fields that are + // marked as retrievable are populated. + Document document = 2; + + // Google provided available scores. + map model_scores = 4; + } + + // A facet result. + message Facet { + // A facet value which contains value names and their count. + message FacetValue { + // A facet value which contains values. + oneof facet_value { + // Text value of a facet, such as "Black" for facet "colors". + string value = 1; + + // Interval value for a facet, such as [10, 20) for facet "price". It + // matches + // [SearchRequest.FacetSpec.FacetKey.intervals][google.cloud.discoveryengine.v1beta.SearchRequest.FacetSpec.FacetKey.intervals]. + Interval interval = 2; + } + + // Number of items that have this facet value. + int64 count = 3; + } + + // The key for this facet. E.g., "colors" or "price". It matches + // [SearchRequest.FacetSpec.FacetKey.key][google.cloud.discoveryengine.v1beta.SearchRequest.FacetSpec.FacetKey.key]. + string key = 1; + + // The facet values for this field. + repeated FacetValue values = 2; + + // Whether the facet is dynamically generated. + bool dynamic_facet = 3; + } + + // Guided search result. The guided search helps user to refine the search + // results and narrow down to the real needs from a broaded search results. + message GuidedSearchResult { + // Useful attribute for search result refinements. + message RefinementAttribute { + // Attribute key used to refine the results e.g. 'movie_type'. + string attribute_key = 1; + + // Attribute value used to refine the results e.g. 'drama'. + string attribute_value = 2; + } + + // A list of ranked refinement attributes. + repeated RefinementAttribute refinement_attributes = 1; + + // Suggested follow-up questions. + repeated string follow_up_questions = 2; + } + + // Summary of the top N search result specified by the summary spec. + message Summary { + // Safety Attribute categories and their associated confidence scores. + message SafetyAttributes { + // The display names of Safety Attribute categories associated with the + // generated content. Order matches the Scores. + repeated string categories = 1; + + // The confidence scores of the each category, higher + // value means higher confidence. Order matches the Categories. + repeated float scores = 2; + } + + // Citation metadata. + message CitationMetadata { + // Citations for segments. + repeated Citation citations = 1; + } + + // Citation info for a segment. + message Citation { + // Index indicates the start of the segment, measured in bytes/unicode. + int64 start_index = 1; + + // End of the attributed segment, exclusive. + int64 end_index = 2; + + // Citation sources for the attributed segment. + repeated CitationSource sources = 3; + } + + // Citation source. + message CitationSource { + // Document reference index from SummaryWithMetadata.references. + // It is 0-indexed and the value will be zero if the reference_index is + // not set explicitly. + int64 reference_index = 4; + } + + // Document reference. + message Reference { + // Title of the document. + string title = 1; + + // Required. + // [Document.name][google.cloud.discoveryengine.v1beta.Document.name] of + // the document. Full resource name of the referenced document, in the + // format + // `projects/*/locations/*/collections/*/dataStores/*/branches/*/documents/*`. + string document = 2 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/Document" + } + ]; + + // Cloud Storage or HTTP uri for the document. + string uri = 3; + } + + // Summary with metadata information. + message SummaryWithMetadata { + // Summary text with no citation information. + string summary = 1; + + // Citation metadata for given summary. + CitationMetadata citation_metadata = 2; + + // Document References. + repeated Reference references = 3; + } + + // An Enum for summary-skipped reasons. + enum SummarySkippedReason { + // Default value. The summary skipped reason is not specified. + SUMMARY_SKIPPED_REASON_UNSPECIFIED = 0; + + // The adversarial query ignored case. + // + // Only populated when + // [SummarySpec.ignore_adversarial_query][google.cloud.discoveryengine.v1beta.SearchRequest.ContentSearchSpec.SummarySpec.ignore_adversarial_query] + // is set to `true`. + ADVERSARIAL_QUERY_IGNORED = 1; + + // The non-summary seeking query ignored case. + // + // Only populated when + // [SummarySpec.ignore_non_summary_seeking_query][google.cloud.discoveryengine.v1beta.SearchRequest.ContentSearchSpec.SummarySpec.ignore_non_summary_seeking_query] + // is set to `true`. + NON_SUMMARY_SEEKING_QUERY_IGNORED = 2; + + // The out-of-domain query ignored case. + // + // Google skips the summary if there are no high-relevance search results. + // For example, the data store contains facts about company A but the + // user query is asking questions about company B. + OUT_OF_DOMAIN_QUERY_IGNORED = 3; + + // The potential policy violation case. + // + // Google skips the summary if there is a potential policy violation + // detected. This includes content that may be violent or toxic. + POTENTIAL_POLICY_VIOLATION = 4; + + // The LLM addon not enabled case. + // + // Google skips the summary if the LLM addon is not enabled. + LLM_ADDON_NOT_ENABLED = 5; + } + + // The summary content. + string summary_text = 1; + + // Additional summary-skipped reasons. This provides the reason for ignored + // cases. If nothing is skipped, this field is not set. + repeated SummarySkippedReason summary_skipped_reasons = 2; + + // A collection of Safety Attribute categories and their associated + // confidence scores. + SafetyAttributes safety_attributes = 3; + + // Summary with metadata information. + SummaryWithMetadata summary_with_metadata = 4; + } + + // Information describing query expansion including whether expansion has + // occurred. + message QueryExpansionInfo { + // Bool describing whether query expansion has occurred. + bool expanded_query = 1; + + // Number of pinned results. This field will only be set when expansion + // happens and + // [SearchRequest.QueryExpansionSpec.pin_unexpanded_results][google.cloud.discoveryengine.v1beta.SearchRequest.QueryExpansionSpec.pin_unexpanded_results] + // is set to true. + int64 pinned_result_count = 2; + } + + // A list of matched documents. The order represents the ranking. + repeated SearchResult results = 1; + + // Results of facets requested by user. + repeated Facet facets = 2; + + // Guided search result. + GuidedSearchResult guided_search_result = 8; + + // The estimated total count of matched items irrespective of pagination. The + // count of + // [results][google.cloud.discoveryengine.v1beta.SearchResponse.results] + // returned by pagination may be less than the + // [total_size][google.cloud.discoveryengine.v1beta.SearchResponse.total_size] + // that matches. + int32 total_size = 3; + + // A unique search token. This should be included in the + // [UserEvent][google.cloud.discoveryengine.v1beta.UserEvent] logs resulting + // from this search, which enables accurate attribution of search model + // performance. + string attribution_token = 4; + + // The URI of a customer-defined redirect page. If redirect action is + // triggered, no search is performed, and only + // [redirect_uri][google.cloud.discoveryengine.v1beta.SearchResponse.redirect_uri] + // and + // [attribution_token][google.cloud.discoveryengine.v1beta.SearchResponse.attribution_token] + // are set in the response. + string redirect_uri = 12; + + // A token that can be sent as + // [SearchRequest.page_token][google.cloud.discoveryengine.v1beta.SearchRequest.page_token] + // to retrieve the next page. If this field is omitted, there are no + // subsequent pages. + string next_page_token = 5; + + // Contains the spell corrected query, if found. If the spell correction type + // is AUTOMATIC, then the search results are based on corrected_query. + // Otherwise the original query is used for search. + string corrected_query = 7; + + // A summary as part of the search results. + // This field is only returned if + // [SearchRequest.ContentSearchSpec.summary_spec][google.cloud.discoveryengine.v1beta.SearchRequest.ContentSearchSpec.summary_spec] + // is set. + Summary summary = 9; + + // Controls applied as part of the Control service. + repeated string applied_controls = 10; + + // Query expansion information for the returned results. + QueryExpansionInfo query_expansion_info = 14; +} diff --git a/third_party/googleapis/google/cloud/discoveryengine/v1beta/serving_config.proto b/third_party/googleapis/google/cloud/discoveryengine/v1beta/serving_config.proto new file mode 100644 index 000000000..48979119f --- /dev/null +++ b/third_party/googleapis/google/cloud/discoveryengine/v1beta/serving_config.proto @@ -0,0 +1,264 @@ +// 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.discoveryengine.v1beta; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/discoveryengine/v1beta/common.proto"; +import "google/cloud/discoveryengine/v1beta/search_service.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.DiscoveryEngine.V1Beta"; +option go_package = "cloud.google.com/go/discoveryengine/apiv1beta/discoveryenginepb;discoveryenginepb"; +option java_multiple_files = true; +option java_outer_classname = "ServingConfigProto"; +option java_package = "com.google.cloud.discoveryengine.v1beta"; +option objc_class_prefix = "DISCOVERYENGINE"; +option php_namespace = "Google\\Cloud\\DiscoveryEngine\\V1beta"; +option ruby_package = "Google::Cloud::DiscoveryEngine::V1beta"; + +// Configures metadata that is used to generate serving time results (e.g. +// search results or recommendation predictions). +// The ServingConfig is passed in the search and predict request and generates +// results. +message ServingConfig { + option (google.api.resource) = { + type: "discoveryengine.googleapis.com/ServingConfig" + pattern: "projects/{project}/locations/{location}/dataStores/{data_store}/servingConfigs/{serving_config}" + pattern: "projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/servingConfigs/{serving_config}" + pattern: "projects/{project}/locations/{location}/collections/{collection}/engines/{engine}/servingConfigs/{serving_config}" + }; + + // Specifies the configurations needed for Media Discovery. Currently we + // support: + // + // * `demote_content_watched`: Threshold for watched content demotion. + // Customers can specify if using watched content demotion or use viewed + // detail page. Using the content watched demotion, customers need to specify + // the watched minutes or percentage exceeds the threshold, the content will + // be demoted in the recommendation result. + // * `promote_fresh_content`: cutoff days for fresh content promotion. + // Customers can specify if using content freshness promotion. If the content + // was published within the cutoff days, the content will be promoted in the + // recommendation result. + // Can only be set if + // [SolutionType][google.cloud.discoveryengine.v1beta.SolutionType] is + // [SOLUTION_TYPE_RECOMMENDATION][google.cloud.discoveryengine.v1beta.SolutionType.SOLUTION_TYPE_RECOMMENDATION]. + message MediaConfig { + // Specify the threshold for demoting watched content, the threshold can be + // either percentage or minutes value. + // This must be set for `media-complete` event type. + oneof demote_content_watched { + // Specifies the content watched percentage threshold for demotion. + // Threshold value must be between [0, 1.0] inclusive. + float content_watched_percentage_threshold = 2; + + // Specifies the content watched minutes threshold for demotion. + float content_watched_seconds_threshold = 5; + } + + // Specifies the event type used for demoting recommendation result. + // Currently supported values: + // + // * `view-item`: Item viewed. + // * `media-play`: Start/resume watching a video, playing a song, etc. + // * `media-complete`: Finished or stopped midway through a video, song, + // etc. + // + // If unset, watch history demotion will not be applied. Content freshness + // demotion will still be applied. + string demotion_event_type = 1; + + // Specifies the content freshness used for recommendation result. + // Contents will be demoted if contents were published for more than content + // freshness cutoff days. + int32 content_freshness_cutoff_days = 4; + } + + // Specifies the configurations needed for Generic Discovery.Currently we + // support: + // + // * `content_search_spec`: configuration for generic content search. + message GenericConfig { + // Specifies the expected behavior of content search. + // Only valid for content-search enabled data store. + SearchRequest.ContentSearchSpec content_search_spec = 1; + } + + // Industry vertical specific config. + oneof vertical_config { + // The MediaConfig of the serving configuration. + MediaConfig media_config = 7; + + // The GenericConfig of the serving configuration. + GenericConfig generic_config = 10; + } + + // Immutable. Fully qualified name + // `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}/servingConfigs/{serving_config_id}` + string name = 1 [(google.api.field_behavior) = IMMUTABLE]; + + // Required. The human readable serving config display name. Used in Discovery + // UI. + // + // This field must be a UTF-8 encoded string with a length limit of 128 + // characters. Otherwise, an INVALID_ARGUMENT error is returned. + string display_name = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. Immutable. Specifies the solution type that a serving config can + // be associated with. + SolutionType solution_type = 3 [ + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = IMMUTABLE + ]; + + // The id of the model to use at serving time. + // Currently only RecommendationModels are supported. + // Can be changed but only to a compatible model (e.g. + // others-you-may-like CTR to others-you-may-like CVR). + // + // Required when + // [SolutionType][google.cloud.discoveryengine.v1beta.SolutionType] is + // [SOLUTION_TYPE_RECOMMENDATION][google.cloud.discoveryengine.v1beta.SolutionType.SOLUTION_TYPE_RECOMMENDATION]. + string model_id = 4; + + // How much diversity to use in recommendation model results e.g. + // `medium-diversity` or `high-diversity`. Currently supported values: + // + // * `no-diversity` + // * `low-diversity` + // * `medium-diversity` + // * `high-diversity` + // * `auto-diversity` + // + // If not specified, we choose default based on recommendation model + // type. Default value: `no-diversity`. + // + // Can only be set if + // [SolutionType][google.cloud.discoveryengine.v1beta.SolutionType] is + // [SOLUTION_TYPE_RECOMMENDATION][google.cloud.discoveryengine.v1beta.SolutionType.SOLUTION_TYPE_RECOMMENDATION]. + string diversity_level = 5; + + // Bring your own embedding config. The config is used for search semantic + // retrieval. The retrieval is based on the dot product of + // [SearchRequest.EmbeddingSpec.EmbeddingVector.vector][google.cloud.discoveryengine.v1beta.SearchRequest.EmbeddingSpec.EmbeddingVector.vector] + // and the document embeddings that are provided by this EmbeddingConfig. If + // [SearchRequest.EmbeddingSpec.EmbeddingVector.vector][google.cloud.discoveryengine.v1beta.SearchRequest.EmbeddingSpec.EmbeddingVector.vector] + // is provided, it overrides this + // [ServingConfig.embedding_config][google.cloud.discoveryengine.v1beta.ServingConfig.embedding_config]. + EmbeddingConfig embedding_config = 20; + + // The ranking expression controls the customized ranking on retrieval + // documents. To leverage this, document embedding is required. The ranking + // expression setting in ServingConfig applies to all search requests served + // by the serving config. However, if [SearchRequest.ranking_expression][] is + // specified, it overrides the ServingConfig ranking expression. + // + // The ranking expression is a single function or multiple functions that are + // joined by "+". + // * ranking_expression = function, { " + ", function }; + // Supported functions: + // * double * relevance_score + // * double * dotProduct(embedding_field_path) + // Function variables: + // relevance_score: pre-defined keywords, used for measure relevance between + // query and document. + // embedding_field_path: the document embedding field + // used with query embedding vector. + // dotProduct: embedding function between embedding_field_path and query + // embedding vector. + // + // Example ranking expression: + // If document has an embedding field doc_embedding, the ranking expression + // could be 0.5 * relevance_score + 0.3 * dotProduct(doc_embedding). + string ranking_expression = 21; + + // Output only. ServingConfig created timestamp. + google.protobuf.Timestamp create_time = 8 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. ServingConfig updated timestamp. + google.protobuf.Timestamp update_time = 9 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Filter controls to use in serving path. + // All triggered filter controls will be applied. + // Filter controls must be in the same data store as the serving config. + // Maximum of 20 filter controls. + repeated string filter_control_ids = 11; + + // Boost controls to use in serving path. + // All triggered boost controls will be applied. + // Boost controls must be in the same data store as the serving config. + // Maximum of 20 boost controls. + repeated string boost_control_ids = 12; + + // IDs of the redirect controls. Only the first triggered redirect + // action is applied, even if multiple apply. Maximum number of + // specifications is 100. + // + // Can only be set if + // [SolutionType][google.cloud.discoveryengine.v1beta.SolutionType] is + // [SOLUTION_TYPE_SEARCH][google.cloud.discoveryengine.v1beta.SolutionType.SOLUTION_TYPE_SEARCH]. + repeated string redirect_control_ids = 14; + + // Condition synonyms specifications. If multiple synonyms conditions + // match, all matching synonyms controls in the list will execute. + // Maximum number of specifications is 100. + // + // Can only be set if + // [SolutionType][google.cloud.discoveryengine.v1beta.SolutionType] is + // [SOLUTION_TYPE_SEARCH][google.cloud.discoveryengine.v1beta.SolutionType.SOLUTION_TYPE_SEARCH]. + repeated string synonyms_control_ids = 15; + + // Condition oneway synonyms specifications. If multiple oneway synonyms + // conditions match, all matching oneway synonyms controls in the list + // will execute. Maximum number of specifications is 100. + // + // Can only be set if + // [SolutionType][google.cloud.discoveryengine.v1beta.SolutionType] is + // [SOLUTION_TYPE_SEARCH][google.cloud.discoveryengine.v1beta.SolutionType.SOLUTION_TYPE_SEARCH]. + repeated string oneway_synonyms_control_ids = 16; + + // Condition do not associate specifications. If multiple do not + // associate conditions match, all matching do not associate controls in + // the list will execute. + // Order does not matter. + // Maximum number of specifications is 100. + // + // Can only be set if + // [SolutionType][google.cloud.discoveryengine.v1beta.SolutionType] is + // [SOLUTION_TYPE_SEARCH][google.cloud.discoveryengine.v1beta.SolutionType.SOLUTION_TYPE_SEARCH]. + repeated string dissociate_control_ids = 17; + + // Condition replacement specifications. + // Applied according to the order in the list. + // A previously replaced term can not be re-replaced. + // Maximum number of specifications is 100. + // + // Can only be set if + // [SolutionType][google.cloud.discoveryengine.v1beta.SolutionType] is + // [SOLUTION_TYPE_SEARCH][google.cloud.discoveryengine.v1beta.SolutionType.SOLUTION_TYPE_SEARCH]. + repeated string replacement_control_ids = 18; + + // Condition ignore specifications. If multiple ignore + // conditions match, all matching ignore controls in the list will + // execute. + // Order does not matter. + // Maximum number of specifications is 100. + repeated string ignore_control_ids = 19; +} diff --git a/third_party/googleapis/google/cloud/discoveryengine/v1beta/serving_config_service.proto b/third_party/googleapis/google/cloud/discoveryengine/v1beta/serving_config_service.proto new file mode 100644 index 000000000..8cd21ab83 --- /dev/null +++ b/third_party/googleapis/google/cloud/discoveryengine/v1beta/serving_config_service.proto @@ -0,0 +1,147 @@ +// 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.discoveryengine.v1beta; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/discoveryengine/v1beta/serving_config.proto"; +import "google/protobuf/field_mask.proto"; + +option csharp_namespace = "Google.Cloud.DiscoveryEngine.V1Beta"; +option go_package = "cloud.google.com/go/discoveryengine/apiv1beta/discoveryenginepb;discoveryenginepb"; +option java_multiple_files = true; +option java_outer_classname = "ServingConfigServiceProto"; +option java_package = "com.google.cloud.discoveryengine.v1beta"; +option objc_class_prefix = "DISCOVERYENGINE"; +option php_namespace = "Google\\Cloud\\DiscoveryEngine\\V1beta"; +option ruby_package = "Google::Cloud::DiscoveryEngine::V1beta"; + +// Service for modifying ServingConfig. +service ServingConfigService { + option (google.api.default_host) = "discoveryengine.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform"; + + // Updates a ServingConfig. + // + // Returns a NOT_FOUND error if the ServingConfig does not exist. + rpc UpdateServingConfig(UpdateServingConfigRequest) returns (ServingConfig) { + option (google.api.http) = { + patch: "/v1beta/{serving_config.name=projects/*/locations/*/dataStores/*/servingConfigs/*}" + body: "serving_config" + additional_bindings { + patch: "/v1beta/{serving_config.name=projects/*/locations/*/collections/*/dataStores/*/servingConfigs/*}" + body: "serving_config" + } + additional_bindings { + patch: "/v1beta/{serving_config.name=projects/*/locations/*/collections/*/engines/*/servingConfigs/*}" + body: "serving_config" + } + }; + option (google.api.method_signature) = "serving_config,update_mask"; + } + + // Gets a ServingConfig. + // + // Returns a NotFound error if the ServingConfig does not exist. + rpc GetServingConfig(GetServingConfigRequest) returns (ServingConfig) { + option (google.api.http) = { + get: "/v1beta/{name=projects/*/locations/*/dataStores/*/servingConfigs/*}" + additional_bindings { + get: "/v1beta/{name=projects/*/locations/*/collections/*/dataStores/*/servingConfigs/*}" + } + additional_bindings { + get: "/v1beta/{name=projects/*/locations/*/collections/*/engines/*/servingConfigs/*}" + } + }; + option (google.api.method_signature) = "name"; + } + + // Lists all ServingConfigs linked to this dataStore. + rpc ListServingConfigs(ListServingConfigsRequest) + returns (ListServingConfigsResponse) { + option (google.api.http) = { + get: "/v1beta/{parent=projects/*/locations/*/dataStores/*}/servingConfigs" + additional_bindings { + get: "/v1beta/{parent=projects/*/locations/*/collections/*/dataStores/*}/servingConfigs" + } + additional_bindings { + get: "/v1beta/{parent=projects/*/locations/*/collections/*/engines/*}/servingConfigs" + } + }; + option (google.api.method_signature) = "parent"; + } +} + +// Request for UpdateServingConfig method. +message UpdateServingConfigRequest { + // Required. The ServingConfig to update. + ServingConfig serving_config = 1 [(google.api.field_behavior) = REQUIRED]; + + // Indicates which fields in the provided + // [ServingConfig][google.cloud.discoveryengine.v1beta.ServingConfig] to + // update. The following are NOT supported: + // + // * [ServingConfig.name][google.cloud.discoveryengine.v1beta.ServingConfig.name] + // + // If not set, all supported fields are updated. + google.protobuf.FieldMask update_mask = 2; +} + +// Request for GetServingConfig method. +message GetServingConfigRequest { + // Required. The resource name of the ServingConfig to get. Format: + // `projects/{project_number}/locations/{location}/collections/{collection}/dataStores/{data_store}/servingConfigs/{serving_config_id}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/ServingConfig" + } + ]; +} + +// Request for ListServingConfigs method. +message ListServingConfigsRequest { + // Required. The dataStore resource name. Format: + // `projects/{project_number}/locations/{location}/collections/{collection}/dataStores/{data_store}` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/DataStore" + } + ]; + + // Optional. Maximum number of results to return. If unspecified, defaults + // to 100. If a value greater than 100 is provided, at most 100 results are + // returned. + int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A page token, received from a previous `ListServingConfigs` call. + // Provide this to retrieve the subsequent page. + string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// Response for ListServingConfigs method. +message ListServingConfigsResponse { + // All the ServingConfigs for a given dataStore. + repeated ServingConfig serving_configs = 1; + + // Pagination token, if not returned indicates the last page. + string next_page_token = 2; +} diff --git a/third_party/googleapis/google/cloud/discoveryengine/v1beta/site_search_engine.proto b/third_party/googleapis/google/cloud/discoveryengine/v1beta/site_search_engine.proto new file mode 100644 index 000000000..2bca8c625 --- /dev/null +++ b/third_party/googleapis/google/cloud/discoveryengine/v1beta/site_search_engine.proto @@ -0,0 +1,170 @@ +// 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.discoveryengine.v1beta; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.DiscoveryEngine.V1Beta"; +option go_package = "cloud.google.com/go/discoveryengine/apiv1beta/discoveryenginepb;discoveryenginepb"; +option java_multiple_files = true; +option java_outer_classname = "SiteSearchEngineProto"; +option java_package = "com.google.cloud.discoveryengine.v1beta"; +option objc_class_prefix = "DISCOVERYENGINE"; +option php_namespace = "Google\\Cloud\\DiscoveryEngine\\V1beta"; +option ruby_package = "Google::Cloud::DiscoveryEngine::V1beta"; + +// SiteSearchEngine captures DataStore level site search persisting +// configurations. It is a singleton value per data store. +message SiteSearchEngine { + option (google.api.resource) = { + type: "discoveryengine.googleapis.com/SiteSearchEngine" + pattern: "projects/{project}/locations/{location}/dataStores/{data_store}/siteSearchEngine" + pattern: "projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine" + }; + + // The fully qualified resource name of the site search engine. + // Format: `projects/*/locations/*/dataStores/*/siteSearchEngine` + string name = 1; +} + +// A target site for the SiteSearchEngine. +message TargetSite { + option (google.api.resource) = { + type: "discoveryengine.googleapis.com/TargetSite" + pattern: "projects/{project}/locations/{location}/dataStores/{data_store}/siteSearchEngine/targetSites/{target_site}" + pattern: "projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine/targetSites/{target_site}" + }; + + // Site search indexing failure reasons. + message FailureReason { + // Failed due to insufficient quota. + message QuotaFailure { + // This number is an estimation on how much total quota this project needs + // to successfully complete indexing. + int64 total_required_quota = 1; + } + + // Failure reason. + oneof failure { + // Failed due to insufficient quota. + QuotaFailure quota_failure = 1; + } + } + + // Possible target site types. + enum Type { + // This value is unused. In this case, server behavior defaults to + // [Type.INCLUDE][google.cloud.discoveryengine.v1beta.TargetSite.Type.INCLUDE]. + TYPE_UNSPECIFIED = 0; + + // Include the target site. + INCLUDE = 1; + + // Exclude the target site. + EXCLUDE = 2; + } + + // Target site indexing status enumeration. + enum IndexingStatus { + // Defaults to SUCCEEDED. + INDEXING_STATUS_UNSPECIFIED = 0; + + // The target site is in the update queue and will be picked up by indexing + // pipeline. + PENDING = 1; + + // The target site fails to be indexed. + FAILED = 2; + + // The target site has been indexed. + SUCCEEDED = 3; + + // The previously indexed target site has been marked to be deleted. This is + // a transitioning state which will resulted in either: + // 1. target site deleted if unindexing is successful; + // 2. state reverts to SUCCEEDED if the unindexing fails. + DELETING = 4; + } + + // Output only. The fully qualified resource name of the target site. + // `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine/targetSites/{target_site}` + // The `target_site_id` is system-generated. + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. Input only. The user provided URI pattern from which the + // `generated_uri_pattern` is generated. + string provided_uri_pattern = 2 [ + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = INPUT_ONLY + ]; + + // The type of the target site, e.g., whether the site is to be included or + // excluded. + Type type = 3; + + // Input only. If set to false, a uri_pattern is generated to include all + // pages whose address contains the provided_uri_pattern. If set to true, an + // uri_pattern is generated to try to be an exact match of the + // provided_uri_pattern or just the specific page if the provided_uri_pattern + // is a specific one. provided_uri_pattern is always normalized to + // generate the URI pattern to be used by the search engine. + bool exact_match = 6 [(google.api.field_behavior) = INPUT_ONLY]; + + // Output only. This is system-generated based on the provided_uri_pattern. + string generated_uri_pattern = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Site ownership and validity verification status. + SiteVerificationInfo site_verification_info = 7 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Indexing status. + IndexingStatus indexing_status = 8 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The target site's last updated time. + google.protobuf.Timestamp update_time = 5 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Failure reason. + FailureReason failure_reason = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Verification information for target sites in advanced site search. +message SiteVerificationInfo { + // Site verification state. + enum SiteVerificationState { + // Defaults to VERIFIED. + SITE_VERIFICATION_STATE_UNSPECIFIED = 0; + + // Site ownership verified. + VERIFIED = 1; + + // Site ownership pending verification or verification failed. + UNVERIFIED = 2; + + // Site exempt from verification, e.g., a public website that opens to all. + EXEMPTED = 3; + } + + // Site verification state indicating the ownership and validity. + SiteVerificationState site_verification_state = 1; + + // Latest site verification time. + google.protobuf.Timestamp verify_time = 2; +} diff --git a/third_party/googleapis/google/cloud/discoveryengine/v1beta/site_search_engine_service.proto b/third_party/googleapis/google/cloud/discoveryengine/v1beta/site_search_engine_service.proto new file mode 100644 index 000000000..389c3e36c --- /dev/null +++ b/third_party/googleapis/google/cloud/discoveryengine/v1beta/site_search_engine_service.proto @@ -0,0 +1,695 @@ +// 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.discoveryengine.v1beta; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/discoveryengine/v1beta/site_search_engine.proto"; +import "google/longrunning/operations.proto"; +import "google/protobuf/empty.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.DiscoveryEngine.V1Beta"; +option go_package = "cloud.google.com/go/discoveryengine/apiv1beta/discoveryenginepb;discoveryenginepb"; +option java_multiple_files = true; +option java_outer_classname = "SiteSearchEngineServiceProto"; +option java_package = "com.google.cloud.discoveryengine.v1beta"; +option objc_class_prefix = "DISCOVERYENGINE"; +option php_namespace = "Google\\Cloud\\DiscoveryEngine\\V1beta"; +option ruby_package = "Google::Cloud::DiscoveryEngine::V1beta"; + +// Service for managing site search related resources. +service SiteSearchEngineService { + option (google.api.default_host) = "discoveryengine.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform"; + + // Gets the + // [SiteSearchEngine][google.cloud.discoveryengine.v1beta.SiteSearchEngine]. + rpc GetSiteSearchEngine(GetSiteSearchEngineRequest) + returns (SiteSearchEngine) { + option (google.api.http) = { + get: "/v1beta/{name=projects/*/locations/*/dataStores/*/siteSearchEngine}" + additional_bindings { + get: "/v1beta/{name=projects/*/locations/*/collections/*/dataStores/*/siteSearchEngine}" + } + }; + option (google.api.method_signature) = "name"; + } + + // Creates a [TargetSite][google.cloud.discoveryengine.v1beta.TargetSite]. + rpc CreateTargetSite(CreateTargetSiteRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1beta/{parent=projects/*/locations/*/dataStores/*/siteSearchEngine}/targetSites" + body: "target_site" + additional_bindings { + post: "/v1beta/{parent=projects/*/locations/*/collections/*/dataStores/*/siteSearchEngine}/targetSites" + body: "target_site" + } + }; + option (google.api.method_signature) = "parent,target_site"; + option (google.longrunning.operation_info) = { + response_type: "google.cloud.discoveryengine.v1beta.TargetSite" + metadata_type: "google.cloud.discoveryengine.v1beta.CreateTargetSiteMetadata" + }; + } + + // Creates [TargetSite][google.cloud.discoveryengine.v1beta.TargetSite] in a + // batch. + rpc BatchCreateTargetSites(BatchCreateTargetSitesRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1beta/{parent=projects/*/locations/*/dataStores/*/siteSearchEngine}/targetSites:batchCreate" + body: "*" + additional_bindings { + post: "/v1beta/{parent=projects/*/locations/*/collections/*/dataStores/*/siteSearchEngine}/targetSites:batchCreate" + body: "*" + } + }; + option (google.longrunning.operation_info) = { + response_type: "google.cloud.discoveryengine.v1beta.BatchCreateTargetSitesResponse" + metadata_type: "google.cloud.discoveryengine.v1beta.BatchCreateTargetSiteMetadata" + }; + } + + // Gets a [TargetSite][google.cloud.discoveryengine.v1beta.TargetSite]. + rpc GetTargetSite(GetTargetSiteRequest) returns (TargetSite) { + option (google.api.http) = { + get: "/v1beta/{name=projects/*/locations/*/dataStores/*/siteSearchEngine/targetSites/*}" + additional_bindings { + get: "/v1beta/{name=projects/*/locations/*/collections/*/dataStores/*/siteSearchEngine/targetSites/*}" + } + }; + option (google.api.method_signature) = "name"; + } + + // Updates a [TargetSite][google.cloud.discoveryengine.v1beta.TargetSite]. + rpc UpdateTargetSite(UpdateTargetSiteRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + patch: "/v1beta/{target_site.name=projects/*/locations/*/dataStores/*/siteSearchEngine/targetSites/*}" + body: "target_site" + additional_bindings { + patch: "/v1beta/{target_site.name=projects/*/locations/*/collections/*/dataStores/*/siteSearchEngine/targetSites/*}" + body: "target_site" + } + }; + option (google.api.method_signature) = "target_site"; + option (google.longrunning.operation_info) = { + response_type: "google.cloud.discoveryengine.v1beta.TargetSite" + metadata_type: "google.cloud.discoveryengine.v1beta.UpdateTargetSiteMetadata" + }; + } + + // Deletes a [TargetSite][google.cloud.discoveryengine.v1beta.TargetSite]. + rpc DeleteTargetSite(DeleteTargetSiteRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1beta/{name=projects/*/locations/*/dataStores/*/siteSearchEngine/targetSites/*}" + additional_bindings { + delete: "/v1beta/{name=projects/*/locations/*/collections/*/dataStores/*/siteSearchEngine/targetSites/*}" + } + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "google.cloud.discoveryengine.v1beta.DeleteTargetSiteMetadata" + }; + } + + // Gets a list of + // [TargetSite][google.cloud.discoveryengine.v1beta.TargetSite]s. + rpc ListTargetSites(ListTargetSitesRequest) + returns (ListTargetSitesResponse) { + option (google.api.http) = { + get: "/v1beta/{parent=projects/*/locations/*/dataStores/*/siteSearchEngine}/targetSites" + additional_bindings { + get: "/v1beta/{parent=projects/*/locations/*/collections/*/dataStores/*/siteSearchEngine}/targetSites" + } + }; + option (google.api.method_signature) = "parent"; + } + + // Upgrade from basic site search to advanced site search. + rpc EnableAdvancedSiteSearch(EnableAdvancedSiteSearchRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1beta/{site_search_engine=projects/*/locations/*/dataStores/*/siteSearchEngine}:enableAdvancedSiteSearch" + body: "*" + additional_bindings { + post: "/v1beta/{site_search_engine=projects/*/locations/*/collections/*/dataStores/*/siteSearchEngine}:enableAdvancedSiteSearch" + body: "*" + } + }; + option (google.longrunning.operation_info) = { + response_type: "google.cloud.discoveryengine.v1beta.EnableAdvancedSiteSearchResponse" + metadata_type: "google.cloud.discoveryengine.v1beta.EnableAdvancedSiteSearchMetadata" + }; + } + + // Downgrade from advanced site search to basic site search. + rpc DisableAdvancedSiteSearch(DisableAdvancedSiteSearchRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1beta/{site_search_engine=projects/*/locations/*/dataStores/*/siteSearchEngine}:disableAdvancedSiteSearch" + body: "*" + additional_bindings { + post: "/v1beta/{site_search_engine=projects/*/locations/*/collections/*/dataStores/*/siteSearchEngine}:disableAdvancedSiteSearch" + body: "*" + } + }; + option (google.longrunning.operation_info) = { + response_type: "google.cloud.discoveryengine.v1beta.DisableAdvancedSiteSearchResponse" + metadata_type: "google.cloud.discoveryengine.v1beta.DisableAdvancedSiteSearchMetadata" + }; + } + + // Request on-demand recrawl for a list of URIs. + rpc RecrawlUris(RecrawlUrisRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1beta/{site_search_engine=projects/*/locations/*/dataStores/*/siteSearchEngine}:recrawlUris" + body: "*" + additional_bindings { + post: "/v1beta/{site_search_engine=projects/*/locations/*/collections/*/dataStores/*/siteSearchEngine}:recrawlUris" + body: "*" + } + }; + option (google.longrunning.operation_info) = { + response_type: "google.cloud.discoveryengine.v1beta.RecrawlUrisResponse" + metadata_type: "google.cloud.discoveryengine.v1beta.RecrawlUrisMetadata" + }; + } + + // Verify target sites' ownership and validity. + // This API sends all the target sites under site search engine for + // verification. + rpc BatchVerifyTargetSites(BatchVerifyTargetSitesRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1beta/{parent=projects/*/locations/*/collections/*/dataStores/*/siteSearchEngine}:batchVerifyTargetSites" + body: "*" + }; + option (google.longrunning.operation_info) = { + response_type: "google.cloud.discoveryengine.v1beta.BatchVerifyTargetSitesResponse" + metadata_type: "google.cloud.discoveryengine.v1beta.BatchVerifyTargetSitesMetadata" + }; + } + + // Returns list of target sites with its domain verification status. + // This method can only be called under data store with BASIC_SITE_SEARCH + // state at the moment. + rpc FetchDomainVerificationStatus(FetchDomainVerificationStatusRequest) + returns (FetchDomainVerificationStatusResponse) { + option (google.api.http) = { + get: "/v1beta/{site_search_engine=projects/*/locations/*/collections/*/dataStores/*/siteSearchEngine}:fetchDomainVerificationStatus" + }; + } +} + +// Request message for +// [SiteSearchEngineService.GetSiteSearchEngine][google.cloud.discoveryengine.v1beta.SiteSearchEngineService.GetSiteSearchEngine] +// method. +message GetSiteSearchEngineRequest { + // Required. Resource name of + // [SiteSearchEngine][google.cloud.discoveryengine.v1beta.SiteSearchEngine], + // such as + // `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine`. + // + // If the caller does not have permission to access the [SiteSearchEngine], + // regardless of whether or not it exists, a PERMISSION_DENIED error is + // returned. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/SiteSearchEngine" + } + ]; +} + +// Request message for +// [SiteSearchEngineService.CreateTargetSite][google.cloud.discoveryengine.v1beta.SiteSearchEngineService.CreateTargetSite] +// method. +message CreateTargetSiteRequest { + // Required. Parent resource name of + // [TargetSite][google.cloud.discoveryengine.v1beta.TargetSite], such as + // `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/SiteSearchEngine" + } + ]; + + // Required. The [TargetSite][google.cloud.discoveryengine.v1beta.TargetSite] + // to create. + TargetSite target_site = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Metadata related to the progress of the +// [SiteSearchEngineService.CreateTargetSite][google.cloud.discoveryengine.v1beta.SiteSearchEngineService.CreateTargetSite] +// operation. This will be returned by the google.longrunning.Operation.metadata +// field. +message CreateTargetSiteMetadata { + // Operation create time. + google.protobuf.Timestamp create_time = 1; + + // Operation last update time. If the operation is done, this is also the + // finish time. + google.protobuf.Timestamp update_time = 2; +} + +// Request message for +// [SiteSearchEngineService.BatchCreateTargetSites][google.cloud.discoveryengine.v1beta.SiteSearchEngineService.BatchCreateTargetSites] +// method. +message BatchCreateTargetSitesRequest { + // Required. The parent resource shared by all TargetSites being created. + // `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine`. + // The parent field in the CreateBookRequest messages must either be empty or + // match this field. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/SiteSearchEngine" + } + ]; + + // Required. The request message specifying the resources to create. + // A maximum of 20 TargetSites can be created in a batch. + repeated CreateTargetSiteRequest requests = 2 + [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for +// [SiteSearchEngineService.GetTargetSite][google.cloud.discoveryengine.v1beta.SiteSearchEngineService.GetTargetSite] +// method. +message GetTargetSiteRequest { + // Required. Full resource name of + // [TargetSite][google.cloud.discoveryengine.v1beta.TargetSite], such as + // `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine/targetSites/{target_site}`. + // + // If the caller does not have permission to access the + // [TargetSite][google.cloud.discoveryengine.v1beta.TargetSite], regardless of + // whether or not it exists, a PERMISSION_DENIED error is returned. + // + // If the requested + // [TargetSite][google.cloud.discoveryengine.v1beta.TargetSite] does not + // exist, a NOT_FOUND error is returned. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/TargetSite" + } + ]; +} + +// Request message for +// [SiteSearchEngineService.UpdateTargetSite][google.cloud.discoveryengine.v1beta.SiteSearchEngineService.UpdateTargetSite] +// method. +message UpdateTargetSiteRequest { + // Required. The target site to update. + // If the caller does not have permission to update the + // [TargetSite][google.cloud.discoveryengine.v1beta.TargetSite], regardless of + // whether or not it exists, a PERMISSION_DENIED error is returned. + // + // If the [TargetSite][google.cloud.discoveryengine.v1beta.TargetSite] to + // update does not exist, a NOT_FOUND error is returned. + TargetSite target_site = 1 [(google.api.field_behavior) = REQUIRED]; +} + +// Metadata related to the progress of the +// [SiteSearchEngineService.UpdateTargetSite][google.cloud.discoveryengine.v1beta.SiteSearchEngineService.UpdateTargetSite] +// operation. This will be returned by the google.longrunning.Operation.metadata +// field. +message UpdateTargetSiteMetadata { + // Operation create time. + google.protobuf.Timestamp create_time = 1; + + // Operation last update time. If the operation is done, this is also the + // finish time. + google.protobuf.Timestamp update_time = 2; +} + +// Request message for +// [SiteSearchEngineService.DeleteTargetSite][google.cloud.discoveryengine.v1beta.SiteSearchEngineService.DeleteTargetSite] +// method. +message DeleteTargetSiteRequest { + // Required. Full resource name of + // [TargetSite][google.cloud.discoveryengine.v1beta.TargetSite], such as + // `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine/targetSites/{target_site}`. + // + // If the caller does not have permission to access the + // [TargetSite][google.cloud.discoveryengine.v1beta.TargetSite], regardless of + // whether or not it exists, a PERMISSION_DENIED error is returned. + // + // If the requested + // [TargetSite][google.cloud.discoveryengine.v1beta.TargetSite] does not + // exist, a NOT_FOUND error is returned. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/TargetSite" + } + ]; +} + +// Metadata related to the progress of the +// [SiteSearchEngineService.DeleteTargetSite][google.cloud.discoveryengine.v1beta.SiteSearchEngineService.DeleteTargetSite] +// operation. This will be returned by the google.longrunning.Operation.metadata +// field. +message DeleteTargetSiteMetadata { + // Operation create time. + google.protobuf.Timestamp create_time = 1; + + // Operation last update time. If the operation is done, this is also the + // finish time. + google.protobuf.Timestamp update_time = 2; +} + +// Request message for +// [SiteSearchEngineService.ListTargetSites][google.cloud.discoveryengine.v1beta.SiteSearchEngineService.ListTargetSites] +// method. +message ListTargetSitesRequest { + // Required. The parent site search engine resource name, such as + // `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine`. + // + // If the caller does not have permission to list + // [TargetSite][google.cloud.discoveryengine.v1beta.TargetSite]s under this + // site search engine, regardless of whether or not this branch exists, a + // PERMISSION_DENIED error is returned. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/SiteSearchEngine" + } + ]; + + // Requested page size. Server may return fewer items than requested. If + // unspecified, server will pick an appropriate default. The maximum value is + // 1000; values above 1000 will be coerced to 1000. + // + // If this field is negative, an INVALID_ARGUMENT error is returned. + int32 page_size = 2; + + // A page token, received from a previous `ListTargetSites` call. + // Provide this to retrieve the subsequent page. + // + // When paginating, all other parameters provided to `ListTargetSites` + // must match the call that provided the page token. + string page_token = 3; +} + +// Response message for +// [SiteSearchEngineService.ListTargetSites][google.cloud.discoveryengine.v1beta.SiteSearchEngineService.ListTargetSites] +// method. +message ListTargetSitesResponse { + // List of TargetSites. + repeated TargetSite target_sites = 1; + + // A token that can be sent as `page_token` to retrieve the next page. + // If this field is omitted, there are no subsequent pages. + string next_page_token = 2; + + // The total number of items matching the request. + // This will always be populated in the response. + int32 total_size = 3; +} + +// Metadata related to the progress of the +// [SiteSearchEngineService.BatchCreateTargetSites][google.cloud.discoveryengine.v1beta.SiteSearchEngineService.BatchCreateTargetSites] +// operation. This will be returned by the google.longrunning.Operation.metadata +// field. +message BatchCreateTargetSiteMetadata { + // Operation create time. + google.protobuf.Timestamp create_time = 1; + + // Operation last update time. If the operation is done, this is also the + // finish time. + google.protobuf.Timestamp update_time = 2; +} + +// Response message for +// [SiteSearchEngineService.BatchCreateTargetSites][google.cloud.discoveryengine.v1beta.SiteSearchEngineService.BatchCreateTargetSites] +// method. +message BatchCreateTargetSitesResponse { + // TargetSites created. + repeated TargetSite target_sites = 1; +} + +// Request message for +// [SiteSearchEngineService.EnableAdvancedSiteSearch][google.cloud.discoveryengine.v1beta.SiteSearchEngineService.EnableAdvancedSiteSearch] +// method. +message EnableAdvancedSiteSearchRequest { + // Required. Full resource name of the + // [SiteSearchEngine][google.cloud.discoveryengine.v1beta.SiteSearchEngine], + // such as + // `projects/{project}/locations/{location}/dataStores/{data_store_id}/siteSearchEngine`. + string site_search_engine = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/SiteSearchEngine" + } + ]; +} + +// Response message for +// [SiteSearchEngineService.EnableAdvancedSiteSearch][google.cloud.discoveryengine.v1beta.SiteSearchEngineService.EnableAdvancedSiteSearch] +// method. +message EnableAdvancedSiteSearchResponse {} + +// Metadata related to the progress of the +// [SiteSearchEngineService.EnableAdvancedSiteSearch][google.cloud.discoveryengine.v1beta.SiteSearchEngineService.EnableAdvancedSiteSearch] +// operation. This will be returned by the google.longrunning.Operation.metadata +// field. +message EnableAdvancedSiteSearchMetadata { + // Operation create time. + google.protobuf.Timestamp create_time = 1; + + // Operation last update time. If the operation is done, this is also the + // finish time. + google.protobuf.Timestamp update_time = 2; +} + +// Request message for +// [SiteSearchEngineService.DisableAdvancedSiteSearch][google.cloud.discoveryengine.v1beta.SiteSearchEngineService.DisableAdvancedSiteSearch] +// method. +message DisableAdvancedSiteSearchRequest { + // Required. Full resource name of the + // [SiteSearchEngine][google.cloud.discoveryengine.v1beta.SiteSearchEngine], + // such as + // `projects/{project}/locations/{location}/dataStores/{data_store_id}/siteSearchEngine`. + string site_search_engine = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/SiteSearchEngine" + } + ]; +} + +// Response message for +// [SiteSearchEngineService.DisableAdvancedSiteSearch][google.cloud.discoveryengine.v1beta.SiteSearchEngineService.DisableAdvancedSiteSearch] +// method. +message DisableAdvancedSiteSearchResponse {} + +// Metadata related to the progress of the +// [SiteSearchEngineService.DisableAdvancedSiteSearch][google.cloud.discoveryengine.v1beta.SiteSearchEngineService.DisableAdvancedSiteSearch] +// operation. This will be returned by the google.longrunning.Operation.metadata +// field. +message DisableAdvancedSiteSearchMetadata { + // Operation create time. + google.protobuf.Timestamp create_time = 1; + + // Operation last update time. If the operation is done, this is also the + // finish time. + google.protobuf.Timestamp update_time = 2; +} + +// Request message for +// [SiteSearchEngineService.RecrawlUris][google.cloud.discoveryengine.v1beta.SiteSearchEngineService.RecrawlUris] +// method. +message RecrawlUrisRequest { + // Required. Full resource name of the + // [SiteSearchEngine][google.cloud.discoveryengine.v1beta.SiteSearchEngine], + // such as + // `projects/*/locations/*/collections/*/dataStores/*/siteSearchEngine`. + string site_search_engine = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/SiteSearchEngine" + } + ]; + + // Required. List of URIs to crawl. At most 10K URIs are supported, otherwise + // an INVALID_ARGUMENT error is thrown. Each URI should match at least one + // [TargetSite][google.cloud.discoveryengine.v1beta.TargetSite] in + // `site_search_engine`. + repeated string uris = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Response message for +// [SiteSearchEngineService.RecrawlUris][google.cloud.discoveryengine.v1beta.SiteSearchEngineService.RecrawlUris] +// method. +message RecrawlUrisResponse { + // Details about why a particular URI failed to be crawled. Each FailureInfo + // contains one FailureReason per CorpusType. + message FailureInfo { + // Details about why crawling failed for a particular CorpusType, e.g., + // DESKTOP and MOBILE crawling may fail for different reasons. + message FailureReason { + // CorpusType for the failed crawling operation. + enum CorpusType { + // Default value. + CORPUS_TYPE_UNSPECIFIED = 0; + + // Denotes a crawling attempt for the desktop version of a page. + DESKTOP = 1; + + // Denotes a crawling attempt for the mobile version of a page. + MOBILE = 2; + } + + // DESKTOP, MOBILE, or CORPUS_TYPE_UNSPECIFIED. + CorpusType corpus_type = 1; + + // Reason why the URI was not crawled. + string error_message = 2; + } + + // URI that failed to be crawled. + string uri = 1; + + // List of failure reasons by corpus type (e.g. desktop, mobile). + repeated FailureReason failure_reasons = 2; + } + + // Details for a sample of up to 10 `failed_uris`. + repeated FailureInfo failure_samples = 1; + + // URIs that were not crawled before the LRO terminated. + repeated string failed_uris = 2; +} + +// Metadata related to the progress of the +// [SiteSearchEngineService.RecrawlUris][google.cloud.discoveryengine.v1beta.SiteSearchEngineService.RecrawlUris] +// operation. This will be returned by the google.longrunning.Operation.metadata +// field. +message RecrawlUrisMetadata { + // Operation create time. + google.protobuf.Timestamp create_time = 1; + + // Operation last update time. If the operation is done, this is also the + // finish time. + google.protobuf.Timestamp update_time = 2; + + // Unique URIs in the request that don't match any TargetSite in the + // DataStore, only match TargetSites that haven't been fully indexed, or match + // a TargetSite with type EXCLUDE. + repeated string invalid_uris = 3; + + // Total number of unique URIs in the request that are not in invalid_uris. + int32 valid_uris_count = 4; + + // Total number of URIs that have been crawled so far. + int32 success_count = 5; + + // Total number of URIs that have yet to be crawled. + int32 pending_count = 6; + + // Total number of URIs that were rejected due to insufficient indexing + // resources. + int32 quota_exceeded_count = 7; +} + +// Request message for +// [SiteSearchEngineService.BatchVerifyTargetSites][google.cloud.discoveryengine.v1beta.SiteSearchEngineService.BatchVerifyTargetSites] +// method. +message BatchVerifyTargetSitesRequest { + // Required. The parent resource shared by all TargetSites being verified. + // `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/SiteSearchEngine" + } + ]; +} + +// Response message for +// [SiteSearchEngineService.BatchVerifyTargetSites][google.cloud.discoveryengine.v1beta.SiteSearchEngineService.BatchVerifyTargetSites] +// method. +message BatchVerifyTargetSitesResponse {} + +// Metadata related to the progress of the +// [SiteSearchEngineService.BatchVerifyTargetSites][google.cloud.discoveryengine.v1beta.SiteSearchEngineService.BatchVerifyTargetSites] +// operation. This will be returned by the google.longrunning.Operation.metadata +// field. +message BatchVerifyTargetSitesMetadata { + // Operation create time. + google.protobuf.Timestamp create_time = 1; + + // Operation last update time. If the operation is done, this is also the + // finish time. + google.protobuf.Timestamp update_time = 2; +} + +// Request message for +// [SiteSearchEngineService.FetchDomainVerificationStatus][google.cloud.discoveryengine.v1beta.SiteSearchEngineService.FetchDomainVerificationStatus] +// method. +message FetchDomainVerificationStatusRequest { + // Required. The site search engine resource under which we fetch all the + // domain verification status. + // `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine`. + string site_search_engine = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "discoveryengine.googleapis.com/SiteSearchEngine" + } + ]; + + // Requested page size. Server may return fewer items than requested. If + // unspecified, server will pick an appropriate default. The maximum value is + // 1000; values above 1000 will be coerced to 1000. + // + // If this field is negative, an INVALID_ARGUMENT error is returned. + int32 page_size = 2; + + // A page token, received from a previous `FetchDomainVerificationStatus` + // call. Provide this to retrieve the subsequent page. + // + // When paginating, all other parameters provided to + // `FetchDomainVerificationStatus` must match the call that provided the page + // token. + string page_token = 3; +} + +// Response message for +// [SiteSearchEngineService.FetchDomainVerificationStatus][google.cloud.discoveryengine.v1beta.SiteSearchEngineService.FetchDomainVerificationStatus] +// method. +message FetchDomainVerificationStatusResponse { + // List of TargetSites containing the site verification status. + repeated TargetSite target_sites = 1; + + // A token that can be sent as `page_token` to retrieve the next page. + // If this field is omitted, there are no subsequent pages. + string next_page_token = 2; + + // The total number of items matching the request. + // This will always be populated in the response. + int32 total_size = 3; +} diff --git a/third_party/googleapis/google/cloud/documentai/v1beta2/barcode.proto b/third_party/googleapis/google/cloud/documentai/v1beta2/barcode.proto new file mode 100644 index 000000000..9de123e17 --- /dev/null +++ b/third_party/googleapis/google/cloud/documentai/v1beta2/barcode.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.cloud.documentai.v1beta2; + +option csharp_namespace = "Google.Cloud.DocumentAI.V1Beta2"; +option go_package = "cloud.google.com/go/documentai/apiv1beta2/documentaipb;documentaipb"; +option java_multiple_files = true; +option java_outer_classname = "BarcodeProto"; +option java_package = "com.google.cloud.documentai.v1beta2"; +option php_namespace = "Google\\Cloud\\DocumentAI\\V1beta2"; +option ruby_package = "Google::Cloud::DocumentAI::V1beta2"; + +// Encodes the detailed information of a barcode. +message Barcode { + // Format of a barcode. + // The supported formats are: + // + // - `CODE_128`: Code 128 type. + // - `CODE_39`: Code 39 type. + // - `CODE_93`: Code 93 type. + // - `CODABAR`: Codabar type. + // - `DATA_MATRIX`: 2D Data Matrix type. + // - `ITF`: ITF type. + // - `EAN_13`: EAN-13 type. + // - `EAN_8`: EAN-8 type. + // - `QR_CODE`: 2D QR code type. + // - `UPC_A`: UPC-A type. + // - `UPC_E`: UPC-E type. + // - `PDF417`: PDF417 type. + // - `AZTEC`: 2D Aztec code type. + // - `DATABAR`: GS1 DataBar code type. + string format = 1; + + // Value format describes the format of the value that a barcode + // encodes. + // The supported formats are: + // + // - `CONTACT_INFO`: Contact information. + // - `EMAIL`: Email address. + // - `ISBN`: ISBN identifier. + // - `PHONE`: Phone number. + // - `PRODUCT`: Product. + // - `SMS`: SMS message. + // - `TEXT`: Text string. + // - `URL`: URL address. + // - `WIFI`: Wifi information. + // - `GEO`: Geo-localization. + // - `CALENDAR_EVENT`: Calendar event. + // - `DRIVER_LICENSE`: Driver's license. + string value_format = 2; + + // Raw value encoded in the barcode. + // For example: `'MEBKM:TITLE:Google;URL:https://www.google.com;;'`. + string raw_value = 3; +} diff --git a/third_party/googleapis/google/cloud/documentai/v1beta3/dataset.proto b/third_party/googleapis/google/cloud/documentai/v1beta3/dataset.proto new file mode 100644 index 000000000..66ea297ea --- /dev/null +++ b/third_party/googleapis/google/cloud/documentai/v1beta3/dataset.proto @@ -0,0 +1,192 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF 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.documentai.v1beta3; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/documentai/v1beta3/document.proto"; +import "google/cloud/documentai/v1beta3/document_io.proto"; +import "google/cloud/documentai/v1beta3/document_schema.proto"; + +option csharp_namespace = "Google.Cloud.DocumentAI.V1Beta3"; +option go_package = "cloud.google.com/go/documentai/apiv1beta3/documentaipb;documentaipb"; +option java_multiple_files = true; +option java_outer_classname = "DatasetProto"; +option java_package = "com.google.cloud.documentai.v1beta3"; +option php_namespace = "Google\\Cloud\\DocumentAI\\V1beta3"; +option ruby_package = "Google::Cloud::DocumentAI::V1beta3"; +option (google.api.resource_definition) = { + type: "contentwarehouse.googleapis.com/Schema" + pattern: "projects/{project}/locations/{location}/schemas/{schema}" +}; + +// A singleton resource under a +// [Processor][google.cloud.documentai.v1beta3.Processor] which configures a +// collection of documents. +message Dataset { + option (google.api.resource) = { + type: "documentai.googleapis.com/Dataset" + pattern: "projects/{project}/locations/{location}/processors/{processor}/dataset" + }; + + // Configuration specific to the Cloud Storage-based implementation. + message GCSManagedConfig { + // Required. The Cloud Storage URI (a directory) where the documents + // belonging to the dataset must be stored. + GcsPrefix gcs_prefix = 1 [(google.api.field_behavior) = REQUIRED]; + } + + // Configuration specific to the Document AI Warehouse-based implementation. + message DocumentWarehouseConfig { + // Output only. The collection in Document AI Warehouse associated with the + // dataset. + string collection = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The schema in Document AI Warehouse associated with the + // dataset. + string schema = 2 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "contentwarehouse.googleapis.com/Schema" + } + ]; + } + + // Configuration specific to an unmanaged dataset. + message UnmanagedDatasetConfig {} + + // Configuration specific to spanner-based indexing. + message SpannerIndexingConfig {} + + // Different states of a dataset. + enum State { + // Default unspecified enum, should not be used. + STATE_UNSPECIFIED = 0; + + // Dataset has not been initialized. + UNINITIALIZED = 1; + + // Dataset is being initialized. + INITIALIZING = 2; + + // Dataset has been initialized. + INITIALIZED = 3; + } + + oneof storage_source { + // Optional. User-managed Cloud Storage dataset configuration. Use this + // configuration if the dataset documents are stored under a user-managed + // Cloud Storage location. + GCSManagedConfig gcs_managed_config = 3 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Deprecated. Warehouse-based dataset configuration is not + // supported. + DocumentWarehouseConfig document_warehouse_config = 5 + [deprecated = true, (google.api.field_behavior) = OPTIONAL]; + + // Optional. Unmanaged dataset configuration. Use this configuration if the + // dataset documents are managed by the document service internally (not + // user-managed). + UnmanagedDatasetConfig unmanaged_dataset_config = 6 + [(google.api.field_behavior) = OPTIONAL]; + } + + oneof indexing_source { + // Optional. A lightweight indexing source with low latency and high + // reliability, but lacking advanced features like CMEK and content-based + // search. + SpannerIndexingConfig spanner_indexing_config = 4 + [(google.api.field_behavior) = OPTIONAL]; + } + + // Dataset resource name. + // Format: + // `projects/{project}/locations/{location}/processors/{processor}/dataset` + string name = 1; + + // Required. State of the dataset. Ignored when updating dataset. + State state = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Document Identifier. +message DocumentId { + // Identifies a document uniquely within the scope of a dataset in the + // user-managed Cloud Storage option. + message GCSManagedDocumentId { + // Required. The Cloud Storage URI where the actual document is stored. + string gcs_uri = 1 [(google.api.field_behavior) = REQUIRED]; + + // Id of the document (indexed) managed by Content Warehouse. + string cw_doc_id = 2 [deprecated = true]; + } + + // Identifies a document uniquely within the scope of a dataset in unmanaged + // option. + message UnmanagedDocumentId { + // Required. The id of the document. + string doc_id = 1 [(google.api.field_behavior) = REQUIRED]; + } + + oneof type { + // A document id within user-managed Cloud Storage. + GCSManagedDocumentId gcs_managed_doc_id = 1; + + // A document id within unmanaged dataset. + UnmanagedDocumentId unmanaged_doc_id = 4; + } + + // Points to a specific revision of the document if set. + RevisionRef revision_ref = 3; +} + +// Dataset Schema. +message DatasetSchema { + option (google.api.resource) = { + type: "documentai.googleapis.com/DatasetSchema" + pattern: "projects/{project}/locations/{location}/processors/{processor}/dataset/datasetSchema" + }; + + // Dataset schema resource name. + // Format: + // `projects/{project}/locations/{location}/processors/{processor}/dataset/datasetSchema` + string name = 1; + + // Optional. Schema of the dataset. + DocumentSchema document_schema = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// Dataset documents that the batch operation will be applied to. +message BatchDatasetDocuments { + // List of individual DocumentIds. + message IndividualDocumentIds { + // Required. List of Document IDs indicating where the actual documents are + // stored. + repeated DocumentId document_ids = 1 + [(google.api.field_behavior) = REQUIRED]; + } + + oneof criteria { + // Document identifiers. + IndividualDocumentIds individual_document_ids = 1; + + // A filter matching the documents. + // Follows the same format and restriction as + // [google.cloud.documentai.master.ListDocumentsRequest.filter]. + string filter = 2; + } +} diff --git a/third_party/googleapis/google/cloud/documentai/v1beta3/document_service.proto b/third_party/googleapis/google/cloud/documentai/v1beta3/document_service.proto new file mode 100644 index 000000000..dcf35b1a4 --- /dev/null +++ b/third_party/googleapis/google/cloud/documentai/v1beta3/document_service.proto @@ -0,0 +1,444 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF 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.documentai.v1beta3; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/documentai/v1beta3/dataset.proto"; +import "google/cloud/documentai/v1beta3/document.proto"; +import "google/cloud/documentai/v1beta3/document_io.proto"; +import "google/cloud/documentai/v1beta3/operation_metadata.proto"; +import "google/longrunning/operations.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Cloud.DocumentAI.V1Beta3"; +option go_package = "cloud.google.com/go/documentai/apiv1beta3/documentaipb;documentaipb"; +option java_multiple_files = true; +option java_outer_classname = "DocumentAiDocumentService"; +option java_package = "com.google.cloud.documentai.v1beta3"; +option php_namespace = "Google\\Cloud\\DocumentAI\\V1beta3"; +option ruby_package = "Google::Cloud::DocumentAI::V1beta3"; + +// Service to call Cloud DocumentAI to manage document collection (dataset). +service DocumentService { + option (google.api.default_host) = "documentai.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform"; + + // Updates metadata associated with a dataset. + rpc UpdateDataset(UpdateDatasetRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + patch: "/v1beta3/{dataset.name=projects/*/locations/*/processors/*/dataset}" + body: "dataset" + }; + option (google.api.method_signature) = "dataset,update_mask"; + option (google.longrunning.operation_info) = { + response_type: "Dataset" + metadata_type: "UpdateDatasetOperationMetadata" + }; + } + + // Import documents into a dataset. + rpc ImportDocuments(ImportDocumentsRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1beta3/{dataset=projects/*/locations/*/processors/*/dataset}:importDocuments" + body: "*" + }; + option (google.api.method_signature) = "dataset"; + option (google.longrunning.operation_info) = { + response_type: "ImportDocumentsResponse" + metadata_type: "ImportDocumentsMetadata" + }; + } + + // Returns relevant fields present in the requested document. + rpc GetDocument(GetDocumentRequest) returns (GetDocumentResponse) { + option (google.api.http) = { + get: "/v1beta3/{dataset=projects/*/locations/*/processors/*/dataset}:getDocument" + }; + option (google.api.method_signature) = "dataset"; + } + + // Returns a list of documents present in the dataset. + rpc ListDocuments(ListDocumentsRequest) returns (ListDocumentsResponse) { + option (google.api.http) = { + post: "/v1beta3/{dataset=projects/*/locations/*/processors/*/dataset}:listDocuments" + body: "*" + }; + option (google.api.method_signature) = "dataset"; + } + + // Deletes a set of documents. + rpc BatchDeleteDocuments(BatchDeleteDocumentsRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1beta3/{dataset=projects/*/locations/*/processors/*/dataset}:batchDeleteDocuments" + body: "*" + }; + option (google.api.method_signature) = "dataset"; + option (google.longrunning.operation_info) = { + response_type: "BatchDeleteDocumentsResponse" + metadata_type: "BatchDeleteDocumentsMetadata" + }; + } + + // Gets the `DatasetSchema` of a `Dataset`. + rpc GetDatasetSchema(GetDatasetSchemaRequest) returns (DatasetSchema) { + option (google.api.http) = { + get: "/v1beta3/{name=projects/*/locations/*/processors/*/dataset/datasetSchema}" + }; + option (google.api.method_signature) = "name"; + } + + // Updates a `DatasetSchema`. + rpc UpdateDatasetSchema(UpdateDatasetSchemaRequest) returns (DatasetSchema) { + option (google.api.http) = { + patch: "/v1beta3/{dataset_schema.name=projects/*/locations/*/processors/*/dataset/datasetSchema}" + body: "dataset_schema" + }; + option (google.api.method_signature) = "dataset_schema,update_mask"; + } +} + +// Documents belonging to a dataset will be split into different groups +// referred to as splits: train, test. +enum DatasetSplitType { + // Default value if the enum is not set. + DATASET_SPLIT_TYPE_UNSPECIFIED = 0; + + // Identifies the train documents. + DATASET_SPLIT_TRAIN = 1; + + // Identifies the test documents. + DATASET_SPLIT_TEST = 2; + + // Identifies the unassigned documents. + DATASET_SPLIT_UNASSIGNED = 3; +} + +// Describes the labeling status of a document. +enum DocumentLabelingState { + // Default value if the enum is not set. + DOCUMENT_LABELING_STATE_UNSPECIFIED = 0; + + // Document has been labeled. + DOCUMENT_LABELED = 1; + + // Document has not been labeled. + DOCUMENT_UNLABELED = 2; + + // Document has been auto-labeled. + DOCUMENT_AUTO_LABELED = 3; +} + +message UpdateDatasetRequest { + // Required. The `name` field of the `Dataset` is used to identify the + // resource to be updated. + Dataset dataset = 1 [(google.api.field_behavior) = REQUIRED]; + + // The update mask applies to the resource. + google.protobuf.FieldMask update_mask = 2; +} + +message UpdateDatasetOperationMetadata { + // The basic metadata of the long-running operation. + CommonOperationMetadata common_metadata = 1; +} + +message ImportDocumentsRequest { + // Config for importing documents. + // Each batch can have its own dataset split type. + message BatchDocumentsImportConfig { + // The config for auto-split. + message AutoSplitConfig { + // Ratio of training dataset split. + float training_split_ratio = 1; + } + + oneof split_type_config { + // Target dataset split where the documents must be stored. + DatasetSplitType dataset_split = 2; + + // If set, documents will be automatically split into training and test + // split category with the specified ratio. + AutoSplitConfig auto_split_config = 3; + } + + // The common config to specify a set of documents used as input. + BatchDocumentsInputConfig batch_input_config = 1; + } + + // Required. The dataset resource name. + // Format: + // projects/{project}/locations/{location}/processors/{processor}/dataset + string dataset = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "documentai.googleapis.com/Dataset" + } + ]; + + // Required. The Cloud Storage uri containing raw documents that must be + // imported. + repeated BatchDocumentsImportConfig batch_documents_import_configs = 4 + [(google.api.field_behavior) = REQUIRED]; +} + +// Response of the import document operation. +message ImportDocumentsResponse {} + +// Metadata of the import document operation. +message ImportDocumentsMetadata { + // The status of each individual document in the import process. + message IndividualImportStatus { + // The source Cloud Storage URI of the document. + string input_gcs_source = 1; + + // The status of the importing of the document. + google.rpc.Status status = 2; + + // The document id of imported document if it was successful, otherwise + // empty. + DocumentId output_document_id = 4; + } + + // The validation status of each import config. Status is set to an error if + // there are no documents to import in the `import_config`, or `OK` if the + // operation will try to proceed with at least one document. + message ImportConfigValidationResult { + // The source Cloud Storage URI specified in the import config. + string input_gcs_source = 1; + + // The validation status of import config. + google.rpc.Status status = 2; + } + + // The basic metadata of the long-running operation. + CommonOperationMetadata common_metadata = 1; + + // The list of response details of each document. + repeated IndividualImportStatus individual_import_statuses = 2; + + // Validation statuses of the batch documents import config. + repeated ImportConfigValidationResult import_config_validation_results = 4; + + // Total number of the documents that are qualified for importing. + int32 total_document_count = 3; +} + +message GetDocumentRequest { + // Required. The resource name of the dataset that the document belongs to . + // Format: + // projects/{project}/locations/{location}/processors/{processor}/dataset + string dataset = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "documentai.googleapis.com/Dataset" + } + ]; + + // Required. Document identifier. + DocumentId document_id = 2 [(google.api.field_behavior) = REQUIRED]; + + // If set, only fields listed here will be returned. Otherwise, all fields + // will be returned by default. + google.protobuf.FieldMask read_mask = 3; + + // List of pages for which the fields specified in the `read_mask` must + // be served. + DocumentPageRange page_range = 4; +} + +message GetDocumentResponse { + Document document = 1; +} + +message ListDocumentsRequest { + // Required. The resource name of the dataset to be listed. + // Format: + // projects/{project}/locations/{location}/processors/{processor}/dataset + string dataset = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "documentai.googleapis.com/Dataset" + } + ]; + + // The maximum number of documents to return. The service may return + // fewer than this value. + // If unspecified, at most 20 documents will be returned. + // The maximum value is 100; values above 100 will be coerced to 100. + int32 page_size = 2; + + // A page token, received from a previous `ListDocuments` call. + // Provide this to retrieve the subsequent page. + // + // When paginating, all other parameters provided to `ListDocuments` + // must match the call that provided the page token. + string page_token = 3; + + // Optional. Query to filter the documents based on + // https://google.aip.dev/160. + // ## Currently support query strings are: + // + // `SplitType=DATASET_SPLIT_TEST|DATASET_SPLIT_TRAIN|DATASET_SPLIT_UNASSIGNED` + // - `LabelingState=DOCUMENT_LABELED|DOCUMENT_UNLABELED|DOCUMENT_AUTO_LABELED` + // - `DisplayName=\"file_name.pdf\"` + // - `EntityType=abc/def` + // - `TagName=\"auto-labeling-running\"|\"sampled\"` + // + // Note: + // - Only `AND`, `=` and `!=` are supported. + // e.g. `DisplayName=file_name AND EntityType!=abc` IS supported. + // - Wildcard `*` is supported only in `DisplayName` filter + // - No duplicate filter keys are allowed, + // e.g. `EntityType=a AND EntityType=b` is NOT supported. + // - String match is case sensitive (for filter `DisplayName` & `EntityType`). + string filter = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Controls if the request requires a total size of matched + // documents. See + // [ListDocumentsResponse.total_size][google.cloud.documentai.v1beta3.ListDocumentsResponse.total_size]. + // + // Enabling this flag may adversely impact performance. + // + // Defaults to false. + bool return_total_size = 6 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Number of results to skip beginning from the `page_token` if + // provided. https://google.aip.dev/158#skipping-results. It must be a + // non-negative integer. Negative values will be rejected. Note that this is + // not the number of pages to skip. If this value causes the cursor to move + // past the end of results, + // [ListDocumentsResponse.document_metadata][google.cloud.documentai.v1beta3.ListDocumentsResponse.document_metadata] + // and + // [ListDocumentsResponse.next_page_token][google.cloud.documentai.v1beta3.ListDocumentsResponse.next_page_token] + // will be empty. + int32 skip = 8 [(google.api.field_behavior) = OPTIONAL]; +} + +message ListDocumentsResponse { + // Document metadata corresponding to the listed documents. + repeated DocumentMetadata document_metadata = 1; + + // A token, which can be sent as + // [ListDocumentsRequest.page_token][google.cloud.documentai.v1beta3.ListDocumentsRequest.page_token] + // to retrieve the next page. If this field is omitted, there are no + // subsequent pages. + string next_page_token = 2; + + // Total count of documents queried. + int32 total_size = 3; +} + +message BatchDeleteDocumentsRequest { + // Required. The dataset resource name. + // Format: + // projects/{project}/locations/{location}/processors/{processor}/dataset + string dataset = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. Dataset documents input. If given `filter`, all documents + // satisfying the filter will be deleted. If given documentIds, a maximum of + // 50 documents can be deleted in a batch. The request will be rejected if + // more than 50 document_ids are provided. + BatchDatasetDocuments dataset_documents = 3 + [(google.api.field_behavior) = REQUIRED]; +} + +// Response of the delete documents operation. +message BatchDeleteDocumentsResponse {} + +message BatchDeleteDocumentsMetadata { + // The status of each individual document in the batch delete process. + message IndividualBatchDeleteStatus { + // The document id of the document. + DocumentId document_id = 1; + + // The status of deleting the document in storage. + google.rpc.Status status = 2; + } + + // The basic metadata of the long-running operation. + CommonOperationMetadata common_metadata = 1; + + // The list of response details of each document. + repeated IndividualBatchDeleteStatus individual_batch_delete_statuses = 2; + + // Total number of documents deleting from dataset. + int32 total_document_count = 3; + + // Total number of documents that failed to be deleted in storage. + int32 error_document_count = 4; +} + +// Request for `GetDatasetSchema`. +message GetDatasetSchemaRequest { + // Required. The dataset schema resource name. + // Format: + // projects/{project}/locations/{location}/processors/{processor}/dataset/datasetSchema + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "documentai.googleapis.com/DatasetSchema" + } + ]; + + // If set, only returns the visible fields of the schema. + bool visible_fields_only = 2; +} + +// Request for `UpdateDatasetSchema`. +message UpdateDatasetSchemaRequest { + // Required. The name field of the `DatasetSchema` is used to identify the + // resource to be updated. + DatasetSchema dataset_schema = 1 [(google.api.field_behavior) = REQUIRED]; + + // The update mask applies to the resource. + google.protobuf.FieldMask update_mask = 2; +} + +// Range of pages present in a document. +message DocumentPageRange { + // First page number (one-based index) to be returned. + int32 start = 1; + + // Last page number (one-based index) to be returned. + int32 end = 2; +} + +// Metadata about a document. +message DocumentMetadata { + // Document identifier. + DocumentId document_id = 1; + + // Number of pages in the document. + int32 page_count = 2; + + // Type of the dataset split to which the document belongs. + DatasetSplitType dataset_type = 3; + + // Labeling state of the document. + DocumentLabelingState labeling_state = 5; + + // The display name of the document. + string display_name = 6; +} diff --git a/third_party/googleapis/google/cloud/edgenetwork/BUILD.bazel b/third_party/googleapis/google/cloud/edgenetwork/BUILD.bazel new file mode 100644 index 000000000..717313c7a --- /dev/null +++ b/third_party/googleapis/google/cloud/edgenetwork/BUILD.bazel @@ -0,0 +1,36 @@ +# This build file includes a target for the Ruby wrapper library for +# google-cloud-edge_network. + +# 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 edgenetwork. +# 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 = "edgenetwork_ruby_wrapper", + srcs = ["//google/cloud/edgenetwork/v1:edgenetwork_proto_with_info"], + extra_protoc_parameters = [ + "ruby-cloud-gem-name=google-cloud-edge_network", + "ruby-cloud-wrapper-of=v1:0.2", + ], + service_yaml = "//google/cloud/edgenetwork/v1:edgenetwork_v1.yaml", + transport = "grpc+rest", +) + +# Open Source package. +ruby_gapic_assembly_pkg( + name = "google-cloud-edgenetwork-ruby", + deps = [ + ":edgenetwork_ruby_wrapper", + ], +) diff --git a/third_party/googleapis/google/cloud/edgenetwork/v1/BUILD.bazel b/third_party/googleapis/google/cloud/edgenetwork/v1/BUILD.bazel new file mode 100644 index 000000000..f81f1d632 --- /dev/null +++ b/third_party/googleapis/google/cloud/edgenetwork/v1/BUILD.bazel @@ -0,0 +1,383 @@ +# 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 = "edgenetwork_proto", + srcs = [ + "resources.proto", + "service.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 = "edgenetwork_proto_with_info", + deps = [ + ":edgenetwork_proto", + "//google/cloud:common_resources_proto", + "//google/cloud/location:location_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 = "edgenetwork_java_proto", + deps = [":edgenetwork_proto"], +) + +java_grpc_library( + name = "edgenetwork_java_grpc", + srcs = [":edgenetwork_proto"], + deps = [":edgenetwork_java_proto"], +) + +java_gapic_library( + name = "edgenetwork_java_gapic", + srcs = [":edgenetwork_proto_with_info"], + gapic_yaml = None, + grpc_service_config = "edgenetwork_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "edgenetwork_v1.yaml", + test_deps = [ + "//google/cloud/location:location_java_grpc", + ":edgenetwork_java_grpc", + ], + transport = "grpc+rest", + deps = [ + ":edgenetwork_java_proto", + "//google/api:api_java_proto", + "//google/cloud/location:location_java_proto", + ], +) + +java_gapic_test( + name = "edgenetwork_java_gapic_test_suite", + test_classes = [ + "com.google.cloud.edgenetwork.v1.EdgeNetworkClientHttpJsonTest", + "com.google.cloud.edgenetwork.v1.EdgeNetworkClientTest", + ], + runtime_deps = [":edgenetwork_java_gapic_test"], +) + +# Open Source Packages +java_gapic_assembly_gradle_pkg( + name = "google-cloud-edgenetwork-v1-java", + include_samples = True, + transport = "grpc+rest", + deps = [ + ":edgenetwork_java_gapic", + ":edgenetwork_java_grpc", + ":edgenetwork_java_proto", + ":edgenetwork_proto", + ], +) + +############################################################################## +# Go +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "go_gapic_assembly_pkg", + "go_gapic_library", + "go_proto_library", +) + +go_proto_library( + name = "edgenetwork_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "cloud.google.com/go/edgenetwork/apiv1/edgenetworkpb", + protos = [":edgenetwork_proto"], + deps = [ + "//google/api:annotations_go_proto", + "//google/longrunning:longrunning_go_proto", + ], +) + +go_gapic_library( + name = "edgenetwork_go_gapic", + srcs = [":edgenetwork_proto_with_info"], + grpc_service_config = "edgenetwork_grpc_service_config.json", + importpath = "cloud.google.com/go/edgenetwork/apiv1;edgenetwork", + metadata = True, + release_level = "beta", + rest_numeric_enums = True, + service_yaml = "edgenetwork_v1.yaml", + transport = "grpc+rest", + deps = [ + ":edgenetwork_go_proto", + "//google/cloud/location:location_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-edgenetwork-v1-go", + deps = [ + ":edgenetwork_go_gapic", + ":edgenetwork_go_gapic_srcjar-metadata.srcjar", + ":edgenetwork_go_gapic_srcjar-snippets.srcjar", + ":edgenetwork_go_gapic_srcjar-test.srcjar", + ":edgenetwork_go_proto", + ], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "py_gapic_assembly_pkg", + "py_gapic_library", + "py_test", +) + +py_gapic_library( + name = "edgenetwork_py_gapic", + srcs = [":edgenetwork_proto"], + grpc_service_config = "edgenetwork_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "edgenetwork_v1.yaml", + transport = "grpc+rest", + deps = [ + ], +) + +py_test( + name = "edgenetwork_py_gapic_test", + srcs = [ + "edgenetwork_py_gapic_pytest.py", + "edgenetwork_py_gapic_test.py", + ], + legacy_create_init = False, + deps = [":edgenetwork_py_gapic"], +) + +# Open Source Packages +py_gapic_assembly_pkg( + name = "edgenetwork-v1-py", + deps = [ + ":edgenetwork_py_gapic", + ], +) + +############################################################################## +# PHP +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "php_gapic_assembly_pkg", + "php_gapic_library", + "php_proto_library", +) + +php_proto_library( + name = "edgenetwork_php_proto", + deps = [":edgenetwork_proto"], +) + +php_gapic_library( + name = "edgenetwork_php_gapic", + srcs = [":edgenetwork_proto_with_info"], + grpc_service_config = "edgenetwork_grpc_service_config.json", + migration_mode = "NEW_SURFACE_ONLY", + rest_numeric_enums = True, + service_yaml = "edgenetwork_v1.yaml", + transport = "grpc+rest", + deps = [ + ":edgenetwork_php_proto", + ], +) + +# Open Source Packages +php_gapic_assembly_pkg( + name = "google-cloud-edgenetwork-v1-php", + deps = [ + ":edgenetwork_php_gapic", + ":edgenetwork_php_proto", + ], +) + +############################################################################## +# Node.js +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "nodejs_gapic_assembly_pkg", + "nodejs_gapic_library", +) + +nodejs_gapic_library( + name = "edgenetwork_nodejs_gapic", + package_name = "@google-cloud/edgenetwork", + src = ":edgenetwork_proto_with_info", + extra_protoc_parameters = ["metadata"], + grpc_service_config = "edgenetwork_grpc_service_config.json", + package = "google.cloud.edgenetwork.v1", + rest_numeric_enums = True, + service_yaml = "edgenetwork_v1.yaml", + transport = "grpc+rest", + deps = [], +) + +nodejs_gapic_assembly_pkg( + name = "edgenetwork-v1-nodejs", + deps = [ + ":edgenetwork_nodejs_gapic", + ":edgenetwork_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 = "edgenetwork_ruby_proto", + deps = [":edgenetwork_proto"], +) + +ruby_grpc_library( + name = "edgenetwork_ruby_grpc", + srcs = [":edgenetwork_proto"], + deps = [":edgenetwork_ruby_proto"], +) + +ruby_cloud_gapic_library( + name = "edgenetwork_ruby_gapic", + srcs = [":edgenetwork_proto_with_info"], + extra_protoc_parameters = [ + "ruby-cloud-gem-name=google-cloud-edge_network-v1", + ], + grpc_service_config = "edgenetwork_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "edgenetwork_v1.yaml", + transport = "grpc+rest", + deps = [ + ":edgenetwork_ruby_grpc", + ":edgenetwork_ruby_proto", + ], +) + +# Open Source Packages +ruby_gapic_assembly_pkg( + name = "google-cloud-edgenetwork-v1-ruby", + deps = [ + ":edgenetwork_ruby_gapic", + ":edgenetwork_ruby_grpc", + ":edgenetwork_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 = "edgenetwork_csharp_proto", + deps = [":edgenetwork_proto"], +) + +csharp_grpc_library( + name = "edgenetwork_csharp_grpc", + srcs = [":edgenetwork_proto"], + deps = [":edgenetwork_csharp_proto"], +) + +csharp_gapic_library( + name = "edgenetwork_csharp_gapic", + srcs = [":edgenetwork_proto_with_info"], + common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json", + grpc_service_config = "edgenetwork_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "edgenetwork_v1.yaml", + transport = "grpc+rest", + deps = [ + ":edgenetwork_csharp_grpc", + ":edgenetwork_csharp_proto", + ], +) + +# Open Source Packages +csharp_gapic_assembly_pkg( + name = "google-cloud-edgenetwork-v1-csharp", + deps = [ + ":edgenetwork_csharp_gapic", + ":edgenetwork_csharp_grpc", + ":edgenetwork_csharp_proto", + ], +) + +############################################################################## +# C++ +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "cc_grpc_library", + "cc_proto_library", +) + +cc_proto_library( + name = "edgenetwork_cc_proto", + deps = [":edgenetwork_proto"], +) + +cc_grpc_library( + name = "edgenetwork_cc_grpc", + srcs = [":edgenetwork_proto"], + grpc_only = True, + deps = [":edgenetwork_cc_proto"], +) diff --git a/third_party/googleapis/google/cloud/edgenetwork/v1/edgenetwork_grpc_service_config.json b/third_party/googleapis/google/cloud/edgenetwork/v1/edgenetwork_grpc_service_config.json new file mode 100644 index 000000000..059d5834c --- /dev/null +++ b/third_party/googleapis/google/cloud/edgenetwork/v1/edgenetwork_grpc_service_config.json @@ -0,0 +1,46 @@ +{ + "methodConfig": [{ + "name": [ + { "service": "google.cloud.edgenetwork.v1.EdgeNetwork", "method": "ListNetworks" }, + { "service": "google.cloud.edgenetwork.v1.EdgeNetwork", "method": "GetNetwork" }, + { "service": "google.cloud.edgenetwork.v1.EdgeNetwork", "method": "DiagnoseNetwork" }, + { "service": "google.cloud.edgenetwork.v1.EdgeNetwork", "method": "ListSubnets" }, + { "service": "google.cloud.edgenetwork.v1.EdgeNetwork", "method": "GetSubnet" }, + { "service": "google.cloud.edgenetwork.v1.EdgeNetwork", "method": "ListInterconnectAttachments" }, + { "service": "google.cloud.edgenetwork.v1.EdgeNetwork", "method": "GetInterconnectAttachment" }, + { "service": "google.cloud.edgenetwork.v1.EdgeNetwork", "method": "ListInterconnects" }, + { "service": "google.cloud.edgenetwork.v1.EdgeNetwork", "method": "GetInterconnect" }, + { "service": "google.cloud.edgenetwork.v1.EdgeNetwork", "method": "DiagnoseInterconnect" }, + { "service": "google.cloud.edgenetwork.v1.EdgeNetwork", "method": "ListRouters" }, + { "service": "google.cloud.edgenetwork.v1.EdgeNetwork", "method": "GetRouter" }, + { "service": "google.cloud.edgenetwork.v1.EdgeNetwork", "method": "DiagnoseRouter" }, + { "service": "google.cloud.edgenetwork.v1.EdgeNetwork", "method": "ListRoutes" }, + { "service": "google.cloud.edgenetwork.v1.EdgeNetwork", "method": "GetRoute" } + ], + "timeout": "60s", + "retryPolicy": { + "maxAttempts": 5, + "initialBackoff": "1s", + "maxBackoff": "10s", + "backoffMultiplier": 1.3, + "retryableStatusCodes": ["UNAVAILABLE"] + } + }, + { + "name": [ + { "service": "google.cloud.edgenetwork.v1.EdgeNetwork", "method": "InitializeZone" }, + { "service": "google.cloud.edgenetwork.v1.EdgeNetwork", "method": "CreateNetwork" }, + { "service": "google.cloud.edgenetwork.v1.EdgeNetwork", "method": "DeleteNetwork" }, + { "service": "google.cloud.edgenetwork.v1.EdgeNetwork", "method": "CreateSubnet" }, + { "service": "google.cloud.edgenetwork.v1.EdgeNetwork", "method": "DeleteSubnet" }, + { "service": "google.cloud.edgenetwork.v1.EdgeNetwork", "method": "CreateInterconnectAttachment" }, + { "service": "google.cloud.edgenetwork.v1.EdgeNetwork", "method": "DeleteInterconnectAttachment" }, + { "service": "google.cloud.edgenetwork.v1.EdgeNetwork", "method": "CreateRouter" }, + { "service": "google.cloud.edgenetwork.v1.EdgeNetwork", "method": "UpdateRouter" }, + { "service": "google.cloud.edgenetwork.v1.EdgeNetwork", "method": "DeleteRouter" }, + { "service": "google.cloud.edgenetwork.v1.EdgeNetwork", "method": "CreateRoute" }, + { "service": "google.cloud.edgenetwork.v1.EdgeNetwork", "method": "DeleteRoute" } + ], + "timeout": "60s" + }] +} diff --git a/third_party/googleapis/google/cloud/edgenetwork/v1/edgenetwork_v1.yaml b/third_party/googleapis/google/cloud/edgenetwork/v1/edgenetwork_v1.yaml new file mode 100644 index 000000000..a6b4035bf --- /dev/null +++ b/third_party/googleapis/google/cloud/edgenetwork/v1/edgenetwork_v1.yaml @@ -0,0 +1,100 @@ +type: google.api.Service +config_version: 3 +name: edgenetwork.googleapis.com +title: Distributed Cloud Edge Network API + +apis: +- name: google.cloud.edgenetwork.v1.EdgeNetwork +- name: google.cloud.location.Locations +- name: google.longrunning.Operations + +types: +- name: google.cloud.edgenetwork.v1.OperationMetadata + +documentation: + summary: Network management API for Distributed Cloud Edge. + 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. + +http: + rules: + - selector: google.cloud.location.Locations.GetLocation + get: '/v1/{name=projects/*/locations/*}' + - selector: google.cloud.location.Locations.ListLocations + get: '/v1/{name=projects/*}/locations' + - selector: google.longrunning.Operations.CancelOperation + post: '/v1/{name=projects/*/locations/*/operations/*}:cancel' + body: '*' + - selector: google.longrunning.Operations.DeleteOperation + delete: '/v1/{name=projects/*/locations/*/operations/*}' + - selector: google.longrunning.Operations.GetOperation + get: '/v1/{name=projects/*/locations/*/operations/*}' + - selector: google.longrunning.Operations.ListOperations + get: '/v1/{name=projects/*/locations/*}/operations' + +authentication: + rules: + - selector: 'google.cloud.edgenetwork.v1.EdgeNetwork.*' + 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.longrunning.Operations.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + +publishing: + new_issue_uri: https://issuetracker.google.com/issues/new?component=187192&template=1162689 + documentation_uri: https://cloud.google.com/distributed-cloud/edge/latest/docs/overview + api_short_name: edgenetwork + github_label: 'api: edgenetwork' + doc_tag_prefix: edgenetwork + organization: CLOUD + library_settings: + - version: google.cloud.edgenetwork.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://cloud.google.com/distributed-cloud/edge/latest/docs/reference/rpc diff --git a/third_party/googleapis/google/cloud/edgenetwork/v1/resources.proto b/third_party/googleapis/google/cloud/edgenetwork/v1/resources.proto new file mode 100644 index 000000000..063ba5a9e --- /dev/null +++ b/third_party/googleapis/google/cloud/edgenetwork/v1/resources.proto @@ -0,0 +1,597 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF 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.edgenetwork.v1; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.EdgeNetwork.V1"; +option go_package = "cloud.google.com/go/edgenetwork/apiv1/edgenetworkpb;edgenetworkpb"; +option java_multiple_files = true; +option java_outer_classname = "ResourcesProto"; +option java_package = "com.google.cloud.edgenetwork.v1"; +option php_namespace = "Google\\Cloud\\EdgeNetwork\\V1"; +option ruby_package = "Google::Cloud::EdgeNetwork::V1"; + +// ResourceState describes the state the resource. +// A normal lifecycle of a new resource being created would be: PENDING -> +// PROVISIONING -> RUNNING. A normal lifecycle of an existing resource being +// deleted would be: RUNNING -> DELETING. Any failures during processing will +// result the resource to be in a SUSPENDED state. +enum ResourceState { + // Unspecified state. + STATE_UNKNOWN = 0; + + // The resource is being prepared to be applied to the rack. + STATE_PENDING = 1; + + // The resource has started being applied to the rack. + STATE_PROVISIONING = 2; + + // The resource has been pushed to the rack. + STATE_RUNNING = 3; + + // The resource failed to push to the rack. + STATE_SUSPENDED = 4; + + // The resource is under deletion. + STATE_DELETING = 5; +} + +// A Google Edge Cloud zone. +message Zone { + option (google.api.resource) = { + type: "edgenetwork.googleapis.com/Zone" + pattern: "projects/{project}/locations/{location}/zones/{zone}" + }; + + // Required. The resource name of the zone. + string name = 1 [(google.api.field_behavior) = REQUIRED]; + + // Output only. The time when the zone was created. + google.protobuf.Timestamp create_time = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The time when the zone was last updated. + google.protobuf.Timestamp update_time = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Labels as key value pairs + map labels = 4; + + // The deployment layout type. + string layout_name = 5; +} + +// Message describing Network object +message Network { + option (google.api.resource) = { + type: "edgenetwork.googleapis.com/Network" + pattern: "projects/{project}/locations/{location}/zones/{zone}/networks/{network}" + }; + + // Required. The canonical resource name of the network. + string name = 1 [(google.api.field_behavior) = REQUIRED]; + + // Output only. The time when the network was created. + google.protobuf.Timestamp create_time = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The time when the network was last updated. + google.protobuf.Timestamp update_time = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Labels associated with this resource. + map labels = 4; + + // Optional. A free-text description of the resource. Max length 1024 + // characters. + string description = 5 [(google.api.field_behavior) = OPTIONAL]; + + // IP (L3) MTU value of the network. + // Valid values are: 1500 and 9000. + // Default to 1500 if not set. + int32 mtu = 6; +} + +// Message describing Subnet object +message Subnet { + option (google.api.resource) = { + type: "edgenetwork.googleapis.com/Subnet" + pattern: "projects/{project}/locations/{location}/zones/{zone}/subnets/{subnet}" + }; + + // Required. The canonical resource name of the subnet. + string name = 1 [(google.api.field_behavior) = REQUIRED]; + + // Output only. The time when the subnet was created. + google.protobuf.Timestamp create_time = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The time when the subnet was last updated. + google.protobuf.Timestamp update_time = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Labels associated with this resource. + map labels = 4; + + // Optional. A free-text description of the resource. Max length 1024 + // characters. + string description = 5 [(google.api.field_behavior) = OPTIONAL]; + + // Required. The network that this subnetwork belongs to. + string network = 6 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "edgenetwork.googleapis.com/Network" + } + ]; + + // The ranges of ipv4 addresses that are owned by this subnetwork. + repeated string ipv4_cidr = 7; + + // The ranges of ipv6 addresses that are owned by this subnetwork. + repeated string ipv6_cidr = 8; + + // Optional. VLAN id provided by user. If not specified we assign one + // automatically. + int32 vlan_id = 9 [(google.api.field_behavior) = OPTIONAL]; + + // Output only. Current stage of the resource to the device by config push. + ResourceState state = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Message describing Interconnect object +message Interconnect { + option (google.api.resource) = { + type: "edgenetwork.googleapis.com/Interconnect" + pattern: "projects/{project}/locations/{location}/zones/{zone}/interconnects/{interconnect}" + }; + + // Type of interconnect. + enum InterconnectType { + // Unspecified. + INTERCONNECT_TYPE_UNSPECIFIED = 0; + + // Dedicated Interconnect. + DEDICATED = 1; + } + + // Required. The canonical resource name of the interconnect. + string name = 1 [(google.api.field_behavior) = REQUIRED]; + + // Output only. The time when the subnet was created. + google.protobuf.Timestamp create_time = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The time when the subnet was last updated. + google.protobuf.Timestamp update_time = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Labels associated with this resource. + map labels = 4; + + // Optional. A free-text description of the resource. Max length 1024 + // characters. + string description = 5 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Type of interconnect, which takes only the value 'DEDICATED' for + // now. + InterconnectType interconnect_type = 6 + [(google.api.field_behavior) = OPTIONAL]; + + // Output only. Unique identifier for the link. + string uuid = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Cloud resource name of the switch device. + string device_cloud_resource_name = 8 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Physical ports (e.g., TenGigE0/0/0/1) that form the + // interconnect. + repeated string physical_ports = 9 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Message describing InterconnectAttachment object +message InterconnectAttachment { + option (google.api.resource) = { + type: "edgenetwork.googleapis.com/InterconnectAttachment" + pattern: "projects/{project}/locations/{location}/zones/{zone}/interconnectAttachments/{interconnect_attachment}" + }; + + // Required. The canonical resource name of the interconnect attachment. + string name = 1 [(google.api.field_behavior) = REQUIRED]; + + // Output only. The time when the interconnect attachment was created. + google.protobuf.Timestamp create_time = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The time when the interconnect attachment was last updated. + google.protobuf.Timestamp update_time = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Labels associated with this resource. + map labels = 4; + + // Optional. A free-text description of the resource. Max length 1024 + // characters. + string description = 5 [(google.api.field_behavior) = OPTIONAL]; + + // Required. The canonical name of underlying Interconnect object that this + // attachment's traffic will traverse through. The name is in the form of + // `projects/{project}/locations/{location}/zones/{zone}/interconnects/{interconnect}`. + string interconnect = 6 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "edgenetwork.googleapis.com/Interconnect" + } + ]; + + // Optional. The canonical Network name in the form of + // `projects/{project}/locations/{location}/zones/{zone}/networks/{network}`. + string network = 11 [ + (google.api.field_behavior) = OPTIONAL, + (google.api.resource_reference) = { + type: "edgenetwork.googleapis.com/Network" + } + ]; + + // Required. VLAN id provided by user. Must be site-wise unique. + int32 vlan_id = 8 [(google.api.field_behavior) = REQUIRED]; + + // IP (L3) MTU value of the virtual edge cloud. + // Valid values are: 1500 and 9000. + // Default to 1500 if not set. + int32 mtu = 9; + + // Output only. Current stage of the resource to the device by config push. + ResourceState state = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Message describing Router object +message Router { + option (google.api.resource) = { + type: "edgenetwork.googleapis.com/Router" + pattern: "projects/{project}/locations/{location}/zones/{zone}/routers/{router}" + }; + + // Router Interface defines the GDCE zone side layer-3 information for + // building the BGP session. + message Interface { + // Name of this interface entry. Unique within the Zones resource. + string name = 1; + + // IP address and range of the interface. + string ipv4_cidr = 3; + + // IPv6 address and range of the interface. + string ipv6_cidr = 6; + + // The canonical name of the linked Interconnect attachment. + string linked_interconnect_attachment = 2; + + // The canonical name of the subnetwork resource that this interface + // belongs to. + string subnetwork = 4; + + // Create loopback interface in the router when specified. + // The number of IP addresses must match the number of TOR devices. + repeated string loopback_ip_addresses = 5; + } + + // BGPPeer defines the peer side layer-3 information for building the BGP + // session. + message BgpPeer { + // Name of this BGP peer. Unique within the Zones resource. + string name = 1; + + // Name of the RouterInterface the BGP peer is associated with. + string interface = 2; + + // IP range of the interface within Google. + string interface_ipv4_cidr = 3; + + // IPv6 range of the interface within Google. + string interface_ipv6_cidr = 7; + + // IP range of the BGP interface outside Google. + string peer_ipv4_cidr = 4; + + // IPv6 range of the BGP interface outside Google. + string peer_ipv6_cidr = 6; + + // Peer BGP Autonomous System Number (ASN). Each BGP interface may use + // a different value. + uint32 peer_asn = 5; + + // Output only. Local BGP Autonomous System Number (ASN). + // This field is ST_NOT_REQUIRED because it stores private ASNs, which are + // meaningless outside the zone in which they are being used. + uint32 local_asn = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // BGP information specific to this router. + message Bgp { + // Locally assigned BGP ASN. + uint32 asn = 1; + + // The interval in seconds between BGP keepalive messages that are + // sent to the peer. Default is 20 with value between 20 and 60. + uint32 keepalive_interval_in_seconds = 2; + } + + // Required. The canonical resource name of the router. + string name = 1 [(google.api.field_behavior) = REQUIRED]; + + // Output only. The time when the router was created. + google.protobuf.Timestamp create_time = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The time when the router was last updated. + google.protobuf.Timestamp update_time = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Labels associated with this resource. + map labels = 4; + + // Optional. A free-text description of the resource. Max length 1024 + // characters. + string description = 5 [(google.api.field_behavior) = OPTIONAL]; + + // Required. The canonical name of the network to which this router belongs. + // The name is in the form of + // `projects/{project}/locations/{location}/zones/{zone}/networks/{network}`. + string network = 6 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "edgenetwork.googleapis.com/Network" + } + ]; + + // Router interfaces. + repeated Interface interface = 7; + + // BGP peers. + repeated BgpPeer bgp_peer = 8; + + // BGP information specific to this router. + Bgp bgp = 9; + + // Output only. Current stage of the resource to the device by config push. + ResourceState state = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Optional. A list of CIDRs in IP/Length format to advertise northbound as + // static routes from this router. + repeated string route_advertisements = 11 + [(google.api.field_behavior) = OPTIONAL]; +} + +// LinkLayerAddress contains an IP address and corresponding link-layer address. +message LinkLayerAddress { + // The MAC address of this neighbor. + string mac_address = 1; + + // The IP address of this neighbor. + string ip_address = 2; +} + +// SubnetStatus contains detailed and current technical information about this +// subnet resource. +message SubnetStatus { + // The name of CCFE subnet resource. + string name = 1; + + // BVI MAC address. + string mac_address = 2; + + // A list of LinkLayerAddress, describing the ip address and corresponding + // link-layer address of the neighbors for this subnet. + repeated LinkLayerAddress link_layer_addresses = 3; +} + +// Diagnostics information about interconnect, contains detailed and current +// technical information about Google's side of the connection. +message InterconnectDiagnostics { + // Describing the status for each link on the Interconnect. + message LinkStatus { + // The unique ID for this link assigned during turn up by Google. + string circuit_id = 1; + + // Describing the state of a LACP link. + LinkLACPStatus lacp_status = 2; + + // A list of LinkLLDPStatus objects, used to describe LLDP status of each + // peer for each link on the Interconnect. + repeated LinkLLDPStatus lldp_statuses = 3; + + // Packet counts specific statistics for this link. + PacketCounts packet_counts = 4; + } + + // Containing a collection of interface-related statistics objects. + message PacketCounts { + // The number of packets that are delivered. + int64 inbound_unicast = 1; + + // The number of inbound packets that contained errors. + int64 inbound_errors = 2; + + // The number of inbound packets that were chosen to be discarded even + // though no errors had been detected to prevent their being deliverable. + int64 inbound_discards = 3; + + // The total number of packets that are requested be transmitted. + int64 outbound_unicast = 4; + + // The number of outbound packets that could not be transmitted because of + // errors. + int64 outbound_errors = 5; + + // The number of outbound packets that were chosen to be discarded even + // though no errors had been detected to prevent their being transmitted. + int64 outbound_discards = 6; + } + + // Describing the status of a LACP link. + message LinkLACPStatus { + // State enum for LACP link. + enum State { + // The default state indicating state is in unknown state. + UNKNOWN = 0; + + // The link is configured and active within the bundle. + ACTIVE = 1; + + // The link is not configured within the bundle, this means the rest of + // the object should be empty. + DETACHED = 2; + } + + // The state of a LACP link. + State state = 1; + + // System ID of the port on Google's side of the LACP exchange. + string google_system_id = 2; + + // System ID of the port on the neighbor's side of the LACP exchange. + string neighbor_system_id = 3; + + // A true value indicates that the participant will allow the link to be + // used as part of the aggregate. + // A false value indicates the link should be used as an individual link. + bool aggregatable = 4; + + // If true, the participant is collecting incoming frames on the link, + // otherwise false + bool collecting = 5; + + // When true, the participant is distributing outgoing frames; when false, + // distribution is disabled + bool distributing = 6; + } + + // Describing a LLDP link. + message LinkLLDPStatus { + // The peer system's administratively assigned name. + string peer_system_name = 1; + + // The textual description of the network entity of LLDP peer. + string peer_system_description = 2; + + // The peer chassis component of the endpoint identifier associated with the + // transmitting LLDP agent. + string peer_chassis_id = 3; + + // The format and source of the peer chassis identifier string. + string peer_chassis_id_type = 4; + + // The port component of the endpoint identifier associated with the + // transmitting LLDP agent. If the specified port is an IEEE 802.3 Repeater + // port, then this TLV is optional. + string peer_port_id = 5; + + // The format and source of the peer port identifier string. + string peer_port_id_type = 6; + } + + // The MAC address of the Interconnect's bundle interface. + string mac_address = 1; + + // A list of LinkLayerAddress, describing the ip address and corresponding + // link-layer address of the neighbors for this interconnect. + repeated LinkLayerAddress link_layer_addresses = 2; + + // A list of LinkStatus objects, used to describe the status for each link on + // the Interconnect. + repeated LinkStatus links = 3; +} + +// Describing the current status of a router. +message RouterStatus { + // Status of a BGP peer. + message BgpPeerStatus { + // Status of the BGP peer: {UP, DOWN} + enum BgpStatus { + // The default status indicating BGP session is in unknown state. + UNKNOWN = 0; + + // The UP status indicating BGP session is established. + UP = 1; + + // The DOWN state indicating BGP session is not established yet. + DOWN = 2; + } + + // Name of this BGP peer. Unique within the Routers resource. + string name = 1; + + // IP address of the local BGP interface. + string ip_address = 2; + + // IP address of the remote BGP interface. + string peer_ip_address = 3; + + // The current status of BGP. + BgpStatus status = 4; + + // BGP state as specified in RFC1771. + string state = 5; + + // Time this session has been up. + // Format: + // 14 years, 51 weeks, 6 days, 23 hours, 59 minutes, 59 seconds + string uptime = 6; + + // Time this session has been up, in seconds. + int64 uptime_seconds = 7; + + // A collection of counts for prefixes. + PrefixCounter prefix_counter = 8; + } + + // PrefixCounter contains a collection of prefixes related counts. + message PrefixCounter { + // Number of prefixes advertised. + int64 advertised = 1; + + // Number of prefixes denied. + int64 denied = 2; + + // Number of prefixes received. + int64 received = 3; + + // Number of prefixes sent. + int64 sent = 4; + + // Number of prefixes suppressed. + int64 suppressed = 5; + + // Number of prefixes withdrawn. + int64 withdrawn = 6; + } + + // The canonical name of the network to which this router belongs. + string network = 1 [(google.api.resource_reference) = { + type: "edgenetwork.googleapis.com/Network" + }]; + + // A list of BgpPeerStatus objects, describing all BGP peers related to this + // router. + repeated BgpPeerStatus bgp_peer_status = 2; +} diff --git a/third_party/googleapis/google/cloud/edgenetwork/v1/service.proto b/third_party/googleapis/google/cloud/edgenetwork/v1/service.proto new file mode 100644 index 000000000..b5126c485 --- /dev/null +++ b/third_party/googleapis/google/cloud/edgenetwork/v1/service.proto @@ -0,0 +1,1020 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF 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.edgenetwork.v1; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/edgenetwork/v1/resources.proto"; +import "google/longrunning/operations.proto"; +import "google/protobuf/empty.proto"; +import "google/protobuf/field_mask.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.EdgeNetwork.V1"; +option go_package = "cloud.google.com/go/edgenetwork/apiv1/edgenetworkpb;edgenetworkpb"; +option java_multiple_files = true; +option java_outer_classname = "ServiceProto"; +option java_package = "com.google.cloud.edgenetwork.v1"; +option php_namespace = "Google\\Cloud\\EdgeNetwork\\V1"; +option ruby_package = "Google::Cloud::EdgeNetwork::V1"; + +// EdgeNetwork API provides managed, highly available cloud dynamic network +// configuration service to the GEC customer to enable edge application and +// network function solutions. This allows the customers to easily define and +// configure the network setup and property to meet the workload requirement. +service EdgeNetwork { + option (google.api.default_host) = "edgenetwork.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform"; + + // InitializeZone will initialize resources for a zone in a project. + rpc InitializeZone(InitializeZoneRequest) returns (InitializeZoneResponse) { + option (google.api.http) = { + post: "/v1/{name=projects/*/locations/*/zones/*}:initialize" + body: "*" + }; + option (google.api.method_signature) = "name"; + } + + // Lists Zones in a given project and location. + rpc ListZones(ListZonesRequest) returns (ListZonesResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*}/zones" + }; + option (google.api.method_signature) = "parent"; + } + + // Gets details of a single Zone. + rpc GetZone(GetZoneRequest) returns (Zone) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/zones/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Lists Networks in a given project and location. + rpc ListNetworks(ListNetworksRequest) returns (ListNetworksResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*/zones/*}/networks" + }; + option (google.api.method_signature) = "parent"; + } + + // Gets details of a single Network. + rpc GetNetwork(GetNetworkRequest) returns (Network) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/zones/*/networks/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Get the diagnostics of a single network resource. + rpc DiagnoseNetwork(DiagnoseNetworkRequest) + returns (DiagnoseNetworkResponse) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/zones/*/networks/*}:diagnose" + }; + option (google.api.method_signature) = "name"; + } + + // Creates a new Network in a given project and location. + rpc CreateNetwork(CreateNetworkRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*/zones/*}/networks" + body: "network" + }; + option (google.api.method_signature) = "parent,network,network_id"; + option (google.longrunning.operation_info) = { + response_type: "Network" + metadata_type: "OperationMetadata" + }; + } + + // Deletes a single Network. + rpc DeleteNetwork(DeleteNetworkRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1/{name=projects/*/locations/*/zones/*/networks/*}" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "OperationMetadata" + }; + } + + // Lists Subnets in a given project and location. + rpc ListSubnets(ListSubnetsRequest) returns (ListSubnetsResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*/zones/*}/subnets" + }; + option (google.api.method_signature) = "parent"; + } + + // Gets details of a single Subnet. + rpc GetSubnet(GetSubnetRequest) returns (Subnet) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/zones/*/subnets/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Creates a new Subnet in a given project and location. + rpc CreateSubnet(CreateSubnetRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*/zones/*}/subnets" + body: "subnet" + }; + option (google.api.method_signature) = "parent,subnet,subnet_id"; + option (google.longrunning.operation_info) = { + response_type: "Subnet" + metadata_type: "OperationMetadata" + }; + } + + // Updates the parameters of a single Subnet. + rpc UpdateSubnet(UpdateSubnetRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + patch: "/v1/{subnet.name=projects/*/locations/*/zones/*/subnets/*}" + body: "subnet" + }; + option (google.api.method_signature) = "subnet,update_mask"; + option (google.longrunning.operation_info) = { + response_type: "Subnet" + metadata_type: "OperationMetadata" + }; + } + + // Deletes a single Subnet. + rpc DeleteSubnet(DeleteSubnetRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1/{name=projects/*/locations/*/zones/*/subnets/*}" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "OperationMetadata" + }; + } + + // Lists Interconnects in a given project and location. + rpc ListInterconnects(ListInterconnectsRequest) + returns (ListInterconnectsResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*/zones/*}/interconnects" + }; + option (google.api.method_signature) = "parent"; + } + + // Gets details of a single Interconnect. + rpc GetInterconnect(GetInterconnectRequest) returns (Interconnect) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/zones/*/interconnects/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Get the diagnostics of a single interconnect resource. + rpc DiagnoseInterconnect(DiagnoseInterconnectRequest) + returns (DiagnoseInterconnectResponse) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/zones/*/interconnects/*}:diagnose" + }; + option (google.api.method_signature) = "name"; + } + + // Lists InterconnectAttachments in a given project and location. + rpc ListInterconnectAttachments(ListInterconnectAttachmentsRequest) + returns (ListInterconnectAttachmentsResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*/zones/*}/interconnectAttachments" + }; + option (google.api.method_signature) = "parent"; + } + + // Gets details of a single InterconnectAttachment. + rpc GetInterconnectAttachment(GetInterconnectAttachmentRequest) + returns (InterconnectAttachment) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/zones/*/interconnectAttachments/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Creates a new InterconnectAttachment in a given project and location. + rpc CreateInterconnectAttachment(CreateInterconnectAttachmentRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*/zones/*}/interconnectAttachments" + body: "interconnect_attachment" + }; + option (google.api.method_signature) = + "parent,interconnect_attachment,interconnect_attachment_id"; + option (google.longrunning.operation_info) = { + response_type: "InterconnectAttachment" + metadata_type: "OperationMetadata" + }; + } + + // Deletes a single InterconnectAttachment. + rpc DeleteInterconnectAttachment(DeleteInterconnectAttachmentRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1/{name=projects/*/locations/*/zones/*/interconnectAttachments/*}" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "OperationMetadata" + }; + } + + // Lists Routers in a given project and location. + rpc ListRouters(ListRoutersRequest) returns (ListRoutersResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*/zones/*}/routers" + }; + option (google.api.method_signature) = "parent"; + } + + // Gets details of a single Router. + rpc GetRouter(GetRouterRequest) returns (Router) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/zones/*/routers/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Get the diagnostics of a single router resource. + rpc DiagnoseRouter(DiagnoseRouterRequest) returns (DiagnoseRouterResponse) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/zones/*/routers/*}:diagnose" + }; + option (google.api.method_signature) = "name"; + } + + // Creates a new Router in a given project and location. + rpc CreateRouter(CreateRouterRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*/zones/*}/routers" + body: "router" + }; + option (google.api.method_signature) = "parent,router,router_id"; + option (google.longrunning.operation_info) = { + response_type: "Router" + metadata_type: "OperationMetadata" + }; + } + + // Updates the parameters of a single Router. + rpc UpdateRouter(UpdateRouterRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + patch: "/v1/{router.name=projects/*/locations/*/zones/*/routers/*}" + body: "router" + }; + option (google.api.method_signature) = "router,update_mask"; + option (google.longrunning.operation_info) = { + response_type: "Router" + metadata_type: "OperationMetadata" + }; + } + + // Deletes a single Router. + rpc DeleteRouter(DeleteRouterRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1/{name=projects/*/locations/*/zones/*/routers/*}" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "OperationMetadata" + }; + } +} + +// Message for requesting list of Zones +message ListZonesRequest { + // Required. Parent value for ListZonesRequest + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "edgenetwork.googleapis.com/Zone" + } + ]; + + // Requested page size. Server may return fewer items than requested. + // If unspecified, server will pick an appropriate default. + int32 page_size = 2; + + // A token identifying a page of results the server should return. + string page_token = 3; + + // Filtering results + string filter = 4; + + // Hint for how to order the results + string order_by = 5; +} + +// Message for response to listing Zones +message ListZonesResponse { + // The list of Zone + repeated Zone zones = 1; + + // A token identifying a page of results the server should return. + string next_page_token = 2; + + // Locations that could not be reached. + repeated string unreachable = 3; +} + +// Message for getting a Zone +message GetZoneRequest { + // Required. Name of the resource + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "edgenetwork.googleapis.com/Zone" + } + ]; +} + +// Message for requesting list of Networks +message ListNetworksRequest { + // Required. Parent value for ListNetworksRequest + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "edgenetwork.googleapis.com/Network" + } + ]; + + // Requested page size. Server may return fewer items than requested. + // If unspecified, server will pick an appropriate default. + int32 page_size = 2; + + // A token identifying a page of results the server should return. + string page_token = 3; + + // Filtering results + string filter = 4; + + // Hint for how to order the results + string order_by = 5; +} + +// Message for response to listing Networks +message ListNetworksResponse { + // The list of Network + repeated Network networks = 1; + + // A token identifying a page of results the server should return. + string next_page_token = 2; + + // Locations that could not be reached. + repeated string unreachable = 3; +} + +// Message for getting a Network +message GetNetworkRequest { + // Required. Name of the resource + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "edgenetwork.googleapis.com/Network" + } + ]; +} + +// Message for creating a Network +message CreateNetworkRequest { + // Required. Value for parent. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "edgenetwork.googleapis.com/Network" + } + ]; + + // Required. Id of the requesting object + // If auto-generating Id server-side, remove this field and + // network_id from the method_signature of Create RPC + string network_id = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The resource being created + Network network = 3 [(google.api.field_behavior) = REQUIRED]; + + // Optional. An optional request ID to identify requests. Specify a unique + // request ID so that if you must retry your request, the server will know to + // ignore the request if it has already been completed. The server will + // guarantee that for at least 60 minutes since the first request. + // + // For example, consider a situation where you make an initial request and + // the request times out. If you make the request again with the same request + // ID, the server can check if original operation with the same request ID + // was received, and if so, will ignore the second request. This prevents + // clients from accidentally creating duplicate commitments. + // + // The request ID must be a valid UUID with the exception that zero UUID is + // not supported (00000000-0000-0000-0000-000000000000). + string request_id = 4 [(google.api.field_behavior) = OPTIONAL]; +} + +// Message for deleting a Network +message DeleteNetworkRequest { + // Required. Name of the resource + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "edgenetwork.googleapis.com/Network" + } + ]; + + // Optional. An optional request ID to identify requests. Specify a unique + // request ID so that if you must retry your request, the server will know to + // ignore the request if it has already been completed. The server will + // guarantee that for at least 60 minutes after the first request. + // + // For example, consider a situation where you make an initial request and + // the request times out. If you make the request again with the same request + // ID, the server can check if original operation with the same request ID + // was received, and if so, will ignore the second request. This prevents + // clients from accidentally creating duplicate commitments. + // + // The request ID must be a valid UUID with the exception that zero UUID is + // not supported (00000000-0000-0000-0000-000000000000). + string request_id = 2 [(google.api.field_behavior) = OPTIONAL]; +} + +// Message for requesting list of Subnets +message ListSubnetsRequest { + // Required. Parent value for ListSubnetsRequest + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "edgenetwork.googleapis.com/Subnet" + } + ]; + + // Requested page size. Server may return fewer items than requested. + // If unspecified, server will pick an appropriate default. + int32 page_size = 2; + + // A token identifying a page of results the server should return. + string page_token = 3; + + // Filtering results + string filter = 4; + + // Hint for how to order the results + string order_by = 5; +} + +// Message for response to listing Subnets +message ListSubnetsResponse { + // The list of Subnet + repeated Subnet subnets = 1; + + // A token identifying a page of results the server should return. + string next_page_token = 2; + + // Locations that could not be reached. + repeated string unreachable = 3; +} + +// Message for getting a Subnet +message GetSubnetRequest { + // Required. Name of the resource + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "edgenetwork.googleapis.com/Subnet" + } + ]; +} + +// Message for creating a Subnet +message CreateSubnetRequest { + // Required. Value for parent. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "edgenetwork.googleapis.com/Subnet" + } + ]; + + // Required. Id of the requesting object + // If auto-generating Id server-side, remove this field and + // subnet_id from the method_signature of Create RPC + string subnet_id = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The resource being created + Subnet subnet = 3 [(google.api.field_behavior) = REQUIRED]; + + // Optional. An optional request ID to identify requests. Specify a unique + // request ID so that if you must retry your request, the server will know to + // ignore the request if it has already been completed. The server will + // guarantee that for at least 60 minutes since the first request. + // + // For example, consider a situation where you make an initial request and + // the request times out. If you make the request again with the same request + // ID, the server can check if original operation with the same request ID + // was received, and if so, will ignore the second request. This prevents + // clients from accidentally creating duplicate commitments. + // + // The request ID must be a valid UUID with the exception that zero UUID is + // not supported (00000000-0000-0000-0000-000000000000). + string request_id = 4 [(google.api.field_behavior) = OPTIONAL]; +} + +// Message for updating a Subnet +message UpdateSubnetRequest { + // Required. Field mask is used to specify the fields to be overwritten in the + // Subnet resource by the update. + // The fields specified in the update_mask are relative to the resource, not + // the full request. A field will be overwritten if it is in the mask. If the + // user does not provide a mask then all fields will be overwritten. + google.protobuf.FieldMask update_mask = 1 + [(google.api.field_behavior) = REQUIRED]; + + // Required. The resource being updated + Subnet subnet = 2 [(google.api.field_behavior) = REQUIRED]; + + // Optional. An optional request ID to identify requests. Specify a unique + // request ID so that if you must retry your request, the server will know to + // ignore the request if it has already been completed. The server will + // guarantee that for at least 60 minutes since the first request. + // + // For example, consider a situation where you make an initial request and + // the request times out. If you make the request again with the same request + // ID, the server can check if original operation with the same request ID + // was received, and if so, will ignore the second request. This prevents + // clients from accidentally creating duplicate commitments. + // + // The request ID must be a valid UUID with the exception that zero UUID is + // not supported (00000000-0000-0000-0000-000000000000). + string request_id = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// Message for deleting a Subnet +message DeleteSubnetRequest { + // Required. Name of the resource + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "edgenetwork.googleapis.com/Subnet" + } + ]; + + // Optional. An optional request ID to identify requests. Specify a unique + // request ID so that if you must retry your request, the server will know to + // ignore the request if it has already been completed. The server will + // guarantee that for at least 60 minutes after the first request. + // + // For example, consider a situation where you make an initial request and + // the request times out. If you make the request again with the same request + // ID, the server can check if original operation with the same request ID + // was received, and if so, will ignore the second request. This prevents + // clients from accidentally creating duplicate commitments. + // + // The request ID must be a valid UUID with the exception that zero UUID is + // not supported (00000000-0000-0000-0000-000000000000). + string request_id = 2 [(google.api.field_behavior) = OPTIONAL]; +} + +// Message for requesting list of Interconnects +message ListInterconnectsRequest { + // Required. Parent value for ListInterconnectsRequest + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "edgenetwork.googleapis.com/Interconnect" + } + ]; + + // Requested page size. Server may return fewer items than requested. + // If unspecified, server will pick an appropriate default. + int32 page_size = 2; + + // A token identifying a page of results the server should return. + string page_token = 3; + + // Filtering results + string filter = 4; + + // Hint for how to order the results + string order_by = 5; +} + +// Message for response to listing Interconnects +message ListInterconnectsResponse { + // The list of Interconnect + repeated Interconnect interconnects = 1; + + // A token identifying a page of results the server should return. + string next_page_token = 2; + + // Locations that could not be reached. + repeated string unreachable = 3; +} + +// Message for getting a Interconnect +message GetInterconnectRequest { + // Required. Name of the resource + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "edgenetwork.googleapis.com/Interconnect" + } + ]; +} + +// Message for requesting list of InterconnectAttachments +message ListInterconnectAttachmentsRequest { + // Required. Parent value for ListInterconnectAttachmentsRequest + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "edgenetwork.googleapis.com/InterconnectAttachment" + } + ]; + + // Requested page size. Server may return fewer items than requested. + // If unspecified, server will pick an appropriate default. + int32 page_size = 2; + + // A token identifying a page of results the server should return. + string page_token = 3; + + // Filtering results + string filter = 4; + + // Hint for how to order the results + string order_by = 5; +} + +// Message for response to listing InterconnectAttachments +message ListInterconnectAttachmentsResponse { + // The list of InterconnectAttachment + repeated InterconnectAttachment interconnect_attachments = 1; + + // A token identifying a page of results the server should return. + string next_page_token = 2; + + // Locations that could not be reached. + repeated string unreachable = 3; +} + +// Message for getting a InterconnectAttachment +message GetInterconnectAttachmentRequest { + // Required. Name of the resource + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "edgenetwork.googleapis.com/InterconnectAttachment" + } + ]; +} + +// Message for creating a InterconnectAttachment +message CreateInterconnectAttachmentRequest { + // Required. Value for parent. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "edgenetwork.googleapis.com/InterconnectAttachment" + } + ]; + + // Required. Id of the requesting object + // If auto-generating Id server-side, remove this field and + // interconnect_attachment_id from the method_signature of Create RPC + string interconnect_attachment_id = 2 + [(google.api.field_behavior) = REQUIRED]; + + // Required. The resource being created + InterconnectAttachment interconnect_attachment = 3 + [(google.api.field_behavior) = REQUIRED]; + + // Optional. An optional request ID to identify requests. Specify a unique + // request ID so that if you must retry your request, the server will know to + // ignore the request if it has already been completed. The server will + // guarantee that for at least 60 minutes since the first request. + // + // For example, consider a situation where you make an initial request and + // the request times out. If you make the request again with the same request + // ID, the server can check if original operation with the same request ID + // was received, and if so, will ignore the second request. This prevents + // clients from accidentally creating duplicate commitments. + // + // The request ID must be a valid UUID with the exception that zero UUID is + // not supported (00000000-0000-0000-0000-000000000000). + string request_id = 4 [(google.api.field_behavior) = OPTIONAL]; +} + +// Message for deleting a InterconnectAttachment +message DeleteInterconnectAttachmentRequest { + // Required. Name of the resource + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "edgenetwork.googleapis.com/InterconnectAttachment" + } + ]; + + // Optional. An optional request ID to identify requests. Specify a unique + // request ID so that if you must retry your request, the server will know to + // ignore the request if it has already been completed. The server will + // guarantee that for at least 60 minutes after the first request. + // + // For example, consider a situation where you make an initial request and + // the request times out. If you make the request again with the same request + // ID, the server can check if original operation with the same request ID + // was received, and if so, will ignore the second request. This prevents + // clients from accidentally creating duplicate commitments. + // + // The request ID must be a valid UUID with the exception that zero UUID is + // not supported (00000000-0000-0000-0000-000000000000). + string request_id = 2 [(google.api.field_behavior) = OPTIONAL]; +} + +// Message for requesting list of Routers +message ListRoutersRequest { + // Required. Parent value for ListRoutersRequest + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "edgenetwork.googleapis.com/Router" + } + ]; + + // Requested page size. Server may return fewer items than requested. + // If unspecified, server will pick an appropriate default. + int32 page_size = 2; + + // A token identifying a page of results the server should return. + string page_token = 3; + + // Filtering results + string filter = 4; + + // Hint for how to order the results + string order_by = 5; +} + +// Message for response to listing Routers +message ListRoutersResponse { + // The list of Router + repeated Router routers = 1; + + // A token identifying a page of results the server should return. + string next_page_token = 2; + + // Locations that could not be reached. + repeated string unreachable = 3; +} + +// Message for getting a Router +message GetRouterRequest { + // Required. Name of the resource + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "edgenetwork.googleapis.com/Router" + } + ]; +} + +// Message for creating a Router +message CreateRouterRequest { + // Required. Value for parent. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "edgenetwork.googleapis.com/Router" + } + ]; + + // Required. Id of the requesting object + // If auto-generating Id server-side, remove this field and + // router_id from the method_signature of Create RPC + string router_id = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The resource being created + Router router = 3 [(google.api.field_behavior) = REQUIRED]; + + // Optional. An optional request ID to identify requests. Specify a unique + // request ID so that if you must retry your request, the server will know to + // ignore the request if it has already been completed. The server will + // guarantee that for at least 60 minutes since the first request. + // + // For example, consider a situation where you make an initial request and + // the request times out. If you make the request again with the same request + // ID, the server can check if original operation with the same request ID + // was received, and if so, will ignore the second request. This prevents + // clients from accidentally creating duplicate commitments. + // + // The request ID must be a valid UUID with the exception that zero UUID is + // not supported (00000000-0000-0000-0000-000000000000). + string request_id = 4 [(google.api.field_behavior) = OPTIONAL]; +} + +// Message for updating a Router +message UpdateRouterRequest { + // Required. Field mask is used to specify the fields to be overwritten in the + // Router resource by the update. + // The fields specified in the update_mask are relative to the resource, not + // the full request. A field will be overwritten if it is in the mask. If the + // user does not provide a mask then all fields will be overwritten. + google.protobuf.FieldMask update_mask = 1 + [(google.api.field_behavior) = REQUIRED]; + + // Required. The resource being updated + Router router = 2 [(google.api.field_behavior) = REQUIRED]; + + // Optional. An optional request ID to identify requests. Specify a unique + // request ID so that if you must retry your request, the server will know to + // ignore the request if it has already been completed. The server will + // guarantee that for at least 60 minutes since the first request. + // + // For example, consider a situation where you make an initial request and + // the request times out. If you make the request again with the same request + // ID, the server can check if original operation with the same request ID + // was received, and if so, will ignore the second request. This prevents + // clients from accidentally creating duplicate commitments. + // + // The request ID must be a valid UUID with the exception that zero UUID is + // not supported (00000000-0000-0000-0000-000000000000). + string request_id = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// Message for deleting a Router +message DeleteRouterRequest { + // Required. Name of the resource + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "edgenetwork.googleapis.com/Router" + } + ]; + + // Optional. An optional request ID to identify requests. Specify a unique + // request ID so that if you must retry your request, the server will know to + // ignore the request if it has already been completed. The server will + // guarantee that for at least 60 minutes after the first request. + // + // For example, consider a situation where you make an initial request and + // the request times out. If you make the request again with the same request + // ID, the server can check if original operation with the same request ID + // was received, and if so, will ignore the second request. This prevents + // clients from accidentally creating duplicate commitments. + // + // The request ID must be a valid UUID with the exception that zero UUID is + // not supported (00000000-0000-0000-0000-000000000000). + string request_id = 2 [(google.api.field_behavior) = OPTIONAL]; +} + +// 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_message = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Identifies whether the user has requested cancellation + // of the operation. Operations that have been cancelled successfully + // have [Operation.error][] value with a + // [google.rpc.Status.code][google.rpc.Status.code] of 1, corresponding to + // `Code.CANCELLED`. + bool requested_cancellation = 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]; +} + +// Message for requesting the diagnostics of a network within a specific zone. +message DiagnoseNetworkRequest { + // Required. The name of the network resource. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "edgenetwork.googleapis.com/Network" + } + ]; +} + +// DiagnoseNetworkResponse contains the current status for a specific network. +message DiagnoseNetworkResponse { + // NetworkStatus has a list of status for the subnets under the current + // network. + message NetworkStatus { + // Denotes the status of MACsec sessions for the links of a zone. + enum MacsecStatus { + // MACsec status not specified, likely due to missing metrics. + MACSEC_STATUS_UNSPECIFIED = 0; + + // All relevant links have at least one MACsec session up. + SECURE = 1; + + // At least one relevant link does not have any MACsec sessions up. + UNSECURE = 2; + } + + // A list of status for the subnets under the current network. + repeated SubnetStatus subnet_status = 1; + + // The MACsec status of internal links. + MacsecStatus macsec_status_internal_links = 2; + } + + // The time when the network status was last updated. + google.protobuf.Timestamp update_time = 1; + + // The network status of a specific network. + NetworkStatus result = 2; +} + +// Message for requesting the diagnostics of an interconnect within a specific +// zone. +message DiagnoseInterconnectRequest { + // Required. The name of the interconnect resource. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "edgenetwork.googleapis.com/Interconnect" + } + ]; +} + +// DiagnoseInterconnectResponse contains the current diagnostics for a +// specific interconnect. +message DiagnoseInterconnectResponse { + // The time when the interconnect diagnostics was last updated. + google.protobuf.Timestamp update_time = 1; + + // The network status of a specific interconnect. + InterconnectDiagnostics result = 2; +} + +// Message for requesting diagnositcs of a router within a specific zone. +message DiagnoseRouterRequest { + // Required. The name of the router resource. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "edgenetwork.googleapis.com/Router" + } + ]; +} + +// DiagnoseRouterResponse contains the current status for a specific router. +message DiagnoseRouterResponse { + // The time when the router status was last updated. + google.protobuf.Timestamp update_time = 1; + + // The network status of a specific router. + RouterStatus result = 2; +} + +// Message for initializing a specified zone +message InitializeZoneRequest { + // Required. The name of the zone resource. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "edgenetwork.googleapis.com/Zone" + } + ]; +} + +// The response of initializing a zone +message InitializeZoneResponse {} diff --git a/third_party/googleapis/google/cloud/integrations/v1alpha/cloud_logging_details.proto b/third_party/googleapis/google/cloud/integrations/v1alpha/cloud_logging_details.proto new file mode 100644 index 000000000..bf1f5c08e --- /dev/null +++ b/third_party/googleapis/google/cloud/integrations/v1alpha/cloud_logging_details.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.cloud.integrations.v1alpha; + +import "google/api/field_behavior.proto"; + +option csharp_namespace = "Google.Cloud.Integrations.V1Alpha"; +option go_package = "cloud.google.com/go/integrations/apiv1alpha/integrationspb;integrationspb"; +option java_multiple_files = true; +option java_outer_classname = "CloudLoggingDetailsProto"; +option java_package = "com.google.cloud.integrations.v1alpha"; + +// Cloud Logging details for execution info +message CloudLoggingDetails { + // The severity will be mapped to the Integration Execution State. + enum CloudLoggingSeverity { + // Unspecified + CLOUD_LOGGING_SEVERITY_UNSPECIFIED = 0; + + // If Severity selected is `INFO`, then all the Integration Execution States + // (`IN_PROCESS`, `ON_HOLD`, `SUCCEEDED`, `SUSPENDED`, `ERROR`, `CANCELLED`) + // will be sent to Cloud Logging. + INFO = 2; + + // If Severity selected is `ERROR`, then only the following Integration + // Execution States (`ERROR`, `CANCELLED`) will be sent to Cloud Logging. + ERROR = 3; + + // If Severity selected is `WARNING`, then only the following Integration + // Execution States (`ERROR`, `CANCELLED`) will be sent to Cloud Logging. + WARNING = 4; + } + + // Optional. Severity selected by the customer for the logs to be sent to + // Cloud Logging, for the integration version getting executed. + optional CloudLoggingSeverity cloud_logging_severity = 1 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Status of whether Cloud Logging is enabled or not for the + // integration version getting executed. + optional bool enable_cloud_logging = 2 + [(google.api.field_behavior) = OPTIONAL]; +} diff --git a/third_party/googleapis/google/cloud/integrations/v1alpha/coordinate.proto b/third_party/googleapis/google/cloud/integrations/v1alpha/coordinate.proto new file mode 100644 index 000000000..d5783975d --- /dev/null +++ b/third_party/googleapis/google/cloud/integrations/v1alpha/coordinate.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.cloud.integrations.v1alpha; + +import "google/api/field_behavior.proto"; + +option csharp_namespace = "Google.Cloud.Integrations.V1Alpha"; +option go_package = "cloud.google.com/go/integrations/apiv1alpha/integrationspb;integrationspb"; +option java_multiple_files = true; +option java_outer_classname = "CoordinateProto"; +option java_package = "com.google.cloud.integrations.v1alpha"; + +// Configuration detail of coordinate, it used for UI +message Coordinate { + // Required. X axis of the coordinate + int32 x = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. Y axis of the coordinate + int32 y = 2 [(google.api.field_behavior) = REQUIRED]; +} diff --git a/third_party/googleapis/google/cloud/integrations/v1alpha/integration_state.proto b/third_party/googleapis/google/cloud/integrations/v1alpha/integration_state.proto new file mode 100644 index 000000000..bf31890c8 --- /dev/null +++ b/third_party/googleapis/google/cloud/integrations/v1alpha/integration_state.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.cloud.integrations.v1alpha; + +option csharp_namespace = "Google.Cloud.Integrations.V1Alpha"; +option go_package = "cloud.google.com/go/integrations/apiv1alpha/integrationspb;integrationspb"; +option java_multiple_files = true; +option java_outer_classname = "IntegrationStateProto"; +option java_package = "com.google.cloud.integrations.v1alpha"; + +// Indicates the status of the integration. +enum IntegrationState { + // Default. + INTEGRATION_STATE_UNSPECIFIED = 0; + + // Draft. + DRAFT = 1; + + // Active. + ACTIVE = 2; + + // Archived. + ARCHIVED = 3; + + // Snapshot. + SNAPSHOT = 4; +} diff --git a/third_party/googleapis/google/cloud/language/v2/BUILD.bazel b/third_party/googleapis/google/cloud/language/v2/BUILD.bazel new file mode 100644 index 000000000..d37b37270 --- /dev/null +++ b/third_party/googleapis/google/cloud/language/v2/BUILD.bazel @@ -0,0 +1,368 @@ +# 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 = "language_proto", + srcs = [ + "language_service.proto", + ], + deps = [ + "//google/api:annotations_proto", + "//google/api:client_proto", + "//google/api:field_behavior_proto", + ], +) + +proto_library_with_info( + name = "language_proto_with_info", + deps = [ + ":language_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 = "language_java_proto", + deps = [":language_proto"], +) + +java_grpc_library( + name = "language_java_grpc", + srcs = [":language_proto"], + deps = [":language_java_proto"], +) + +java_gapic_library( + name = "language_java_gapic", + srcs = [":language_proto_with_info"], + gapic_yaml = None, + grpc_service_config = "language_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "language_v2.yaml", + test_deps = [ + ":language_java_grpc", + ], + transport = "grpc+rest", + deps = [ + ":language_java_proto", + "//google/api:api_java_proto", + ], +) + +java_gapic_test( + name = "language_java_gapic_test_suite", + test_classes = [ + "com.google.cloud.language.v2.LanguageServiceClientHttpJsonTest", + "com.google.cloud.language.v2.LanguageServiceClientTest", + ], + runtime_deps = [":language_java_gapic_test"], +) + +# Open Source Packages +java_gapic_assembly_gradle_pkg( + name = "google-cloud-language-v2-java", + transport = "grpc+rest", + deps = [ + ":language_java_gapic", + ":language_java_grpc", + ":language_java_proto", + ":language_proto", + ], + include_samples = True, +) + +############################################################################## +# Go +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "go_gapic_assembly_pkg", + "go_gapic_library", + "go_proto_library", +) + +go_proto_library( + name = "language_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "cloud.google.com/go/language/apiv2/languagepb", + protos = [":language_proto"], + deps = [ + "//google/api:annotations_go_proto", + ], +) + +go_gapic_library( + name = "language_go_gapic", + srcs = [":language_proto_with_info"], + grpc_service_config = "language_grpc_service_config.json", + importpath = "cloud.google.com/go/language/apiv2;language", + metadata = True, + release_level = "ga", + rest_numeric_enums = True, + service_yaml = "language_v2.yaml", + transport = "grpc+rest", + deps = [ + ":language_go_proto", + ], +) + +# Open Source Packages +go_gapic_assembly_pkg( + name = "gapi-cloud-language-v2-go", + deps = [ + ":language_go_gapic", + ":language_go_gapic_srcjar-test.srcjar", + ":language_go_gapic_srcjar-metadata.srcjar", + ":language_go_gapic_srcjar-snippets.srcjar", + ":language_go_proto", + ], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "py_gapic_assembly_pkg", + "py_gapic_library", + "py_test", +) + +py_gapic_library( + name = "language_py_gapic", + srcs = [":language_proto"], + grpc_service_config = "language_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "language_v2.yaml", + transport = "grpc+rest", + deps = [], +) + +py_test( + name = "language_py_gapic_test", + srcs = [ + "language_py_gapic_pytest.py", + "language_py_gapic_test.py", + ], + legacy_create_init = False, + deps = [":language_py_gapic"], +) + +# Open Source Packages +py_gapic_assembly_pkg( + name = "language-v2-py", + deps = [ + ":language_py_gapic", + ], +) + +############################################################################## +# PHP +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "php_gapic_assembly_pkg", + "php_gapic_library", + "php_proto_library", +) + +php_proto_library( + name = "language_php_proto", + deps = [":language_proto"], +) + +php_gapic_library( + name = "language_php_gapic", + srcs = [":language_proto_with_info"], + grpc_service_config = "language_grpc_service_config.json", + rest_numeric_enums = True, + migration_mode = "NEW_SURFACE_ONLY", + service_yaml = "language_v2.yaml", + transport = "grpc+rest", + deps = [ + ":language_php_proto", + ], +) + +# Open Source Packages +php_gapic_assembly_pkg( + name = "google-cloud-language-v2-php", + deps = [ + ":language_php_gapic", + ":language_php_proto", + ], +) + +############################################################################## +# Node.js +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "nodejs_gapic_assembly_pkg", + "nodejs_gapic_library", +) + +nodejs_gapic_library( + name = "language_nodejs_gapic", + package_name = "@google-cloud/language", + src = ":language_proto_with_info", + extra_protoc_parameters = ["metadata"], + grpc_service_config = "language_grpc_service_config.json", + package = "google.cloud.language.v2", + rest_numeric_enums = True, + service_yaml = "language_v2.yaml", + transport = "grpc+rest", + deps = [], +) + +nodejs_gapic_assembly_pkg( + name = "language-v2-nodejs", + deps = [ + ":language_nodejs_gapic", + ":language_proto", + ], +) + +############################################################################## +# Ruby +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "ruby_gapic_assembly_pkg", + "ruby_cloud_gapic_library", + "ruby_grpc_library", + "ruby_proto_library", +) + +ruby_proto_library( + name = "language_ruby_proto", + deps = [":language_proto"], +) + +ruby_grpc_library( + name = "language_ruby_grpc", + srcs = [":language_proto"], + deps = [":language_ruby_proto"], +) + +ruby_cloud_gapic_library( + name = "language_ruby_gapic", + srcs = [":language_proto_with_info"], + extra_protoc_parameters = [ + "ruby-cloud-gem-name=google-cloud-language-v2", + ], + grpc_service_config = "language_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "language_v2.yaml", + transport = "grpc+rest", + deps = [ + ":language_ruby_grpc", + ":language_ruby_proto", + ], +) + +# Open Source Packages +ruby_gapic_assembly_pkg( + name = "google-cloud-language-v2-ruby", + deps = [ + ":language_ruby_gapic", + ":language_ruby_grpc", + ":language_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 = "language_csharp_proto", + extra_opts = [], + deps = [":language_proto"], +) + +csharp_grpc_library( + name = "language_csharp_grpc", + srcs = [":language_proto"], + deps = [":language_csharp_proto"], +) + +csharp_gapic_library( + name = "language_csharp_gapic", + srcs = [":language_proto_with_info"], + common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json", + grpc_service_config = "language_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "language_v2.yaml", + deps = [ + ":language_csharp_grpc", + ":language_csharp_proto", + ], +) + +# Open Source Packages +csharp_gapic_assembly_pkg( + name = "google-cloud-language-v2-csharp", + deps = [ + ":language_csharp_gapic", + ":language_csharp_grpc", + ":language_csharp_proto", + ], +) + +############################################################################## +# C++ +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "cc_grpc_library", + "cc_proto_library", +) + +cc_proto_library( + name = "language_cc_proto", + deps = [":language_proto"], +) + +cc_grpc_library( + name = "language_cc_grpc", + srcs = [":language_proto"], + grpc_only = True, + deps = [":language_cc_proto"], +) diff --git a/third_party/googleapis/google/cloud/language/v2/language_grpc_service_config.json b/third_party/googleapis/google/cloud/language/v2/language_grpc_service_config.json new file mode 100644 index 000000000..00c8bf975 --- /dev/null +++ b/third_party/googleapis/google/cloud/language/v2/language_grpc_service_config.json @@ -0,0 +1,42 @@ +{ + "methodConfig": [ + { + "name": [ + { + "service": "google.cloud.language.v2.LanguageService", + "method": "AnalyzeSentiment" + }, + { + "service": "google.cloud.language.v2.LanguageService", + "method": "AnalyzeEntities" + }, + { + "service": "google.cloud.language.v2.LanguageService", + "method": "AnalyzeEntitySentiment" + }, + { + "service": "google.cloud.language.v2.LanguageService", + "method": "ClassifyText" + }, + { + "service": "google.cloud.language.v2.LanguageService", + "method": "AnnotateText" + }, + { + "service": "google.cloud.language.v2.LanguageService", + "method": "ModerateText" + } + ], + "timeout": "600s", + "retryPolicy": { + "initialBackoff": "0.100s", + "maxBackoff": "60s", + "backoffMultiplier": 1.3, + "retryableStatusCodes": [ + "DEADLINE_EXCEEDED", + "UNAVAILABLE" + ] + } + } + ] +} \ No newline at end of file diff --git a/third_party/googleapis/google/cloud/language/v2/language_service.proto b/third_party/googleapis/google/cloud/language/v2/language_service.proto new file mode 100644 index 000000000..acbdbd4f6 --- /dev/null +++ b/third_party/googleapis/google/cloud/language/v2/language_service.proto @@ -0,0 +1,504 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF 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.language.v2; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; + +option go_package = "cloud.google.com/go/language/apiv2/languagepb;languagepb"; +option java_multiple_files = true; +option java_outer_classname = "LanguageServiceProto"; +option java_package = "com.google.cloud.language.v2"; + +// Provides text analysis operations such as sentiment analysis and entity +// recognition. +service LanguageService { + option (google.api.default_host) = "language.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-language," + "https://www.googleapis.com/auth/cloud-platform"; + + // Analyzes the sentiment of the provided text. + rpc AnalyzeSentiment(AnalyzeSentimentRequest) + returns (AnalyzeSentimentResponse) { + option (google.api.http) = { + post: "/v2/documents:analyzeSentiment" + body: "*" + }; + option (google.api.method_signature) = "document,encoding_type"; + option (google.api.method_signature) = "document"; + } + + // Finds named entities (currently proper names and common nouns) in the text + // along with entity types, probability, mentions for each entity, and + // other properties. + rpc AnalyzeEntities(AnalyzeEntitiesRequest) + returns (AnalyzeEntitiesResponse) { + option (google.api.http) = { + post: "/v2/documents:analyzeEntities" + body: "*" + }; + option (google.api.method_signature) = "document,encoding_type"; + option (google.api.method_signature) = "document"; + } + + // Classifies a document into categories. + rpc ClassifyText(ClassifyTextRequest) returns (ClassifyTextResponse) { + option (google.api.http) = { + post: "/v2/documents:classifyText" + body: "*" + }; + option (google.api.method_signature) = "document"; + } + + // Moderates a document for harmful and sensitive categories. + rpc ModerateText(ModerateTextRequest) returns (ModerateTextResponse) { + option (google.api.http) = { + post: "/v2/documents:moderateText" + body: "*" + }; + option (google.api.method_signature) = "document"; + } + + // A convenience method that provides all features in one call. + rpc AnnotateText(AnnotateTextRequest) returns (AnnotateTextResponse) { + option (google.api.http) = { + post: "/v2/documents:annotateText" + body: "*" + }; + option (google.api.method_signature) = "document,features,encoding_type"; + option (google.api.method_signature) = "document,features"; + } +} + +// Represents the input to API methods. +message Document { + // The document types enum. + enum Type { + // The content type is not specified. + TYPE_UNSPECIFIED = 0; + + // Plain text + PLAIN_TEXT = 1; + + // HTML + HTML = 2; + } + + // Required. If the type is not set or is `TYPE_UNSPECIFIED`, + // returns an `INVALID_ARGUMENT` error. + Type type = 1; + + // The source of the document: a string containing the content or a + // Google Cloud Storage URI. + oneof source { + // The content of the input in string format. + // Cloud audit logging exempt since it is based on user data. + string content = 2; + + // The Google Cloud Storage URI where the file content is located. + // This URI must be of the form: gs://bucket_name/object_name. For more + // details, see https://cloud.google.com/storage/docs/reference-uris. + // NOTE: Cloud Storage object versioning is not supported. + string gcs_content_uri = 3; + } + + // Optional. The language of the document (if not specified, the language is + // automatically detected). Both ISO and BCP-47 language codes are + // accepted.
+ // [Language + // Support](https://cloud.google.com/natural-language/docs/languages) lists + // currently supported languages for each API method. If the language (either + // specified by the caller or automatically detected) is not supported by the + // called API method, an `INVALID_ARGUMENT` error is returned. + string language_code = 4 [(google.api.field_behavior) = OPTIONAL]; +} + +// Represents a sentence in the input document. +message Sentence { + // The sentence text. + TextSpan text = 1; + + // For calls to [AnalyzeSentiment][] or if + // [AnnotateTextRequest.Features.extract_document_sentiment][google.cloud.language.v2.AnnotateTextRequest.Features.extract_document_sentiment] + // is set to true, this field will contain the sentiment for the sentence. + Sentiment sentiment = 2; +} + +// Represents the text encoding that the caller uses to process the output. +// Providing an `EncodingType` is recommended because the API provides the +// beginning offsets for various outputs, such as tokens and mentions, and +// languages that natively use different text encodings may access offsets +// differently. +enum EncodingType { + // If `EncodingType` is not specified, encoding-dependent information (such as + // `begin_offset`) will be set at `-1`. + NONE = 0; + + // Encoding-dependent information (such as `begin_offset`) is calculated based + // on the UTF-8 encoding of the input. C++ and Go are examples of languages + // that use this encoding natively. + UTF8 = 1; + + // Encoding-dependent information (such as `begin_offset`) is calculated based + // on the UTF-16 encoding of the input. Java and JavaScript are examples of + // languages that use this encoding natively. + UTF16 = 2; + + // Encoding-dependent information (such as `begin_offset`) is calculated based + // on the UTF-32 encoding of the input. Python is an example of a language + // that uses this encoding natively. + UTF32 = 3; +} + +// Represents a phrase in the text that is a known entity, such as +// a person, an organization, or location. The API associates information, such +// as probability and mentions, with entities. +message Entity { + // The type of the entity. For most entity types, the associated metadata is a + // Wikipedia URL (`wikipedia_url`) and Knowledge Graph MID (`mid`). The table + // below lists the associated fields for entities that have different + // metadata. + enum Type { + // Unknown + UNKNOWN = 0; + + // Person + PERSON = 1; + + // Location + LOCATION = 2; + + // Organization + ORGANIZATION = 3; + + // Event + EVENT = 4; + + // Artwork + WORK_OF_ART = 5; + + // Consumer product + CONSUMER_GOOD = 6; + + // Other types of entities + OTHER = 7; + + // Phone number + // + // The metadata lists the phone number, formatted according to local + // convention, plus whichever additional elements appear in the text: + // + // * `number` - the actual number, broken down into sections as per local + // convention + // * `national_prefix` - country code, if detected + // * `area_code` - region or area code, if detected + // * `extension` - phone extension (to be dialed after connection), if + // detected + PHONE_NUMBER = 9; + + // Address + // + // The metadata identifies the street number and locality plus whichever + // additional elements appear in the text: + // + // * `street_number` - street number + // * `locality` - city or town + // * `street_name` - street/route name, if detected + // * `postal_code` - postal code, if detected + // * `country` - country, if detected< + // * `broad_region` - administrative area, such as the state, if detected + // * `narrow_region` - smaller administrative area, such as county, if + // detected + // * `sublocality` - used in Asian addresses to demark a district within a + // city, if detected + ADDRESS = 10; + + // Date + // + // The metadata identifies the components of the date: + // + // * `year` - four digit year, if detected + // * `month` - two digit month number, if detected + // * `day` - two digit day number, if detected + DATE = 11; + + // Number + // + // The metadata is the number itself. + NUMBER = 12; + + // Price + // + // The metadata identifies the `value` and `currency`. + PRICE = 13; + } + + // The representative name for the entity. + string name = 1; + + // The entity type. + Type type = 2; + + // Metadata associated with the entity. + // + // For most entity types, the metadata is a Wikipedia URL (`wikipedia_url`) + // and Knowledge Graph MID (`mid`), if they are available. For the metadata + // associated with other entity types, see the Type table below. + map metadata = 3; + + // The mentions of this entity in the input document. The API currently + // supports proper noun mentions. + repeated EntityMention mentions = 5; + + // For calls to [AnalyzeEntitySentiment][] or if + // [AnnotateTextRequest.Features.extract_entity_sentiment][google.cloud.language.v2.AnnotateTextRequest.Features.extract_entity_sentiment] + // is set to true, this field will contain the aggregate sentiment expressed + // for this entity in the provided document. + Sentiment sentiment = 6; +} + +// Represents the feeling associated with the entire text or entities in +// the text. +message Sentiment { + // A non-negative number in the [0, +inf) range, which represents + // the absolute magnitude of sentiment regardless of score (positive or + // negative). + float magnitude = 1; + + // Sentiment score between -1.0 (negative sentiment) and 1.0 + // (positive sentiment). + float score = 2; +} + +// Represents a mention for an entity in the text. Currently, proper noun +// mentions are supported. +message EntityMention { + // The supported types of mentions. + enum Type { + // Unknown + TYPE_UNKNOWN = 0; + + // Proper name + PROPER = 1; + + // Common noun (or noun compound) + COMMON = 2; + } + + // The mention text. + TextSpan text = 1; + + // The type of the entity mention. + Type type = 2; + + // For calls to [AnalyzeEntitySentiment][] or if + // [AnnotateTextRequest.Features.extract_entity_sentiment][google.cloud.language.v2.AnnotateTextRequest.Features.extract_entity_sentiment] + // is set to true, this field will contain the sentiment expressed for this + // mention of the entity in the provided document. + Sentiment sentiment = 3; + + // Probability score associated with the entity. + // + // The score shows the probability of the entity mention being the entity + // type. The score is in (0, 1] range. + float probability = 4; +} + +// Represents a text span in the input document. +message TextSpan { + // The content of the text span, which is a substring of the document. + string content = 1; + + // The API calculates the beginning offset of the content in the original + // document according to the + // [EncodingType][google.cloud.language.v2.EncodingType] specified in the API + // request. + int32 begin_offset = 2; +} + +// Represents a category returned from the text classifier. +message ClassificationCategory { + // The name of the category representing the document. + string name = 1; + + // The classifier's confidence of the category. Number represents how certain + // the classifier is that this category represents the given text. + float confidence = 2; +} + +// The sentiment analysis request message. +message AnalyzeSentimentRequest { + // Required. Input document. + Document document = 1 [(google.api.field_behavior) = REQUIRED]; + + // The encoding type used by the API to calculate sentence offsets. + EncodingType encoding_type = 2; +} + +// The sentiment analysis response message. +message AnalyzeSentimentResponse { + // The overall sentiment of the input document. + Sentiment document_sentiment = 1; + + // The language of the text, which will be the same as the language specified + // in the request or, if not specified, the automatically-detected language. + // See [Document.language][] field for more details. + string language_code = 2; + + // The sentiment for all the sentences in the document. + repeated Sentence sentences = 3; + + // Whether the language is officially supported. The API may still return a + // response when the language is not supported, but it is on a best effort + // basis. + bool language_supported = 4; +} + +// The entity analysis request message. +message AnalyzeEntitiesRequest { + // Required. Input document. + Document document = 1 [(google.api.field_behavior) = REQUIRED]; + + // The encoding type used by the API to calculate offsets. + EncodingType encoding_type = 2; +} + +// The entity analysis response message. +message AnalyzeEntitiesResponse { + // The recognized entities in the input document. + repeated Entity entities = 1; + + // The language of the text, which will be the same as the language specified + // in the request or, if not specified, the automatically-detected language. + // See [Document.language][] field for more details. + string language_code = 2; + + // Whether the language is officially supported. The API may still return a + // response when the language is not supported, but it is on a best effort + // basis. + bool language_supported = 3; +} + +// The document classification request message. +message ClassifyTextRequest { + // Required. Input document. + Document document = 1 [(google.api.field_behavior) = REQUIRED]; +} + +// The document classification response message. +message ClassifyTextResponse { + // Categories representing the input document. + repeated ClassificationCategory categories = 1; + + // The language of the text, which will be the same as the language specified + // in the request or, if not specified, the automatically-detected language. + // See [Document.language][] field for more details. + string language_code = 2; + + // Whether the language is officially supported. The API may still return a + // response when the language is not supported, but it is on a best effort + // basis. + bool language_supported = 3; +} + +// The document moderation request message. +message ModerateTextRequest { + // Required. Input document. + Document document = 1 [(google.api.field_behavior) = REQUIRED]; +} + +// The document moderation response message. +message ModerateTextResponse { + // Harmful and sensitive categories representing the input document. + repeated ClassificationCategory moderation_categories = 1; + + // The language of the text, which will be the same as the language specified + // in the request or, if not specified, the automatically-detected language. + // See [Document.language][] field for more details. + string language_code = 2; + + // Whether the language is officially supported. The API may still return a + // response when the language is not supported, but it is on a best effort + // basis. + bool language_supported = 3; +} + +// The request message for the text annotation API, which can perform multiple +// analysis types in one call. +message AnnotateTextRequest { + // All available features. + // Setting each one to true will enable that specific analysis for the input. + message Features { + // Optional. Extract entities. + bool extract_entities = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Extract document-level sentiment. + bool extract_document_sentiment = 2 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Classify the full document into categories. + bool classify_text = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Moderate the document for harmful and sensitive categories. + bool moderate_text = 5 [(google.api.field_behavior) = OPTIONAL]; + } + + // Required. Input document. + Document document = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The enabled features. + Features features = 2 [(google.api.field_behavior) = REQUIRED]; + + // The encoding type used by the API to calculate offsets. + EncodingType encoding_type = 3; +} + +// The text annotations response message. +message AnnotateTextResponse { + // Sentences in the input document. Populated if the user enables + // [AnnotateTextRequest.Features.extract_document_sentiment][google.cloud.language.v2.AnnotateTextRequest.Features.extract_document_sentiment]. + repeated Sentence sentences = 1; + + // Entities, along with their semantic information, in the input document. + // Populated if the user enables + // [AnnotateTextRequest.Features.extract_entities][google.cloud.language.v2.AnnotateTextRequest.Features.extract_entities] + // or + // [AnnotateTextRequest.Features.extract_entity_sentiment][google.cloud.language.v2.AnnotateTextRequest.Features.extract_entity_sentiment]. + repeated Entity entities = 2; + + // The overall sentiment for the document. Populated if the user enables + // [AnnotateTextRequest.Features.extract_document_sentiment][google.cloud.language.v2.AnnotateTextRequest.Features.extract_document_sentiment]. + Sentiment document_sentiment = 3; + + // The language of the text, which will be the same as the language specified + // in the request or, if not specified, the automatically-detected language. + // See [Document.language][] field for more details. + string language_code = 4; + + // Categories identified in the input document. + repeated ClassificationCategory categories = 5; + + // Harmful and sensitive categories identified in the input document. + repeated ClassificationCategory moderation_categories = 6; + + // Whether the language is officially supported by all requested features. + // The API may still return a response when the language is not supported, but + // it is on a best effort basis. + bool language_supported = 7; +} diff --git a/third_party/googleapis/google/cloud/language/v2/language_v2.yaml b/third_party/googleapis/google/cloud/language/v2/language_v2.yaml new file mode 100644 index 000000000..03718123a --- /dev/null +++ b/third_party/googleapis/google/cloud/language/v2/language_v2.yaml @@ -0,0 +1,73 @@ +type: google.api.Service +config_version: 3 +name: language.googleapis.com +title: Cloud Natural Language API + +apis: +- name: google.cloud.language.v2.LanguageService + +documentation: + summary: |- + Provides natural language understanding technologies, such as sentiment + analysis, entity recognition, entity sentiment analysis, and other text + annotations, to developers. + +authentication: + rules: + - selector: 'google.cloud.language.v2.LanguageService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-language, + https://www.googleapis.com/auth/cloud-platform + +publishing: + new_issue_uri: https://issuetracker.google.com/issues/new?component=187079&template=1161334 + documentation_uri: https://cloud.google.com/natural-language/docs + api_short_name: language + github_label: 'api: language' + doc_tag_prefix: language + organization: CLOUD + library_settings: + - version: google.cloud.language.v1 + launch_stage: GA + dotnet_settings: + handwritten_signatures: + - LanguageService.AnalyzeEntities(document) + - LanguageService.AnalyzeSyntax(document) + - LanguageService.AnnotateText(document,features) + - LanguageService.AnalyzeEntitySentiment(document) + - version: google.cloud.language.v2 + 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 + proto_reference_documentation_uri: https://cloud.google.com/natural-language/docs/reference/rpc diff --git a/third_party/googleapis/google/cloud/metastore/logging/v1/scheduled_backups_log.proto b/third_party/googleapis/google/cloud/metastore/logging/v1/scheduled_backups_log.proto new file mode 100644 index 000000000..ee00911be --- /dev/null +++ b/third_party/googleapis/google/cloud/metastore/logging/v1/scheduled_backups_log.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.cloud.metastore.logging.v1; + +import "google/api/field_behavior.proto"; +import "google/protobuf/timestamp.proto"; + +option go_package = "cloud.google.com/go/metastore/logging/apiv1/loggingpb;loggingpb"; +option java_multiple_files = true; +option java_outer_classname = "ScheduledBackupsLogProto"; +option java_package = "google.cloud.metastore.logging.v1"; + +// Cloud Logging log schema for scheduled backup events. +message ScheduledBackupLogEntry { + // The current state of the backup. + enum State { + // The state of the backup is unknown. + STATE_UNSPECIFIED = 0; + + // The backup is in progress. + IN_PROGRESS = 1; + + // The backup completed. + SUCCEEDED = 2; + + // The backup failed. + FAILED = 3; + } + + // The ID of the backup. + string backup_id = 1; + + // The relative resource name of a Metastore service in the form of + // `projects/{project_id}/locations/{location_id}/services/{service_id}` + string service = 2; + + // Timestamp when the backup was started. + google.protobuf.Timestamp start_time = 3; + + // Timestamp when the backup was completed. + google.protobuf.Timestamp end_time = 4; + + // Output only. The current state of the backup. + State state = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Size of the backup data in bytes. + int64 backup_size_bytes = 6; + + // A Cloud Storage URI of a folder, in the format + // `gs:///`. + string backup_location = 7; + + // Message that provides (optional) details about the backup. + string message = 8; +} diff --git a/third_party/googleapis/google/cloud/migrationcenter/BUILD.bazel b/third_party/googleapis/google/cloud/migrationcenter/BUILD.bazel new file mode 100644 index 000000000..6a0f06c31 --- /dev/null +++ b/third_party/googleapis/google/cloud/migrationcenter/BUILD.bazel @@ -0,0 +1,36 @@ +# This build file includes a target for the Ruby wrapper library for +# google-cloud-migration_center. + +# 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 migrationcenter. +# 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 = "migrationcenter_ruby_wrapper", + srcs = ["//google/cloud/migrationcenter/v1:migrationcenter_proto_with_info"], + extra_protoc_parameters = [ + "ruby-cloud-gem-name=google-cloud-migration_center", + "ruby-cloud-wrapper-of=v1:0.2", + ], + service_yaml = "//google/cloud/migrationcenter/v1:migrationcenter_v1.yaml", + transport = "grpc+rest", +) + +# Open Source package. +ruby_gapic_assembly_pkg( + name = "google-cloud-migrationcenter-ruby", + deps = [ + ":migrationcenter_ruby_wrapper", + ], +) diff --git a/third_party/googleapis/google/cloud/migrationcenter/v1/BUILD.bazel b/third_party/googleapis/google/cloud/migrationcenter/v1/BUILD.bazel new file mode 100644 index 000000000..4961e9d0f --- /dev/null +++ b/third_party/googleapis/google/cloud/migrationcenter/v1/BUILD.bazel @@ -0,0 +1,383 @@ +# 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 = "migrationcenter_proto", + srcs = [ + "migrationcenter.proto", + ], + deps = [ + "//google/api:annotations_proto", + "//google/api:client_proto", + "//google/api:field_behavior_proto", + "//google/api:resource_proto", + "//google/longrunning:operations_proto", + "//google/type:date_proto", + "//google/type:money_proto", + "@com_google_protobuf//:empty_proto", + "@com_google_protobuf//:field_mask_proto", + "@com_google_protobuf//:timestamp_proto", + ], +) + +proto_library_with_info( + name = "migrationcenter_proto_with_info", + deps = [ + ":migrationcenter_proto", + "//google/cloud:common_resources_proto", + "//google/cloud/location:location_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 = "migrationcenter_java_proto", + deps = [":migrationcenter_proto"], +) + +java_grpc_library( + name = "migrationcenter_java_grpc", + srcs = [":migrationcenter_proto"], + deps = [":migrationcenter_java_proto"], +) + +java_gapic_library( + name = "migrationcenter_java_gapic", + srcs = [":migrationcenter_proto_with_info"], + gapic_yaml = None, + grpc_service_config = "migrationcenter_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "migrationcenter_v1.yaml", + test_deps = [ + "//google/cloud/location:location_java_grpc", + ":migrationcenter_java_grpc", + ], + transport = "grpc+rest", + deps = [ + ":migrationcenter_java_proto", + "//google/api:api_java_proto", + "//google/cloud/location:location_java_proto", + ], +) + +java_gapic_test( + name = "migrationcenter_java_gapic_test_suite", + test_classes = [ + "com.google.cloud.migrationcenter.v1.MigrationCenterClientHttpJsonTest", + "com.google.cloud.migrationcenter.v1.MigrationCenterClientTest", + ], + runtime_deps = [":migrationcenter_java_gapic_test"], +) + +# Open Source Packages +java_gapic_assembly_gradle_pkg( + name = "google-cloud-migrationcenter-v1-java", + include_samples = True, + transport = "grpc+rest", + deps = [ + ":migrationcenter_java_gapic", + ":migrationcenter_java_grpc", + ":migrationcenter_java_proto", + ":migrationcenter_proto", + ], +) + +############################################################################## +# Go +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "go_gapic_assembly_pkg", + "go_gapic_library", + "go_proto_library", +) + +go_proto_library( + name = "migrationcenter_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "cloud.google.com/go/migrationcenter/apiv1/migrationcenterpb", + protos = [":migrationcenter_proto"], + deps = [ + "//google/api:annotations_go_proto", + "//google/longrunning:longrunning_go_proto", + "//google/type:date_go_proto", + "//google/type:money_go_proto", + ], +) + +go_gapic_library( + name = "migrationcenter_go_gapic", + srcs = [":migrationcenter_proto_with_info"], + grpc_service_config = "migrationcenter_grpc_service_config.json", + importpath = "cloud.google.com/go/migrationcenter/apiv1;migrationcenter", + metadata = True, + release_level = "beta", + rest_numeric_enums = True, + service_yaml = "migrationcenter_v1.yaml", + transport = "grpc+rest", + deps = [ + ":migrationcenter_go_proto", + "//google/cloud/location:location_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-migrationcenter-v1-go", + deps = [ + ":migrationcenter_go_gapic", + ":migrationcenter_go_gapic_srcjar-metadata.srcjar", + ":migrationcenter_go_gapic_srcjar-snippets.srcjar", + ":migrationcenter_go_gapic_srcjar-test.srcjar", + ":migrationcenter_go_proto", + ], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "py_gapic_assembly_pkg", + "py_gapic_library", + "py_test", +) + +py_gapic_library( + name = "migrationcenter_py_gapic", + srcs = [":migrationcenter_proto"], + grpc_service_config = "migrationcenter_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "migrationcenter_v1.yaml", + transport = "grpc+rest", + deps = [ + ], +) + +py_test( + name = "migrationcenter_py_gapic_test", + srcs = [ + "migrationcenter_py_gapic_pytest.py", + "migrationcenter_py_gapic_test.py", + ], + legacy_create_init = False, + deps = [":migrationcenter_py_gapic"], +) + +# Open Source Packages +py_gapic_assembly_pkg( + name = "migrationcenter-v1-py", + deps = [ + ":migrationcenter_py_gapic", + ], +) + +############################################################################## +# PHP +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "php_gapic_assembly_pkg", + "php_gapic_library", + "php_proto_library", +) + +php_proto_library( + name = "migrationcenter_php_proto", + deps = [":migrationcenter_proto"], +) + +php_gapic_library( + name = "migrationcenter_php_gapic", + srcs = [":migrationcenter_proto_with_info"], + grpc_service_config = "migrationcenter_grpc_service_config.json", + migration_mode = "NEW_SURFACE_ONLY", + rest_numeric_enums = True, + service_yaml = "migrationcenter_v1.yaml", + transport = "grpc+rest", + deps = [ + ":migrationcenter_php_proto", + ], +) + +# Open Source Packages +php_gapic_assembly_pkg( + name = "google-cloud-migrationcenter-v1-php", + deps = [ + ":migrationcenter_php_gapic", + ":migrationcenter_php_proto", + ], +) + +############################################################################## +# Node.js +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "nodejs_gapic_assembly_pkg", + "nodejs_gapic_library", +) + +nodejs_gapic_library( + name = "migrationcenter_nodejs_gapic", + package_name = "@google-cloud/migrationcenter", + src = ":migrationcenter_proto_with_info", + extra_protoc_parameters = ["metadata"], + grpc_service_config = "migrationcenter_grpc_service_config.json", + package = "google.cloud.migrationcenter.v1", + rest_numeric_enums = True, + service_yaml = "migrationcenter_v1.yaml", + transport = "grpc+rest", + deps = [], +) + +nodejs_gapic_assembly_pkg( + name = "migrationcenter-v1-nodejs", + deps = [ + ":migrationcenter_nodejs_gapic", + ":migrationcenter_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 = "migrationcenter_ruby_proto", + deps = [":migrationcenter_proto"], +) + +ruby_grpc_library( + name = "migrationcenter_ruby_grpc", + srcs = [":migrationcenter_proto"], + deps = [":migrationcenter_ruby_proto"], +) + +ruby_cloud_gapic_library( + name = "migrationcenter_ruby_gapic", + srcs = [":migrationcenter_proto_with_info"], + extra_protoc_parameters = ["ruby-cloud-gem-name=google-cloud-migration_center-v1"], + grpc_service_config = "migrationcenter_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "migrationcenter_v1.yaml", + transport = "grpc+rest", + deps = [ + ":migrationcenter_ruby_grpc", + ":migrationcenter_ruby_proto", + ], +) + +# Open Source Packages +ruby_gapic_assembly_pkg( + name = "google-cloud-migrationcenter-v1-ruby", + deps = [ + ":migrationcenter_ruby_gapic", + ":migrationcenter_ruby_grpc", + ":migrationcenter_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 = "migrationcenter_csharp_proto", + deps = [":migrationcenter_proto"], +) + +csharp_grpc_library( + name = "migrationcenter_csharp_grpc", + srcs = [":migrationcenter_proto"], + deps = [":migrationcenter_csharp_proto"], +) + +csharp_gapic_library( + name = "migrationcenter_csharp_gapic", + srcs = [":migrationcenter_proto_with_info"], + common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json", + grpc_service_config = "migrationcenter_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "migrationcenter_v1.yaml", + deps = [ + ":migrationcenter_csharp_grpc", + ":migrationcenter_csharp_proto", + ], +) + +# Open Source Packages +csharp_gapic_assembly_pkg( + name = "google-cloud-migrationcenter-v1-csharp", + deps = [ + ":migrationcenter_csharp_gapic", + ":migrationcenter_csharp_grpc", + ":migrationcenter_csharp_proto", + ], +) + +############################################################################## +# C++ +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "cc_grpc_library", + "cc_proto_library", +) + +cc_proto_library( + name = "migrationcenter_cc_proto", + deps = [":migrationcenter_proto"], +) + +cc_grpc_library( + name = "migrationcenter_cc_grpc", + srcs = [":migrationcenter_proto"], + grpc_only = True, + deps = [":migrationcenter_cc_proto"], +) diff --git a/third_party/googleapis/google/cloud/migrationcenter/v1/migrationcenter.proto b/third_party/googleapis/google/cloud/migrationcenter/v1/migrationcenter.proto new file mode 100644 index 000000000..d1b1fb2e2 --- /dev/null +++ b/third_party/googleapis/google/cloud/migrationcenter/v1/migrationcenter.proto @@ -0,0 +1,4235 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF 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.migrationcenter.v1; + +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/protobuf/timestamp.proto"; +import "google/type/date.proto"; +import "google/type/money.proto"; + +option csharp_namespace = "Google.Cloud.MigrationCenter.V1"; +option go_package = "cloud.google.com/go/migrationcenter/apiv1/migrationcenterpb;migrationcenterpb"; +option java_multiple_files = true; +option java_outer_classname = "MigrationCenterProto"; +option java_package = "com.google.cloud.migrationcenter.v1"; +option php_namespace = "Google\\Cloud\\MigrationCenter\\V1"; +option ruby_package = "Google::Cloud::MigrationCenter::V1"; + +// Service describing handlers for resources. +service MigrationCenter { + option (google.api.default_host) = "migrationcenter.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform"; + + // Lists all the assets in a given project and location. + rpc ListAssets(ListAssetsRequest) returns (ListAssetsResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*}/assets" + }; + option (google.api.method_signature) = "parent"; + } + + // Gets the details of an asset. + rpc GetAsset(GetAssetRequest) returns (Asset) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/assets/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Updates the parameters of an asset. + rpc UpdateAsset(UpdateAssetRequest) returns (Asset) { + option (google.api.http) = { + patch: "/v1/{asset.name=projects/*/locations/*/assets/*}" + body: "asset" + }; + option (google.api.method_signature) = "asset,update_mask"; + } + + // Updates the parameters of a list of assets. + rpc BatchUpdateAssets(BatchUpdateAssetsRequest) + returns (BatchUpdateAssetsResponse) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*}/assets:batchUpdate" + body: "*" + }; + option (google.api.method_signature) = "parent,requests"; + } + + // Deletes an asset. + rpc DeleteAsset(DeleteAssetRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + delete: "/v1/{name=projects/*/locations/*/assets/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Deletes list of Assets. + rpc BatchDeleteAssets(BatchDeleteAssetsRequest) + returns (google.protobuf.Empty) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*}/assets:batchDelete" + body: "*" + }; + option (google.api.method_signature) = "parent,names"; + } + + // Reports a set of frames. + rpc ReportAssetFrames(ReportAssetFramesRequest) + returns (ReportAssetFramesResponse) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*}/assets:reportAssetFrames" + body: "frames" + }; + } + + // Aggregates the requested fields based on provided function. + rpc AggregateAssetsValues(AggregateAssetsValuesRequest) + returns (AggregateAssetsValuesResponse) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*}/assets:aggregateValues" + body: "*" + }; + } + + // Creates an import job. + rpc CreateImportJob(CreateImportJobRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*}/importJobs" + body: "import_job" + }; + option (google.api.method_signature) = "parent,import_job,import_job_id"; + option (google.longrunning.operation_info) = { + response_type: "ImportJob" + metadata_type: "OperationMetadata" + }; + } + + // Lists all import jobs. + rpc ListImportJobs(ListImportJobsRequest) returns (ListImportJobsResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*}/importJobs" + }; + option (google.api.method_signature) = "parent"; + } + + // Gets the details of an import job. + rpc GetImportJob(GetImportJobRequest) returns (ImportJob) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/importJobs/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Deletes an import job. + rpc DeleteImportJob(DeleteImportJobRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1/{name=projects/*/locations/*/importJobs/*}" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "OperationMetadata" + }; + } + + // Updates an import job. + rpc UpdateImportJob(UpdateImportJobRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + patch: "/v1/{import_job.name=projects/*/locations/*/importJobs/*}" + body: "import_job" + }; + option (google.api.method_signature) = "import_job,update_mask"; + option (google.longrunning.operation_info) = { + response_type: "ImportJob" + metadata_type: "OperationMetadata" + }; + } + + // Validates an import job. + rpc ValidateImportJob(ValidateImportJobRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{name=projects/*/locations/*/importJobs/*}:validate" + body: "*" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "OperationMetadata" + }; + } + + // Runs an import job. + rpc RunImportJob(RunImportJobRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{name=projects/*/locations/*/importJobs/*}:run" + body: "*" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "OperationMetadata" + }; + } + + // Gets an import data file. + rpc GetImportDataFile(GetImportDataFileRequest) returns (ImportDataFile) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/importJobs/*/importDataFiles/*}" + }; + option (google.api.method_signature) = "name"; + } + + // List import data files. + rpc ListImportDataFiles(ListImportDataFilesRequest) + returns (ListImportDataFilesResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*/importJobs/*}/importDataFiles" + }; + option (google.api.method_signature) = "parent"; + } + + // Creates an import data file. + rpc CreateImportDataFile(CreateImportDataFileRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*/importJobs/*}/importDataFiles" + body: "import_data_file" + }; + option (google.api.method_signature) = + "parent,import_data_file,import_data_file_id"; + option (google.longrunning.operation_info) = { + response_type: "ImportDataFile" + metadata_type: "OperationMetadata" + }; + } + + // Delete an import data file. + rpc DeleteImportDataFile(DeleteImportDataFileRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1/{name=projects/*/locations/*/importJobs/*/importDataFiles/*}" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "OperationMetadata" + }; + } + + // Lists all groups in a given project and location. + rpc ListGroups(ListGroupsRequest) returns (ListGroupsResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*}/groups" + }; + option (google.api.method_signature) = "parent"; + } + + // Gets the details of a group. + rpc GetGroup(GetGroupRequest) returns (Group) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/groups/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Creates a new group in a given project and location. + rpc CreateGroup(CreateGroupRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*}/groups" + body: "group" + }; + option (google.api.method_signature) = "parent,group,group_id"; + option (google.longrunning.operation_info) = { + response_type: "Group" + metadata_type: "OperationMetadata" + }; + } + + // Updates the parameters of a group. + rpc UpdateGroup(UpdateGroupRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + patch: "/v1/{group.name=projects/*/locations/*/groups/*}" + body: "group" + }; + option (google.api.method_signature) = "group,update_mask"; + option (google.longrunning.operation_info) = { + response_type: "Group" + metadata_type: "OperationMetadata" + }; + } + + // Deletes a group. + rpc DeleteGroup(DeleteGroupRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1/{name=projects/*/locations/*/groups/*}" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "OperationMetadata" + }; + } + + // Adds assets to a group. + rpc AddAssetsToGroup(AddAssetsToGroupRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{group=projects/*/locations/*/groups/*}:addAssets" + body: "*" + }; + option (google.api.method_signature) = "group"; + option (google.longrunning.operation_info) = { + response_type: "Group" + metadata_type: "OperationMetadata" + }; + } + + // Removes assets from a group. + rpc RemoveAssetsFromGroup(RemoveAssetsFromGroupRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{group=projects/*/locations/*/groups/*}:removeAssets" + body: "*" + }; + option (google.api.method_signature) = "group"; + option (google.longrunning.operation_info) = { + response_type: "Group" + metadata_type: "OperationMetadata" + }; + } + + // Lists all error frames in a given source and location. + rpc ListErrorFrames(ListErrorFramesRequest) + returns (ListErrorFramesResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*/sources/*}/errorFrames" + }; + option (google.api.method_signature) = "parent"; + } + + // Gets the details of an error frame. + rpc GetErrorFrame(GetErrorFrameRequest) returns (ErrorFrame) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/sources/*/errorFrames/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Lists all the sources in a given project and location. + rpc ListSources(ListSourcesRequest) returns (ListSourcesResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*}/sources" + }; + option (google.api.method_signature) = "parent"; + } + + // Gets the details of a source. + rpc GetSource(GetSourceRequest) returns (Source) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/sources/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Creates a new source in a given project and location. + rpc CreateSource(CreateSourceRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*}/sources" + body: "source" + }; + option (google.api.method_signature) = "parent,source,source_id"; + option (google.longrunning.operation_info) = { + response_type: "Source" + metadata_type: "OperationMetadata" + }; + } + + // Updates the parameters of a source. + rpc UpdateSource(UpdateSourceRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + patch: "/v1/{source.name=projects/*/locations/*/sources/*}" + body: "source" + }; + option (google.api.method_signature) = "source,update_mask"; + option (google.longrunning.operation_info) = { + response_type: "Source" + metadata_type: "OperationMetadata" + }; + } + + // Deletes a source. + rpc DeleteSource(DeleteSourceRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1/{name=projects/*/locations/*/sources/*}" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "OperationMetadata" + }; + } + + // Lists all the preference sets in a given project and location. + rpc ListPreferenceSets(ListPreferenceSetsRequest) + returns (ListPreferenceSetsResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*}/preferenceSets" + }; + option (google.api.method_signature) = "parent"; + } + + // Gets the details of a preference set. + rpc GetPreferenceSet(GetPreferenceSetRequest) returns (PreferenceSet) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/preferenceSets/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Creates a new preference set in a given project and location. + rpc CreatePreferenceSet(CreatePreferenceSetRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*}/preferenceSets" + body: "preference_set" + }; + option (google.api.method_signature) = + "parent,preference_set,preference_set_id"; + option (google.longrunning.operation_info) = { + response_type: "PreferenceSet" + metadata_type: "OperationMetadata" + }; + } + + // Updates the parameters of a preference set. + rpc UpdatePreferenceSet(UpdatePreferenceSetRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + patch: "/v1/{preference_set.name=projects/*/locations/*/preferenceSets/*}" + body: "preference_set" + }; + option (google.api.method_signature) = "preference_set,update_mask"; + option (google.longrunning.operation_info) = { + response_type: "PreferenceSet" + metadata_type: "OperationMetadata" + }; + } + + // Deletes a preference set. + rpc DeletePreferenceSet(DeletePreferenceSetRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1/{name=projects/*/locations/*/preferenceSets/*}" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "OperationMetadata" + }; + } + + // Gets the details of regional settings. + rpc GetSettings(GetSettingsRequest) returns (Settings) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/settings}" + }; + option (google.api.method_signature) = "name"; + } + + // Updates the regional-level project settings. + rpc UpdateSettings(UpdateSettingsRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + patch: "/v1/{settings.name=projects/*/locations/*/settings}" + body: "settings" + }; + option (google.api.method_signature) = "settings,update_mask"; + option (google.longrunning.operation_info) = { + response_type: "Settings" + metadata_type: "OperationMetadata" + }; + } + + // Creates a report configuration. + rpc CreateReportConfig(CreateReportConfigRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*}/reportConfigs" + body: "report_config" + }; + option (google.api.method_signature) = + "parent,report_config,report_config_id"; + option (google.longrunning.operation_info) = { + response_type: "ReportConfig" + metadata_type: "OperationMetadata" + }; + } + + // Gets details of a single ReportConfig. + rpc GetReportConfig(GetReportConfigRequest) returns (ReportConfig) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/reportConfigs/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Lists ReportConfigs in a given project and location. + rpc ListReportConfigs(ListReportConfigsRequest) + returns (ListReportConfigsResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*}/reportConfigs" + }; + option (google.api.method_signature) = "parent"; + } + + // Deletes a ReportConfig. + rpc DeleteReportConfig(DeleteReportConfigRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1/{name=projects/*/locations/*/reportConfigs/*}" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "OperationMetadata" + }; + } + + // Creates a report. + rpc CreateReport(CreateReportRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*/reportConfigs/*}/reports" + body: "report" + }; + option (google.api.method_signature) = "parent,report,report_id"; + option (google.longrunning.operation_info) = { + response_type: "Report" + metadata_type: "OperationMetadata" + }; + } + + // Gets details of a single Report. + rpc GetReport(GetReportRequest) returns (Report) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/reportConfigs/*/reports/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Lists Reports in a given ReportConfig. + rpc ListReports(ListReportsRequest) returns (ListReportsResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*/reportConfigs/*}/reports" + }; + option (google.api.method_signature) = "parent"; + } + + // Deletes a Report. + rpc DeleteReport(DeleteReportRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1/{name=projects/*/locations/*/reportConfigs/*/reports/*}" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "OperationMetadata" + }; + } +} + +// An asset represents a resource in your environment. Asset types include +// virtual machines and databases. +message Asset { + option (google.api.resource) = { + type: "migrationcenter.googleapis.com/Asset" + pattern: "projects/{project}/locations/{location}/assets/{asset}" + }; + + // Output only. The full name of the asset. + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The timestamp when the asset was created. + google.protobuf.Timestamp create_time = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The timestamp when the asset was last updated. + google.protobuf.Timestamp update_time = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Labels as key value pairs. + map labels = 4; + + // Generic asset attributes. + map attributes = 5; + + // The internal information of an asset. Only one field can be specified + // with different attributes based on the type of the asset. + oneof AssetDetails { + // Output only. Asset information specific for virtual and physical + // machines. + MachineDetails machine_details = 6 + [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Output only. The list of insights associated with the asset. + InsightList insight_list = 20 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Performance data for the asset. + AssetPerformanceData performance_data = 21 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The list of sources contributing to the asset. + repeated string sources = 22 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "migrationcenter.googleapis.com/Source" + } + ]; + + // Output only. The list of groups that the asset is assigned to. + repeated string assigned_groups = 23 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "migrationcenter.googleapis.com/Group" + } + ]; +} + +// The preferences that apply to all assets in a given context. +message PreferenceSet { + option (google.api.resource) = { + type: "migrationcenter.googleapis.com/PreferenceSet" + pattern: "projects/{project}/locations/{location}/preferenceSets/{preference_set}" + }; + + // Output only. Name of the preference set. + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The timestamp when the preference set was created. + google.protobuf.Timestamp create_time = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The timestamp when the preference set was last updated. + google.protobuf.Timestamp update_time = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // User-friendly display name. Maximum length is 63 characters. + string display_name = 4; + + // A description of the preference set. + string description = 5; + + // A set of preferences that applies to all virtual machines in the context. + VirtualMachinePreferences virtual_machine_preferences = 6; +} + +// A resource that represents the background job that imports asset frames. +message ImportJob { + option (google.api.resource) = { + type: "migrationcenter.googleapis.com/ImportJob" + pattern: "projects/{project}/locations/{location}/importJobs/{import_job}" + }; + + // Enumerates possible states of an import job. + enum ImportJobState { + // Default value. + IMPORT_JOB_STATE_UNSPECIFIED = 0; + + // The import job is pending. + IMPORT_JOB_STATE_PENDING = 1; + + // The processing of the import job is ongoing. + IMPORT_JOB_STATE_RUNNING = 2; + + // The import job processing has completed. + IMPORT_JOB_STATE_COMPLETED = 3; + + // The import job failed to be processed. + IMPORT_JOB_STATE_FAILED = 4; + + // The import job is being validated. + IMPORT_JOB_STATE_VALIDATING = 5; + + // The import job contains blocking errors. + IMPORT_JOB_STATE_FAILED_VALIDATION = 6; + + // The validation of the job completed with no blocking errors. + IMPORT_JOB_STATE_READY = 7; + } + + // Output only. The full name of the import job. + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // User-friendly display name. Maximum length is 63 characters. + string display_name = 2; + + // Output only. The timestamp when the import job was created. + google.protobuf.Timestamp create_time = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The timestamp when the import job was last updated. + google.protobuf.Timestamp update_time = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The timestamp when the import job was completed. + google.protobuf.Timestamp complete_time = 5 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The state of the import job. + ImportJobState state = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Labels as key value pairs. + map labels = 7; + + // Required. Reference to a source. + string asset_source = 8 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "migrationcenter.googleapis.com/Source" + } + ]; + + // Holds the various report types of an import job. + oneof report { + // Output only. The report with the validation results of the import job. + ValidationReport validation_report = 10 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The report with the results of running the import job. + ExecutionReport execution_report = 11 + [(google.api.field_behavior) = OUTPUT_ONLY]; + } +} + +// A resource that represents a payload file in an import job. +message ImportDataFile { + option (google.api.resource) = { + type: "migrationcenter.googleapis.com/ImportDataFile" + pattern: "projects/{project}/locations/{location}/importJobs/{import_job}/importDataFiles/{import_data_file}" + }; + + // Enumerates possible states of an import data file. + enum State { + // Default value. + STATE_UNSPECIFIED = 0; + + // The data file is being created. + CREATING = 1; + + // The data file completed initialization. + ACTIVE = 2; + } + + // Output only. The name of the file. + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // User-friendly display name. Maximum length is 63 characters. + string display_name = 6; + + // Required. The payload format. + ImportJobFormat format = 2 [(google.api.field_behavior) = REQUIRED]; + + // Output only. The timestamp when the file was created. + google.protobuf.Timestamp create_time = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The state of the import data file. + State state = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + oneof file_info { + // Information about a file that is uploaded to a storage service. + UploadFileInfo upload_file_info = 5; + } +} + +// A resource that represents an asset group. +// The purpose of an asset group is to bundle a set of assets that have +// something in common, while allowing users to add annotations to the group. +// An asset can belong to multiple groups. +message Group { + option (google.api.resource) = { + type: "migrationcenter.googleapis.com/Group" + pattern: "projects/{project}/locations/{location}/groups/{group}" + }; + + // Output only. The name of the group. + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The timestamp when the group was created. + google.protobuf.Timestamp create_time = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The timestamp when the group was last updated. + google.protobuf.Timestamp update_time = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Labels as key value pairs. + map labels = 4; + + // User-friendly display name. + string display_name = 5; + + // The description of the resource. + string description = 6; +} + +// Message representing a frame which failed to be processed due to an error. +message ErrorFrame { + option (google.api.resource) = { + type: "migrationcenter.googleapis.com/ErrorFrame" + pattern: "projects/{project}/locations/{location}/sources/{source}/errorFrames/{error_frame}" + }; + + // Output only. The identifier of the ErrorFrame. + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. All the violations that were detected for the frame. + repeated FrameViolationEntry violations = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The frame that was originally reported. + AssetFrame original_frame = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Frame ingestion time. + google.protobuf.Timestamp ingestion_time = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Source represents an object from which asset information is +// streamed to Migration Center. +message Source { + option (google.api.resource) = { + type: "migrationcenter.googleapis.com/Source" + pattern: "projects/{project}/locations/{location}/sources/{source}" + }; + + enum SourceType { + // Unspecified + SOURCE_TYPE_UNKNOWN = 0; + + // Manually uploaded file (e.g. CSV) + SOURCE_TYPE_UPLOAD = 1; + + // Guest-level info + SOURCE_TYPE_GUEST_OS_SCAN = 2; + + // Inventory-level scan + SOURCE_TYPE_INVENTORY_SCAN = 3; + + // Third-party owned sources. + SOURCE_TYPE_CUSTOM = 4; + } + + // Enumerates possible states of a source. + enum State { + // Unspecified. + STATE_UNSPECIFIED = 0; + + // The source is active and ready to be used. + ACTIVE = 1; + + // In the process of being deleted. + DELETING = 2; + + // Source is in an invalid state. Asset frames reported to it will be + // ignored. + INVALID = 3; + } + + // Output only. The full name of the source. + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The timestamp when the source was created. + google.protobuf.Timestamp create_time = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The timestamp when the source was last updated. + google.protobuf.Timestamp update_time = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // User-friendly display name. + string display_name = 4; + + // Free-text description. + string description = 5; + + // Data source type. + SourceType type = 6; + + // The information confidence of the source. + // The higher the value, the higher the confidence. + int32 priority = 7; + + // If `true`, the source is managed by other service(s). + bool managed = 8; + + // Output only. Number of frames that are still being processed. + int32 pending_frame_count = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The number of frames that were reported by the source and + // contained errors. + int32 error_frame_count = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The state of the source. + State state = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// The groups and associated preference sets on which +// we can generate reports. +message ReportConfig { + option (google.api.resource) = { + type: "migrationcenter.googleapis.com/ReportConfig" + pattern: "projects/{project}/locations/{location}/reportConfigs/{report_config}" + }; + + // Represents a combination of a group with a preference set. + message GroupPreferenceSetAssignment { + // Required. Name of the group. + string group = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "migrationcenter.googleapis.com/Group" + } + ]; + + // Required. Name of the Preference Set. + string preference_set = 2 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "migrationcenter.googleapis.com/PreferenceSet" + } + ]; + } + + // Output only. Name of resource. + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The timestamp when the resource was created. + google.protobuf.Timestamp create_time = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The timestamp when the resource was last updated. + google.protobuf.Timestamp update_time = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // User-friendly display name. Maximum length is 63 characters. + string display_name = 4; + + // Free-text description. + string description = 5; + + // Required. Collection of combinations of groups and preference sets. + repeated GroupPreferenceSetAssignment group_preferenceset_assignments = 6 + [(google.api.field_behavior) = REQUIRED]; +} + +// Report represents a point-in-time rendering of the ReportConfig results. +message Report { + option (google.api.resource) = { + type: "migrationcenter.googleapis.com/Report" + pattern: "projects/{project}/locations/{location}/reportConfigs/{report_config}/reports/{report}" + }; + + // Report type. + enum Type { + // Default Report type. + TYPE_UNSPECIFIED = 0; + + // Total cost of ownership Report type. + TOTAL_COST_OF_OWNERSHIP = 1; + } + + // Report creation state. + enum State { + // Default Report creation state. + STATE_UNSPECIFIED = 0; + + // Creating Report. + PENDING = 1; + + // Successfully created Report. + SUCCEEDED = 2; + + // Failed to create Report. + FAILED = 3; + } + + // Output only. Name of resource. + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Creation timestamp. + google.protobuf.Timestamp create_time = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Last update timestamp. + google.protobuf.Timestamp update_time = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // User-friendly display name. Maximum length is 63 characters. + string display_name = 4; + + // Free-text description. + string description = 5; + + // Report type. + Type type = 6; + + // Report creation state. + State state = 7; + + // Output only. Summary view of the Report. + ReportSummary summary = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// 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_message = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Identifies whether the user has requested cancellation + // of the operation. Operations that have been cancelled successfully + // have [Operation.error][] value with a + // [google.rpc.Status.code][google.rpc.Status.code] of 1, corresponding to + // `Code.CANCELLED`. + bool requested_cancellation = 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]; +} + +// Message for requesting a list of assets. +message ListAssetsRequest { + // Required. Parent value for `ListAssetsRequest`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "migrationcenter.googleapis.com/Asset" + } + ]; + + // Requested page size. Server may return fewer items than requested. + // If unspecified, server will pick an appropriate default. + int32 page_size = 2; + + // A token identifying a page of results the server should return. + string page_token = 3; + + // Filtering results. + string filter = 4; + + // Field to sort by. See https://google.aip.dev/132#ordering for more details. + string order_by = 5; + + // View of the assets. Defaults to BASIC. + AssetView view = 6; +} + +// Response message for listing assets. +message ListAssetsResponse { + // A list of assets. + repeated Asset assets = 1; + + // A token identifying a page of results the server should return. + string next_page_token = 2; + + // Locations that could not be reached. + repeated string unreachable = 3; +} + +// Message for getting a Asset. +message GetAssetRequest { + // Required. Name of the resource. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "migrationcenter.googleapis.com/Asset" + } + ]; + + // View of the assets. Defaults to BASIC. + AssetView view = 2; +} + +// A request to update an asset. +message UpdateAssetRequest { + // Required. Field mask is used to specify the fields to be overwritten in the + // `Asset` resource by the update. + // The values specified in the `update_mask` field are relative to the + // resource, not the full request. + // A field will be overwritten if it is in the mask. + // A single * value in the mask lets you to overwrite all fields. + google.protobuf.FieldMask update_mask = 1 + [(google.api.field_behavior) = REQUIRED]; + + // Required. The resource being updated. + Asset asset = 2 [(google.api.field_behavior) = REQUIRED]; + + // Optional. An optional request ID to identify requests. Specify a unique + // request ID so that if you must retry your request, the server will know to + // ignore the request if it has already been completed. The server will + // guarantee that for at least 60 minutes since the first request. + // + // For example, consider a situation where you make an initial request and + // the request times out. If you make the request again with the same request + // ID, the server can check if original operation with the same request ID + // was received, and if so, will ignore the second request. This prevents + // clients from accidentally creating duplicate commitments. + // + // The request ID must be a valid UUID with the exception that zero UUID is + // not supported (00000000-0000-0000-0000-000000000000). + string request_id = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// A request to update a list of assets. +message BatchUpdateAssetsRequest { + // Required. Parent value for batch asset update. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "migrationcenter.googleapis.com/Asset" + } + ]; + + // Required. The request message specifying the resources to update. + // A maximum of 1000 assets can be modified in a batch. + repeated UpdateAssetRequest requests = 2 + [(google.api.field_behavior) = REQUIRED]; +} + +// Response for updating a list of assets. +message BatchUpdateAssetsResponse { + // Update asset content. + // The content only includes values after field mask being applied. + repeated Asset assets = 1; +} + +// A request to delete an asset. +message DeleteAssetRequest { + // Required. Name of the resource. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "migrationcenter.googleapis.com/Asset" + } + ]; + + // Optional. An optional request ID to identify requests. Specify a unique + // request ID so that if you must retry your request, the server will know to + // ignore the request if it has already been completed. The server will + // guarantee that for at least 60 minutes after the first request. + // + // For example, consider a situation where you make an initial request and + // the request times out. If you make the request again with the same request + // ID, the server can check if original operation with the same request ID + // was received, and if so, will ignore the second request. This prevents + // clients from accidentally creating duplicate commitments. + // + // The request ID must be a valid UUID with the exception that zero UUID is + // not supported (00000000-0000-0000-0000-000000000000). + string request_id = 2 [(google.api.field_behavior) = OPTIONAL]; +} + +// A request to delete a list of asset. +message BatchDeleteAssetsRequest { + // Required. Parent value for batch asset delete. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "migrationcenter.googleapis.com/Asset" + } + ]; + + // Required. The IDs of the assets to delete. + // A maximum of 1000 assets can be deleted in a batch. + // Format: projects/{project}/locations/{location}/assets/{name}. + repeated string names = 2 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "migrationcenter.googleapis.com/Asset" + } + ]; + + // Optional. When this value is set to `true` the request is a no-op for + // non-existing assets. See https://google.aip.dev/135#delete-if-existing for + // additional details. Default value is `false`. + bool allow_missing = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// A request to report a set of asset frames. +message ReportAssetFramesRequest { + // Required. Parent of the resource. + string parent = 1 [(google.api.field_behavior) = REQUIRED]; + + // Collection of frames data. + Frames frames = 2; + + // Required. Reference to a source. + string source = 3 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "migrationcenter.googleapis.com/Source" + } + ]; +} + +// A response to a call to `ReportAssetFrame`. +message ReportAssetFramesResponse {} + +// A request to aggregate one or more values. +message AggregateAssetsValuesRequest { + // Required. Parent value for `AggregateAssetsValuesRequest`. + string parent = 1 [(google.api.field_behavior) = REQUIRED]; + + // Array of aggregations to perform. + // Up to 25 aggregations can be defined. + repeated Aggregation aggregations = 2; + + // The aggregation will be performed on assets that match the provided filter. + string filter = 3; +} + +// A response to a request to aggregated assets values. +message AggregateAssetsValuesResponse { + // The aggregation results. + repeated AggregationResult results = 1; +} + +// A request to create an import job. +message CreateImportJobRequest { + // Required. Value for parent. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "migrationcenter.googleapis.com/ImportJob" + } + ]; + + // Required. ID of the import job. + string import_job_id = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The resource being created. + ImportJob import_job = 3 [(google.api.field_behavior) = REQUIRED]; + + // Optional. An optional request ID to identify requests. Specify a unique + // request ID so that if you must retry your request, the server will know to + // ignore the request if it has already been completed. The server will + // guarantee that for at least 60 minutes since the first request. + // + // For example, consider a situation where you make an initial request and + // the request times out. If you make the request again with the same request + // ID, the server can check if original operation with the same request ID + // was received, and if so, will ignore the second request. This prevents + // clients from accidentally creating duplicate commitments. + // + // The request ID must be a valid UUID with the exception that zero UUID is + // not supported (00000000-0000-0000-0000-000000000000). + string request_id = 4 [(google.api.field_behavior) = OPTIONAL]; +} + +// A request to list import jobs. +message ListImportJobsRequest { + // Required. Parent value for `ListImportJobsRequest`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "migrationcenter.googleapis.com/ImportJob" + } + ]; + + // Requested page size. Server may return fewer items than requested. + // If unspecified, server will pick an appropriate default. + int32 page_size = 2; + + // A token identifying a page of results the server should return. + string page_token = 3; + + // Filtering results. + string filter = 4; + + // Field to sort by. See https://google.aip.dev/132#ordering for more details. + string order_by = 5; + + // Optional. The level of details of each import job. + // Default value is BASIC. + ImportJobView view = 6 [(google.api.field_behavior) = OPTIONAL]; +} + +// A response for listing import jobs. +message ListImportJobsResponse { + // The list of import jobs. + repeated ImportJob import_jobs = 1; + + // A token identifying a page of results the server should return. + string next_page_token = 2; + + // Locations that could not be reached. + repeated string unreachable = 3; +} + +// A request to get an import job. +message GetImportJobRequest { + // Required. Name of the resource. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "migrationcenter.googleapis.com/ImportJob" + } + ]; + + // Optional. The level of details of the import job. + // Default value is FULL. + ImportJobView view = 2 [(google.api.field_behavior) = OPTIONAL]; +} + +// A request to delete an import job. +message DeleteImportJobRequest { + // Required. Name of the resource. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "migrationcenter.googleapis.com/ImportJob" + } + ]; + + // Optional. An optional request ID to identify requests. Specify a unique + // request ID so that if you must retry your request, the server will know to + // ignore the request if it has already been completed. The server will + // guarantee that for at least 60 minutes after the first request. + // + // For example, consider a situation where you make an initial request and + // the request times out. If you make the request again with the same request + // ID, the server can check if original operation with the same request ID + // was received, and if so, will ignore the second request. This prevents + // clients from accidentally creating duplicate commitments. + // + // The request ID must be a valid UUID with the exception that zero UUID is + // not supported (00000000-0000-0000-0000-000000000000). + string request_id = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. If set to `true`, any `ImportDataFiles` of this job will also be + // deleted If set to `false`, the request only works if the job has no data + // files. + bool force = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// A request to update an import job. +message UpdateImportJobRequest { + // Required. Field mask is used to specify the fields to be overwritten in the + // `Asset` resource by the update. + // The values specified in the `update_mask` field are relative to the + // resource, not the full request. + // A field will be overwritten if it is in the mask. + // A single * value in the mask lets you to overwrite all fields. + google.protobuf.FieldMask update_mask = 1 + [(google.api.field_behavior) = REQUIRED]; + + // Required. The resource being updated + ImportJob import_job = 2 [(google.api.field_behavior) = REQUIRED]; + + // Optional. An optional request ID to identify requests. Specify a unique + // request ID so that if you must retry your request, the server will know to + // ignore the request if it has already been completed. The server will + // guarantee that for at least 60 minutes since the first request. + // + // For example, consider a situation where you make an initial request and + // the request times out. If you make the request again with the same request + // ID, the server can check if original operation with the same request ID + // was received, and if so, will ignore the second request. This prevents + // clients from accidentally creating duplicate commitments. + // + // The request ID must be a valid UUID with the exception that zero UUID is + // not supported (00000000-0000-0000-0000-000000000000). + string request_id = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// A request to validate an import job. +message ValidateImportJobRequest { + // Required. The name of the import job to validate. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "migrationcenter.googleapis.com/ImportJob" + } + ]; + + // Optional. An optional request ID to identify requests. Specify a unique + // request ID so that if you must retry your request, the server will know to + // ignore the request if it has already been completed. The server will + // guarantee that for at least 60 minutes after the first request. + // + // For example, consider a situation where you make an initial request and + // the request times out. If you make the request again with the same request + // ID, the server can check if original operation with the same request ID + // was received, and if so, will ignore the second request. This prevents + // clients from accidentally creating duplicate commitments. + // + // The request ID must be a valid UUID with the exception that zero UUID is + // not supported (00000000-0000-0000-0000-000000000000). + string request_id = 2 [(google.api.field_behavior) = OPTIONAL]; +} + +// A request to run an import job. +message RunImportJobRequest { + // Required. The name of the import job to run. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "migrationcenter.googleapis.com/ImportJob" + } + ]; + + // Optional. An optional request ID to identify requests. Specify a unique + // request ID so that if you must retry your request, the server will know to + // ignore the request if it has already been completed. The server will + // guarantee that for at least 60 minutes after the first request. + // + // For example, consider a situation where you make an initial request and + // the request times out. If you make the request again with the same request + // ID, the server can check if original operation with the same request ID + // was received, and if so, will ignore the second request. This prevents + // clients from accidentally creating duplicate commitments. + // + // The request ID must be a valid UUID with the exception that zero UUID is + // not supported (00000000-0000-0000-0000-000000000000). + string request_id = 2 [(google.api.field_behavior) = OPTIONAL]; +} + +// A request to get an import data file. +message GetImportDataFileRequest { + // Required. Name of the ImportDataFile. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "migrationcenter.googleapis.com/ImportDataFile" + } + ]; +} + +// A request to list import data files of an import job. +message ListImportDataFilesRequest { + // Required. Name of the parent of the `ImportDataFiles` resource. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "migrationcenter.googleapis.com/ImportDataFile" + } + ]; + + // The maximum number of data files to return. The service may return + // fewer than this value. If unspecified, at most 500 data files will be + // returned. The maximum value is 1000; values above 1000 will be coerced to + // 1000. + int32 page_size = 2; + + // A page token, received from a previous `ListImportDataFiles` call. + // Provide this to retrieve the subsequent page. + // + // When paginating, all other parameters provided to `ListImportDataFiles` + // must match the call that provided the page token. + string page_token = 3; + + // Filtering results. + string filter = 4; + + // Field to sort by. See https://google.aip.dev/132#ordering for more details. + string order_by = 5; +} + +// Response for listing payload files of an import job. +message ListImportDataFilesResponse { + // The list of import data files. + repeated ImportDataFile import_data_files = 1; + + // A token that can be sent as `page_token` to retrieve the next page. + // If this field is omitted, there are no subsequent pages. + string next_page_token = 2; + + // Locations that could not be reached. + repeated string unreachable = 3; +} + +// A request to create an `ImportDataFile` resource. +message CreateImportDataFileRequest { + // Required. Name of the parent of the ImportDataFile. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "migrationcenter.googleapis.com/ImportDataFile" + } + ]; + + // Required. The ID of the new data file. + string import_data_file_id = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The resource being created. + ImportDataFile import_data_file = 3 [(google.api.field_behavior) = REQUIRED]; + + // Optional. An optional request ID to identify requests. Specify a unique + // request ID so that if you must retry your request, the server will know to + // ignore the request if it has already been completed. The server will + // guarantee that for at least 60 minutes since the first request. + // + // For example, consider a situation where you make an initial request and + // the request times out. If you make the request again with the same request + // ID, the server can check if original operation with the same request ID + // was received, and if so, will ignore the second request. This prevents + // clients from accidentally creating duplicate commitments. + // + // The request ID must be a valid UUID with the exception that zero UUID is + // not supported (00000000-0000-0000-0000-000000000000). + string request_id = 4 [(google.api.field_behavior) = OPTIONAL]; +} + +// A request to delete an `ImportDataFile` resource. +message DeleteImportDataFileRequest { + // Required. Name of the ImportDataFile to delete. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "migrationcenter.googleapis.com/ImportDataFile" + } + ]; + + // Optional. An optional request ID to identify requests. Specify a unique + // request ID so that if you must retry your request, the server will know to + // ignore the request if it has already been completed. The server will + // guarantee that for at least 60 minutes after the first request. + // + // For example, consider a situation where you make an initial request and + // the request times out. If you make the request again with the same request + // ID, the server can check if original operation with the same request ID + // was received, and if so, will ignore the second request. This prevents + // clients from accidentally creating duplicate commitments. + // + // The request ID must be a valid UUID with the exception that zero UUID is + // not supported (00000000-0000-0000-0000-000000000000). + string request_id = 2 [(google.api.field_behavior) = OPTIONAL]; +} + +// A request to list groups. +message ListGroupsRequest { + // Required. Parent value for `ListGroupsRequest`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "migrationcenter.googleapis.com/Group" + } + ]; + + // Requested page size. Server may return fewer items than requested. + // If unspecified, server will pick an appropriate default. + int32 page_size = 2; + + // A token identifying a page of results the server should return. + string page_token = 3; + + // Filtering results. + string filter = 4; + + // Field to sort by. See https://google.aip.dev/132#ordering for more details. + string order_by = 5; +} + +// A response for listing groups. +message ListGroupsResponse { + // The list of Group + repeated Group groups = 1; + + // A token identifying a page of results the server should return. + string next_page_token = 2; + + // Locations that could not be reached. + repeated string unreachable = 3; +} + +// A request to get a group. +message GetGroupRequest { + // Required. Name of the resource. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "migrationcenter.googleapis.com/Group" + } + ]; +} + +// A request to create a group. +message CreateGroupRequest { + // Required. Value for parent. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "migrationcenter.googleapis.com/Group" + } + ]; + + // Required. User specified ID for the group. It will become the last + // component of the group name. The ID must be unique within the project, must + // conform with RFC-1034, is restricted to lower-cased letters, and has a + // maximum length of 63 characters. The ID must match the regular expression: + // `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`. + string group_id = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The group resource being created. + Group group = 3 [(google.api.field_behavior) = REQUIRED]; + + // Optional. An optional request ID to identify requests. Specify a unique + // request ID so that if you must retry your request, the server will know to + // ignore the request if it has already been completed. The server will + // guarantee that for at least 60 minutes since the first request. + // + // For example, consider a situation where you make an initial request and + // the request times out. If you make the request again with the same request + // ID, the server can check if original operation with the same request ID + // was received, and if so, will ignore the second request. This prevents + // clients from accidentally creating duplicate commitments. + // + // The request ID must be a valid UUID with the exception that zero UUID is + // not supported (00000000-0000-0000-0000-000000000000). + string request_id = 4 [(google.api.field_behavior) = OPTIONAL]; +} + +// A request to update a group. +message UpdateGroupRequest { + // Required. Field mask is used to specify the fields to be overwritten in the + // `Group` resource by the update. + // The values specified in the `update_mask` are relative to the resource, not + // the full request. A field will be overwritten if it is in the mask. + // A single * value in the mask lets you to overwrite all fields. + google.protobuf.FieldMask update_mask = 1 + [(google.api.field_behavior) = REQUIRED]; + + // Required. The group resource being updated. + Group group = 2 [(google.api.field_behavior) = REQUIRED]; + + // Optional. An optional request ID to identify requests. Specify a unique + // request ID so that if you must retry your request, the server will know to + // ignore the request if it has already been completed. The server will + // guarantee that for at least 60 minutes since the first request. + // + // For example, consider a situation where you make an initial request and + // the request times out. If you make the request again with the same request + // ID, the server can check if original operation with the same request ID + // was received, and if so, will ignore the second request. This prevents + // clients from accidentally creating duplicate commitments. + // + // The request ID must be a valid UUID with the exception that zero UUID is + // not supported (00000000-0000-0000-0000-000000000000). + string request_id = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// A request to delete a group. +message DeleteGroupRequest { + // Required. Name of the group resource. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "migrationcenter.googleapis.com/Group" + } + ]; + + // Optional. An optional request ID to identify requests. Specify a unique + // request ID so that if you must retry your request, the server will know to + // ignore the request if it has already been completed. The server will + // guarantee that for at least 60 minutes after the first request. + // + // For example, consider a situation where you make an initial request and + // the request times out. If you make the request again with the same request + // ID, the server can check if original operation with the same request ID + // was received, and if so, will ignore the second request. This prevents + // clients from accidentally creating duplicate commitments. + // + // The request ID must be a valid UUID with the exception that zero UUID is + // not supported (00000000-0000-0000-0000-000000000000). + string request_id = 2 [(google.api.field_behavior) = OPTIONAL]; +} + +// A request to add assets to a group. +message AddAssetsToGroupRequest { + // Required. Group reference. + string group = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "migrationcenter.googleapis.com/Group" + } + ]; + + // Optional. An optional request ID to identify requests. Specify a unique + // request ID so that if you must retry your request, the server will know to + // ignore the request if it has already been completed. The server will + // guarantee that for at least 60 minutes after the first request. + // + // For example, consider a situation where you make an initial request and + // the request times out. If you make the request again with the same request + // ID, the server can check if original operation with the same request ID + // was received, and if so, will ignore the second request. This prevents + // clients from accidentally creating duplicate commitments. + // + // The request ID must be a valid UUID with the exception that zero UUID is + // not supported (00000000-0000-0000-0000-000000000000). + string request_id = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Required. List of assets to be added. + // The maximum number of assets that can be added in a single request is + // 1000. + AssetList assets = 3 [(google.api.field_behavior) = REQUIRED]; + + // Optional. When this value is set to `false` and one of the given assets is + // already an existing member of the group, the operation fails with an + // `Already Exists` error. When set to `true` this situation is silently + // ignored by the server. + // + // Default value is `false`. + bool allow_existing = 4 [(google.api.field_behavior) = OPTIONAL]; +} + +// A request to remove assets from a group. +message RemoveAssetsFromGroupRequest { + // Required. Group reference. + string group = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "migrationcenter.googleapis.com/Group" + } + ]; + + // Optional. An optional request ID to identify requests. Specify a unique + // request ID so that if you must retry your request, the server will know to + // ignore the request if it has already been completed. The server will + // guarantee that for at least 60 minutes after the first request. + // + // For example, consider a situation where you make an initial request and + // the request times out. If you make the request again with the same request + // ID, the server can check if original operation with the same request ID + // was received, and if so, will ignore the second request. This prevents + // clients from accidentally creating duplicate commitments. + // + // The request ID must be a valid UUID with the exception that zero UUID is + // not supported (00000000-0000-0000-0000-000000000000). + string request_id = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Required. List of assets to be removed. + // The maximum number of assets that can be removed in a single request is + // 1000. + AssetList assets = 3 [(google.api.field_behavior) = REQUIRED]; + + // Optional. When this value is set to `false` and one of the given assets is + // not an existing member of the group, the operation fails with a `Not Found` + // error. When set to `true` this situation is silently ignored by the server. + // + // Default value is `false`. + bool allow_missing = 4 [(google.api.field_behavior) = OPTIONAL]; +} + +// A request to list error frames for a source. +message ListErrorFramesRequest { + // Required. Parent value (the source) for `ListErrorFramesRequest`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "migrationcenter.googleapis.com/ErrorFrame" + } + ]; + + // Requested page size. Server may return fewer items than requested. + // If unspecified, server will pick an appropriate default. + int32 page_size = 2; + + // A token identifying a page of results the server should return. + string page_token = 3; + + // Optional. An optional view mode to control the level of details of each + // error frame. The default is a BASIC frame view. + ErrorFrameView view = 4 [(google.api.field_behavior) = OPTIONAL]; +} + +// A response for listing error frames. +message ListErrorFramesResponse { + // The list of error frames. + repeated ErrorFrame error_frames = 1; + + // A token identifying a page of results the server should return. + string next_page_token = 2; + + // Locations that could not be reached. + repeated string unreachable = 3; +} + +message GetErrorFrameRequest { + // Required. The name of the frame to retrieve. + // Format: + // projects/{project}/locations/{location}/sources/{source}/errorFrames/{error_frame} + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "migrationcenter.googleapis.com/ErrorFrame" + } + ]; + + // Optional. An optional view mode to control the level of details for the + // frame. The default is a basic frame view. + ErrorFrameView view = 2 [(google.api.field_behavior) = OPTIONAL]; +} + +// A request for a list of sources. +message ListSourcesRequest { + // Required. Parent value for `ListSourcesRequest`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "migrationcenter.googleapis.com/Source" + } + ]; + + // Requested page size. The server may return fewer items than requested. + // If unspecified, the server will pick an appropriate default value. + int32 page_size = 2; + + // A token identifying a page of results that the server should return. + string page_token = 3; + + // Filtering results. + string filter = 4; + + // Field to sort by. See https://google.aip.dev/132#ordering for more details. + string order_by = 5; +} + +// Response message for listing sources. +message ListSourcesResponse { + // The list of sources. + repeated Source sources = 1; + + // A token identifying a page of results the server should return. + string next_page_token = 2; + + // Locations that could not be reached. + repeated string unreachable = 3; +} + +// A request to get a source. +message GetSourceRequest { + // Required. Name of the resource. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "migrationcenter.googleapis.com/Source" + } + ]; +} + +// A request to create a source. +message CreateSourceRequest { + // Required. Value for parent. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "migrationcenter.googleapis.com/Source" + } + ]; + + // Required. User specified ID for the source. It will become the last + // component of the source name. The ID must be unique within the project, + // must conform with RFC-1034, is restricted to lower-cased letters, and has a + // maximum length of 63 characters. The ID must match the regular expression: + // `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`. + string source_id = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The resource being created. + Source source = 3 [(google.api.field_behavior) = REQUIRED]; + + // Optional. An optional request ID to identify requests. Specify a unique + // request ID so that if you must retry your request, the server will know to + // ignore the request if it has already been completed. The server will + // guarantee that for at least 60 minutes since the first request. + // + // For example, consider a situation where you make an initial request and + // the request times out. If you make the request again with the same request + // ID, the server can check if original operation with the same request ID + // was received, and if so, will ignore the second request. This prevents + // clients from accidentally creating duplicate commitments. + // + // The request ID must be a valid UUID with the exception that zero UUID is + // not supported (00000000-0000-0000-0000-000000000000). + string request_id = 4 [(google.api.field_behavior) = OPTIONAL]; +} + +// A request to update a source. +message UpdateSourceRequest { + // Required. Field mask is used to specify the fields to be overwritten in the + // `Source` resource by the update. + // The values specified in the `update_mask` field are relative to the + // resource, not the full request. + // A field will be overwritten if it is in the mask. + // A single * value in the mask lets you to overwrite all fields. + google.protobuf.FieldMask update_mask = 1 + [(google.api.field_behavior) = REQUIRED]; + + // Required. The resource being updated + Source source = 2 [(google.api.field_behavior) = REQUIRED]; + + // Optional. An optional request ID to identify requests. Specify a unique + // request ID so that if you must retry your request, the server will know to + // ignore the request if it has already been completed. The server will + // guarantee that for at least 60 minutes since the first request. + // + // For example, consider a situation where you make an initial request and + // the request times out. If you make the request again with the same request + // ID, the server can check if original operation with the same request ID + // was received, and if so, will ignore the second request. This prevents + // clients from accidentally creating duplicate commitments. + // + // The request ID must be a valid UUID with the exception that zero UUID is + // not supported (00000000-0000-0000-0000-000000000000). + string request_id = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// A request to delete a source. +message DeleteSourceRequest { + // Required. Name of the resource. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "migrationcenter.googleapis.com/Source" + } + ]; + + // Optional. An optional request ID to identify requests. Specify a unique + // request ID so that if you must retry your request, the server will know to + // ignore the request if it has already been completed. The server will + // guarantee that for at least 60 minutes after the first request. + // + // For example, consider a situation where you make an initial request and + // the request times out. If you make the request again with the same request + // ID, the server can check if original operation with the same request ID + // was received, and if so, will ignore the second request. This prevents + // clients from accidentally creating duplicate commitments. + // + // The request ID must be a valid UUID with the exception that zero UUID is + // not supported (00000000-0000-0000-0000-000000000000). + string request_id = 2 [(google.api.field_behavior) = OPTIONAL]; +} + +// Request for listing preference sets. +message ListPreferenceSetsRequest { + // Required. Parent value for `ListPreferenceSetsRequest`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "migrationcenter.googleapis.com/PreferenceSet" + } + ]; + + // Requested page size. Server may return fewer items than requested. + // If unspecified, at most 500 preference sets will be returned. + // The maximum value is 1000; values above 1000 will be coerced to 1000. + int32 page_size = 2; + + // A token identifying a page of results the server should return. + string page_token = 3; + + // Field to sort by. See https://google.aip.dev/132#ordering for more details. + string order_by = 5; +} + +// Response message for listing preference sets. +message ListPreferenceSetsResponse { + // The list of PreferenceSets + repeated PreferenceSet preference_sets = 1; + + // A token identifying a page of results the server should return. + string next_page_token = 2; + + // Locations that could not be reached. + repeated string unreachable = 3; +} + +// A request to get a preference set. +message GetPreferenceSetRequest { + // Required. Name of the resource. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "migrationcenter.googleapis.com/PreferenceSet" + } + ]; +} + +// A request to create a preference set. +message CreatePreferenceSetRequest { + // Required. Value for parent. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "migrationcenter.googleapis.com/PreferenceSet" + } + ]; + + // Required. User specified ID for the preference set. It will become the last + // component of the preference set name. The ID must be unique within the + // project, must conform with RFC-1034, is restricted to lower-cased letters, + // and has a maximum length of 63 characters. The ID must match the regular + // expression + // `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`. + string preference_set_id = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The preference set resource being created. + PreferenceSet preference_set = 3 [(google.api.field_behavior) = REQUIRED]; + + // Optional. An optional request ID to identify requests. Specify a unique + // request ID so that if you must retry your request, the server will know to + // ignore the request if it has already been completed. The server will + // guarantee that for at least 60 minutes since the first request. + // + // For example, consider a situation where you make an initial request and + // the request times out. If you make the request again with the same request + // ID, the server can check if original operation with the same request ID + // was received, and if so, will ignore the second request. This prevents + // clients from accidentally creating duplicate commitments. + // + // The request ID must be a valid UUID with the exception that zero UUID is + // not supported (00000000-0000-0000-0000-000000000000). + string request_id = 4 [(google.api.field_behavior) = OPTIONAL]; +} + +// A request to update a preference set. +message UpdatePreferenceSetRequest { + // Required. Field mask is used to specify the fields to be overwritten in the + // `PreferenceSet` resource by the update. + // The values specified in the `update_mask` field are relative to the + // resource, not the full request. + // A field will be overwritten if it is in the mask. + // A single * value in the mask lets you to overwrite all fields. + google.protobuf.FieldMask update_mask = 1 + [(google.api.field_behavior) = REQUIRED]; + + // Required. The preference set resource being updated. + PreferenceSet preference_set = 2 [(google.api.field_behavior) = REQUIRED]; + + // Optional. An optional request ID to identify requests. Specify a unique + // request ID so that if you must retry your request, the server will know to + // ignore the request if it has already been completed. The server will + // guarantee that for at least 60 minutes since the first request. + // + // For example, consider a situation where you make an initial request and + // the request times out. If you make the request again with the same request + // ID, the server can check if original operation with the same request ID + // was received, and if so, will ignore the second request. This prevents + // clients from accidentally creating duplicate commitments. + // + // The request ID must be a valid UUID with the exception that zero UUID is + // not supported (00000000-0000-0000-0000-000000000000). + string request_id = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// A request to delete a preference set. +message DeletePreferenceSetRequest { + // Required. Name of the group resource. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "migrationcenter.googleapis.com/PreferenceSet" + } + ]; + + // Optional. An optional request ID to identify requests. Specify a unique + // request ID so that if you must retry your request, the server will know to + // ignore the request if it has already been completed. The server will + // guarantee that for at least 60 minutes after the first request. + // + // For example, consider a situation where you make an initial request and + // the request times out. If you make the request again with the same request + // ID, the server can check if original operation with the same request ID + // was received, and if so, will ignore the second request. This prevents + // clients from accidentally creating duplicate commitments. + // + // The request ID must be a valid UUID with the exception that zero UUID is + // not supported (00000000-0000-0000-0000-000000000000). + string request_id = 2 [(google.api.field_behavior) = OPTIONAL]; +} + +// A request to get the settings. +message GetSettingsRequest { + // Required. Name of the resource. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "migrationcenter.googleapis.com/Settings" + } + ]; +} + +// A request to update the settings. +message UpdateSettingsRequest { + // Required. Field mask is used to specify the fields to be overwritten in the + // `Settings` resource by the update. + // The values specified in the `update_mask` field are relative to the + // resource, not the full request. + // A field will be overwritten if it is in the mask. + // A single * value in the mask lets you to overwrite all fields. + google.protobuf.FieldMask update_mask = 1 + [(google.api.field_behavior) = REQUIRED]; + + // Required. The project settings resource being updated. + Settings settings = 2 [(google.api.field_behavior) = REQUIRED]; + + // Optional. An optional request ID to identify requests. Specify a unique + // request ID so that if you must retry your request, the server will know to + // ignore the request if it has already been completed. The server will + // guarantee that for at least 60 minutes since the first request. + // + // For example, consider a situation where you make an initial request and + // the request times out. If you make the request again with the same request + // ID, the server can check if original operation with the same request ID + // was received, and if so, will ignore the second request. This prevents + // clients from accidentally creating duplicate commitments. + // + // The request ID must be a valid UUID with the exception that zero UUID is + // not supported (00000000-0000-0000-0000-000000000000). + string request_id = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// A request to create a `ReportConfig` resource. +message CreateReportConfigRequest { + // Required. Value for parent. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "migrationcenter.googleapis.com/ReportConfig" + } + ]; + + // Required. User specified ID for the report config. It will become the last + // component of the report config name. The ID must be unique within the + // project, must conform with RFC-1034, is restricted to lower-cased letters, + // and has a maximum length of 63 characters. The ID must match the regular + // expression: [a-z]([a-z0-9-]{0,61}[a-z0-9])?. + string report_config_id = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The report config set resource being created. + ReportConfig report_config = 3 [(google.api.field_behavior) = REQUIRED]; + + // Optional. An optional request ID to identify requests. Specify a unique + // request ID so that if you must retry your request, the server will know to + // ignore the request if it has already been completed. The server will + // guarantee that for at least 60 minutes since the first request. + // + // For example, consider a situation where you make an initial request and + // the request times out. If you make the request again with the same request + // ID, the server can check if original operation with the same request ID + // was received, and if so, will ignore the second request. This prevents + // clients from accidentally creating duplicate commitments. + // + // The request ID must be a valid UUID with the exception that zero UUID is + // not supported (00000000-0000-0000-0000-000000000000). + string request_id = 4 [(google.api.field_behavior) = OPTIONAL]; +} + +// A request to delete a ReportConfig. +message DeleteReportConfigRequest { + // Required. Name of the resource. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "migrationcenter.googleapis.com/ReportConfig" + } + ]; + + // Optional. An optional request ID to identify requests. Specify a unique + // request ID so that if you must retry your request, the server will know to + // ignore the request if it has already been completed. The server will + // guarantee that for at least 60 minutes after the first request. + // + // For example, consider a situation where you make an initial request and + // the request times out. If you make the request again with the same request + // ID, the server can check if original operation with the same request ID + // was received, and if so, will ignore the second request. This prevents + // clients from accidentally creating duplicate commitments. + // + // The request ID must be a valid UUID with the exception that zero UUID is + // not supported (00000000-0000-0000-0000-000000000000). + string request_id = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. If set to `true`, any child `Reports` of this entity will also be + // deleted. If set to `false`, the request only works if the resource has no + // children. + bool force = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// A request to get a Report. +message GetReportRequest { + // Required. Name of the resource. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "migrationcenter.googleapis.com/Report" + } + ]; + + // Determines what information to retrieve for the Report. + ReportView view = 6; +} + +// A request for a list of Reports. +message ListReportsRequest { + // Required. Parent value for `ListReportsRequest`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "migrationcenter.googleapis.com/Report" + } + ]; + + // Requested page size. The server may return fewer items than requested. + // If unspecified, the server will pick an appropriate default value. + int32 page_size = 2; + + // A token identifying a page of results that the server should return. + string page_token = 3; + + // Filtering results. + string filter = 4; + + // Field to sort by. See https://google.aip.dev/132#ordering for more details. + string order_by = 5; + + // Determines what information to retrieve for each Report. + ReportView view = 6; +} + +// Response message for listing Reports. +message ListReportsResponse { + // The list of Reports. + repeated Report reports = 1; + + // A token identifying a page of results the server should return. + string next_page_token = 2; + + // Locations that could not be reached. + repeated string unreachable = 3; +} + +// A request to delete a Report. +message DeleteReportRequest { + // Required. Name of the resource. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "migrationcenter.googleapis.com/Report" + } + ]; + + // Optional. An optional request ID to identify requests. Specify a unique + // request ID so that if you must retry your request, the server will know to + // ignore the request if it has already been completed. The server will + // guarantee that for at least 60 minutes after the first request. + // + // For example, consider a situation where you make an initial request and + // the request times out. If you make the request again with the same request + // ID, the server can check if original operation with the same request ID + // was received, and if so, will ignore the second request. This prevents + // clients from accidentally creating duplicate commitments. + // + // The request ID must be a valid UUID with the exception that zero UUID is + // not supported (00000000-0000-0000-0000-000000000000). + string request_id = 2 [(google.api.field_behavior) = OPTIONAL]; +} + +// A request to get a `ReportConfig` resource. +message GetReportConfigRequest { + // Required. Name of the resource. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "migrationcenter.googleapis.com/ReportConfig" + } + ]; +} + +// A request to get a list of `ReportConfig` resources. +message ListReportConfigsRequest { + // Required. Parent value for `ListReportConfigsRequest`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "migrationcenter.googleapis.com/ReportConfig" + } + ]; + + // Requested page size. Server may return fewer items than requested. + // If unspecified, server will pick an appropriate default. + int32 page_size = 2; + + // A token identifying a page of results the server should return. + string page_token = 3; + + // Filtering results. + string filter = 4; + + // Field to sort by. See https://google.aip.dev/132#ordering for more details. + string order_by = 5; +} + +// Response message for listing report configs. +message ListReportConfigsResponse { + // A list of report configs. + repeated ReportConfig report_configs = 1; + + // A token identifying a page of results the server should return. + string next_page_token = 2; + + // Locations that could not be reached. + repeated string unreachable = 3; +} + +// Message for creating a Report. +message CreateReportRequest { + // Required. Value for parent. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "migrationcenter.googleapis.com/Report" + } + ]; + + // Required. User specified id for the report. It will become the last + // component of the report name. The id must be unique within the project, + // must conform with RFC-1034, is restricted to lower-cased letters, and has a + // maximum length of 63 characters. The id must match the regular expression: + // [a-z]([a-z0-9-]{0,61}[a-z0-9])?. + string report_id = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The report resource being created. + Report report = 3 [(google.api.field_behavior) = REQUIRED]; + + // Optional. An optional request ID to identify requests. Specify a unique + // request ID so that if you must retry your request, the server will know to + // ignore the request if it has already been completed. The server will + // guarantee that for at least 60 minutes since the first request. + // + // For example, consider a situation where you make an initial request and + // the request times out. If you make the request again with the same request + // ID, the server can check if original operation with the same request ID + // was received, and if so, will ignore the second request. This prevents + // clients from accidentally creating duplicate commitments. + // + // The request ID must be a valid UUID with the exception that zero UUID is + // not supported (00000000-0000-0000-0000-000000000000). + string request_id = 4 [(google.api.field_behavior) = OPTIONAL]; +} + +// Collection of frame data. +message Frames { + // A repeated field of asset data. + repeated AssetFrame frames_data = 1; +} + +// Contains data reported from an inventory source on an asset. +message AssetFrame { + // The internal data of the frame is a oneof field depending on the type + // of asset information in the frame. + oneof FrameData { + // Asset information specific for virtual machines. + MachineDetails machine_details = 1; + } + + // The time the data was reported. + google.protobuf.Timestamp report_time = 10; + + // Labels as key value pairs. + map labels = 11; + + // Generic asset attributes. + map attributes = 12; + + // Asset performance data samples. + // Samples that are from more than 40 days ago or after tomorrow are ignored. + repeated PerformanceSample performance_samples = 13; + + // Optional. Trace token is optionally provided to assist with debugging and + // traceability. + string trace_token = 14 [(google.api.field_behavior) = OPTIONAL]; +} + +// Details of a machine. +message MachineDetails { + // Machine power state. + enum PowerState { + // Power state is unknown. + POWER_STATE_UNSPECIFIED = 0; + + // The machine is preparing to enter the ACTIVE state. An instance may enter + // the PENDING state when it launches for the first time, or when it is + // started after being in the SUSPENDED state. + PENDING = 1; + + // The machine is active. + ACTIVE = 2; + + // The machine is being turned off. + SUSPENDING = 3; + + // The machine is off. + SUSPENDED = 4; + + // The machine is being deleted from the hosting platform. + DELETING = 5; + + // The machine is deleted from the hosting platform. + DELETED = 6; + } + + // Machine unique identifier. + string uuid = 1; + + // Machine name. + string machine_name = 2; + + // Machine creation time. + google.protobuf.Timestamp create_time = 3; + + // Number of CPU cores in the machine. Must be non-negative. + int32 core_count = 4; + + // The amount of memory in the machine. Must be non-negative. + int32 memory_mb = 5; + + // Power state of the machine. + PowerState power_state = 6; + + // Architecture details (vendor, CPU architecture). + MachineArchitectureDetails architecture = 7; + + // Guest OS information. + GuestOsDetails guest_os = 8; + + // Network details. + MachineNetworkDetails network = 9; + + // Disk details. + MachineDiskDetails disks = 10; + + // Platform specific information. + PlatformDetails platform = 11; +} + +// Details of the machine architecture. +message MachineArchitectureDetails { + // Firmware type. + enum FirmwareType { + // Unspecified or unknown. + FIRMWARE_TYPE_UNSPECIFIED = 0; + + // BIOS firmware. + BIOS = 1; + + // EFI firmware. + EFI = 2; + } + + // CPU hyper-threading support. + enum CpuHyperThreading { + // Unspecified or unknown. + CPU_HYPER_THREADING_UNSPECIFIED = 0; + + // Hyper-threading is disabled. + DISABLED = 1; + + // Hyper-threading is enabled. + ENABLED = 2; + } + + // CPU architecture, e.g., "x64-based PC", "x86_64", "i686" etc. + string cpu_architecture = 1; + + // CPU name, e.g., "Intel Xeon E5-2690", "AMD EPYC 7571" etc. + string cpu_name = 2; + + // Hardware vendor. + string vendor = 3; + + // Number of CPU threads allocated to the machine. + int32 cpu_thread_count = 4; + + // Number of processor sockets allocated to the machine. + int32 cpu_socket_count = 5; + + // BIOS Details. + BiosDetails bios = 6; + + // Firmware type. + FirmwareType firmware_type = 7; + + // CPU hyper-threading support. + CpuHyperThreading hyperthreading = 8; +} + +// Details about the BIOS. +message BiosDetails { + // BIOS name. + // This fields is deprecated. Please use the `id` field instead. + string bios_name = 1 [deprecated = true]; + + // BIOS ID. + string id = 2; + + // BIOS manufacturer. + string manufacturer = 3; + + // BIOS version. + string version = 4; + + // BIOS release date. + google.type.Date release_date = 5; + + // SMBIOS UUID. + string smbios_uuid = 6; +} + +// Details of network adapters and settings. +message MachineNetworkDetails { + // The primary IP address of the machine. + string primary_ip_address = 1; + + // The public IP address of the machine. + string public_ip_address = 2; + + // MAC address of the machine. + // This property is used to uniqly identify the machine. + string primary_mac_address = 3; + + // List of network adapters. + NetworkAdapterList adapters = 4; +} + +// List of network adapters. +message NetworkAdapterList { + // Network adapter entries. + repeated NetworkAdapterDetails entries = 1; +} + +// Details of network adapter. +message NetworkAdapterDetails { + // Network adapter type (e.g. VMXNET3). + string adapter_type = 1; + + // MAC address. + string mac_address = 2; + + // NetworkAddressList + NetworkAddressList addresses = 3; +} + +// List of allocated/assigned network addresses. +message NetworkAddressList { + // Network address entries. + repeated NetworkAddress entries = 1; +} + +// Details of network address. +message NetworkAddress { + // Network address assignment. + enum AddressAssignment { + // Unknown (default value). + ADDRESS_ASSIGNMENT_UNSPECIFIED = 0; + + // Staticly assigned IP. + ADDRESS_ASSIGNMENT_STATIC = 1; + + // Dynamically assigned IP (DHCP). + ADDRESS_ASSIGNMENT_DHCP = 2; + } + + // Assigned or configured IP Address. + string ip_address = 1; + + // Subnet mask. + string subnet_mask = 2; + + // Broadcast address. + string bcast = 3; + + // Fully qualified domain name. + string fqdn = 4; + + // Whether DHCP is used to assign addresses. + AddressAssignment assignment = 5; +} + +// Details of machine disks. +message MachineDiskDetails { + // Disk total Capacity. + int64 total_capacity_bytes = 1; + + // Total disk free space. + int64 total_free_bytes = 2; + + // List of disks. + DiskEntryList disks = 3; +} + +// VM disks. +message DiskEntryList { + // Disk entries. + repeated DiskEntry entries = 1; +} + +// Single disk entry. +message DiskEntry { + // Disks interface type. + enum InterfaceType { + // Interface type unknown or unspecified. + INTERFACE_TYPE_UNSPECIFIED = 0; + + // IDE interface type. + IDE = 1; + + // SATA interface type. + SATA = 2; + + // SAS interface type. + SAS = 3; + + // SCSI interface type. + SCSI = 4; + + // NVME interface type. + NVME = 5; + + // FC interface type. + FC = 6; + + // iSCSI interface type. + ISCSI = 7; + } + + // Disk capacity. + int64 capacity_bytes = 1; + + // Disk free space. + int64 free_bytes = 2; + + // Disk label. + string disk_label = 3; + + // Disk label type (e.g. BIOS/GPT) + string disk_label_type = 4; + + // Disks interface type. + InterfaceType interface_type = 5; + + // Partition layout. + DiskPartitionList partitions = 6; + + // Disk hardware address (e.g. 0:1 for SCSI). + string hw_address = 7; + + // Additional details for specific platforms. + oneof platform_specific { + // VMware disk details. + VmwareDiskConfig vmware = 20; + } +} + +// Disk partition list. +message DiskPartitionList { + // Partition entries. + repeated DiskPartition entries = 1; +} + +// Disk Partition details. +message DiskPartition { + // Partition type. + string type = 1; + + // Partition file system. + string file_system = 2; + + // Mount pount (Linux/Windows) or drive letter (Windows). + string mount_point = 3; + + // Partition capacity. + int64 capacity_bytes = 4; + + // Partition free space. + int64 free_bytes = 5; + + // Partition UUID. + string uuid = 6; + + // Sub-partitions. + DiskPartitionList sub_partitions = 7; +} + +// VMware disk config details. +message VmwareDiskConfig { + // VMDK backing type possible values. + enum BackingType { + // Default value. + BACKING_TYPE_UNSPECIFIED = 0; + + // Flat v1. + BACKING_TYPE_FLAT_V1 = 1; + + // Flat v2. + BACKING_TYPE_FLAT_V2 = 2; + + // Persistent memory, also known as Non-Volatile Memory (NVM). + BACKING_TYPE_PMEM = 3; + + // Raw Disk Memory v1. + BACKING_TYPE_RDM_V1 = 4; + + // Raw Disk Memory v2. + BACKING_TYPE_RDM_V2 = 5; + + // SEsparse is a snapshot format introduced in vSphere 5.5 for large disks. + BACKING_TYPE_SESPARSE = 6; + + // SEsparse v1. + BACKING_TYPE_SESPARSE_V1 = 7; + + // SEsparse v1. + BACKING_TYPE_SESPARSE_V2 = 8; + } + + // VMDK disk mode. + enum VmdkMode { + // VMDK disk mode unspecified or unknown. + VMDK_MODE_UNSPECIFIED = 0; + + // Dependent disk mode. + DEPENDENT = 1; + + // Independent - Persistent disk mode. + INDEPENDENT_PERSISTENT = 2; + + // Independent - Nonpersistent disk mode. + INDEPENDENT_NONPERSISTENT = 3; + } + + // RDM compatibility mode. + enum RdmCompatibility { + // Compatibility mode unspecified or unknown. + RDM_COMPATIBILITY_UNSPECIFIED = 0; + + // Physical compatibility mode. + PHYSICAL_COMPATIBILITY = 1; + + // Virtual compatibility mode. + VIRTUAL_COMPATIBILITY = 2; + } + + // VMDK backing type. + BackingType backing_type = 1; + + // Is VMDK shared with other VMs. + bool shared = 2; + + // VMDK disk mode. + VmdkMode vmdk_mode = 3; + + // RDM compatibility mode. + RdmCompatibility rdm_compatibility = 4; +} + +// Information from Guest-level collections. +message GuestOsDetails { + // The name of the operating system. + string os_name = 1; + + // What family the OS belong to, if known. + OperatingSystemFamily family = 2; + + // The version of the operating system. + string version = 3; + + // OS and app configuration. + GuestConfigDetails config = 4; + + // Runtime information. + GuestRuntimeDetails runtime = 5; +} + +// Guest OS config information. +message GuestConfigDetails { + // Security-Enhanced Linux (SELinux) mode. + enum SeLinuxMode { + // SELinux mode unknown or unspecified. + SE_LINUX_MODE_UNSPECIFIED = 0; + + // SELinux is disabled. + SE_LINUX_MODE_DISABLED = 1; + + // SELinux permissive mode. + SE_LINUX_MODE_PERMISSIVE = 2; + + // SELinux enforcing mode. + SE_LINUX_MODE_ENFORCING = 3; + } + + // OS issue (typically /etc/issue in Linux). + string issue = 1; + + // Mount list (Linux fstab). + FstabEntryList fstab = 2; + + // Hosts file (/etc/hosts). + HostsEntryList hosts = 3; + + // NFS exports. + NfsExportList nfs_exports = 4; + + // Security-Enhanced Linux (SELinux) mode. + SeLinuxMode selinux_mode = 5; +} + +// Fstab content. +message FstabEntryList { + // Fstab entries. + repeated FstabEntry entries = 1; +} + +// Single fstab entry. +message FstabEntry { + // The block special device or remote filesystem to be mounted. + string spec = 1; + + // The mount point for the filesystem. + string file = 2; + + // The type of the filesystem. + string vfstype = 3; + + // Mount options associated with the filesystem. + string mntops = 4; + + // Used by dump to determine which filesystems need to be dumped. + int32 freq = 5; + + // Used by the fsck(8) program to determine the order in which filesystem + // checks are done at reboot time. + int32 passno = 6; +} + +// Hosts content. +message HostsEntryList { + // Hosts entries. + repeated HostsEntry entries = 1; +} + +// Single /etc/hosts entry. +message HostsEntry { + // IP (raw, IPv4/6 agnostic). + string ip = 1; + + // List of host names / aliases. + repeated string host_names = 2; +} + +// NFS exports. +message NfsExportList { + // NFS export entries. + repeated NfsExport entries = 1; +} + +// NFS export. +message NfsExport { + // The directory being exported. + string export_directory = 1; + + // The hosts or networks to which the export is being shared. + repeated string hosts = 2; +} + +// Guest OS runtime information. +message GuestRuntimeDetails { + // Running background services. + RunningServiceList services = 1; + + // Running processes. + RunningProcessList processes = 2; + + // Runtime network information (connections, ports). + RuntimeNetworkInfo network = 3; + + // Last time the OS was booted. + google.protobuf.Timestamp last_boot_time = 4; + + // Domain, e.g. c.stratozone-development.internal. + string domain = 5; + + // Machine name. + string machine_name = 6; + + // Installed applications information. + GuestInstalledApplicationList installed_apps = 7; + + // Open files information. + OpenFileList open_file_list = 8; +} + +// List of running guest OS services. +message RunningServiceList { + // Running service entries. + repeated RunningService entries = 1; +} + +// Guest OS running service details. +message RunningService { + // Service state (OS-agnostic). + enum State { + // Service state unspecified. + STATE_UNSPECIFIED = 0; + + // Service is active. + ACTIVE = 1; + + // Service is paused. + PAUSED = 2; + + // Service is stopped. + STOPPED = 3; + } + + // Service start mode (OS-agnostic). + enum StartMode { + // Start mode unspecified. + START_MODE_UNSPECIFIED = 0; + + // The service is a device driver started by the system loader. + BOOT = 1; + + // The service is a device driver started by the IOInitSystem function. + SYSTEM = 2; + + // The service is started by the operating system, at system start-up + AUTO = 3; + + // The service is started only manually, by a user. + MANUAL = 4; + + // The service is disabled. + DISABLED = 5; + } + + // Service name. + string service_name = 1; + + // Service state (OS-agnostic). + State state = 2; + + // Service start mode (OS-agnostic). + StartMode start_mode = 3; + + // Service binary path. + string exe_path = 4; + + // Service command line. + string cmdline = 5; + + // Service pid. + int64 pid = 6; +} + +// List of running guest OS processes. +message RunningProcessList { + // Running process entries. + repeated RunningProcess entries = 1; +} + +// Guest OS running process details. +message RunningProcess { + // Process ID. + int64 pid = 1; + + // Process binary path. + string exe_path = 2; + + // Process full command line. + string cmdline = 3; + + // User running the process. + string user = 4; + + // Process extended attributes. + map attributes = 100; +} + +// Runtime networking information. +message RuntimeNetworkInfo { + // Time of the last network scan. + google.protobuf.Timestamp scan_time = 1; + + // Network connections. + NetworkConnectionList connections = 2; +} + +// Network connection list. +message NetworkConnectionList { + // Network connection entries. + repeated NetworkConnection entries = 1; +} + +message NetworkConnection { + // Network connection state. + enum State { + // Connection state is unknown or unspecified. + STATE_UNSPECIFIED = 0; + + // The connection is being opened. + OPENING = 1; + + // The connection is open. + OPEN = 2; + + // Listening for incoming connections. + LISTEN = 3; + + // The connection is being closed. + CLOSING = 4; + + // The connection is closed. + CLOSED = 5; + } + + // Connection protocol (e.g. TCP/UDP). + string protocol = 1; + + // Local IP address. + string local_ip_address = 2; + + // Local port. + int32 local_port = 3; + + // Remote IP address. + string remote_ip_address = 4; + + // Remote port. + int32 remote_port = 5; + + // Network connection state. + State state = 6; + + // Process ID. + int64 pid = 7; + + // Process or service name. + string process_name = 8; +} + +// Guest installed application list. +message GuestInstalledApplicationList { + // Application entries. + repeated GuestInstalledApplication entries = 1; +} + +// Guest installed application information. +message GuestInstalledApplication { + // Installed application name. + string application_name = 1; + + // Installed application vendor. + string vendor = 2; + + // The time when the application was installed. + google.protobuf.Timestamp install_time = 3; + + // Source path. + string path = 4; + + // Installed application version. + string version = 5; +} + +// Open file list. +message OpenFileList { + // Open file details entries. + repeated OpenFileDetails entries = 1; +} + +// Open file Information. +message OpenFileDetails { + // Opened file command. + string command = 1; + + // Opened file user. + string user = 2; + + // Opened file file type. + string file_type = 3; + + // Opened file file path. + string file_path = 4; +} + +// Information about the platform. +message PlatformDetails { + oneof vendor_details { + // VMware specific details. + VmwarePlatformDetails vmware_details = 1; + + // AWS EC2 specific details. + AwsEc2PlatformDetails aws_ec2_details = 2; + + // Azure VM specific details. + AzureVmPlatformDetails azure_vm_details = 3; + + // Generic platform details. + GenericPlatformDetails generic_details = 4; + + // Physical machines platform details. + PhysicalPlatformDetails physical_details = 5; + } +} + +// VMware specific details. +message VmwarePlatformDetails { + // vCenter version. + string vcenter_version = 1; + + // ESX version. + string esx_version = 2; + + // VMware os enum - + // https://vdc-repo.vmware.com/vmwb-repository/dcr-public/da47f910-60ac-438b-8b9b-6122f4d14524/16b7274a-bf8b-4b4c-a05e-746f2aa93c8c/doc/vim.vm.GuestOsDescriptor.GuestOsIdentifier.html. + string osid = 3; + + // Folder name in vCenter where asset resides. + string vcenter_folder = 4; + + // vCenter URI used in collection. + string vcenter_uri = 5; + + // vCenter VM ID. + string vcenter_vm_id = 6; +} + +// AWS EC2 specific details. +message AwsEc2PlatformDetails { + // AWS platform's machine type label. + string machine_type_label = 1; + + // The location of the machine in the AWS format. + string location = 2; +} + +// Azure VM specific details. +message AzureVmPlatformDetails { + // Azure platform's machine type label. + string machine_type_label = 1; + + // The location of the machine in the Azure format. + string location = 2; + + // Azure platform's provisioning state. + string provisioning_state = 3; +} + +// Generic platform details. +message GenericPlatformDetails { + // Free text representation of the machine location. + // The format of this field should not be relied on. Different VMs in the same + // location may have different string values for this field. + string location = 1; +} + +// Platform specific details for Physical Machines. +message PhysicalPlatformDetails { + // Free text representation of the machine location. + // The format of this field should not be relied on. Different machines in the + // same location may have different string values for this field. + string location = 1; +} + +// Memory usage sample. +message MemoryUsageSample { + // Percentage of system memory utilized. Must be in the interval [0, 100]. + float utilized_percentage = 1; +} + +// CPU usage sample. +message CpuUsageSample { + // Percentage of total CPU capacity utilized. Must be in the interval [0, + // 100]. On most systems can be calculated using 100 - idle percentage. + float utilized_percentage = 1; +} + +// Network usage sample. Values are across all network interfaces. +message NetworkUsageSample { + // Average network ingress in B/s sampled over a short window. + // Must be non-negative. + float average_ingress_bps = 1; + + // Average network egress in B/s sampled over a short window. + // Must be non-negative. + float average_egress_bps = 2; +} + +// Disk usage sample. Values are across all disks. +message DiskUsageSample { + // Average IOPS sampled over a short window. Must be non-negative. + float average_iops = 1; +} + +// Performance data sample. +message PerformanceSample { + // Time the sample was collected. + // If omitted, the frame report time will be used. + google.protobuf.Timestamp sample_time = 1; + + // Memory usage sample. + MemoryUsageSample memory = 2; + + // CPU usage sample. + CpuUsageSample cpu = 3; + + // Network usage sample. + NetworkUsageSample network = 4; + + // Disk usage sample. + DiskUsageSample disk = 5; +} + +// Performance data for an asset. +message AssetPerformanceData { + // Daily resource usage aggregations. + // Contains all of the data available for an asset, up to the last 420 days. + // Aggregations are sorted from oldest to most recent. + repeated DailyResourceUsageAggregation daily_resource_usage_aggregations = 1; +} + +// Usage data aggregation for a single day. +message DailyResourceUsageAggregation { + // Statistical aggregation of samples for a single resource usage. + message Stats { + // Average usage value. + float average = 1; + + // Median usage value. + float median = 2; + + // 95th percentile usage value. + float nintey_fifth_percentile = 3; + + // Peak usage value. + float peak = 4; + } + + // Statistical aggregation of CPU usage. + message CPU { + // CPU utilization percentage. + Stats utilization_percentage = 1; + } + + // Statistical aggregation of memory usage. + message Memory { + // Memory utilization percentage. + Stats utilization_percentage = 1; + } + + // Statistical aggregation of network usage. + message Network { + // Network ingress in B/s. + Stats ingress_bps = 1; + + // Network egress in B/s. + Stats egress_bps = 2; + } + + // Statistical aggregation of disk usage. + message Disk { + // Disk I/O operations per second. + Stats iops = 1; + } + + // Aggregation date. Day boundaries are at midnight UTC. + google.type.Date date = 1; + + // CPU usage. + CPU cpu = 2; + + // Memory usage. + Memory memory = 3; + + // Network usage. + Network network = 4; + + // Disk usage. + Disk disk = 5; +} + +// Message containing insights list. +message InsightList { + // Output only. Insights of the list. + repeated Insight insights = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Update timestamp. + google.protobuf.Timestamp update_time = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// An insight about an asset. +message Insight { + oneof insight { + // Output only. An insight about potential migrations for an asset. + MigrationInsight migration_insight = 1 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. A generic insight about an asset + GenericInsight generic_insight = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + } +} + +// A generic insight about an asset. +message GenericInsight { + // Output only. Represents a globally unique message id for + // this insight, can be used for localization purposes, in case message_code + // is not yet known by the client use default_message instead. + int64 message_id = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. In case message_code is not yet known by the client + // default_message will be the message to be used instead. + string default_message = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Additional information about the insight, each entry can be a + // logical entry and must make sense if it is displayed with line breaks + // between each entry. Text can contain md style links. + repeated string additional_information = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// An insight about potential migrations for an asset. +message MigrationInsight { + // Output only. Description of how well the asset this insight is associated + // with fits the proposed migration. + FitDescriptor fit = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // A target for the migration. + oneof migration_target { + // Output only. A Google Compute Engine target. + ComputeEngineMigrationTarget compute_engine_target = 10 + [(google.api.field_behavior) = OUTPUT_ONLY]; + } +} + +// Compute engine migration target. +message ComputeEngineMigrationTarget { + // Description of the suggested shape for the migration target. + ComputeEngineShapeDescriptor shape = 1; +} + +// Compute Engine target shape descriptor. +message ComputeEngineShapeDescriptor { + // Memory in mebibytes. + int32 memory_mb = 1; + + // Number of physical cores. + int32 physical_core_count = 2; + + // Number of logical cores. + int32 logical_core_count = 3; + + // Compute Engine machine series. + string series = 4; + + // Compute Engine machine type. + string machine_type = 5; + + // Compute Engine storage. Never empty. + repeated ComputeStorageDescriptor storage = 6; +} + +// Compute Engine storage option descriptor. +message ComputeStorageDescriptor { + // Disk type backing the storage. + PersistentDiskType type = 1; + + // Disk size in GiB. + int32 size_gb = 2; +} + +// Describes the fit level of an asset for migration to a specific target. +message FitDescriptor { + // Fit level. + enum FitLevel { + // Not enough information. + FIT_LEVEL_UNSPECIFIED = 0; + + // Fit. + FIT = 1; + + // No Fit. + NO_FIT = 2; + + // Fit with effort. + REQUIRES_EFFORT = 3; + } + + // Fit level. + FitLevel fit_level = 1; +} + +// Message describing an aggregation. The message includes the aggregation type, +// parameters, and the field on which to perform the aggregation. +message Aggregation { + // Object count. + message Count {} + + // Sum of field values. + message Sum {} + + // Histogram of bucketed assets counts by field value. + message Histogram { + // Lower bounds of buckets. + // The response will contain `n+1` buckets for `n` bounds. + // The first bucket will count all assets for which the field value is + // smaller than the first bound. + // Subsequent buckets will count assets for which the field value is + // greater or equal to a lower bound and smaller than the next one. + // The last bucket will count assets for which the field value is greater or + // equal to the final lower bound. + // You can define up to 20 lower bounds. + repeated double lower_bounds = 1; + } + + // Frequency distribution of all field values. + message Frequency {} + + // The name of the field on which to aggregate. + string field = 1; + + oneof aggregation_function { + // Count the number of matching objects. + Count count = 2; + + // Sum over a numeric field. + Sum sum = 3; + + // Creates a bucketed histogram of field values. + Histogram histogram = 4; + + // Creates a frequency distribution of all field values. + Frequency frequency = 5; + } +} + +// Message describing a result of an aggregation. +message AggregationResult { + // The result of a count aggregation. + message Count { + int64 value = 1; + } + + // The result of a sum aggregation. + message Sum { + double value = 1; + } + + // The result of a bucketed histogram aggregation. + message Histogram { + // A histogram bucket with a lower and upper bound, and a count of items + // with a field value between those bounds. + // The lower bound is inclusive and the upper bound is exclusive. + // Lower bound may be -infinity and upper bound may be infinity. + message Bucket { + // Lower bound - inclusive. + double lower_bound = 1; + + // Upper bound - exclusive. + double upper_bound = 2; + + // Count of items in the bucket. + int64 count = 3; + } + + // Buckets in the histogram. + // There will be `n+1` buckets matching `n` lower bounds in the request. + // The first bucket will be from -infinity to the first bound. + // Subsequent buckets will be between one bound and the next. + // The final bucket will be from the final bound to infinity. + repeated Bucket buckets = 1; + } + + // The result of a frequency distribution aggregation. + message Frequency { + map values = 1; + } + + string field = 1; + + oneof result { + Count count = 2; + + Sum sum = 3; + + Histogram histogram = 4; + + Frequency frequency = 5; + } +} + +// A resource that aggregates the validation errors found in an import job file. +message FileValidationReport { + // The name of the file. + string file_name = 1; + + // Partial list of rows that encountered validation error. + repeated ImportRowError row_errors = 2; + + // Flag indicating that processing was aborted due to maximum number of + // errors. + bool partial_report = 3; + + // List of file level errors. + repeated ImportError file_errors = 4; +} + +// A resource that aggregates errors across import job files. +message ValidationReport { + // List of errors found in files. + repeated FileValidationReport file_validations = 1; + + // List of job level errors. + repeated ImportError job_errors = 2; +} + +// A resource that reports result of the import job execution. +message ExecutionReport { + // Total number of asset frames reported for the import job. + int32 frames_reported = 1; + + // Validation errors encountered during the execution of the import job. + ValidationReport execution_errors = 2; + + // Output only. Total number of rows in the import job. + int32 total_rows_count = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// A resource that reports the errors encountered while processing an +// import job. +message ImportError { + // Enumerate possible error severity. + enum Severity { + SEVERITY_UNSPECIFIED = 0; + + ERROR = 1; + + WARNING = 2; + + INFO = 3; + } + + // The error information. + string error_details = 1; + + // The severity of the error. + Severity severity = 2; +} + +// A resource that reports the import job errors at row level. +message ImportRowError { + // The row number where the error was detected. + int32 row_number = 1 [deprecated = true]; + + // The name of the VM in the row. + string vm_name = 2; + + // The VM UUID. + string vm_uuid = 3; + + // The list of errors detected in the row. + repeated ImportError errors = 4; +} + +// A resource that contains a URI to which a data file can be uploaded. +message UploadFileInfo { + // Output only. Upload URI for the file. + string signed_uri = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The headers that were used to sign the URI. + map headers = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Expiration time of the upload URI. + google.protobuf.Timestamp uri_expiration_time = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Lists the asset IDs of all assets. +message AssetList { + // Required. A list of asset IDs + repeated string asset_ids = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "migrationcenter.googleapis.com/Asset" + } + ]; +} + +// A resource that contains a single violation of a reported `AssetFrame` +// resource. +message FrameViolationEntry { + // The field of the original frame where the violation occurred. + string field = 1; + + // A message describing the violation. + string violation = 2; +} + +// VirtualMachinePreferences enables you to create sets of assumptions, for +// example, a geographical location and pricing track, for your migrated virtual +// machines. The set of preferences influence recommendations for migrating +// virtual machine assets. +message VirtualMachinePreferences { + // Target product for assets using this preference set. + // Specify either target product or business goal, but + // not both. + ComputeMigrationTargetProduct target_product = 2; + + // Region preferences for assets using this preference set. + // If you are unsure which value to set, the migration service API region is + // often a good value to start with. + RegionPreferences region_preferences = 3; + + // Commitment plan to consider when calculating costs for virtual machine + // insights and recommendations. + // If you are unsure which value to set, a 3 year commitment plan is often a + // good value to start with. + CommitmentPlan commitment_plan = 4; + + // Sizing optimization strategy specifies the preferred strategy used when + // extrapolating usage data to calculate insights and recommendations for a + // virtual machine. + // If you are unsure which value to set, a moderate sizing optimization + // strategy is often a good value to start with. + SizingOptimizationStrategy sizing_optimization_strategy = 5; + + // Compute Engine preferences concern insights and recommendations for Compute + // Engine target. + ComputeEnginePreferences compute_engine_preferences = 6; + + // Preferences concerning insights and recommendations for + // Google Cloud VMware Engine. + VmwareEnginePreferences vmware_engine_preferences = 7; + + // Preferences concerning Sole Tenant nodes and virtual machines. + SoleTenancyPreferences sole_tenancy_preferences = 8; +} + +// The user preferences relating to Compute Engine target platform. +message ComputeEnginePreferences { + // Preferences concerning the machine types to consider on Compute Engine. + MachinePreferences machine_preferences = 2; + + // License type to consider when calculating costs for virtual machine + // insights and recommendations. If unspecified, costs are calculated + // based on the default licensing plan. + LicenseType license_type = 3; +} + +// The type of machines to consider when calculating virtual machine migration +// insights and recommendations. +// Not all machine types are available in all zones and regions. +message MachinePreferences { + // Compute Engine machine series to consider for insights and recommendations. + // If empty, no restriction is applied on the machine series. + repeated MachineSeries allowed_machine_series = 1; +} + +// A Compute Engine machine series. +message MachineSeries { + // Code to identify a Compute Engine machine series. Consult + // https://cloud.google.com/compute/docs/machine-resource#machine_type_comparison + // for more details on the available series. + string code = 1; +} + +// The user preferences relating to Google Cloud VMware Engine target platform. +message VmwareEnginePreferences { + // Type of committed use discount. + enum CommitmentPlan { + // Unspecified commitment plan. + COMMITMENT_PLAN_UNSPECIFIED = 0; + + // No commitment plan (on-demand usage). + ON_DEMAND = 1; + + // 1 year commitment (monthly payments). + COMMITMENT_1_YEAR_MONTHLY_PAYMENTS = 2; + + // 3 year commitment (monthly payments). + COMMITMENT_3_YEAR_MONTHLY_PAYMENTS = 3; + + // 1 year commitment (upfront payment). + COMMITMENT_1_YEAR_UPFRONT_PAYMENT = 4; + + // 3 years commitment (upfront payment). + COMMITMENT_3_YEAR_UPFRONT_PAYMENT = 5; + } + + // CPU overcommit ratio. + // Acceptable values are between 1.0 and 8.0, with 0.1 increment. + double cpu_overcommit_ratio = 1; + + // Memory overcommit ratio. + // Acceptable values are 1.0, 1.25, 1.5, 1.75 and 2.0. + double memory_overcommit_ratio = 2; + + // The Deduplication and Compression ratio is based on the logical (Used + // Before) space required to store data before applying deduplication and + // compression, in relation to the physical (Used After) space required after + // applying deduplication and compression. Specifically, the ratio is the Used + // Before space divided by the Used After space. For example, if the Used + // Before space is 3 GB, but the physical Used After space is 1 GB, the + // deduplication and compression ratio is 3x. Acceptable values are + // between 1.0 and 4.0. + double storage_deduplication_compression_ratio = 3; + + // Commitment plan to consider when calculating costs for virtual machine + // insights and recommendations. + // If you are unsure which value to set, a 3 year commitment plan is often a + // good value to start with. + CommitmentPlan commitment_plan = 4; +} + +// Preferences concerning Sole Tenancy nodes and VMs. +message SoleTenancyPreferences { + // Sole Tenancy nodes maintenance policy. + enum HostMaintenancePolicy { + // Unspecified host maintenance policy. + HOST_MAINTENANCE_POLICY_UNSPECIFIED = 0; + + // Default host maintenance policy. + HOST_MAINTENANCE_POLICY_DEFAULT = 1; + + // Restart in place host maintenance policy. + HOST_MAINTENANCE_POLICY_RESTART_IN_PLACE = 2; + + // Migrate within node group host maintenance policy. + HOST_MAINTENANCE_POLICY_MIGRATE_WITHIN_NODE_GROUP = 3; + } + + // Type of committed use discount. + enum CommitmentPlan { + // Unspecified commitment plan. + COMMITMENT_PLAN_UNSPECIFIED = 0; + + // No commitment plan (on-demand usage). + ON_DEMAND = 1; + + // 1 year commitment. + COMMITMENT_1_YEAR = 2; + + // 3 years commitment. + COMMITMENT_3_YEAR = 3; + } + + // CPU overcommit ratio. + // Acceptable values are between 1.0 and 2.0 inclusive. + double cpu_overcommit_ratio = 1; + + // Sole Tenancy nodes maintenance policy. + HostMaintenancePolicy host_maintenance_policy = 2; + + // Commitment plan to consider when calculating costs for virtual machine + // insights and recommendations. + // If you are unsure which value to set, a 3 year commitment plan is often a + // good value to start with. + CommitmentPlan commitment_plan = 3; + + // A list of sole tenant node types. + // An empty list means that all possible node types will be considered. + repeated SoleTenantNodeType node_types = 4; +} + +// A Sole Tenant node type. +message SoleTenantNodeType { + // Name of the Sole Tenant node. Consult + // https://cloud.google.com/compute/docs/nodes/sole-tenant-nodes + string node_name = 1; +} + +// The user preferences relating to target regions. +message RegionPreferences { + // A list of preferred regions, + // ordered by the most preferred region first. + // Set only valid Google Cloud region names. + // See https://cloud.google.com/compute/docs/regions-zones + // for available regions. + repeated string preferred_regions = 1; +} + +// Describes the Migration Center settings related to the project. +message Settings { + option (google.api.resource) = { + type: "migrationcenter.googleapis.com/Settings" + pattern: "projects/{project}/locations/{location}/settings" + }; + + // Output only. The name of the resource. + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The preference set used by default for a project. + string preference_set = 2 [(google.api.resource_reference) = { + type: "migrationcenter.googleapis.com/PreferenceSet" + }]; +} + +// Describes the Summary view of a Report, which contains aggregated values +// for all the groups and preference sets included in this Report. +message ReportSummary { + // Describes a collection of data points rendered as a Chart. + message ChartData { + // Describes a single data point in the Chart. + message DataPoint { + // The X-axis label for this data point. + string label = 1; + + // The Y-axis value for this data point. + double value = 2; + } + + // Each data point in the chart is represented as a name-value pair + // with the name being the x-axis label, and the value being the y-axis + // value. + repeated DataPoint data_points = 1; + } + + // Utilization Chart is a specific type of visualization which displays + // a metric classified into "Used" and "Free" buckets. + message UtilizationChartData { + // Aggregate value which falls into the "Used" bucket. + int64 used = 1; + + // Aggregate value which falls into the "Free" bucket. + int64 free = 2; + } + + // A Histogram Chart shows a distribution of values into buckets, showing + // a count of values which fall into a bucket. + message HistogramChartData { + // A histogram bucket with a lower and upper bound, and a count of items + // with a field value between those bounds. + // The lower bound is inclusive and the upper bound is exclusive. + // Lower bound may be -infinity and upper bound may be infinity. + message Bucket { + // Lower bound - inclusive. + int64 lower_bound = 1; + + // Upper bound - exclusive. + int64 upper_bound = 2; + + // Count of items in the bucket. + int64 count = 3; + } + + // Buckets in the histogram. + // There will be `n+1` buckets matching `n` lower bounds in the request. + // The first bucket will be from -infinity to the first bound. + // Subsequent buckets will be between one bound and the next. + // The final bucket will be from the final bound to infinity. + repeated Bucket buckets = 1; + } + + // Aggregate statistics for a collection of assets. + message AssetAggregateStats { + // Sum of the memory in bytes of all the assets in this collection. + int64 total_memory_bytes = 1; + + // Sum of persistent storage in bytes of all the assets in this collection. + int64 total_storage_bytes = 2; + + // Sum of the CPU core count of all the assets in this collection. + int64 total_cores = 3; + + // Count of the number of unique assets in this collection. + int64 total_assets = 4; + + // Total memory split into Used/Free buckets. + UtilizationChartData memory_utilization_chart = 5; + + // Total memory split into Used/Free buckets. + UtilizationChartData storage_utilization_chart = 6; + + // Count of assets grouped by Operating System families. + ChartData operating_system = 7; + + // Histogram showing a distribution of CPU core counts. + HistogramChartData core_count_histogram = 8; + + // Histogram showing a distribution of memory sizes. + HistogramChartData memory_bytes_histogram = 9; + + // Histogram showing a distribution of memory sizes. + HistogramChartData storage_bytes_histogram = 10; + } + + // Represents a data point tracking the count of assets allocated for a + // specific Machine Series. + message MachineSeriesAllocation { + // The Machine Series (e.g. "E2", "N2") + MachineSeries machine_series = 1; + + // Count of assets allocated to this machine series. + int64 allocated_asset_count = 2; + } + + // A set of findings that applies to assets destined for Compute Engine. + message ComputeEngineFinding { + // Set of regions in which the assets were allocated. + repeated string allocated_regions = 1; + + // Count of assets which were allocated. + int64 allocated_asset_count = 2; + + // Distribution of assets based on the Machine Series. + repeated MachineSeriesAllocation machine_series_allocations = 3; + + // Set of disk types allocated to assets. + repeated PersistentDiskType allocated_disk_types = 4; + } + + // A set of findings that applies to assets destined for VMWare Engine. + message VmwareEngineFinding { + // Set of regions in which the assets were allocated + repeated string allocated_regions = 1; + + // Count of assets which are allocated + int64 allocated_asset_count = 2; + + // Set of per-nodetype allocation records + repeated VmwareNodeAllocation node_allocations = 3; + } + + // Represents assets allocated to a specific VMWare Node type. + message VmwareNodeAllocation { + // VMWare node type, e.g. "ve1-standard-72" + VmwareNode vmware_node = 1; + + // Count of this node type to be provisioned + int64 node_count = 2; + + // Count of assets allocated to these nodes + int64 allocated_asset_count = 3; + } + + // A VMWare Engine Node + message VmwareNode { + // Code to identify VMware Engine node series, e.g. "ve1-standard-72". Based + // on the displayName of + // cloud.google.com/vmware-engine/docs/reference/rest/v1/projects.locations.nodeTypes + string code = 1; + } + + // A set of findings that applies to assets destined for Sole-Tenant nodes. + message SoleTenantFinding { + // Set of regions in which the assets are allocated + repeated string allocated_regions = 1; + + // Count of assets which are allocated + int64 allocated_asset_count = 2; + + // Set of per-nodetype allocation records + repeated SoleTenantNodeAllocation node_allocations = 3; + } + + // Represents the assets allocated to a specific Sole-Tenant node type. + message SoleTenantNodeAllocation { + // Sole Tenant node type, e.g. "m3-node-128-3904" + SoleTenantNodeType node = 1; + + // Count of this node type to be provisioned + int64 node_count = 2; + + // Count of assets allocated to these nodes + int64 allocated_asset_count = 3; + } + + // Summary Findings for a specific Group/PreferenceSet combination. + message GroupPreferenceSetFinding { + // Display Name of the Preference Set + string display_name = 1; + + // Description for the Preference Set. + string description = 2; + + // A set of preferences that applies to all machines in the context. + VirtualMachinePreferences machine_preferences = 3; + + // Total monthly cost for this preference set. + google.type.Money monthly_cost_total = 4; + + // Compute monthly cost for this preference set. + google.type.Money monthly_cost_compute = 5; + + // Licensing monthly cost for this preference set. + google.type.Money monthly_cost_os_license = 6; + + // Network Egress monthly cost for this preference set. + google.type.Money monthly_cost_network_egress = 7; + + // Storage monthly cost for this preference set. + google.type.Money monthly_cost_storage = 8; + + // Miscellaneous monthly cost for this preference set. + google.type.Money monthly_cost_other = 9; + + // A set of findings that applies to Compute Engine machines in the input. + ComputeEngineFinding compute_engine_finding = 10; + + // A set of findings that applies to VMWare machines in the input. + VmwareEngineFinding vmware_engine_finding = 11; + + // A set of findings that applies to Sole-Tenant machines in the input. + SoleTenantFinding sole_tenant_finding = 12; + } + + // Summary Findings for a specific Group. + message GroupFinding { + // Display Name for the Group. + string display_name = 1; + + // Description for the Group. + string description = 2; + + // Summary statistics for all the assets in this group. + AssetAggregateStats asset_aggregate_stats = 3; + + // This field is deprecated, do not rely on it having a value. + int64 overlapping_asset_count = 4 [deprecated = true]; + + // Findings for each of the PreferenceSets for this group. + repeated GroupPreferenceSetFinding preference_set_findings = 5; + } + + // Aggregate statistics for all the assets across all the groups. + AssetAggregateStats all_assets_stats = 1; + + // Findings for each Group included in this report. + repeated GroupFinding group_findings = 2; +} + +// Specifies the types of asset views that provide complete or partial details +// of an asset. +enum AssetView { + // The asset view is not specified. The API displays the basic view by + // default. + ASSET_VIEW_UNSPECIFIED = 0; + + // The asset view includes only basic metadata of the asset. + ASSET_VIEW_BASIC = 1; + + // The asset view includes all the metadata of an asset and performance data. + ASSET_VIEW_FULL = 2; +} + +// Known categories of operating systems. +enum OperatingSystemFamily { + OS_FAMILY_UNKNOWN = 0; + + // Microsoft Windows Server and Desktop. + OS_FAMILY_WINDOWS = 1; + + // Various Linux flavors. + OS_FAMILY_LINUX = 2; + + // Non-Linux Unix flavors. + OS_FAMILY_UNIX = 3; +} + +// Specifies the data formats supported by Migration Center. +enum ImportJobFormat { + // Default value. + IMPORT_JOB_FORMAT_UNSPECIFIED = 0; + + // RVTools format (XLSX). + IMPORT_JOB_FORMAT_RVTOOLS_XLSX = 1; + + // RVTools format (CSV). + IMPORT_JOB_FORMAT_RVTOOLS_CSV = 2; + + // CSV format exported from AWS using the + // [AWS collection + // script][https://github.com/GoogleCloudPlatform/aws-to-stratozone-export]. + IMPORT_JOB_FORMAT_EXPORTED_AWS_CSV = 4; + + // CSV format exported from Azure using the + // [Azure collection + // script][https://github.com/GoogleCloudPlatform/azure-to-stratozone-export]. + IMPORT_JOB_FORMAT_EXPORTED_AZURE_CSV = 5; + + // CSV format created manually and following the StratoZone format. For more + // information, see [Manually create and upload data + // tables][https://cloud.google.com/migrate/stratozone/docs/import-data-portal]. + IMPORT_JOB_FORMAT_STRATOZONE_CSV = 6; +} + +// Specifies the types of import job views that provide complete or partial +// details of an import job. +enum ImportJobView { + // The import job view is not specified. The API displays the basic view by + // default. + IMPORT_JOB_VIEW_UNSPECIFIED = 0; + + // The import job view includes basic metadata of an import job. + // This view does not include payload information. + IMPORT_JOB_VIEW_BASIC = 1; + + // The import job view includes all metadata of an import job. + IMPORT_JOB_VIEW_FULL = 2; +} + +// ErrorFrameView can be specified in ErrorFrames List and Get requests to +// control the level of details that is returned for the original frame. +enum ErrorFrameView { + // Value is unset. The system will fallback to the default value. + ERROR_FRAME_VIEW_UNSPECIFIED = 0; + + // Include basic frame data, but not the full contents. + ERROR_FRAME_VIEW_BASIC = 1; + + // Include everything. + ERROR_FRAME_VIEW_FULL = 2; +} + +// The persistent disk (PD) types of Compute Engine virtual machines. +enum PersistentDiskType { + // Unspecified (default value). + // Selecting this value allows the system to use any disk type according + // to reported usage. This a good value to start with. + PERSISTENT_DISK_TYPE_UNSPECIFIED = 0; + + // Standard HDD Persistent Disk. + PERSISTENT_DISK_TYPE_STANDARD = 1; + + // Balanced Persistent Disk. + PERSISTENT_DISK_TYPE_BALANCED = 2; + + // SSD Persistent Disk. + PERSISTENT_DISK_TYPE_SSD = 3; +} + +// The License type for premium images (RHEL, RHEL for SAP, SLES, SLES for SAP, +// Windows Server). +enum LicenseType { + // Unspecified (default value). + LICENSE_TYPE_UNSPECIFIED = 0; + + // Default Google Cloud licensing plan. Licensing is charged per usage. + // This a good value to start with. + LICENSE_TYPE_DEFAULT = 1; + + // Bring-your-own-license (BYOL) plan. User provides the OS license. + LICENSE_TYPE_BRING_YOUR_OWN_LICENSE = 2; +} + +// The sizing optimization strategy preferences of a virtual machine. This +// strategy, in addition to actual usage data of the virtual machine, can help +// determine the recommended shape on the target platform. +enum SizingOptimizationStrategy { + // Unspecified (default value). + SIZING_OPTIMIZATION_STRATEGY_UNSPECIFIED = 0; + + // No optimization applied. Virtual machine sizing matches as closely as + // possible the machine shape on the source site, not considering any actual + // performance data. + SIZING_OPTIMIZATION_STRATEGY_SAME_AS_SOURCE = 1; + + // Virtual machine sizing will match the reported usage and shape, with some + // slack. This a good value to start with. + SIZING_OPTIMIZATION_STRATEGY_MODERATE = 2; + + // Virtual machine sizing will match the reported usage, with little slack. + // Using this option can help reduce costs. + SIZING_OPTIMIZATION_STRATEGY_AGGRESSIVE = 3; +} + +// The plan of commitments for VM resource-based committed use discount (CUD). +enum CommitmentPlan { + // Unspecified commitment plan. + COMMITMENT_PLAN_UNSPECIFIED = 0; + + // No commitment plan. + COMMITMENT_PLAN_NONE = 1; + + // 1 year commitment. + COMMITMENT_PLAN_ONE_YEAR = 2; + + // 3 years commitment. + COMMITMENT_PLAN_THREE_YEARS = 3; +} + +// The preference for a specific Google Cloud product platform. +enum ComputeMigrationTargetProduct { + // Unspecified (default value). + COMPUTE_MIGRATION_TARGET_PRODUCT_UNSPECIFIED = 0; + + // Prefer to migrate to Google Cloud Compute Engine. + COMPUTE_MIGRATION_TARGET_PRODUCT_COMPUTE_ENGINE = 1; + + // Prefer to migrate to Google Cloud VMware Engine. + COMPUTE_MIGRATION_TARGET_PRODUCT_VMWARE_ENGINE = 2; + + // Prefer to migrate to Google Cloud Sole Tenant Nodes. + COMPUTE_MIGRATION_TARGET_PRODUCT_SOLE_TENANCY = 3; +} + +// Specifies the types of views that provide complete or partial details +// of a Report. +enum ReportView { + // The report view is not specified. The API displays the basic view by + // default. + REPORT_VIEW_UNSPECIFIED = 0; + + // The report view includes only basic metadata of the Report. Useful for + // list views. + REPORT_VIEW_BASIC = 1; + + // The report view includes all the metadata of the Report. Useful for + // preview. + REPORT_VIEW_FULL = 2; + + // The report view includes the standard metadata of an report. Useful for + // detail view. + REPORT_VIEW_STANDARD = 3; +} diff --git a/third_party/googleapis/google/cloud/migrationcenter/v1/migrationcenter_grpc_service_config.json b/third_party/googleapis/google/cloud/migrationcenter/v1/migrationcenter_grpc_service_config.json new file mode 100644 index 000000000..fa1e8a27a --- /dev/null +++ b/third_party/googleapis/google/cloud/migrationcenter/v1/migrationcenter_grpc_service_config.json @@ -0,0 +1,21 @@ +{ + "methodConfig": [ + { + "name": [ + { + "service": "google.cloud.migrationcenter.v1.MigrationCenter" + } + ], + "timeout": "60s" + }, + { + "name": [ + { + "service": "google.cloud.migrationcenter.v1.MigrationCenter", + "method": "DeleteSource" + } + ], + "timeout": "600s" + } + ] +} diff --git a/third_party/googleapis/google/cloud/migrationcenter/v1/migrationcenter_v1.yaml b/third_party/googleapis/google/cloud/migrationcenter/v1/migrationcenter_v1.yaml new file mode 100644 index 000000000..da68bbf3c --- /dev/null +++ b/third_party/googleapis/google/cloud/migrationcenter/v1/migrationcenter_v1.yaml @@ -0,0 +1,112 @@ +type: google.api.Service +config_version: 3 +name: migrationcenter.googleapis.com +title: Migration Center API + +apis: +- name: google.cloud.location.Locations +- name: google.cloud.migrationcenter.v1.MigrationCenter +- name: google.longrunning.Operations + +types: +- name: google.cloud.migrationcenter.v1.OperationMetadata + +documentation: + summary: |- + A unified platform that helps you accelerate your end-to-end cloud journey + from your current on-premises or cloud environments to Google Cloud. + 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. + +backend: + rules: + - selector: google.cloud.location.Locations.GetLocation + deadline: 60.0 + - selector: google.cloud.location.Locations.ListLocations + deadline: 60.0 + - selector: 'google.cloud.migrationcenter.v1.MigrationCenter.*' + deadline: 60.0 + - selector: 'google.longrunning.Operations.*' + deadline: 60.0 + +http: + rules: + - selector: google.cloud.location.Locations.GetLocation + get: '/v1/{name=projects/*/locations/*}' + - selector: google.cloud.location.Locations.ListLocations + get: '/v1/{name=projects/*}/locations' + - selector: google.longrunning.Operations.CancelOperation + post: '/v1/{name=projects/*/locations/*/operations/*}:cancel' + body: '*' + - selector: google.longrunning.Operations.DeleteOperation + delete: '/v1/{name=projects/*/locations/*/operations/*}' + - selector: google.longrunning.Operations.GetOperation + get: '/v1/{name=projects/*/locations/*/operations/*}' + - selector: google.longrunning.Operations.ListOperations + get: '/v1/{name=projects/*/locations/*}/operations' + +authentication: + rules: + - 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.cloud.migrationcenter.v1.MigrationCenter.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + - selector: 'google.longrunning.Operations.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + +publishing: + new_issue_uri: https://issuetracker.google.com/issues/new?component=1360713 + documentation_uri: https://cloud.google.com/migration-center/docs/migration-center-overview + api_short_name: migrationcenter + github_label: 'api: migrationcenter' + doc_tag_prefix: migrationcenter + organization: CLOUD + library_settings: + - version: google.cloud.migrationcenter.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 diff --git a/third_party/googleapis/google/cloud/netapp/BUILD.bazel b/third_party/googleapis/google/cloud/netapp/BUILD.bazel new file mode 100644 index 000000000..186965ef6 --- /dev/null +++ b/third_party/googleapis/google/cloud/netapp/BUILD.bazel @@ -0,0 +1,38 @@ +# This build file includes a target for the Ruby wrapper library for +# google-cloud-net_app. + +# 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 netapp. +# 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 = "netapp_ruby_wrapper", + srcs = ["//google/cloud/netapp/v1:netapp_proto_with_info"], + extra_protoc_parameters = [ + "ruby-cloud-gem-name=google-cloud-netapp", + "ruby-cloud-namespace-override=Netapp=NetApp", + "ruby-cloud-path-override=net_app=netapp", + "ruby-cloud-wrapper-of=v1:0.4", + ], + service_yaml = "//google/cloud/netapp/v1:netapp_v1.yaml", + transport = "grpc+rest", +) + +# Open Source package. +ruby_gapic_assembly_pkg( + name = "google-cloud-netapp-ruby", + deps = [ + ":netapp_ruby_wrapper", + ], +) \ No newline at end of file diff --git a/third_party/googleapis/google/cloud/netapp/v1/BUILD.bazel b/third_party/googleapis/google/cloud/netapp/v1/BUILD.bazel new file mode 100644 index 000000000..3373d2379 --- /dev/null +++ b/third_party/googleapis/google/cloud/netapp/v1/BUILD.bazel @@ -0,0 +1,454 @@ +# 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 = "netapp_proto", + srcs = [ + "active_directory.proto", + "backup.proto", + "backup_policy.proto", + "backup_vault.proto", + "cloud_netapp_service.proto", + "common.proto", + "kms.proto", + "replication.proto", + "snapshot.proto", + "storage_pool.proto", + "volume.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//:duration_proto", + "@com_google_protobuf//:empty_proto", + "@com_google_protobuf//:field_mask_proto", + "@com_google_protobuf//:timestamp_proto", + ], +) + +proto_library_with_info( + name = "netapp_proto_with_info", + deps = [ + ":netapp_proto", + "//google/cloud:common_resources_proto", + "//google/cloud/location:location_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 = "netapp_java_proto", + deps = [":netapp_proto"], +) + +java_grpc_library( + name = "netapp_java_grpc", + srcs = [":netapp_proto"], + deps = [":netapp_java_proto"], +) + +java_gapic_library( +<<<<<<< HEAD:third_party/googleapis/google/cloud/gaming/v1/BUILD.bazel + name = "gaming_java_gapic", + srcs = [":gaming_proto_with_info"], + grpc_service_config = "gaming_grpc_service_config.json", + rest_numeric_enums = True, +======= + name = "netapp_java_gapic", + srcs = [":netapp_proto_with_info"], + gapic_yaml = None, + grpc_service_config = "netapp_v1_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "netapp_v1.yaml", +>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/cloud/netapp/v1/BUILD.bazel + test_deps = [ + ":netapp_java_grpc", + "//google/cloud/location:location_java_grpc", + ], + transport = "grpc+rest", + deps = [ + ":netapp_java_proto", + "//google/api:api_java_proto", + "//google/cloud/location:location_java_proto", + ], +) + +java_gapic_test( + name = "netapp_java_gapic_test_suite", + test_classes = [ + "com.google.cloud.netapp.v1.NetAppClientHttpJsonTest", + "com.google.cloud.netapp.v1.NetAppClientTest", + ], + runtime_deps = [":netapp_java_gapic_test"], +) + +# Open Source Packages +java_gapic_assembly_gradle_pkg( + name = "google-cloud-netapp-v1-java", + include_samples = True, + transport = "grpc+rest", + deps = [ + ":netapp_java_gapic", + ":netapp_java_grpc", + ":netapp_java_proto", + ":netapp_proto", + ], +) + +############################################################################## +# Go +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "go_gapic_assembly_pkg", + "go_gapic_library", + "go_proto_library", +) + +go_proto_library( + name = "netapp_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], +<<<<<<< HEAD:third_party/googleapis/google/cloud/gaming/v1/BUILD.bazel + importpath = "cloud.google.com/go/gaming/apiv1/gamingpb", + protos = [":gaming_proto"], +======= + importpath = "cloud.google.com/go/netapp/apiv1/netapppb", + protos = [":netapp_proto"], +>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/cloud/netapp/v1/BUILD.bazel + deps = [ + "//google/api:annotations_go_proto", + "//google/longrunning:longrunning_go_proto", + ], +) + +go_gapic_library( +<<<<<<< HEAD:third_party/googleapis/google/cloud/gaming/v1/BUILD.bazel + name = "gaming_go_gapic", + srcs = [":gaming_proto_with_info"], + grpc_service_config = "gaming_grpc_service_config.json", + importpath = "cloud.google.com/go/gaming/apiv1;gaming", + metadata = True, + release_level = "ga", + rest_numeric_enums = True, + service_yaml = "gameservices_v1.yaml", +======= + name = "netapp_go_gapic", + srcs = [":netapp_proto_with_info"], + grpc_service_config = "netapp_v1_grpc_service_config.json", + importpath = "cloud.google.com/go/netapp/apiv1;netapp", + metadata = True, + release_level = "beta", + rest_numeric_enums = True, + service_yaml = "netapp_v1.yaml", +>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/cloud/netapp/v1/BUILD.bazel + transport = "grpc+rest", + deps = [ + ":netapp_go_proto", + "//google/cloud/location:location_go_proto", + "//google/longrunning:longrunning_go_proto", + "@com_google_cloud_go_longrunning//:go_default_library", + "@com_google_cloud_go_longrunning//autogen:go_default_library", + "@io_bazel_rules_go//proto/wkt:duration_go_proto", + ], +) + +# Open Source Packages +go_gapic_assembly_pkg( + name = "gapi-cloud-netapp-v1-go", + deps = [ + ":netapp_go_gapic", + ":netapp_go_gapic_srcjar-metadata.srcjar", + ":netapp_go_gapic_srcjar-snippets.srcjar", + ":netapp_go_gapic_srcjar-test.srcjar", + ":netapp_go_proto", + ], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "py_gapic_assembly_pkg", + "py_gapic_library", + "py_test", +) + +py_gapic_library( + name = "netapp_py_gapic", + srcs = [":netapp_proto"], + grpc_service_config = "netapp_v1_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "netapp_v1.yaml", + transport = "grpc+rest", + deps = [ + ], +<<<<<<< HEAD:third_party/googleapis/google/cloud/gaming/v1/BUILD.bazel + rest_numeric_enums = True, + service_yaml = "gameservices_v1.yaml", + transport = "grpc+rest", +======= +>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/cloud/netapp/v1/BUILD.bazel +) + +py_test( + name = "netapp_py_gapic_test", + srcs = [ + "netapp_py_gapic_pytest.py", + "netapp_py_gapic_test.py", + ], + legacy_create_init = False, + deps = [":netapp_py_gapic"], +) + +# Open Source Packages +py_gapic_assembly_pkg( + name = "netapp-v1-py", + deps = [ + ":netapp_py_gapic", + ], +) + +############################################################################## +# PHP +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "php_gapic_assembly_pkg", + "php_gapic_library", + "php_proto_library", +) + +php_proto_library( + name = "netapp_php_proto", + deps = [":netapp_proto"], +) + +php_gapic_library( +<<<<<<< HEAD:third_party/googleapis/google/cloud/gaming/v1/BUILD.bazel + name = "gaming_php_gapic", + srcs = [":gaming_proto_with_info"], + grpc_service_config = "gaming_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "gameservices_v1.yaml", +======= + name = "netapp_php_gapic", + srcs = [":netapp_proto_with_info"], + grpc_service_config = "netapp_v1_grpc_service_config.json", + migration_mode = "NEW_SURFACE_ONLY", + rest_numeric_enums = True, + service_yaml = "netapp_v1.yaml", +>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/cloud/netapp/v1/BUILD.bazel + transport = "grpc+rest", + deps = [ + ":netapp_php_proto", + ], +) + +# Open Source Packages +php_gapic_assembly_pkg( + name = "google-cloud-netapp-v1-php", + deps = [ + ":netapp_php_gapic", + ":netapp_php_proto", + ], +) + +############################################################################## +# Node.js +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "nodejs_gapic_assembly_pkg", + "nodejs_gapic_library", +) + +nodejs_gapic_library( + name = "netapp_nodejs_gapic", + package_name = "@google-cloud/netapp", + src = ":netapp_proto_with_info", + extra_protoc_parameters = ["metadata"], +<<<<<<< HEAD:third_party/googleapis/google/cloud/gaming/v1/BUILD.bazel + grpc_service_config = "gaming_grpc_service_config.json", + package = "google.cloud.gaming.v1", + rest_numeric_enums = True, + service_yaml = "gameservices_v1.yaml", +======= + grpc_service_config = "netapp_v1_grpc_service_config.json", + package = "google.cloud.netapp.v1", + rest_numeric_enums = True, + service_yaml = "netapp_v1.yaml", +>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/cloud/netapp/v1/BUILD.bazel + transport = "grpc+rest", + deps = [], +) + +nodejs_gapic_assembly_pkg( + name = "netapp-v1-nodejs", + deps = [ + ":netapp_nodejs_gapic", + ":netapp_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 = "netapp_ruby_proto", + deps = [":netapp_proto"], +) + +ruby_grpc_library( + name = "netapp_ruby_grpc", + srcs = [":netapp_proto"], + deps = [":netapp_ruby_proto"], +) + +ruby_cloud_gapic_library( + name = "netapp_ruby_gapic", + srcs = [":netapp_proto_with_info"], + extra_protoc_parameters = [ + "ruby-cloud-namespace-override=Netapp=NetApp", + "ruby-cloud-path-override=net_app=netapp", + "ruby-cloud-gem-name=google-cloud-netapp-v1", + ], +<<<<<<< HEAD:third_party/googleapis/google/cloud/gaming/v1/BUILD.bazel + grpc_service_config = "gaming_grpc_service_config.json", + rest_numeric_enums = True, + ruby_cloud_description = "With Game Servers, studios and publishers can deploy and manage their game server infrastructure hosted on multiple Agones clusters around the world through a single interface.", + ruby_cloud_title = "Cloud Gaming V1", + service_yaml = "gameservices_v1.yaml", +======= + grpc_service_config = "netapp_v1_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "netapp_v1.yaml", + transport = "grpc+rest", +>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/cloud/netapp/v1/BUILD.bazel + deps = [ + ":netapp_ruby_grpc", + ":netapp_ruby_proto", + ], +) + +# Open Source Packages +ruby_gapic_assembly_pkg( + name = "google-cloud-netapp-v1-ruby", + deps = [ + ":netapp_ruby_gapic", + ":netapp_ruby_grpc", + ":netapp_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 = "netapp_csharp_proto", + deps = [":netapp_proto"], +) + +csharp_grpc_library( + name = "netapp_csharp_grpc", + srcs = [":netapp_proto"], + deps = [":netapp_csharp_proto"], +) + +csharp_gapic_library( + name = "netapp_csharp_gapic", + srcs = [":netapp_proto_with_info"], + common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json", +<<<<<<< HEAD:third_party/googleapis/google/cloud/gaming/v1/BUILD.bazel + grpc_service_config = "gaming_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "gameservices_v1.yaml", + transport = "grpc+rest", +======= + grpc_service_config = "netapp_v1_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "netapp_v1.yaml", +>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/cloud/netapp/v1/BUILD.bazel + deps = [ + ":netapp_csharp_grpc", + ":netapp_csharp_proto", + ], +) + +# Open Source Packages +csharp_gapic_assembly_pkg( + name = "google-cloud-netapp-v1-csharp", + deps = [ + ":netapp_csharp_gapic", + ":netapp_csharp_grpc", + ":netapp_csharp_proto", + ], +) + +############################################################################## +# C++ +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "cc_grpc_library", + "cc_proto_library", +) + +cc_proto_library( + name = "netapp_cc_proto", + deps = [":netapp_proto"], +) + +cc_grpc_library( + name = "netapp_cc_grpc", + srcs = [":netapp_proto"], + grpc_only = True, + deps = [":netapp_cc_proto"], +) diff --git a/third_party/googleapis/google/cloud/netapp/v1/active_directory.proto b/third_party/googleapis/google/cloud/netapp/v1/active_directory.proto new file mode 100644 index 000000000..19b5e3d91 --- /dev/null +++ b/third_party/googleapis/google/cloud/netapp/v1/active_directory.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.cloud.netapp.v1; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.NetApp.V1"; +option go_package = "cloud.google.com/go/netapp/apiv1/netapppb;netapppb"; +option java_multiple_files = true; +option java_outer_classname = "ActiveDirectoryProto"; +option java_package = "com.google.cloud.netapp.v1"; +option php_namespace = "Google\\Cloud\\NetApp\\V1"; +option ruby_package = "Google::Cloud::NetApp::V1"; + +// ListActiveDirectoriesRequest for requesting multiple active directories. +message ListActiveDirectoriesRequest { + // Required. Parent value for ListActiveDirectoriesRequest + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "netapp.googleapis.com/ActiveDirectory" + } + ]; + + // Requested page size. Server may return fewer items than requested. + // If unspecified, the server will pick an appropriate default. + int32 page_size = 2; + + // A token identifying a page of results the server should return. + string page_token = 3; + + // Filtering results + string filter = 4; + + // Hint for how to order the results + string order_by = 5; +} + +// ListActiveDirectoriesResponse contains all the active directories requested. +message ListActiveDirectoriesResponse { + // The list of active directories. + repeated ActiveDirectory active_directories = 1; + + // A token identifying a page of results the server should return. + string next_page_token = 2; + + // Locations that could not be reached. + repeated string unreachable = 3; +} + +// GetActiveDirectory for getting a single active directory. +message GetActiveDirectoryRequest { + // Required. Name of the active directory. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "netapp.googleapis.com/ActiveDirectory" + } + ]; +} + +// CreateActiveDirectoryRequest for creating an active directory. +message CreateActiveDirectoryRequest { + // Required. Value for parent. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "netapp.googleapis.com/ActiveDirectory" + } + ]; + + // Required. Fields of the to be created active directory. + ActiveDirectory active_directory = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. ID of the active directory to create. + string active_directory_id = 3 [(google.api.field_behavior) = REQUIRED]; +} + +// UpdateActiveDirectoryRequest for updating an active directory. +message UpdateActiveDirectoryRequest { + // Required. Field mask is used to specify the fields to be overwritten in the + // Active Directory resource by the update. + // The fields specified in the update_mask are relative to the resource, not + // the full request. A field will be overwritten if it is in the mask. If the + // user does not provide a mask then all fields will be overwritten. + google.protobuf.FieldMask update_mask = 1 + [(google.api.field_behavior) = REQUIRED]; + + // Required. The volume being updated + ActiveDirectory active_directory = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// DeleteActiveDirectoryRequest for deleting a single active directory. +message DeleteActiveDirectoryRequest { + // Required. Name of the active directory. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "netapp.googleapis.com/ActiveDirectory" + } + ]; +} + +// ActiveDirectory is the public representation of the active directory config. +message ActiveDirectory { + option (google.api.resource) = { + type: "netapp.googleapis.com/ActiveDirectory" + pattern: "projects/{project}/locations/{location}/activeDirectories/{active_directory}" + plural: "activeDirectories" + singular: "activeDirectory" + }; + + // The Active Directory States + enum State { + // Unspecified Active Directory State + STATE_UNSPECIFIED = 0; + + // Active Directory State is Creating + CREATING = 1; + + // Active Directory State is Ready + READY = 2; + + // Active Directory State is Updating + UPDATING = 3; + + // Active Directory State is In use + IN_USE = 4; + + // Active Directory State is Deleting + DELETING = 5; + + // Active Directory State is Error + ERROR = 6; + } + + // Identifier. The resource name of the active directory. + // Format: + // `projects/{project_number}/locations/{location_id}/activeDirectories/{active_directory_id}`. + string name = 1 [(google.api.field_behavior) = IDENTIFIER]; + + // Output only. Create time of the active directory. + google.protobuf.Timestamp create_time = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The state of the AD. + State state = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. Name of the Active Directory domain + string domain = 4 [(google.api.field_behavior) = REQUIRED]; + + // The Active Directory site the service will limit Domain Controller + // discovery too. + string site = 5; + + // Required. Comma separated list of DNS server IP addresses for the Active + // Directory domain. + string dns = 6 [(google.api.field_behavior) = REQUIRED]; + + // Required. NetBIOSPrefix is used as a prefix for SMB server name. + string net_bios_prefix = 7 [(google.api.field_behavior) = REQUIRED]; + + // The Organizational Unit (OU) within the Windows Active Directory the user + // belongs to. + string organizational_unit = 8; + + // If enabled, AES encryption will be enabled for SMB communication. + bool aes_encryption = 9; + + // Required. Username of the Active Directory domain administrator. + string username = 10 [(google.api.field_behavior) = REQUIRED]; + + // Required. Password of the Active Directory domain administrator. + string password = 11 [(google.api.field_behavior) = REQUIRED]; + + // Users to be added to the Built-in Backup Operator active directory group. + repeated string backup_operators = 12; + + // Domain users to be given the SeSecurityPrivilege. + repeated string security_operators = 13; + + // Name of the active directory machine. This optional parameter is used only + // while creating kerberos volume + string kdc_hostname = 14; + + // KDC server IP address for the active directory machine. + string kdc_ip = 15; + + // If enabled, will allow access to local users and LDAP users. If access is + // needed for only LDAP users, it has to be disabled. + bool nfs_users_with_ldap = 16; + + // Description of the active directory. + string description = 17; + + // Specifies whether or not the LDAP traffic needs to be signed. + bool ldap_signing = 18; + + // If enabled, traffic between the SMB server to Domain Controller (DC) will + // be encrypted. + bool encrypt_dc_connections = 19; + + // Labels for the active directory. + map labels = 20; + + // Output only. The state details of the Active Directory. + string state_details = 21 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/cloud/netapp/v1/backup.proto b/third_party/googleapis/google/cloud/netapp/v1/backup.proto new file mode 100644 index 000000000..f74a72347 --- /dev/null +++ b/third_party/googleapis/google/cloud/netapp/v1/backup.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.cloud.netapp.v1; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.NetApp.V1"; +option go_package = "cloud.google.com/go/netapp/apiv1/netapppb;netapppb"; +option java_multiple_files = true; +option java_outer_classname = "BackupProto"; +option java_package = "com.google.cloud.netapp.v1"; +option php_namespace = "Google\\Cloud\\NetApp\\V1"; +option ruby_package = "Google::Cloud::NetApp::V1"; + +// A NetApp Backup. +message Backup { + option (google.api.resource) = { + type: "netapp.googleapis.com/Backup" + pattern: "projects/{project}/locations/{location}/backupVaults/{backup_vault}/backups/{backup}" + plural: "backups" + singular: "backup" + }; + + // The Backup States + enum State { + // State not set. + STATE_UNSPECIFIED = 0; + + // Backup is being created. While in this state, the snapshot for the backup + // point-in-time may not have been created yet, and so the point-in-time may + // not have been fixed. + CREATING = 1; + + // Backup is being uploaded. While in this state, none of the writes to the + // volume will be included in the backup. + UPLOADING = 2; + + // Backup is available for use. + READY = 3; + + // Backup is being deleted. + DELETING = 4; + + // Backup is not valid and cannot be used for creating new volumes or + // restoring existing volumes. + ERROR = 5; + + // Backup is being updated. + UPDATING = 6; + } + + // Backup types. + enum Type { + // Unspecified backup type. + TYPE_UNSPECIFIED = 0; + + // Manual backup type. + MANUAL = 1; + + // Scheduled backup type. + SCHEDULED = 2; + } + + // Identifier. The resource name of the backup. + // Format: + // `projects/{project_id}/locations/{location}/backupVaults/{backup_vault_id}/backups/{backup_id}`. + string name = 1 [(google.api.field_behavior) = IDENTIFIER]; + + // Output only. The backup state. + State state = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // A description of the backup with 2048 characters or less. + // Requests with longer descriptions will be rejected. + string description = 3; + + // Output only. Size of the file system when the backup was created. When + // creating a new volume from the backup, the volume capacity will have to be + // at least as big. + int64 volume_usage_bytes = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Type of backup, manually created or created by a backup + // policy. + Type backup_type = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Volume full name of this backup belongs to. + // Format: + // `projects/{projects_id}/locations/{location}/volumes/{volume_id}` + string source_volume = 6 [ + (google.api.resource_reference) = { type: "netapp.googleapis.com/Volume" } + ]; + + // If specified, backup will be created from the given snapshot. + // If not specified, there will be a new snapshot taken to initiate the backup + // creation. Format: + // `projects/{project_id}/locations/{location}/volumes/{volume_id}/snapshots/{snapshot_id}` + optional string source_snapshot = 7 [ + (google.api.resource_reference) = { type: "netapp.googleapis.com/Snapshot" } + ]; + + // Output only. The time when the backup was created. + google.protobuf.Timestamp create_time = 8 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Resource labels to represent user provided metadata. + map labels = 9; + + // Output only. Total size of all backups in a chain in bytes = baseline + // backup size + sum(incremental backup size) + int64 chain_storage_bytes = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// ListBackupsRequest lists backups. +message ListBackupsRequest { + // Required. The backupVault for which to retrieve backup information, + // in the format + // `projects/{project_id}/locations/{location}/backupVaults/{backup_vault_id}`. + // To retrieve backup information for all locations, use "-" for the + // `{location}` value. + // To retrieve backup information for all backupVaults, use "-" for the + // `{backup_vault_id}` value. + // To retrieve backup information for a volume, use "-" for the + // `{backup_vault_id}` value and specify volume full name with the filter. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "netapp.googleapis.com/Backup" + } + ]; + + // The maximum number of items to return. The service may return fewer + // than this value. The maximum value + // is 1000; values above 1000 will be coerced to 1000. + int32 page_size = 2; + + // The next_page_token value to use if there are additional + // results to retrieve for this list request. + string page_token = 3; + + // Sort results. Supported values are "name", "name desc" or "" (unsorted). + string order_by = 4; + + // The standard list filter. + // If specified, backups will be returned based on the attribute name that + // matches the filter expression. If empty, then no backups are filtered out. + // See https://google.aip.dev/160 + string filter = 5; +} + +// ListBackupsResponse is the result of ListBackupsRequest. +message ListBackupsResponse { + // A list of backups in the project. + repeated Backup backups = 1; + + // The token you can use to retrieve the next page of results. Not returned + // if there are no more results in the list. + string next_page_token = 2; + + // Locations that could not be reached. + repeated string unreachable = 3; +} + +// GetBackupRequest gets the state of a backup. +message GetBackupRequest { + // Required. The backup resource name, in the format + // `projects/{project_id}/locations/{location}/backupVaults/{backup_vault_id}/backups/{backup_id}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { type: "netapp.googleapis.com/Backup" } + ]; +} + +// CreateBackupRequest creates a backup. +message CreateBackupRequest { + // Required. The NetApp backupVault to create the backups of, in the format + // `projects/*/locations/*/backupVaults/{backup_vault_id}` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "netapp.googleapis.com/Backup" + } + ]; + + // Required. The ID to use for the backup. + // The ID must be unique within the specified backupVault. + // This value must start with a lowercase letter followed by up to 62 + // lowercase letters, numbers, or hyphens, and cannot end with a hyphen. + // Values that do not match this pattern will trigger an INVALID_ARGUMENT + // error. + string backup_id = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. A backup resource + Backup backup = 3 [(google.api.field_behavior) = REQUIRED]; +} + +// DeleteBackupRequest deletes a backup. +message DeleteBackupRequest { + // Required. The backup resource name, in the format + // `projects/{project_id}/locations/{location}/backupVaults/{backup_vault_id}/backups/{backup_id}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { type: "netapp.googleapis.com/Backup" } + ]; +} + +// UpdateBackupRequest updates description and/or labels for a backup. +message UpdateBackupRequest { + // Required. Field mask is used to specify the fields to be overwritten in the + // Backup resource to be updated. + // The fields specified in the update_mask are relative to the resource, not + // the full request. A field will be overwritten if it is in the mask. If the + // user does not provide a mask then all fields will be overwritten. + google.protobuf.FieldMask update_mask = 1 + [(google.api.field_behavior) = REQUIRED]; + + // Required. The backup being updated + Backup backup = 2 [(google.api.field_behavior) = REQUIRED]; +} diff --git a/third_party/googleapis/google/cloud/netapp/v1/backup_policy.proto b/third_party/googleapis/google/cloud/netapp/v1/backup_policy.proto new file mode 100644 index 000000000..cfe1e4dd1 --- /dev/null +++ b/third_party/googleapis/google/cloud/netapp/v1/backup_policy.proto @@ -0,0 +1,194 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF 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.netapp.v1; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.NetApp.V1"; +option go_package = "cloud.google.com/go/netapp/apiv1/netapppb;netapppb"; +option java_multiple_files = true; +option java_outer_classname = "BackupPolicyProto"; +option java_package = "com.google.cloud.netapp.v1"; +option php_namespace = "Google\\Cloud\\NetApp\\V1"; +option ruby_package = "Google::Cloud::NetApp::V1"; + +// Backup Policy. +message BackupPolicy { + option (google.api.resource) = { + type: "netapp.googleapis.com/BackupPolicy" + pattern: "projects/{project}/locations/{location}/backupPolicies/{backup_policy}" + plural: "backupPolicies" + singular: "backupPolicy" + }; + + enum State { + // State not set. + STATE_UNSPECIFIED = 0; + + // BackupPolicy is being created. + CREATING = 1; + + // BackupPolicy is available for use. + READY = 2; + + // BackupPolicy is being deleted. + DELETING = 3; + + // BackupPolicy is not valid and cannot be used. + ERROR = 4; + + // BackupPolicy is being updated. + UPDATING = 5; + } + + // Identifier. The resource name of the backup policy. + // Format: + // `projects/{project_id}/locations/{location}/backupPolicies/{backup_policy_id}`. + string name = 1 [(google.api.field_behavior) = IDENTIFIER]; + + // Number of daily backups to keep. Note that the minimum daily backup limit + // is 2. + optional int32 daily_backup_limit = 2; + + // Number of weekly backups to keep. Note that the sum of daily, weekly and + // monthly backups should be greater than 1. + optional int32 weekly_backup_limit = 3; + + // Number of monthly backups to keep. Note that the sum of daily, weekly and + // monthly backups should be greater than 1. + optional int32 monthly_backup_limit = 4; + + // Description of the backup policy. + optional string description = 5; + + // If enabled, make backups automatically according to the schedules. + // This will be applied to all volumes that have this policy attached and + // enforced on volume level. If not specified, default is true. + optional bool enabled = 6; + + // Output only. The total number of volumes assigned by this backup policy. + optional int32 assigned_volume_count = 7 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The time when the backup policy was created. + google.protobuf.Timestamp create_time = 8 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Resource labels to represent user provided metadata. + map labels = 9; + + // Output only. The backup policy state. + State state = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// CreateBackupPolicyRequest creates a backupPolicy. +message CreateBackupPolicyRequest { + // Required. The location to create the backup policies of, in the format + // `projects/{project_id}/locations/{location}` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "netapp.googleapis.com/BackupPolicy" + } + ]; + + // Required. A backupPolicy resource + BackupPolicy backup_policy = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The ID to use for the backup policy. + // The ID must be unique within the specified location. + // This value must start with a lowercase letter followed by up to 62 + // lowercase letters, numbers, or hyphens, and cannot end with a hyphen. + string backup_policy_id = 3 [(google.api.field_behavior) = REQUIRED]; +} + +// GetBackupPolicyRequest gets the state of a backupPolicy. +message GetBackupPolicyRequest { + // Required. The backupPolicy resource name, in the format + // `projects/{project_id}/locations/{location}/backupPolicies/{backup_policy_id}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "netapp.googleapis.com/BackupPolicy" + } + ]; +} + +// ListBackupPoliciesRequest for requesting multiple backup policies. +message ListBackupPoliciesRequest { + // Required. Parent value for ListBackupPoliciesRequest + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "netapp.googleapis.com/BackupPolicy" + } + ]; + + // Requested page size. Server may return fewer items than requested. + // If unspecified, the server will pick an appropriate default. + int32 page_size = 2; + + // A token identifying a page of results the server should return. + string page_token = 3; + + // Filtering results + string filter = 4; + + // Hint for how to order the results + string order_by = 5; +} + +// ListBackupPoliciesResponse contains all the backup policies requested. +message ListBackupPoliciesResponse { + // The list of backup policies. + repeated BackupPolicy backup_policies = 1; + + // A token identifying a page of results the server should return. + string next_page_token = 2; + + // Locations that could not be reached. + repeated string unreachable = 3; +} + +// UpdateBackupPolicyRequest for updating a backup policy. +message UpdateBackupPolicyRequest { + // Required. Field mask is used to specify the fields to be overwritten in the + // Backup Policy resource by the update. + // The fields specified in the update_mask are relative to the resource, not + // the full request. A field will be overwritten if it is in the mask. If the + // user does not provide a mask then all fields will be overwritten. + google.protobuf.FieldMask update_mask = 1 + [(google.api.field_behavior) = REQUIRED]; + + // Required. The backup policy being updated + BackupPolicy backup_policy = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// DeleteBackupPolicyRequest deletes a backup policy. +message DeleteBackupPolicyRequest { + // Required. The backup policy resource name, in the format + // `projects/{project_id}/locations/{location}/backupPolicies/{backup_policy_id}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "netapp.googleapis.com/BackupPolicy" + } + ]; +} diff --git a/third_party/googleapis/google/cloud/netapp/v1/backup_vault.proto b/third_party/googleapis/google/cloud/netapp/v1/backup_vault.proto new file mode 100644 index 000000000..e5b759093 --- /dev/null +++ b/third_party/googleapis/google/cloud/netapp/v1/backup_vault.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.cloud.netapp.v1; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.NetApp.V1"; +option go_package = "cloud.google.com/go/netapp/apiv1/netapppb;netapppb"; +option java_multiple_files = true; +option java_outer_classname = "BackupVaultProto"; +option java_package = "com.google.cloud.netapp.v1"; +option php_namespace = "Google\\Cloud\\NetApp\\V1"; +option ruby_package = "Google::Cloud::NetApp::V1"; + +// A NetApp BackupVault. +message BackupVault { + option (google.api.resource) = { + type: "netapp.googleapis.com/BackupVault" + pattern: "projects/{project}/locations/{location}/backupVaults/{backup_vault}" + plural: "backupVaults" + singular: "backupVault" + }; + + // The Backup Vault States + enum State { + // State not set. + STATE_UNSPECIFIED = 0; + + // BackupVault is being created. + CREATING = 1; + + // BackupVault is available for use. + READY = 2; + + // BackupVault is being deleted. + DELETING = 3; + + // BackupVault is not valid and cannot be used. + ERROR = 4; + + // BackupVault is being updated. + UPDATING = 5; + } + + // Identifier. The resource name of the backup vault. + // Format: + // `projects/{project_id}/locations/{location}/backupVaults/{backup_vault_id}`. + string name = 1 [(google.api.field_behavior) = IDENTIFIER]; + + // Output only. The backup vault state. + State state = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Create time of the backup vault. + google.protobuf.Timestamp create_time = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Description of the backup vault. + string description = 4; + + // Resource labels to represent user provided metadata. + map labels = 5; +} + +// GetBackupVaultRequest gets the state of a backupVault. +message GetBackupVaultRequest { + // Required. The backupVault resource name, in the format + // `projects/{project_id}/locations/{location}/backupVaults/{backup_vault_id}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "netapp.googleapis.com/BackupVault" + } + ]; +} + +// ListBackupVaultsRequest lists backupVaults. +message ListBackupVaultsRequest { + // Required. The location for which to retrieve backupVault information, + // in the format + // `projects/{project_id}/locations/{location}`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "netapp.googleapis.com/BackupVault" + } + ]; + + // The maximum number of items to return. + int32 page_size = 2; + + // The next_page_token value to use if there are additional + // results to retrieve for this list request. + string page_token = 3; + + // Sort results. Supported values are "name", "name desc" or "" (unsorted). + string order_by = 4; + + // List filter. + string filter = 5; +} + +// ListBackupVaultsResponse is the result of ListBackupVaultsRequest. +message ListBackupVaultsResponse { + // A list of backupVaults in the project for the specified location. + repeated BackupVault backup_vaults = 1; + + // The token you can use to retrieve the next page of results. Not returned + // if there are no more results in the list. + string next_page_token = 2; + + // Locations that could not be reached. + repeated string unreachable = 3; +} + +// CreateBackupVaultRequest creates a backup vault. +message CreateBackupVaultRequest { + // Required. The location to create the backup vaults, in the format + // `projects/{project_id}/locations/{location}` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "netapp.googleapis.com/BackupVault" + } + ]; + + // Required. The ID to use for the backupVault. + // The ID must be unique within the specified location. + // The max supported length is 63 characters. + // This value must start with a lowercase letter followed by up to 62 + // lowercase letters, numbers, or hyphens, and cannot end with a hyphen. + // Values that do not match this pattern will trigger an INVALID_ARGUMENT + // error. + string backup_vault_id = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. A backupVault resource + BackupVault backup_vault = 3 [(google.api.field_behavior) = REQUIRED]; +} + +// DeleteBackupVaultRequest deletes a backupVault. +message DeleteBackupVaultRequest { + // Required. The backupVault resource name, in the format + // `projects/{project_id}/locations/{location}/backupVaults/{backup_vault_id}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "netapp.googleapis.com/BackupVault" + } + ]; +} + +// UpdateBackupVaultRequest updates description and/or labels for a backupVault. +message UpdateBackupVaultRequest { + // Required. Field mask is used to specify the fields to be overwritten in the + // Backup resource to be updated. + // The fields specified in the update_mask are relative to the resource, not + // the full request. A field will be overwritten if it is in the mask. If the + // user does not provide a mask then all fields will be overwritten. + google.protobuf.FieldMask update_mask = 1 + [(google.api.field_behavior) = REQUIRED]; + + // Required. The backupVault being updated + BackupVault backup_vault = 2 [(google.api.field_behavior) = REQUIRED]; +} diff --git a/third_party/googleapis/google/cloud/netapp/v1/cloud_netapp_service.proto b/third_party/googleapis/google/cloud/netapp/v1/cloud_netapp_service.proto new file mode 100644 index 000000000..48f125525 --- /dev/null +++ b/third_party/googleapis/google/cloud/netapp/v1/cloud_netapp_service.proto @@ -0,0 +1,680 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF 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.netapp.v1; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/netapp/v1/active_directory.proto"; +import "google/cloud/netapp/v1/backup.proto"; +import "google/cloud/netapp/v1/backup_policy.proto"; +import "google/cloud/netapp/v1/backup_vault.proto"; +import "google/cloud/netapp/v1/kms.proto"; +import "google/cloud/netapp/v1/replication.proto"; +import "google/cloud/netapp/v1/snapshot.proto"; +import "google/cloud/netapp/v1/storage_pool.proto"; +import "google/cloud/netapp/v1/volume.proto"; +import "google/longrunning/operations.proto"; +import "google/protobuf/empty.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.NetApp.V1"; +option go_package = "cloud.google.com/go/netapp/apiv1/netapppb;netapppb"; +option java_multiple_files = true; +option java_outer_classname = "CloudNetappServiceProto"; +option java_package = "com.google.cloud.netapp.v1"; +option php_namespace = "Google\\Cloud\\NetApp\\V1"; +option ruby_package = "Google::Cloud::NetApp::V1"; +option (google.api.resource_definition) = { + type: "compute.googleapis.com/Network" + pattern: "projects/{project}/global/networks/{network}" +}; + +// NetApp Files Google Cloud Service +service NetApp { + option (google.api.default_host) = "netapp.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform"; + + // Returns descriptions of all storage pools owned by the caller. + rpc ListStoragePools(ListStoragePoolsRequest) + returns (ListStoragePoolsResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*}/storagePools" + }; + option (google.api.method_signature) = "parent"; + } + + // Creates a new storage pool. + rpc CreateStoragePool(CreateStoragePoolRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*}/storagePools" + body: "storage_pool" + }; + option (google.api.method_signature) = + "parent,storage_pool,storage_pool_id"; + option (google.longrunning.operation_info) = { + response_type: "StoragePool" + metadata_type: "OperationMetadata" + }; + } + + // Returns the description of the specified storage pool by poolId. + rpc GetStoragePool(GetStoragePoolRequest) returns (StoragePool) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/storagePools/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Updates the storage pool properties with the full spec + rpc UpdateStoragePool(UpdateStoragePoolRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + patch: "/v1/{storage_pool.name=projects/*/locations/*/storagePools/*}" + body: "storage_pool" + }; + option (google.api.method_signature) = "storage_pool,update_mask"; + option (google.longrunning.operation_info) = { + response_type: "StoragePool" + metadata_type: "OperationMetadata" + }; + } + + // Warning! This operation will permanently delete the storage pool. + rpc DeleteStoragePool(DeleteStoragePoolRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1/{name=projects/*/locations/*/storagePools/*}" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "OperationMetadata" + }; + } + + // Lists Volumes in a given project. + rpc ListVolumes(ListVolumesRequest) returns (ListVolumesResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*}/volumes" + }; + option (google.api.method_signature) = "parent"; + } + + // Gets details of a single Volume. + rpc GetVolume(GetVolumeRequest) returns (Volume) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/volumes/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Creates a new Volume in a given project and location. + rpc CreateVolume(CreateVolumeRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*}/volumes" + body: "volume" + }; + option (google.api.method_signature) = "parent,volume,volume_id"; + option (google.longrunning.operation_info) = { + response_type: "Volume" + metadata_type: "OperationMetadata" + }; + } + + // Updates the parameters of a single Volume. + rpc UpdateVolume(UpdateVolumeRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + patch: "/v1/{volume.name=projects/*/locations/*/volumes/*}" + body: "volume" + }; + option (google.api.method_signature) = "volume,update_mask"; + option (google.longrunning.operation_info) = { + response_type: "Volume" + metadata_type: "OperationMetadata" + }; + } + + // Deletes a single Volume. + rpc DeleteVolume(DeleteVolumeRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1/{name=projects/*/locations/*/volumes/*}" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "OperationMetadata" + }; + } + + // Revert an existing volume to a specified snapshot. + // Warning! This operation will permanently revert all changes made after the + // snapshot was created. + rpc RevertVolume(RevertVolumeRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{name=projects/*/locations/*/volumes/*}:revert" + body: "*" + }; + option (google.longrunning.operation_info) = { + response_type: "Volume" + metadata_type: "OperationMetadata" + }; + } + + // Returns descriptions of all snapshots for a volume. + rpc ListSnapshots(ListSnapshotsRequest) returns (ListSnapshotsResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*/volumes/*}/snapshots" + }; + option (google.api.method_signature) = "parent"; + } + + // Describe a snapshot for a volume. + rpc GetSnapshot(GetSnapshotRequest) returns (Snapshot) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/volumes/*/snapshots/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Create a new snapshot for a volume. + rpc CreateSnapshot(CreateSnapshotRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*/volumes/*}/snapshots" + body: "snapshot" + }; + option (google.api.method_signature) = "parent,snapshot,snapshot_id"; + option (google.longrunning.operation_info) = { + response_type: "Snapshot" + metadata_type: "OperationMetadata" + }; + } + + // Deletes a snapshot. + rpc DeleteSnapshot(DeleteSnapshotRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1/{name=projects/*/locations/*/volumes/*/snapshots/*}" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "OperationMetadata" + }; + } + + // Updates the settings of a specific snapshot. + rpc UpdateSnapshot(UpdateSnapshotRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + patch: "/v1/{snapshot.name=projects/*/locations/*/volumes/*/snapshots/*}" + body: "snapshot" + }; + option (google.api.method_signature) = "snapshot,update_mask"; + option (google.longrunning.operation_info) = { + response_type: "Snapshot" + metadata_type: "OperationMetadata" + }; + } + + // Lists active directories. + rpc ListActiveDirectories(ListActiveDirectoriesRequest) + returns (ListActiveDirectoriesResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*}/activeDirectories" + }; + option (google.api.method_signature) = "parent"; + } + + // Describes a specified active directory. + rpc GetActiveDirectory(GetActiveDirectoryRequest) returns (ActiveDirectory) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/activeDirectories/*}" + }; + option (google.api.method_signature) = "name"; + } + + // CreateActiveDirectory + // Creates the active directory specified in the request. + rpc CreateActiveDirectory(CreateActiveDirectoryRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*}/activeDirectories" + body: "active_directory" + }; + option (google.api.method_signature) = + "parent,active_directory,active_directory_id"; + option (google.longrunning.operation_info) = { + response_type: "ActiveDirectory" + metadata_type: "OperationMetadata" + }; + } + + // Update the parameters of an active directories. + rpc UpdateActiveDirectory(UpdateActiveDirectoryRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + patch: "/v1/{active_directory.name=projects/*/locations/*/activeDirectories/*}" + body: "active_directory" + }; + option (google.api.method_signature) = "active_directory,update_mask"; + option (google.longrunning.operation_info) = { + response_type: "ActiveDirectory" + metadata_type: "OperationMetadata" + }; + } + + // Delete the active directory specified in the request. + rpc DeleteActiveDirectory(DeleteActiveDirectoryRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1/{name=projects/*/locations/*/activeDirectories/*}" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "OperationMetadata" + }; + } + + // Returns descriptions of all KMS configs owned by the caller. + rpc ListKmsConfigs(ListKmsConfigsRequest) returns (ListKmsConfigsResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*}/kmsConfigs" + }; + option (google.api.method_signature) = "parent"; + } + + // Creates a new KMS config. + rpc CreateKmsConfig(CreateKmsConfigRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*}/kmsConfigs" + body: "kms_config" + }; + option (google.api.method_signature) = "parent,kms_config,kms_config_id"; + option (google.longrunning.operation_info) = { + response_type: "KmsConfig" + metadata_type: "OperationMetadata" + }; + } + + // Returns the description of the specified KMS config by kms_config_id. + rpc GetKmsConfig(GetKmsConfigRequest) returns (KmsConfig) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/kmsConfigs/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Updates the Kms config properties with the full spec + rpc UpdateKmsConfig(UpdateKmsConfigRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + patch: "/v1/{kms_config.name=projects/*/locations/*/kmsConfigs/*}" + body: "kms_config" + }; + option (google.api.method_signature) = "kms_config,update_mask"; + option (google.longrunning.operation_info) = { + response_type: "KmsConfig" + metadata_type: "OperationMetadata" + }; + } + + // Encrypt the existing volumes without CMEK encryption with the desired the + // KMS config for the whole region. + rpc EncryptVolumes(EncryptVolumesRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{name=projects/*/locations/*/kmsConfigs/*}:encrypt" + body: "*" + }; + option (google.longrunning.operation_info) = { + response_type: "KmsConfig" + metadata_type: "OperationMetadata" + }; + } + + // Verifies KMS config reachability. + rpc VerifyKmsConfig(VerifyKmsConfigRequest) + returns (VerifyKmsConfigResponse) { + option (google.api.http) = { + post: "/v1/{name=projects/*/locations/*/kmsConfigs/*}:verify" + body: "*" + }; + } + + // Warning! This operation will permanently delete the Kms config. + rpc DeleteKmsConfig(DeleteKmsConfigRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1/{name=projects/*/locations/*/kmsConfigs/*}" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "OperationMetadata" + }; + } + + // Returns descriptions of all replications for a volume. + rpc ListReplications(ListReplicationsRequest) + returns (ListReplicationsResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*/volumes/*}/replications" + }; + option (google.api.method_signature) = "parent"; + } + + // Describe a replication for a volume. + rpc GetReplication(GetReplicationRequest) returns (Replication) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/volumes/*/replications/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Create a new replication for a volume. + rpc CreateReplication(CreateReplicationRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*/volumes/*}/replications" + body: "replication" + }; + option (google.api.method_signature) = "parent,replication,replication_id"; + option (google.longrunning.operation_info) = { + response_type: "Replication" + metadata_type: "OperationMetadata" + }; + } + + // Deletes a replication. + rpc DeleteReplication(DeleteReplicationRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1/{name=projects/*/locations/*/volumes/*/replications/*}" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "OperationMetadata" + }; + } + + // Updates the settings of a specific replication. + rpc UpdateReplication(UpdateReplicationRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + patch: "/v1/{replication.name=projects/*/locations/*/volumes/*/replications/*}" + body: "replication" + }; + option (google.api.method_signature) = "replication,update_mask"; + option (google.longrunning.operation_info) = { + response_type: "Replication" + metadata_type: "OperationMetadata" + }; + } + + // Stop Cross Region Replication. + rpc StopReplication(StopReplicationRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{name=projects/*/locations/*/volumes/*/replications/*}:stop" + body: "*" + }; + option (google.longrunning.operation_info) = { + response_type: "Replication" + metadata_type: "OperationMetadata" + }; + } + + // Resume Cross Region Replication. + rpc ResumeReplication(ResumeReplicationRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{name=projects/*/locations/*/volumes/*/replications/*}:resume" + body: "*" + }; + option (google.longrunning.operation_info) = { + response_type: "Replication" + metadata_type: "OperationMetadata" + }; + } + + // Reverses direction of replication. Source becomes destination and + // destination becomes source. + rpc ReverseReplicationDirection(ReverseReplicationDirectionRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{name=projects/*/locations/*/volumes/*/replications/*}:reverseDirection" + body: "*" + }; + option (google.longrunning.operation_info) = { + response_type: "Replication" + metadata_type: "OperationMetadata" + }; + } + + // Creates new backup vault + rpc CreateBackupVault(CreateBackupVaultRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*}/backupVaults" + body: "backup_vault" + }; + option (google.api.method_signature) = + "parent,backup_vault,backup_vault_id"; + option (google.longrunning.operation_info) = { + response_type: "BackupVault" + metadata_type: "OperationMetadata" + }; + } + + // Returns the description of the specified backup vault + rpc GetBackupVault(GetBackupVaultRequest) returns (BackupVault) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/backupVaults/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Returns list of all available backup vaults. + rpc ListBackupVaults(ListBackupVaultsRequest) + returns (ListBackupVaultsResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*}/backupVaults" + }; + option (google.api.method_signature) = "parent"; + } + + // Updates the settings of a specific backup vault. + rpc UpdateBackupVault(UpdateBackupVaultRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + patch: "/v1/{backup_vault.name=projects/*/locations/*/backupVaults/*}" + body: "backup_vault" + }; + option (google.api.method_signature) = "backup_vault,update_mask"; + option (google.longrunning.operation_info) = { + response_type: "BackupVault" + metadata_type: "OperationMetadata" + }; + } + + // Warning! This operation will permanently delete the backup vault. + rpc DeleteBackupVault(DeleteBackupVaultRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1/{name=projects/*/locations/*/backupVaults/*}" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "OperationMetadata" + }; + } + + // Creates a backup from the volume specified in the request + // The backup can be created from the given snapshot if specified in the + // request. If no snapshot specified, there'll be a new snapshot taken to + // initiate the backup creation. + rpc CreateBackup(CreateBackupRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*/backupVaults/*}/backups" + body: "backup" + }; + option (google.api.method_signature) = "parent,backup,backup_id"; + option (google.longrunning.operation_info) = { + response_type: "Backup" + metadata_type: "OperationMetadata" + }; + } + + // Returns the description of the specified backup + rpc GetBackup(GetBackupRequest) returns (Backup) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/backupVaults/*/backups/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Returns descriptions of all backups for a backupVault. + rpc ListBackups(ListBackupsRequest) returns (ListBackupsResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*/backupVaults/*}/backups" + }; + option (google.api.method_signature) = "parent"; + } + + // Warning! This operation will permanently delete the backup. + rpc DeleteBackup(DeleteBackupRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1/{name=projects/*/locations/*/backupVaults/*/backups/*}" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "OperationMetadata" + }; + } + + // Update backup with full spec. + rpc UpdateBackup(UpdateBackupRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + patch: "/v1/{backup.name=projects/*/locations/*/backupVaults/*/backups/*}" + body: "backup" + }; + option (google.api.method_signature) = "backup,update_mask"; + option (google.longrunning.operation_info) = { + response_type: "Backup" + metadata_type: "OperationMetadata" + }; + } + + // Creates new backup policy + rpc CreateBackupPolicy(CreateBackupPolicyRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*}/backupPolicies" + body: "backup_policy" + }; + option (google.api.method_signature) = + "parent,backup_policy,backup_policy_id"; + option (google.longrunning.operation_info) = { + response_type: "BackupPolicy" + metadata_type: "OperationMetadata" + }; + } + + // Returns the description of the specified backup policy by backup_policy_id. + rpc GetBackupPolicy(GetBackupPolicyRequest) returns (BackupPolicy) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/backupPolicies/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Returns list of all available backup policies. + rpc ListBackupPolicies(ListBackupPoliciesRequest) + returns (ListBackupPoliciesResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*}/backupPolicies" + }; + option (google.api.method_signature) = "parent"; + } + + // Updates settings of a specific backup policy. + rpc UpdateBackupPolicy(UpdateBackupPolicyRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + patch: "/v1/{backup_policy.name=projects/*/locations/*/backupPolicies/*}" + body: "backup_policy" + }; + option (google.api.method_signature) = "backup_policy,update_mask"; + option (google.longrunning.operation_info) = { + response_type: "BackupPolicy" + metadata_type: "OperationMetadata" + }; + } + + // Warning! This operation will permanently delete the backup policy. + rpc DeleteBackupPolicy(DeleteBackupPolicyRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1/{name=projects/*/locations/*/backupPolicies/*}" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "OperationMetadata" + }; + } +} + +// 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_message = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Identifies whether the user has requested cancellation + // of the operation. Operations that have been canceled successfully + // have [Operation.error][] value with a + // [google.rpc.Status.code][google.rpc.Status.code] of 1, corresponding to + // `Code.CANCELLED`. + bool requested_cancellation = 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/netapp/v1/common.proto b/third_party/googleapis/google/cloud/netapp/v1/common.proto new file mode 100644 index 000000000..66b152594 --- /dev/null +++ b/third_party/googleapis/google/cloud/netapp/v1/common.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.cloud.netapp.v1; + +option csharp_namespace = "Google.Cloud.NetApp.V1"; +option go_package = "cloud.google.com/go/netapp/apiv1/netapppb;netapppb"; +option java_multiple_files = true; +option java_outer_classname = "CommonProto"; +option java_package = "com.google.cloud.netapp.v1"; +option php_namespace = "Google\\Cloud\\NetApp\\V1"; +option ruby_package = "Google::Cloud::NetApp::V1"; + +// The service levels - Storage Pool, Volumes +enum ServiceLevel { + // Unspecified service level. + SERVICE_LEVEL_UNSPECIFIED = 0; + + // Premium service level. + PREMIUM = 1; + + // Extreme service level. + EXTREME = 2; + + // Standard (Software offering) + STANDARD = 3; +} + +// Defined the current volume encryption key source. +enum EncryptionType { + // The source of encryption key is not specified. + ENCRYPTION_TYPE_UNSPECIFIED = 0; + + // Google managed encryption key. + SERVICE_MANAGED = 1; + + // Customer managed encryption key, which is stored in KMS. + CLOUD_KMS = 2; +} diff --git a/third_party/googleapis/google/cloud/netapp/v1/kms.proto b/third_party/googleapis/google/cloud/netapp/v1/kms.proto new file mode 100644 index 000000000..0775435a9 --- /dev/null +++ b/third_party/googleapis/google/cloud/netapp/v1/kms.proto @@ -0,0 +1,240 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF 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.netapp.v1; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.NetApp.V1"; +option go_package = "cloud.google.com/go/netapp/apiv1/netapppb;netapppb"; +option java_multiple_files = true; +option java_outer_classname = "KmsProto"; +option java_package = "com.google.cloud.netapp.v1"; +option php_namespace = "Google\\Cloud\\NetApp\\V1"; +option ruby_package = "Google::Cloud::NetApp::V1"; + +// GetKmsConfigRequest gets a KMS Config. +message GetKmsConfigRequest { + // Required. Name of the KmsConfig + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "netapp.googleapis.com/KmsConfig" + } + ]; +} + +// ListKmsConfigsRequest lists KMS Configs. +message ListKmsConfigsRequest { + // Required. Parent value + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "netapp.googleapis.com/KmsConfig" + } + ]; + + // The maximum number of items to return. + int32 page_size = 2; + + // The next_page_token value to use if there are additional + // results to retrieve for this list request. + string page_token = 3; + + // Sort results. Supported values are "name", "name desc" or "" (unsorted). + string order_by = 4; + + // List filter. + string filter = 5; +} + +// ListKmsConfigsResponse is the response to a ListKmsConfigsRequest. +message ListKmsConfigsResponse { + // The list of KmsConfigs + repeated KmsConfig kms_configs = 1; + + // A token identifying a page of results the server should return. + string next_page_token = 2; + + // Locations that could not be reached. + repeated string unreachable = 3; +} + +// CreateKmsConfigRequest creates a KMS Config. +message CreateKmsConfigRequest { + // Required. Value for parent. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "netapp.googleapis.com/KmsConfig" + } + ]; + + // Required. Id of the requesting KmsConfig + // If auto-generating Id server-side, remove this field and + // id from the method_signature of Create RPC + string kms_config_id = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The required parameters to create a new KmsConfig. + KmsConfig kms_config = 3 [(google.api.field_behavior) = REQUIRED]; +} + +// UpdateKmsConfigRequest updates a KMS Config. +message UpdateKmsConfigRequest { + // Required. Field mask is used to specify the fields to be overwritten in the + // KmsConfig resource by the update. + // The fields specified in the update_mask are relative to the resource, not + // the full request. A field will be overwritten if it is in the mask. If the + // user does not provide a mask then all fields will be overwritten. + google.protobuf.FieldMask update_mask = 1 + [(google.api.field_behavior) = REQUIRED]; + + // Required. The KmsConfig being updated + KmsConfig kms_config = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// DeleteKmsConfigRequest deletes a KMS Config. +message DeleteKmsConfigRequest { + // Required. Name of the KmsConfig. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "netapp.googleapis.com/KmsConfig" + } + ]; +} + +// EncryptVolumesRequest specifies the KMS config to encrypt existing volumes. +message EncryptVolumesRequest { + // Required. Name of the KmsConfig. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "netapp.googleapis.com/KmsConfig" + } + ]; +} + +// VerifyKmsConfigRequest specifies the KMS config to be validated. +message VerifyKmsConfigRequest { + // Required. Name of the KMS Config to be verified. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "netapp.googleapis.com/KmsConfig" + } + ]; +} + +// VerifyKmsConfigResponse contains the information if the config is correctly +// and error message. +message VerifyKmsConfigResponse { + // Output only. If the customer key configured correctly to the encrypt + // volume. + bool healthy = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Error message if config is not healthy. + string health_error = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Instructions for the customers to provide the access to the + // encryption key. + string instructions = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// KmsConfig is the customer managed encryption key(CMEK) configuration. +message KmsConfig { + option (google.api.resource) = { + type: "netapp.googleapis.com/KmsConfig" + pattern: "projects/{project}/locations/{location}/kmsConfigs/{kms_config}" + plural: "kmsConfigs" + singular: "kmsConfig" + }; + + // The KmsConfig States + enum State { + // Unspecified KmsConfig State + STATE_UNSPECIFIED = 0; + + // KmsConfig State is Ready + READY = 1; + + // KmsConfig State is Creating + CREATING = 2; + + // KmsConfig State is Deleting + DELETING = 3; + + // KmsConfig State is Updating + UPDATING = 4; + + // KmsConfig State is In Use. + IN_USE = 5; + + // KmsConfig State is Error + ERROR = 6; + + // KmsConfig State is Pending to verify crypto key access. + KEY_CHECK_PENDING = 7; + + // KmsConfig State is Not accessbile by the SDE service account to the + // crypto key. + KEY_NOT_REACHABLE = 8; + + // KmsConfig State is Disabling. + DISABLING = 9; + + // KmsConfig State is Disabled. + DISABLED = 10; + + // KmsConfig State is Migrating. + // The existing volumes are migrating from SMEK to CMEK. + MIGRATING = 11; + } + + // Identifier. Name of the KmsConfig. + string name = 1 [(google.api.field_behavior) = IDENTIFIER]; + + // Required. Customer managed crypto key resource full name. Format: + // projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{key}. + string crypto_key_name = 2 [(google.api.field_behavior) = REQUIRED]; + + // Output only. State of the KmsConfig. + State state = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. State details of the KmsConfig. + string state_details = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Create time of the KmsConfig. + google.protobuf.Timestamp create_time = 5 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Description of the KmsConfig. + string description = 6; + + // Labels as key value pairs + map labels = 7; + + // Output only. Instructions to provide the access to the customer provided + // encryption key. + string instructions = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The Service account which will have access to the customer + // provided encryption key. + string service_account = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/cloud/netapp/v1/netapp_v1.yaml b/third_party/googleapis/google/cloud/netapp/v1/netapp_v1.yaml new file mode 100644 index 000000000..e6e55fc64 --- /dev/null +++ b/third_party/googleapis/google/cloud/netapp/v1/netapp_v1.yaml @@ -0,0 +1,103 @@ +type: google.api.Service +config_version: 3 +name: netapp.googleapis.com +title: NetApp API + +apis: +- name: google.cloud.location.Locations +- name: google.cloud.netapp.v1.NetApp +- name: google.longrunning.Operations + +types: +- name: google.cloud.netapp.v1.OperationMetadata + +documentation: + summary: |- + Google Cloud NetApp Volumes is a fully-managed, cloud-based data storage + service that provides advanced data management capabilities and highly + scalable performance with global availability. + 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. + +http: + rules: + - selector: google.cloud.location.Locations.GetLocation + get: '/v1/{name=projects/*/locations/*}' + - selector: google.cloud.location.Locations.ListLocations + get: '/v1/{name=projects/*}/locations' + - selector: google.longrunning.Operations.CancelOperation + post: '/v1/{name=projects/*/locations/*/operations/*}:cancel' + body: '*' + - selector: google.longrunning.Operations.DeleteOperation + delete: '/v1/{name=projects/*/locations/*/operations/*}' + - selector: google.longrunning.Operations.GetOperation + get: '/v1/{name=projects/*/locations/*/operations/*}' + - selector: google.longrunning.Operations.ListOperations + get: '/v1/{name=projects/*/locations/*}/operations' + +authentication: + rules: + - 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.cloud.netapp.v1.NetApp.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + - selector: 'google.longrunning.Operations.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + +publishing: + new_issue_uri: https://issuetracker.google.com/issues/new?component=1144971 + documentation_uri: https://cloud.google.com/netapp/volumes/docs/discover/overview + api_short_name: netapp + github_label: 'api: netapp' + doc_tag_prefix: netapp + organization: CLOUD + library_settings: + - version: google.cloud.netapp.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://cloud.google.com/netapp/volumes/docs/reference/rest diff --git a/third_party/googleapis/google/cloud/netapp/v1/netapp_v1_grpc_service_config.json b/third_party/googleapis/google/cloud/netapp/v1/netapp_v1_grpc_service_config.json new file mode 100644 index 000000000..af37664d8 --- /dev/null +++ b/third_party/googleapis/google/cloud/netapp/v1/netapp_v1_grpc_service_config.json @@ -0,0 +1,225 @@ +{ + "methodConfig": [ + { + "name": [ + { + "service": "google.cloud.netapp.v1.NetApp", + "method": "ListStoragePools" + }, + { + "service": "google.cloud.netapp.v1.NetApp", + "method": "GetStoragePool" + }, + { + "service": "google.cloud.netapp.v1.NetApp", + "method": "ListVolumes" + }, + { + "service": "google.cloud.netapp.v1.NetApp", + "method": "GetVolume" + }, + { + "service": "google.cloud.netapp.v1.NetApp", + "method": "ListSnapshots" + }, + { + "service": "google.cloud.netapp.v1.NetApp", + "method": "GetSnapshot" + }, + { + "service": "google.cloud.netapp.v1.NetApp", + "method": "ListActiveDirectories" + }, + { + "service": "google.cloud.netapp.v1.NetApp", + "method": "GetActiveDirectory" + }, + { + "service": "google.cloud.netapp.v1.NetApp", + "method": "ListKmsConfigs" + }, + { + "service": "google.cloud.netapp.v1.NetApp", + "method": "GetKmsConfig" + }, + { + "service": "google.cloud.netapp.v1.NetApp", + "method": "ListReplications" + }, + { + "service": "google.cloud.netapp.v1.NetApp", + "method": "GetReplication" + }, + { + "service": "google.cloud.netapp.v1.NetApp", + "method": "ListBackupVaults" + }, + { + "service": "google.cloud.netapp.v1.NetApp", + "method": "GetBackupVault" + }, + { + "service": "google.cloud.netapp.v1.NetApp", + "method": "ListBackups" + }, + { + "service": "google.cloud.netapp.v1.NetApp", + "method": "GetBackup" + }, + { + "service": "google.cloud.netapp.v1.NetApp", + "method": "ListBackupPolicies" + }, + { + "service": "google.cloud.netapp.v1.NetApp", + "method": "GetBackupPolicy" + } + ], + "timeout": "60s", + "retryPolicy": { + "maxAttempts": 5, + "initialBackoff": "1s", + "maxBackoff": "10s", + "backoffMultiplier": 1.3, + "retryableStatusCodes": ["UNAVAILABLE"] + } + }, + { + "name": [ + { + "service": "google.cloud.netapp.v1.NetApp", + "method": "CreateStoragePool" + }, + { + "service": "google.cloud.netapp.v1.NetApp", + "method": "DeleteStoragePool" + }, + { + "service": "google.cloud.netapp.v1.NetApp", + "method": "UpdateStoragePool" + }, + { + "service": "google.cloud.netapp.v1.NetApp", + "method": "CreateVolume" + }, + { + "service": "google.cloud.netapp.v1.NetApp", + "method": "DeleteVolume" + }, + { + "service": "google.cloud.netapp.v1.NetApp", + "method": "UpdateVolume" + }, + { + "service": "google.cloud.netapp.v1.NetApp", + "method": "RevertVolume" + }, + { + "service": "google.cloud.netapp.v1.NetApp", + "method": "EncryptVolumes" + }, + { + "service": "google.cloud.netapp.v1.NetApp", + "method": "CreateSnapshot" + }, + { + "service": "google.cloud.netapp.v1.NetApp", + "method": "DeleteSnapshot" + }, + { + "service": "google.cloud.netapp.v1.NetApp", + "method": "UpdateSnapshot" + }, + { + "service": "google.cloud.netapp.v1.NetApp", + "method": "CreateActiveDirectory" + }, + { + "service": "google.cloud.netapp.v1.NetApp", + "method": "DeleteActiveDirectory" + }, + { + "service": "google.cloud.netapp.v1.NetApp", + "method": "UpdateActiveDirectory" + }, + { + "service": "google.cloud.netapp.v1.NetApp", + "method": "CreateKmsConfig" + }, + { + "service": "google.cloud.netapp.v1.NetApp", + "method": "DeleteKmsConfig" + }, + { + "service": "google.cloud.netapp.v1.NetApp", + "method": "UpdateKmsConfig" + }, + { + "service": "google.cloud.netapp.v1.NetApp", + "method": "VerifyKmsConfig" + }, + { + "service": "google.cloud.netapp.v1.NetApp", + "method": "CreateReplication" + }, + { + "service": "google.cloud.netapp.v1.NetApp", + "method": "DeleteReplication" + }, + { + "service": "google.cloud.netapp.v1.NetApp", + "method": "UpdateReplication" + }, + { + "service": "google.cloud.netapp.v1.NetApp", + "method": "StopReplication" + }, + { + "service": "google.cloud.netapp.v1.NetApp", + "method": "ResumeReplication" + }, + { + "service": "google.cloud.netapp.v1.NetApp", + "method": "ReverseReplicationDirection" + }, + { + "service": "google.cloud.netapp.v1.NetApp", + "method": "CreateBackupVault" + }, + { + "service": "google.cloud.netapp.v1.NetApp", + "method": "DeleteBackupVault" + }, + { + "service": "google.cloud.netapp.v1.NetApp", + "method": "UpdateBackupVault" + }, + { + "service": "google.cloud.netapp.v1.NetApp", + "method": "CreateBackup" + }, + { + "service": "google.cloud.netapp.v1.NetApp", + "method": "DeleteBackup" + }, + { + "service": "google.cloud.netapp.v1.NetApp", + "method": "UpdateBackup" + }, + { + "service": "google.cloud.netapp.v1.NetApp", + "method": "CreateBackupPolicy" + }, + { + "service": "google.cloud.netapp.v1.NetApp", + "method": "DeleteBackupPolicy" + }, + { + "service": "google.cloud.netapp.v1.NetApp", + "method": "UpdateBackupPolicy" + } + ], + "timeout": "60s" + } + ] +} diff --git a/third_party/googleapis/google/cloud/netapp/v1/replication.proto b/third_party/googleapis/google/cloud/netapp/v1/replication.proto new file mode 100644 index 000000000..d5db6a431 --- /dev/null +++ b/third_party/googleapis/google/cloud/netapp/v1/replication.proto @@ -0,0 +1,368 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF 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.netapp.v1; + +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.NetApp.V1"; +option go_package = "cloud.google.com/go/netapp/apiv1/netapppb;netapppb"; +option java_multiple_files = true; +option java_outer_classname = "ReplicationProto"; +option java_package = "com.google.cloud.netapp.v1"; +option php_namespace = "Google\\Cloud\\NetApp\\V1"; +option ruby_package = "Google::Cloud::NetApp::V1"; + +// TransferStats reports all statistics related to replication transfer. +message TransferStats { + // bytes trasferred so far in current transfer. + optional int64 transfer_bytes = 1; + + // Total time taken during transfer. + optional google.protobuf.Duration total_transfer_duration = 2; + + // Last transfer size in bytes. + optional int64 last_transfer_bytes = 3; + + // Time taken during last transfer. + optional google.protobuf.Duration last_transfer_duration = 4; + + // Lag duration indicates the duration by which Destination region volume + // content lags behind the primary region volume content. + optional google.protobuf.Duration lag_duration = 5; + + // Time when progress was updated last. + optional google.protobuf.Timestamp update_time = 6; + + // Time when last transfer completed. + optional google.protobuf.Timestamp last_transfer_end_time = 7; + + // A message describing the cause of the last transfer failure. + optional string last_transfer_error = 8; +} + +// Replication is a nested resource under Volume, that describes a +// cross-region replication relationship between 2 volumes in different +// regions. +message Replication { + option (google.api.resource) = { + type: "netapp.googleapis.com/Replication" + pattern: "projects/{project}/locations/{location}/volumes/{volume}/replications/{replication}" + plural: "replications" + singular: "replication" + }; + + // The replication states + // New enum values may be added in future to indicate possible new states. + enum State { + // Unspecified replication State + STATE_UNSPECIFIED = 0; + + // Replication is creating. + CREATING = 1; + + // Replication is ready. + READY = 2; + + // Replication is updating. + UPDATING = 3; + + // Replication is deleting. + DELETING = 5; + + // Replication is in error state. + ERROR = 6; + } + + // New enum values may be added in future to support different replication + // topology. + enum ReplicationRole { + // Unspecified replication role + REPLICATION_ROLE_UNSPECIFIED = 0; + + // Indicates Source volume. + SOURCE = 1; + + // Indicates Destination volume. + DESTINATION = 2; + } + + // Schedule for Replication. + // New enum values may be added in future to support different frequency of + // replication. + enum ReplicationSchedule { + // Unspecified ReplicationSchedule + REPLICATION_SCHEDULE_UNSPECIFIED = 0; + + // Replication happens once every 10 minutes. + EVERY_10_MINUTES = 1; + + // Replication happens once every hour. + HOURLY = 2; + + // Replication happens once every day. + DAILY = 3; + } + + // Mirroring states. + // No new value is expected to be added in future. + enum MirrorState { + // Unspecified MirrorState + MIRROR_STATE_UNSPECIFIED = 0; + + // Destination volume is being prepared. + PREPARING = 1; + + // Destination volume has been initialized and is ready to receive + // replication transfers. + MIRRORED = 2; + + // Destination volume is not receiving replication transfers. + STOPPED = 3; + + // Replication is in progress. + TRANSFERRING = 4; + } + + // Identifier. The resource name of the Replication. + // Format: + // `projects/{project_id}/locations/{location}/volumes/{volume_id}/replications/{replication_id}`. + string name = 1 [(google.api.field_behavior) = IDENTIFIER]; + + // Output only. State of the replication. + State state = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. State details of the replication. + string state_details = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Indicates whether this points to source or destination. + ReplicationRole role = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. Indicates the schedule for replication. + ReplicationSchedule replication_schedule = 5 + [(google.api.field_behavior) = REQUIRED]; + + // Output only. Indicates the state of mirroring. + MirrorState mirror_state = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Condition of the relationship. Can be one of the following: + // - true: The replication relationship is healthy. It has not missed the most + // recent scheduled transfer. + // - false: The replication relationship is not healthy. It has missed the + // most recent scheduled transfer. + optional bool healthy = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Replication create time. + google.protobuf.Timestamp create_time = 9 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Full name of destination volume resource. + // Example : "projects/{project}/locations/{location}/volumes/{volume_id}" + string destination_volume = 10 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { type: "netapp.googleapis.com/Volume" } + ]; + + // Output only. Replication transfer statistics. + TransferStats transfer_stats = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Resource labels to represent user provided metadata. + map labels = 12; + + // A description about this replication relationship. + optional string description = 13; + + // Required. Input only. Destination volume parameters + DestinationVolumeParameters destination_volume_parameters = 14 [ + (google.api.field_behavior) = INPUT_ONLY, + (google.api.field_behavior) = REQUIRED + ]; + + // Output only. Full name of source volume resource. + // Example : "projects/{project}/locations/{location}/volumes/{volume_id}" + string source_volume = 15 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { type: "netapp.googleapis.com/Volume" } + ]; +} + +// ListReplications lists replications. +message ListReplicationsRequest { + // Required. The volume for which to retrieve replication information, + // in the format + // `projects/{project_id}/locations/{location}/volumes/{volume_id}`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "netapp.googleapis.com/Replication" + } + ]; + + // The maximum number of items to return. + int32 page_size = 2; + + // The next_page_token value to use if there are additional + // results to retrieve for this list request. + string page_token = 3; + + // Sort results. Supported values are "name", "name desc" or "" (unsorted). + string order_by = 4; + + // List filter. + string filter = 5; +} + +// ListReplicationsResponse is the result of ListReplicationsRequest. +message ListReplicationsResponse { + // A list of replications in the project for the specified volume. + repeated Replication replications = 1; + + // The token you can use to retrieve the next page of results. Not returned + // if there are no more results in the list. + string next_page_token = 2; + + // Locations that could not be reached. + repeated string unreachable = 3; +} + +// GetReplicationRequest gets the state of a replication. +message GetReplicationRequest { + // Required. The replication resource name, in the format + // `projects/{project_id}/locations/{location}/volumes/{volume_id}/replications/{replication_id}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "netapp.googleapis.com/Replication" + } + ]; +} + +// DestinationVolumeParameters specify input parameters used for creating +// destination volume. +message DestinationVolumeParameters { + // Required. Existing destination StoragePool name. + string storage_pool = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "netapp.googleapis.com/StoragePool" + } + ]; + + // Desired destination volume resource id. If not specified, source volume's + // resource id will be used. + // This value must start with a lowercase letter followed by up to 62 + // lowercase letters, numbers, or hyphens, and cannot end with a hyphen. + string volume_id = 2; + + // Destination volume's share name. If not specified, source volume's share + // name will be used. + string share_name = 3; + + // Description for the destination volume. + optional string description = 4; +} + +// CreateReplicationRequest creates a replication. +message CreateReplicationRequest { + // Required. The NetApp volume to create the replications of, in the format + // `projects/{project_id}/locations/{location}/volumes/{volume_id}` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "netapp.googleapis.com/Replication" + } + ]; + + // Required. A replication resource + Replication replication = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. ID of the replication to create. + // This value must start with a lowercase letter followed by up to 62 + // lowercase letters, numbers, or hyphens, and cannot end with a hyphen. + string replication_id = 3 [(google.api.field_behavior) = REQUIRED]; +} + +// DeleteReplicationRequest deletes a replication. +message DeleteReplicationRequest { + // Required. The replication resource name, in the format + // `projects/*/locations/*/volumes/*/replications/{replication_id}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "netapp.googleapis.com/Replication" + } + ]; +} + +// UpdateReplicationRequest updates description and/or labels for a replication. +message UpdateReplicationRequest { + // Required. Mask of fields to update. At least one path must be supplied in + // this field. + google.protobuf.FieldMask update_mask = 1 + [(google.api.field_behavior) = REQUIRED]; + + // Required. A replication resource + Replication replication = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// StopReplicationRequest stops a replication until resumed. +message StopReplicationRequest { + // Required. The resource name of the replication, in the format of + // projects/{project_id}/locations/{location}/volumes/{volume_id}/replications/{replication_id}. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "netapp.googleapis.com/Replication" + } + ]; + + // Indicates whether to stop replication forcefully while data transfer is in + // progress. + // Warning! if force is true, this will abort any current transfers + // and can lead to data loss due to partial transfer. + // If force is false, stop replication will fail while data transfer is in + // progress and you will need to retry later. + bool force = 2; +} + +// ResumeReplicationRequest resumes a stopped replication. +message ResumeReplicationRequest { + // Required. The resource name of the replication, in the format of + // projects/{project_id}/locations/{location}/volumes/{volume_id}/replications/{replication_id}. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "netapp.googleapis.com/Replication" + } + ]; +} + +// ReverseReplicationDirectionRequest reverses direction of replication. Source +// becomes destination and destination becomes source. +message ReverseReplicationDirectionRequest { + // Required. The resource name of the replication, in the format of + // projects/{project_id}/locations/{location}/volumes/{volume_id}/replications/{replication_id}. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "netapp.googleapis.com/Replication" + } + ]; +} diff --git a/third_party/googleapis/google/cloud/netapp/v1/snapshot.proto b/third_party/googleapis/google/cloud/netapp/v1/snapshot.proto new file mode 100644 index 000000000..5687aee7b --- /dev/null +++ b/third_party/googleapis/google/cloud/netapp/v1/snapshot.proto @@ -0,0 +1,179 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF 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.netapp.v1; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.NetApp.V1"; +option go_package = "cloud.google.com/go/netapp/apiv1/netapppb;netapppb"; +option java_multiple_files = true; +option java_outer_classname = "SnapshotProto"; +option java_package = "com.google.cloud.netapp.v1"; +option php_namespace = "Google\\Cloud\\NetApp\\V1"; +option ruby_package = "Google::Cloud::NetApp::V1"; + +// ListSnapshotsRequest lists snapshots. +message ListSnapshotsRequest { + // Required. The volume for which to retrieve snapshot information, + // in the format + // `projects/{project_id}/locations/{location}/volumes/{volume_id}`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "netapp.googleapis.com/Snapshot" + } + ]; + + // The maximum number of items to return. + int32 page_size = 2; + + // The next_page_token value to use if there are additional + // results to retrieve for this list request. + string page_token = 3; + + // Sort results. Supported values are "name", "name desc" or "" (unsorted). + string order_by = 4; + + // List filter. + string filter = 5; +} + +// ListSnapshotsResponse is the result of ListSnapshotsRequest. +message ListSnapshotsResponse { + // A list of snapshots in the project for the specified volume. + repeated Snapshot snapshots = 1; + + // The token you can use to retrieve the next page of results. Not returned + // if there are no more results in the list. + string next_page_token = 2; + + // Locations that could not be reached. + repeated string unreachable = 3; +} + +// GetSnapshotRequest gets the state of a snapshot. +message GetSnapshotRequest { + // Required. The snapshot resource name, in the format + // `projects/{project_id}/locations/{location}/volumes/{volume_id}/snapshots/{snapshot_id}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { type: "netapp.googleapis.com/Snapshot" } + ]; +} + +// CreateSnapshotRequest creates a snapshot. +message CreateSnapshotRequest { + // Required. The NetApp volume to create the snapshots of, in the format + // `projects/{project_id}/locations/{location}/volumes/{volume_id}` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "netapp.googleapis.com/Snapshot" + } + ]; + + // Required. A snapshot resource + Snapshot snapshot = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. ID of the snapshot to create. + // This value must start with a lowercase letter followed by up to 62 + // lowercase letters, numbers, or hyphens, and cannot end with a hyphen. + string snapshot_id = 3 [(google.api.field_behavior) = REQUIRED]; +} + +// DeleteSnapshotRequest deletes a snapshot. +message DeleteSnapshotRequest { + // Required. The snapshot resource name, in the format + // `projects/*/locations/*/volumes/*/snapshots/{snapshot_id}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { type: "netapp.googleapis.com/Snapshot" } + ]; +} + +// UpdateSnapshotRequest updates description and/or labels for a snapshot. +message UpdateSnapshotRequest { + // Required. Mask of fields to update. At least one path must be supplied in + // this field. + google.protobuf.FieldMask update_mask = 1 + [(google.api.field_behavior) = REQUIRED]; + + // Required. A snapshot resource + Snapshot snapshot = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Snapshot is a point-in-time version of a Volume's content. +message Snapshot { + option (google.api.resource) = { + type: "netapp.googleapis.com/Snapshot" + pattern: "projects/{project}/locations/{location}/volumes/{volume}/snapshots/{snapshot}" + plural: "snapshots" + singular: "snapshot" + }; + + // The Snapshot States + enum State { + // Unspecified Snapshot State + STATE_UNSPECIFIED = 0; + + // Snapshot State is Ready + READY = 1; + + // Snapshot State is Creating + CREATING = 2; + + // Snapshot State is Deleting + DELETING = 3; + + // Snapshot State is Updating + UPDATING = 4; + + // Snapshot State is Disabled + DISABLED = 5; + + // Snapshot State is Error + ERROR = 6; + } + + // Identifier. The resource name of the snapshot. + // Format: + // `projects/{project_id}/locations/{location}/volumes/{volume_id}/snapshots/{snapshot_id}`. + string name = 1 [(google.api.field_behavior) = IDENTIFIER]; + + // Output only. The snapshot state. + State state = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. State details of the storage pool + string state_details = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // A description of the snapshot with 2048 characters or less. + // Requests with longer descriptions will be rejected. + string description = 4; + + // Output only. Current storage usage for the snapshot in bytes. + double used_bytes = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The time when the snapshot was created. + google.protobuf.Timestamp create_time = 6 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Resource labels to represent user provided metadata. + map labels = 7; +} diff --git a/third_party/googleapis/google/cloud/netapp/v1/storage_pool.proto b/third_party/googleapis/google/cloud/netapp/v1/storage_pool.proto new file mode 100644 index 000000000..8d49f3586 --- /dev/null +++ b/third_party/googleapis/google/cloud/netapp/v1/storage_pool.proto @@ -0,0 +1,224 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF 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.netapp.v1; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/netapp/v1/common.proto"; +import "google/protobuf/field_mask.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.NetApp.V1"; +option go_package = "cloud.google.com/go/netapp/apiv1/netapppb;netapppb"; +option java_multiple_files = true; +option java_outer_classname = "StoragePoolProto"; +option java_package = "com.google.cloud.netapp.v1"; +option php_namespace = "Google\\Cloud\\NetApp\\V1"; +option ruby_package = "Google::Cloud::NetApp::V1"; + +// GetStoragePoolRequest gets a Storage Pool. +message GetStoragePoolRequest { + // Required. Name of the storage pool + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "netapp.googleapis.com/StoragePool" + } + ]; +} + +// ListStoragePoolsRequest lists Storage Pools. +message ListStoragePoolsRequest { + // Required. Parent value + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "netapp.googleapis.com/StoragePool" + } + ]; + + // The maximum number of items to return. + int32 page_size = 2; + + // The next_page_token value to use if there are additional + // results to retrieve for this list request. + string page_token = 3; + + // Sort results. Supported values are "name", "name desc" or "" (unsorted). + string order_by = 4; + + // List filter. + string filter = 5; +} + +// ListStoragePoolsResponse is the response to a ListStoragePoolsRequest. +message ListStoragePoolsResponse { + // The list of StoragePools + repeated StoragePool storage_pools = 1; + + // A token identifying a page of results the server should return. + string next_page_token = 2; + + // Locations that could not be reached. + repeated string unreachable = 3; +} + +// CreateStoragePoolRequest creates a Storage Pool. +message CreateStoragePoolRequest { + // Required. Value for parent. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "netapp.googleapis.com/StoragePool" + } + ]; + + // Required. Id of the requesting storage pool + // If auto-generating Id server-side, remove this field and + // id from the method_signature of Create RPC + string storage_pool_id = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The required parameters to create a new storage pool. + StoragePool storage_pool = 3 [(google.api.field_behavior) = REQUIRED]; +} + +// UpdateStoragePoolRequest updates a Storage Pool. +message UpdateStoragePoolRequest { + // Required. Field mask is used to specify the fields to be overwritten in the + // StoragePool resource by the update. + // The fields specified in the update_mask are relative to the resource, not + // the full request. A field will be overwritten if it is in the mask. If the + // user does not provide a mask then all fields will be overwritten. + google.protobuf.FieldMask update_mask = 1 + [(google.api.field_behavior) = REQUIRED]; + + // Required. The pool being updated + StoragePool storage_pool = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// DeleteStoragePoolRequest deletes a Storage Pool. +message DeleteStoragePoolRequest { + // Required. Name of the storage pool + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "netapp.googleapis.com/StoragePool" + } + ]; +} + +// StoragePool is a container for volumes with a service level and capacity. +// Volumes can be created in a pool of sufficient available capacity. +// StoragePool capacity is what you are billed for. +message StoragePool { + option (google.api.resource) = { + type: "netapp.googleapis.com/StoragePool" + pattern: "projects/{project}/locations/{location}/storagePools/{storage_pool}" + plural: "storagePools" + singular: "storagePool" + }; + + // The Storage Pool States + enum State { + // Unspecified Storage Pool State + STATE_UNSPECIFIED = 0; + + // Storage Pool State is Ready + READY = 1; + + // Storage Pool State is Creating + CREATING = 2; + + // Storage Pool State is Deleting + DELETING = 3; + + // Storage Pool State is Updating + UPDATING = 4; + + // Storage Pool State is Restoring + RESTORING = 5; + + // Storage Pool State is Disabled + DISABLED = 6; + + // Storage Pool State is Error + ERROR = 7; + } + + // Identifier. Name of the storage pool + string name = 1 [(google.api.field_behavior) = IDENTIFIER]; + + // Required. Service level of the storage pool + ServiceLevel service_level = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. Capacity in GIB of the pool + int64 capacity_gib = 3 [(google.api.field_behavior) = REQUIRED]; + + // Output only. Allocated size of all volumes in GIB in the storage pool + int64 volume_capacity_gib = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Volume count of the storage pool + int32 volume_count = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. State of the storage pool + State state = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. State details of the storage pool + string state_details = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Create time of the storage pool + google.protobuf.Timestamp create_time = 8 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Description of the storage pool + string description = 9; + + // Labels as key value pairs + map labels = 10; + + // Required. VPC Network name. + // Format: projects/{project}/global/networks/{network} + string network = 11 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { type: "compute.googleapis.com/Network" } + ]; + + // Specifies the Active Directory to be used for creating a SMB volume. + string active_directory = 12 [(google.api.resource_reference) = { + type: "netapp.googleapis.com/ActiveDirectory" + }]; + + // Specifies the KMS config to be used for volume encryption. + string kms_config = 13 [(google.api.resource_reference) = { + type: "netapp.googleapis.com/KmsConfig" + }]; + + // Flag indicating if the pool is NFS LDAP enabled or not. + bool ldap_enabled = 14; + + // Name of the Private Service Access allocated range. If + // not provided, any available range will be chosen. + string psa_range = 15; + + // Output only. Specifies the current pool encryption key source. + EncryptionType encryption_type = 16 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Deprecated. Used to allow SO pool to access AD or DNS server from other + // regions. + optional bool global_access_allowed = 17 [deprecated = true]; +} diff --git a/third_party/googleapis/google/cloud/netapp/v1/volume.proto b/third_party/googleapis/google/cloud/netapp/v1/volume.proto new file mode 100644 index 000000000..f727d0272 --- /dev/null +++ b/third_party/googleapis/google/cloud/netapp/v1/volume.proto @@ -0,0 +1,579 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF 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.netapp.v1; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/netapp/v1/common.proto"; +import "google/protobuf/field_mask.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.NetApp.V1"; +option go_package = "cloud.google.com/go/netapp/apiv1/netapppb;netapppb"; +option java_multiple_files = true; +option java_outer_classname = "VolumeProto"; +option java_package = "com.google.cloud.netapp.v1"; +option php_namespace = "Google\\Cloud\\NetApp\\V1"; +option ruby_package = "Google::Cloud::NetApp::V1"; + +// Protocols is an enum of all the supported network protocols for a volume. +enum Protocols { + // Unspecified protocol + PROTOCOLS_UNSPECIFIED = 0; + + // NFS V3 protocol + NFSV3 = 1; + + // NFS V4 protocol + NFSV4 = 2; + + // SMB protocol + SMB = 3; +} + +// AccessType is an enum of all the supported access types for a volume. +enum AccessType { + // Unspecified Access Type + ACCESS_TYPE_UNSPECIFIED = 0; + + // Read Only + READ_ONLY = 1; + + // Read Write + READ_WRITE = 2; + + // None + READ_NONE = 3; +} + +// SMBSettings +// Modifies the behaviour of a SMB volume. +enum SMBSettings { + // Unspecified default option + SMB_SETTINGS_UNSPECIFIED = 0; + + // SMB setting encrypt data + ENCRYPT_DATA = 1; + + // SMB setting browsable + BROWSABLE = 2; + + // SMB setting notify change + CHANGE_NOTIFY = 3; + + // SMB setting not to notify change + NON_BROWSABLE = 4; + + // SMB setting oplocks + OPLOCKS = 5; + + // SMB setting to show snapshots + SHOW_SNAPSHOT = 6; + + // SMB setting to show previous versions + SHOW_PREVIOUS_VERSIONS = 7; + + // SMB setting to access volume based on enumerartion + ACCESS_BASED_ENUMERATION = 8; + + // Continuously available enumeration + CONTINUOUSLY_AVAILABLE = 9; +} + +// The security style of the volume, can be either UNIX or NTFS. +enum SecurityStyle { + // SecurityStyle is unspecified + SECURITY_STYLE_UNSPECIFIED = 0; + + // SecurityStyle uses NTFS + NTFS = 1; + + // SecurityStyle uses NTFS + UNIX = 2; +} + +// Actions to be restricted for a volume. +enum RestrictedAction { + // Unspecified restricted action + RESTRICTED_ACTION_UNSPECIFIED = 0; + + // Prevent volume from being deleted when mounted. + DELETE = 1; +} + +// Message for requesting list of Volumes +message ListVolumesRequest { + // Required. Parent value for ListVolumesRequest + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "netapp.googleapis.com/Volume" + } + ]; + + // Requested page size. Server may return fewer items than requested. + // If unspecified, the server will pick an appropriate default. + int32 page_size = 2; + + // A token identifying a page of results the server should return. + string page_token = 3; + + // Filtering results + string filter = 4; + + // Hint for how to order the results + string order_by = 5; +} + +// Message for response to listing Volumes +message ListVolumesResponse { + // The list of Volume + repeated Volume volumes = 1; + + // A token identifying a page of results the server should return. + string next_page_token = 2; + + // Locations that could not be reached. + repeated string unreachable = 3; +} + +// Message for getting a Volume +message GetVolumeRequest { + // Required. Name of the volume + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { type: "netapp.googleapis.com/Volume" } + ]; +} + +// Message for creating a Volume +message CreateVolumeRequest { + // Required. Value for parent. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "netapp.googleapis.com/Volume" + } + ]; + + // Required. Id of the requesting volume + // If auto-generating Id server-side, remove this field and + // Id from the method_signature of Create RPC + string volume_id = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The volume being created. + Volume volume = 3 [(google.api.field_behavior) = REQUIRED]; +} + +// Message for updating a Volume +message UpdateVolumeRequest { + // Required. Field mask is used to specify the fields to be overwritten in the + // Volume resource by the update. + // The fields specified in the update_mask are relative to the resource, not + // the full request. A field will be overwritten if it is in the mask. If the + // user does not provide a mask then all fields will be overwritten. + google.protobuf.FieldMask update_mask = 1 + [(google.api.field_behavior) = REQUIRED]; + + // Required. The volume being updated + Volume volume = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Message for deleting a Volume +message DeleteVolumeRequest { + // Required. Name of the volume + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { type: "netapp.googleapis.com/Volume" } + ]; + + // If this field is set as true, CCFE will not block the volume resource + // deletion even if it has any snapshots resource. (Otherwise, the request + // will only work if the volume has no snapshots.) + bool force = 2; +} + +// RevertVolumeRequest reverts the given volume to the specified snapshot. +message RevertVolumeRequest { + // Required. The resource name of the volume, in the format of + // projects/{project_id}/locations/{location}/volumes/{volume_id}. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { type: "netapp.googleapis.com/Volume" } + ]; + + // Required. The snapshot resource ID, in the format 'my-snapshot', where the + // specified ID is the {snapshot_id} of the fully qualified name like + // projects/{project_id}/locations/{location_id}/volumes/{volume_id}/snapshots/{snapshot_id} + string snapshot_id = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Volume provides a filesystem that you can mount. +message Volume { + option (google.api.resource) = { + type: "netapp.googleapis.com/Volume" + pattern: "projects/{project}/locations/{location}/volumes/{volume}" + plural: "volumes" + singular: "volume" + }; + + // The volume states + enum State { + // Unspecified Volume State + STATE_UNSPECIFIED = 0; + + // Volume State is Ready + READY = 1; + + // Volume State is Creating + CREATING = 2; + + // Volume State is Deleting + DELETING = 3; + + // Volume State is Updating + UPDATING = 4; + + // Volume State is Restoring + RESTORING = 5; + + // Volume State is Disabled + DISABLED = 6; + + // Volume State is Error + ERROR = 7; + } + + // Identifier. Name of the volume + string name = 1 [(google.api.field_behavior) = IDENTIFIER]; + + // Output only. State of the volume + State state = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. State details of the volume + string state_details = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Create time of the volume + google.protobuf.Timestamp create_time = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. Share name of the volume + string share_name = 5 [(google.api.field_behavior) = REQUIRED]; + + // Output only. Name of the Private Service Access allocated range. This is + // optional. If not provided, any available range will be chosen. + string psa_range = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. StoragePool name of the volume + string storage_pool = 7 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "netapp.googleapis.com/StoragePool" + } + ]; + + // Output only. VPC Network name. + // Format: projects/{project}/global/networks/{network} + string network = 8 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { type: "compute.googleapis.com/Network" } + ]; + + // Output only. Service level of the volume + ServiceLevel service_level = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. Capacity in GIB of the volume + int64 capacity_gib = 10 [(google.api.field_behavior) = REQUIRED]; + + // Optional. Export policy of the volume + ExportPolicy export_policy = 11 [(google.api.field_behavior) = OPTIONAL]; + + // Required. Protocols required for the volume + repeated Protocols protocols = 12 [(google.api.field_behavior) = REQUIRED]; + + // Optional. SMB share settings for the volume. + repeated SMBSettings smb_settings = 13 + [(google.api.field_behavior) = OPTIONAL]; + + // Output only. Mount options of this volume + repeated MountOption mount_options = 14 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Optional. Default unix style permission (e.g. 777) the mount point will be + // created with. Applicable for NFS protocol types only. + string unix_permissions = 15 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Labels as key value pairs + map labels = 16 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Description of the volume + string description = 17 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. SnapshotPolicy for a volume. + SnapshotPolicy snapshot_policy = 18 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Snap_reserve specifies percentage of volume storage reserved for + // snapshot storage. Default is 0 percent. + double snap_reserve = 19 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Snapshot_directory if enabled (true) the volume will contain a + // read-only .snapshot directory which provides access to each of the volume's + // snapshots. + bool snapshot_directory = 20 [(google.api.field_behavior) = OPTIONAL]; + + // Output only. Used capacity in GIB of the volume. This is computed + // periodically and it does not represent the realtime usage. + int64 used_gib = 21 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Optional. Security Style of the Volume + SecurityStyle security_style = 22 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Flag indicating if the volume is a kerberos volume or not, export + // policy rules control kerberos security modes (krb5, krb5i, krb5p). + bool kerberos_enabled = 23 [(google.api.field_behavior) = OPTIONAL]; + + // Output only. Flag indicating if the volume is NFS LDAP enabled or not. + bool ldap_enabled = 24 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Specifies the ActiveDirectory name of a SMB volume. + string active_directory = 25 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "netapp.googleapis.com/ActiveDirectory" + } + ]; + + // Optional. Specifies the source of the volume to be created from. + RestoreParameters restore_parameters = 26 + [(google.api.field_behavior) = OPTIONAL]; + + // Output only. Specifies the KMS config to be used for volume encryption. + string kms_config = 27 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "netapp.googleapis.com/KmsConfig" + } + ]; + + // Output only. Specified the current volume encryption key source. + EncryptionType encryption_type = 28 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Indicates whether the volume is part of a replication + // relationship. + bool has_replication = 29 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // BackupConfig of the volume. + optional BackupConfig backup_config = 30; + + // Optional. List of actions that are restricted on this volume. + repeated RestrictedAction restricted_actions = 31 + [(google.api.field_behavior) = OPTIONAL]; +} + +// Defines the export policy for the volume. +message ExportPolicy { + // Required. List of export policy rules + repeated SimpleExportPolicyRule rules = 1 + [(google.api.field_behavior) = REQUIRED]; +} + +// An export policy rule describing various export options. +message SimpleExportPolicyRule { + // Comma separated list of allowed clients IP addresses + optional string allowed_clients = 1; + + // Whether Unix root access will be granted. + optional string has_root_access = 2; + + // Access type (ReadWrite, ReadOnly, None) + optional AccessType access_type = 3; + + // NFS V3 protocol. + optional bool nfsv3 = 4; + + // NFS V4 protocol. + optional bool nfsv4 = 5; + + // If enabled (true) the rule defines a read only access for clients matching + // the 'allowedClients' specification. It enables nfs clients to mount using + // 'authentication' kerberos security mode. + optional bool kerberos_5_read_only = 6; + + // If enabled (true) the rule defines read and write access for clients + // matching the 'allowedClients' specification. It enables nfs clients to + // mount using 'authentication' kerberos security mode. The + // 'kerberos5ReadOnly' value be ignored if this is enabled. + optional bool kerberos_5_read_write = 7; + + // If enabled (true) the rule defines a read only access for clients matching + // the 'allowedClients' specification. It enables nfs clients to mount using + // 'integrity' kerberos security mode. + optional bool kerberos_5i_read_only = 8; + + // If enabled (true) the rule defines read and write access for clients + // matching the 'allowedClients' specification. It enables nfs clients to + // mount using 'integrity' kerberos security mode. The 'kerberos5iReadOnly' + // value be ignored if this is enabled. + optional bool kerberos_5i_read_write = 9; + + // If enabled (true) the rule defines a read only access for clients matching + // the 'allowedClients' specification. It enables nfs clients to mount using + // 'privacy' kerberos security mode. + optional bool kerberos_5p_read_only = 10; + + // If enabled (true) the rule defines read and write access for clients + // matching the 'allowedClients' specification. It enables nfs clients to + // mount using 'privacy' kerberos security mode. The 'kerberos5pReadOnly' + // value be ignored if this is enabled. + optional bool kerberos_5p_read_write = 11; +} + +// Snapshot Policy for a volume. +message SnapshotPolicy { + // If enabled, make snapshots automatically according to the schedules. + // Default is false. + optional bool enabled = 1; + + // Hourly schedule policy. + optional HourlySchedule hourly_schedule = 2; + + // Daily schedule policy. + optional DailySchedule daily_schedule = 3; + + // Weekly schedule policy. + optional WeeklySchedule weekly_schedule = 4; + + // Monthly schedule policy. + optional MonthlySchedule monthly_schedule = 5; +} + +// Make a snapshot every hour e.g. at 04:00, 05:00, 06:00. +message HourlySchedule { + // The maximum number of Snapshots to keep for the hourly schedule + optional double snapshots_to_keep = 1; + + // Set the minute of the hour to start the snapshot (0-59), defaults to the + // top of the hour (0). + optional double minute = 2; +} + +// Make a snapshot every day e.g. at 04:00, 05:20, 23:50 +message DailySchedule { + // The maximum number of Snapshots to keep for the hourly schedule + optional double snapshots_to_keep = 1; + + // Set the minute of the hour to start the snapshot (0-59), defaults to the + // top of the hour (0). + optional double minute = 2; + + // Set the hour to start the snapshot (0-23), defaults to midnight (0). + optional double hour = 3; +} + +// Make a snapshot every week e.g. at Monday 04:00, Wednesday 05:20, Sunday +// 23:50 +message WeeklySchedule { + // The maximum number of Snapshots to keep for the hourly schedule + optional double snapshots_to_keep = 1; + + // Set the minute of the hour to start the snapshot (0-59), defaults to the + // top of the hour (0). + optional double minute = 2; + + // Set the hour to start the snapshot (0-23), defaults to midnight (0). + optional double hour = 3; + + // Set the day or days of the week to make a snapshot. Accepts a comma + // separated days of the week. Defaults to 'Sunday'. + optional string day = 4; +} + +// Make a snapshot once a month e.g. at 2nd 04:00, 7th 05:20, 24th 23:50 +message MonthlySchedule { + // The maximum number of Snapshots to keep for the hourly schedule + optional double snapshots_to_keep = 1; + + // Set the minute of the hour to start the snapshot (0-59), defaults to the + // top of the hour (0). + optional double minute = 2; + + // Set the hour to start the snapshot (0-23), defaults to midnight (0). + optional double hour = 3; + + // Set the day or days of the month to make a snapshot (1-31). Accepts a + // comma separated number of days. Defaults to '1'. + optional string days_of_month = 4; +} + +// View only mount options for a volume. +message MountOption { + // Export string + string export = 1; + + // Full export string + string export_full = 2; + + // Protocol to mount with. + Protocols protocol = 3; + + // Instructions for mounting + string instructions = 4; +} + +// The RestoreParameters if volume is created from a snapshot or backup. +message RestoreParameters { + // The source that the volume is created from. + oneof source { + // Full name of the snapshot resource. + // Format: + // projects/{project}/locations/{location}/volumes/{volume}/snapshots/{snapshot} + string source_snapshot = 1; + + // Full name of the backup resource. + // Format: + // projects/{project}/locations/{location}/backupVaults/{backup_vault_id}/backups/{backup_id} + string source_backup = 2; + } +} + +// BackupConfig contains backup related config on a volume. +message BackupConfig { + // Optional. When specified, schedule backups will be created based on the + // policy configuration. + repeated string backup_policies = 1 [ + (google.api.field_behavior) = OPTIONAL, + (google.api.resource_reference) = { + type: "netapp.googleapis.com/BackupPolicy" + } + ]; + + // Optional. Name of backup vault. + // Format: + // projects/{project_id}/locations/{location}/backupVaults/{backup_vault_id} + string backup_vault = 2 [ + (google.api.field_behavior) = OPTIONAL, + (google.api.resource_reference) = { + type: "netapp.googleapis.com/BackupVault" + } + ]; + + // Optional. When set to true, scheduled backup is enabled on the volume. + // This field should be nil when there's no backup policy attached. + optional bool scheduled_backup_enabled = 3 + [(google.api.field_behavior) = OPTIONAL]; +} diff --git a/third_party/googleapis/google/cloud/networkconnectivity/v1/policy_based_routing.proto b/third_party/googleapis/google/cloud/networkconnectivity/v1/policy_based_routing.proto new file mode 100644 index 000000000..ae5c057f6 --- /dev/null +++ b/third_party/googleapis/google/cloud/networkconnectivity/v1/policy_based_routing.proto @@ -0,0 +1,368 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF 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.networkconnectivity.v1; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/networkconnectivity/v1/common.proto"; +import "google/longrunning/operations.proto"; +import "google/protobuf/empty.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.NetworkConnectivity.V1"; +option go_package = "cloud.google.com/go/networkconnectivity/apiv1/networkconnectivitypb;networkconnectivitypb"; +option java_multiple_files = true; +option java_outer_classname = "PolicyBasedRoutingProto"; +option java_package = "com.google.cloud.networkconnectivity.v1"; +option php_namespace = "Google\\Cloud\\NetworkConnectivity\\V1"; +option ruby_package = "Google::Cloud::NetworkConnectivity::V1"; + +// Policy-Based Routing allows GCP customers to specify flexibile routing +// policies for Layer 4 traffic traversing through the connected service. +service PolicyBasedRoutingService { + option (google.api.default_host) = "networkconnectivity.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform"; + + // Lists PolicyBasedRoutes in a given project and location. + rpc ListPolicyBasedRoutes(ListPolicyBasedRoutesRequest) + returns (ListPolicyBasedRoutesResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/global}/policyBasedRoutes" + }; + option (google.api.method_signature) = "parent"; + } + + // Gets details of a single PolicyBasedRoute. + rpc GetPolicyBasedRoute(GetPolicyBasedRouteRequest) + returns (PolicyBasedRoute) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/global/policyBasedRoutes/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Creates a new PolicyBasedRoute in a given project and location. + rpc CreatePolicyBasedRoute(CreatePolicyBasedRouteRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/global}/policyBasedRoutes" + body: "policy_based_route" + }; + option (google.api.method_signature) = + "parent,policy_based_route,policy_based_route_id"; + option (google.longrunning.operation_info) = { + response_type: "PolicyBasedRoute" + metadata_type: "OperationMetadata" + }; + } + + // Deletes a single PolicyBasedRoute. + rpc DeletePolicyBasedRoute(DeletePolicyBasedRouteRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1/{name=projects/*/locations/global/policyBasedRoutes/*}" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "OperationMetadata" + }; + } +} + +// Policy Based Routes (PBR) are more powerful routes that allows GCP customers +// to route their L4 network traffic based on not just destination IP, but also +// source IP, protocol and more. A PBR always take precedence when it conflicts +// with other types of routes. +// Next id: 22 +message PolicyBasedRoute { + option (google.api.resource) = { + type: "networkconnectivity.googleapis.com/PolicyBasedRoute" + pattern: "projects/{project}/locations/global/PolicyBasedRoutes/{policy_based_route}" + }; + + // VM instances to which this policy based route applies to. + message VirtualMachine { + // Optional. A list of VM instance tags to which this policy based route + // applies to. VM instances that have ANY of tags specified here will + // install this PBR. + repeated string tags = 1 [(google.api.field_behavior) = OPTIONAL]; + } + + // InterconnectAttachment to which this route applies to. + message InterconnectAttachment { + // Optional. Cloud region to install this policy based route on interconnect + // attachment. Use `all` to install it on all interconnect attachments. + string region = 1 [(google.api.field_behavior) = OPTIONAL]; + } + + // Filter matches L4 traffic. + message Filter { + // The internet protocol version. + enum ProtocolVersion { + // Default value. + PROTOCOL_VERSION_UNSPECIFIED = 0; + + // The PBR is for IPv4 internet protocol traffic. + IPV4 = 1; + } + + // Optional. The IP protocol that this policy based route applies to. Valid + // values are 'TCP', 'UDP', and 'ALL'. Default is 'ALL'. + string ip_protocol = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The source IP range of outgoing packets that this policy based + // route applies to. Default is "0.0.0.0/0" if protocol version is IPv4. + string src_range = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The destination IP range of outgoing packets that this policy + // based route applies to. Default is "0.0.0.0/0" if protocol version is + // IPv4. + string dest_range = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Required. Internet protocol versions this policy based route applies to. + // For this version, only IPV4 is supported. + ProtocolVersion protocol_version = 6 + [(google.api.field_behavior) = REQUIRED]; + } + + // Informational warning message. + message Warnings { + // Warning code for Policy Based Routing. Expect to add values in the + // future. + enum Code { + // Default value. + WARNING_UNSPECIFIED = 0; + + // The policy based route is not active and functioning. Common causes are + // the dependent network was deleted or the resource project was turned + // off. + RESOURCE_NOT_ACTIVE = 1; + + // The policy based route is being modified (e.g. created/deleted) at this + // time. + RESOURCE_BEING_MODIFIED = 2; + } + + // Output only. A warning code, if applicable. + Code code = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Metadata about this warning in key: value format. The key + // should provides more detail on the warning being returned. For example, + // for warnings where there are no results in a list request for a + // particular zone, this key might be scope and the key value might be the + // zone name. Other examples might be a key indicating a deprecated resource + // and a suggested replacement. + map data = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. A human-readable description of the warning code. + string warning_message = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // The other routing cases. + enum OtherRoutes { + // Default value. + OTHER_ROUTES_UNSPECIFIED = 0; + + // Use the routes from the default routing tables (system-generated routes, + // custom routes, peering route) to determine the next hop. This will + // effectively exclude matching packets being applied on other PBRs with a + // lower priority. + DEFAULT_ROUTING = 1; + } + + // Target specifies network endpoints to which this policy based route applies + // to. If none of the target is specified, the PBR will be installed on all + // network endpoints (e.g. VMs, VPNs, and Interconnects) in the VPC. + oneof target { + // Optional. VM instances to which this policy based route applies to. + VirtualMachine virtual_machine = 18 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The interconnect attachments to which this route applies to. + InterconnectAttachment interconnect_attachment = 9 + [(google.api.field_behavior) = OPTIONAL]; + } + + oneof next_hop { + // Optional. The IP of a global access enabled L4 ILB that should be the + // next hop to handle matching packets. For this version, only + // next_hop_ilb_ip is supported. + string next_hop_ilb_ip = 12 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Other routes that will be referenced to determine the next hop + // of the packet. + OtherRoutes next_hop_other_routes = 21 + [(google.api.field_behavior) = OPTIONAL]; + } + + // Immutable. A unique name of the resource in the form of + // `projects/{project_number}/locations/global/PolicyBasedRoutes/{policy_based_route_id}` + string name = 1 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. Time when the PolicyBasedRoute was created. + google.protobuf.Timestamp create_time = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Time when the PolicyBasedRoute was updated. + google.protobuf.Timestamp update_time = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // User-defined labels. + map labels = 4; + + // Optional. An optional description of this resource. Provide this field when + // you create the resource. + string description = 5 [(google.api.field_behavior) = OPTIONAL]; + + // Required. Fully-qualified URL of the network that this route applies to. + // e.g. projects/my-project/global/networks/my-network. + string network = 6 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { type: "compute.googleapis.com/Network" } + ]; + + // Required. The filter to match L4 traffic. + Filter filter = 10 [(google.api.field_behavior) = REQUIRED]; + + // Optional. The priority of this policy based route. Priority is used to + // break ties in cases where there are more than one matching policy based + // routes found. In cases where multiple policy based routes are matched, the + // one with the lowest-numbered priority value wins. The default value is + // 1000. The priority value must be from 1 to 65535, inclusive. + int32 priority = 11 [(google.api.field_behavior) = OPTIONAL]; + + // Output only. If potential misconfigurations are detected for this route, + // this field will be populated with warning messages. + repeated Warnings warnings = 14 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Server-defined fully-qualified URL for this resource. + string self_link = 15 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Type of this resource. Always + // networkconnectivity#policyBasedRoute for Policy Based Route resources. + string kind = 16 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Request for [PolicyBasedRouting.ListPolicyBasedRoutes][] method. +message ListPolicyBasedRoutesRequest { + // Required. The parent resource's name. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "locations.googleapis.com/Location" + } + ]; + + // The maximum number of results per page that should be returned. + int32 page_size = 2; + + // The page token. + string page_token = 3; + + // A filter expression that filters the results listed in the response. + string filter = 4; + + // Sort the results by a certain order. + string order_by = 5; +} + +// Response for [PolicyBasedRouting.ListPolicyBasedRoutes][] method. +message ListPolicyBasedRoutesResponse { + // Policy based routes to be returned. + repeated PolicyBasedRoute policy_based_routes = 1; + + // The next pagination token in the List response. It should be used as + // page_token for the following request. An empty value means no more result. + string next_page_token = 2; + + // Locations that could not be reached. + repeated string unreachable = 3; +} + +// Request for [PolicyBasedRouting.GetPolicyBasedRoute][] method. +message GetPolicyBasedRouteRequest { + // Required. Name of the PolicyBasedRoute resource to get. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "networkconnectivity.googleapis.com/PolicyBasedRoute" + } + ]; +} + +// Request for [PolicyBasedRouting.CreatePolicyBasedRoute][] method. +message CreatePolicyBasedRouteRequest { + // Required. The parent resource's name of the PolicyBasedRoute. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "locations.googleapis.com/Location" + } + ]; + + // Required. Unique id for the Policy Based Route to create. + string policy_based_route_id = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. Initial values for a new Policy Based Route. + PolicyBasedRoute policy_based_route = 3 + [(google.api.field_behavior) = REQUIRED]; + + // Optional. An optional request ID to identify requests. Specify a unique + // request ID so that if you must retry your request, the server will know to + // ignore the request if it has already been completed. The server will + // guarantee that for at least 60 minutes since the first request. + // + // For example, consider a situation where you make an initial request and + // the request times out. If you make the request again with the same request + // ID, the server can check if original operation with the same request ID + // was received, and if so, will ignore the second request. This prevents + // clients from accidentally creating duplicate commitments. + // + // The request ID must be a valid UUID with the exception that zero UUID is + // not supported (00000000-0000-0000-0000-000000000000). + string request_id = 4 [(google.api.field_behavior) = OPTIONAL]; +} + +// Request for [PolicyBasedRouting.DeletePolicyBasedRoute][] method. +message DeletePolicyBasedRouteRequest { + // Required. Name of the PolicyBasedRoute resource to delete. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "networkconnectivity.googleapis.com/PolicyBasedRoute" + } + ]; + + // Optional. An optional request ID to identify requests. Specify a unique + // request ID so that if you must retry your request, the server will know to + // ignore the request if it has already been completed. The server will + // guarantee that for at least 60 minutes after the first request. + // + // For example, consider a situation where you make an initial request and + // the request times out. If you make the request again with the same request + // ID, the server can check if original operation with the same request ID + // was received, and if so, will ignore the second request. This prevents + // clients from accidentally creating duplicate commitments. + // + // The request ID must be a valid UUID with the exception that zero UUID is + // not supported (00000000-0000-0000-0000-000000000000). + string request_id = 2 [(google.api.field_behavior) = OPTIONAL]; +} diff --git a/third_party/googleapis/google/cloud/networkservices/v1beta1/dep.proto b/third_party/googleapis/google/cloud/networkservices/v1beta1/dep.proto new file mode 100644 index 000000000..c3e9c7205 --- /dev/null +++ b/third_party/googleapis/google/cloud/networkservices/v1beta1/dep.proto @@ -0,0 +1,726 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF 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.networkservices.v1beta1; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/field_info.proto"; +import "google/api/resource.proto"; +import "google/cloud/networkservices/v1beta1/common.proto"; +import "google/longrunning/operations.proto"; +import "google/protobuf/duration.proto"; +import "google/protobuf/empty.proto"; +import "google/protobuf/field_mask.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.NetworkServices.V1Beta1"; +option go_package = "cloud.google.com/go/networkservices/apiv1beta1/networkservicespb;networkservicespb"; +option java_multiple_files = true; +option java_outer_classname = "DepProto"; +option java_package = "com.google.cloud.networkservices.v1beta1"; +option php_namespace = "Google\\Cloud\\NetworkServices\\V1beta1"; +option ruby_package = "Google::Cloud::NetworkServices::V1beta1"; + +// Service describing handlers for resources. +service DepService { + option (google.api.default_host) = "networkservices.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform"; + + // Lists `LbTrafficExtension` resources in a given project and location. + rpc ListLbTrafficExtensions(ListLbTrafficExtensionsRequest) + returns (ListLbTrafficExtensionsResponse) { + option (google.api.http) = { + get: "/v1beta1/{parent=projects/*/locations/*}/lbTrafficExtensions" + }; + option (google.api.method_signature) = "parent"; + } + + // Gets details of the specified `LbTrafficExtension` resource. + rpc GetLbTrafficExtension(GetLbTrafficExtensionRequest) + returns (LbTrafficExtension) { + option (google.api.http) = { + get: "/v1beta1/{name=projects/*/locations/*/lbTrafficExtensions/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Creates a new `LbTrafficExtension` resource in a given project and + // location. + rpc CreateLbTrafficExtension(CreateLbTrafficExtensionRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1beta1/{parent=projects/*/locations/*}/lbTrafficExtensions" + body: "lb_traffic_extension" + }; + option (google.api.method_signature) = + "parent,lb_traffic_extension,lb_traffic_extension_id"; + option (google.longrunning.operation_info) = { + response_type: "LbTrafficExtension" + metadata_type: "OperationMetadata" + }; + } + + // Updates the parameters of the specified `LbTrafficExtension` resource. + rpc UpdateLbTrafficExtension(UpdateLbTrafficExtensionRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + patch: "/v1beta1/{lb_traffic_extension.name=projects/*/locations/*/lbTrafficExtensions/*}" + body: "lb_traffic_extension" + }; + option (google.api.method_signature) = "lb_traffic_extension,update_mask"; + option (google.longrunning.operation_info) = { + response_type: "LbTrafficExtension" + metadata_type: "OperationMetadata" + }; + } + + // Deletes the specified `LbTrafficExtension` resource. + rpc DeleteLbTrafficExtension(DeleteLbTrafficExtensionRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1beta1/{name=projects/*/locations/*/lbTrafficExtensions/*}" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "OperationMetadata" + }; + } + + // Lists `LbRouteExtension` resources in a given project and location. + rpc ListLbRouteExtensions(ListLbRouteExtensionsRequest) + returns (ListLbRouteExtensionsResponse) { + option (google.api.http) = { + get: "/v1beta1/{parent=projects/*/locations/*}/lbRouteExtensions" + }; + option (google.api.method_signature) = "parent"; + } + + // Gets details of the specified `LbRouteExtension` resource. + rpc GetLbRouteExtension(GetLbRouteExtensionRequest) + returns (LbRouteExtension) { + option (google.api.http) = { + get: "/v1beta1/{name=projects/*/locations/*/lbRouteExtensions/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Creates a new `LbRouteExtension` resource in a given project and location. + rpc CreateLbRouteExtension(CreateLbRouteExtensionRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1beta1/{parent=projects/*/locations/*}/lbRouteExtensions" + body: "lb_route_extension" + }; + option (google.api.method_signature) = + "parent,lb_route_extension,lb_route_extension_id"; + option (google.longrunning.operation_info) = { + response_type: "LbRouteExtension" + metadata_type: "OperationMetadata" + }; + } + + // Updates the parameters of the specified `LbRouteExtension` resource. + rpc UpdateLbRouteExtension(UpdateLbRouteExtensionRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + patch: "/v1beta1/{lb_route_extension.name=projects/*/locations/*/lbRouteExtensions/*}" + body: "lb_route_extension" + }; + option (google.api.method_signature) = "lb_route_extension,update_mask"; + option (google.longrunning.operation_info) = { + response_type: "LbRouteExtension" + metadata_type: "OperationMetadata" + }; + } + + // Deletes the specified `LbRouteExtension` resource. + rpc DeleteLbRouteExtension(DeleteLbRouteExtensionRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1beta1/{name=projects/*/locations/*/lbRouteExtensions/*}" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "OperationMetadata" + }; + } +} + +// Load balancing schemes supported by the `LbTrafficExtension` resource and +// `LbRouteExtension` resource. The valid values are: `INTERNAL_MANAGED`, +// `EXTERNAL_MANAGED`. +// For more information, refer to [Choosing a load +// balancer](https://cloud.google.com/load-balancing/docs/backend-service). +enum LoadBalancingScheme { + // Default value. Do not use. + LOAD_BALANCING_SCHEME_UNSPECIFIED = 0; + + // Signifies that this is used for Internal HTTP(S) Load Balancing. + INTERNAL_MANAGED = 1; + + // Signifies that this is used for External Managed HTTP(S) Load + // Balancing. + EXTERNAL_MANAGED = 2; +} + +// A single extension chain wrapper that contains the match conditions and +// extensions to execute. +message ExtensionChain { + // Conditions under which this chain is invoked for a request. + message MatchCondition { + // Required. A Common Expression Language (CEL) expression that is used to + // match requests for which the extension chain is executed. + // + // For more information, see + // [CEL matcher language + // reference](https://cloud.google.com/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 + // is called. + // The valid values are: + // `REQUEST_HEADERS`, `REQUEST_BODY`, `RESPONSE_HEADERS`, `RESPONSE_BODY`. + enum EventType { + // Unspecified value. Do not use. + EVENT_TYPE_UNSPECIFIED = 0; + + // If included in `supported_events`, + // the extension is called when the HTTP request headers arrive. + REQUEST_HEADERS = 1; + + // If included in `supported_events`, + // the extension is called when the HTTP request body arrives. + REQUEST_BODY = 2; + + // If included in `supported_events`, + // the extension is called when the HTTP response headers arrive. + RESPONSE_HEADERS = 3; + + // If included in `supported_events`, + // the extension is called when the HTTP response body arrives. + RESPONSE_BODY = 4; + } + + // Required. The name for this extension. + // The name is logged as part of the HTTP request logs. + // The name must conform with RFC-1034, is restricted to lower-cased + // letters, numbers and hyphens, and can have a maximum length of 63 + // characters. Additionally, the first character must be a letter and the + // 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 + // to the extension service. + string authority = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The reference to the service that runs the extension. + // + // Currently only Callout extensions are supported here. + // + // 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) + // in the format: + // `https://www.googleapis.com/compute/v1/projects/{project}/regions/{region}/backendServices/{backendService}` + // or + // `https://www.googleapis.com/compute/v1/projects/{project}/global/backendServices/{backendService}`. + string service = 3 [(google.api.field_behavior) = REQUIRED]; + + // Optional. A set of events during request or response processing for which + // this extension is called. This field is required for the + // `LbTrafficExtension` resource. It's not relevant for the + // `LbRouteExtension` resource. + repeated EventType supported_events = 4 + [(google.api.field_behavior) = OPTIONAL]; + + // Required. Specifies the timeout for each individual message on the + // stream. The timeout must be between 10-1000 milliseconds. + google.protobuf.Duration timeout = 5 + [(google.api.field_behavior) = REQUIRED]; + + // 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. + // + // * If response headers have been delivered, then the HTTP stream to + // the downstream client is reset. + // Default is `FALSE`. + bool fail_open = 6 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. List of the HTTP headers to forward to the extension + // (from the client or backend). If omitted, all headers are sent. + // Each element is a string indicating the header name. + repeated string forward_headers = 7 + [(google.api.field_behavior) = OPTIONAL]; + } + + // Required. The name for this extension chain. + // The name is logged as part of the HTTP request logs. + // The name must conform with RFC-1034, is restricted to lower-cased letters, + // numbers and hyphens, and can have a maximum length of 63 characters. + // Additionally, the first character must be a letter and the last a letter or + // a number. + string name = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. Conditions under which this chain is invoked for a request. + MatchCondition match_condition = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. A set of extensions to execute for the matching request. + // At least one extension is required. + // Up to 3 extensions can be defined for each extension chain + // for `LbTrafficExtension` resource. + // `LbRouteExtension` chains are limited to 1 extension per extension chain. + repeated Extension extensions = 3 [(google.api.field_behavior) = REQUIRED]; +} + +// `LbTrafficExtension` is a resource that lets the extension service modify the +// headers and payloads of both requests and responses without impacting the +// choice of backend services or any other security policies associated with the +// backend service. +message LbTrafficExtension { + option (google.api.resource) = { + type: "networkservices.googleapis.com/LbTrafficExtension" + pattern: "projects/{project}/locations/{location}/lbTrafficExtensions/{lb_traffic_extension}" + plural: "lbTrafficExtensions" + singular: "lbTrafficExtension" + }; + + // Required. Identifier. Name of the `LbTrafficExtension` resource in the + // following format: + // `projects/{project}/locations/{location}/lbTrafficExtensions/{lb_traffic_extension}`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = IDENTIFIER + ]; + + // Output only. The timestamp when the resource was created. + google.protobuf.Timestamp create_time = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The timestamp when the resource was updated. + google.protobuf.Timestamp update_time = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Optional. A human-readable description of the resource. + string description = 9 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Set of labels associated with the `LbTrafficExtension` resource. + // + // The format must comply with [the following + // requirements](/compute/docs/labeling-resources#requirements). + map labels = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Required. A list of references to the forwarding rules to which this + // service extension is attached to. At least one forwarding rule is required. + // There can be only one `LBTrafficExtension` resource per forwarding rule. + repeated string forwarding_rules = 5 [(google.api.field_behavior) = REQUIRED]; + + // Required. A set of ordered extension chains that contain the match + // conditions and extensions to execute. Match conditions for each extension + // chain are evaluated in sequence for a given request. The first extension + // chain that has a condition that matches the request is executed. + // Any subsequent extension chains do not execute. + // Limited to 5 extension chains per resource. + repeated ExtensionChain extension_chains = 7 + [(google.api.field_behavior) = REQUIRED]; + + // Required. All backend services and forwarding rules referenced by this + // extension must share the same load balancing scheme. Supported values: + // `INTERNAL_MANAGED`, `EXTERNAL_MANAGED`. For more information, refer to + // [Choosing a load + // balancer](https://cloud.google.com/load-balancing/docs/backend-service). + LoadBalancingScheme load_balancing_scheme = 8 + [(google.api.field_behavior) = REQUIRED]; +} + +// Message for requesting list of `LbTrafficExtension` resources. +message ListLbTrafficExtensionsRequest { + // Required. The project and location from which the `LbTrafficExtension` + // resources are listed, specified in the following format: + // `projects/{project}/locations/{location}`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "networkservices.googleapis.com/LbTrafficExtension" + } + ]; + + // Optional. Requested page size. The server might return fewer items than + // requested. If unspecified, the server picks an appropriate default. + int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A token identifying a page of results that the server returns. + string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Filtering results. + string filter = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Hint for how to order the results. + string order_by = 5 [(google.api.field_behavior) = OPTIONAL]; +} + +// Message for response to listing `LbTrafficExtension` resources. +message ListLbTrafficExtensionsResponse { + // The list of `LbTrafficExtension` resources. + repeated LbTrafficExtension lb_traffic_extensions = 1; + + // A token identifying a page of results that the server returns. + string next_page_token = 2; + + // Locations that could not be reached. + repeated string unreachable = 3; +} + +// Message for getting a `LbTrafficExtension` resource. +message GetLbTrafficExtensionRequest { + // Required. A name of the `LbTrafficExtension` resource to get. Must be in + // the format + // `projects/{project}/locations/{location}/lbTrafficExtensions/{lb_traffic_extension}`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "networkservices.googleapis.com/LbTrafficExtension" + } + ]; +} + +// Message for creating a `LbTrafficExtension` resource. +message CreateLbTrafficExtensionRequest { + // Required. The parent resource of the `LbTrafficExtension` resource. Must be + // in the format `projects/{project}/locations/{location}`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "networkservices.googleapis.com/LbTrafficExtension" + } + ]; + + // Required. User-provided ID of the `LbTrafficExtension` resource to be + // created. + string lb_traffic_extension_id = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. `LbTrafficExtension` resource to be created. + LbTrafficExtension lb_traffic_extension = 3 + [(google.api.field_behavior) = REQUIRED]; + + // Optional. An optional request ID to identify requests. Specify a unique + // request ID so that if you must retry your request, the server can ignore + // the request if it has already been completed. The server guarantees + // that for at least 60 minutes since the first request. + // + // For example, consider a situation where you make an initial request and the + // request times out. If you make the request again with the same request + // ID, the server can check if original operation with the same request ID + // was received, and if so, ignores the second request. This prevents + // clients from accidentally creating duplicate commitments. + // + // The request ID must be a valid UUID with the exception that zero UUID is + // not supported (00000000-0000-0000-0000-000000000000). + string request_id = 4 [ + (google.api.field_info).format = UUID4, + (google.api.field_behavior) = OPTIONAL + ]; +} + +// Message for updating a `LbTrafficExtension` resource. +message UpdateLbTrafficExtensionRequest { + // Required. Used to specify the fields to be overwritten in the + // `LbTrafficExtension` resource by the update. + // The fields specified in the update_mask are relative to the resource, not + // the full request. A field is overwritten if it is in the mask. If the + // user does not specify a mask, then all fields are overwritten. + google.protobuf.FieldMask update_mask = 1 + [(google.api.field_behavior) = REQUIRED]; + + // Required. `LbTrafficExtension` resource being updated. + LbTrafficExtension lb_traffic_extension = 2 + [(google.api.field_behavior) = REQUIRED]; + + // Optional. An optional request ID to identify requests. Specify a unique + // request ID so that if you must retry your request, the server can ignore + // the request if it has already been completed. The server guarantees + // that for at least 60 minutes since the first request. + // + // For example, consider a situation where you make an initial request and the + // request times out. If you make the request again with the same request + // ID, the server can check if original operation with the same request ID + // was received, and if so, ignores the second request. This prevents + // clients from accidentally creating duplicate commitments. + // + // The request ID must be a valid UUID with the exception that zero UUID is + // not supported (00000000-0000-0000-0000-000000000000). + string request_id = 3 [ + (google.api.field_info).format = UUID4, + (google.api.field_behavior) = OPTIONAL + ]; +} + +// Message for deleting a `LbTrafficExtension` resource. +message DeleteLbTrafficExtensionRequest { + // Required. The name of the `LbTrafficExtension` resource to delete. Must be + // in the format + // `projects/{project}/locations/{location}/lbTrafficExtensions/{lb_traffic_extension}`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "networkservices.googleapis.com/LbTrafficExtension" + } + ]; + + // Optional. An optional request ID to identify requests. Specify a unique + // request ID so that if you must retry your request, the server can ignore + // the request if it has already been completed. The server guarantees + // that for at least 60 minutes after the first request. + // + // For example, consider a situation where you make an initial request and the + // request times out. If you make the request again with the same request + // ID, the server can check if original operation with the same request ID + // was received, and if so, ignores the second request. This prevents + // clients from accidentally creating duplicate commitments. + // + // The request ID must be a valid UUID with the exception that zero UUID is + // not supported (00000000-0000-0000-0000-000000000000). + string request_id = 2 [ + (google.api.field_info).format = UUID4, + (google.api.field_behavior) = OPTIONAL + ]; +} + +// `LbRouteExtension` is a resource that lets you control where traffic is +// routed to for a given request. +message LbRouteExtension { + option (google.api.resource) = { + type: "networkservices.googleapis.com/LbRouteExtension" + pattern: "projects/{project}/locations/{location}/lbRouteExtensions/{lb_route_extension}" + plural: "lbRouteExtensions" + singular: "lbRouteExtension" + }; + + // Required. Identifier. Name of the `LbRouteExtension` resource in the + // following format: + // `projects/{project}/locations/{location}/lbRouteExtensions/{lb_route_extension}`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = IDENTIFIER + ]; + + // Output only. The timestamp when the resource was created. + google.protobuf.Timestamp create_time = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The timestamp when the resource was updated. + google.protobuf.Timestamp update_time = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Optional. A human-readable description of the resource. + string description = 9 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Set of labels associated with the `LbRouteExtension` resource. + // + // The format must comply with [the following + // requirements](/compute/docs/labeling-resources#requirements). + map labels = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Required. A list of references to the forwarding rules to which this + // service extension is attached to. At least one forwarding rule is required. + // There can be only one `LbRouteExtension` resource per forwarding rule. + repeated string forwarding_rules = 5 [(google.api.field_behavior) = REQUIRED]; + + // Required. A set of ordered extension chains that contain the match + // conditions and extensions to execute. Match conditions for each extension + // chain are evaluated in sequence for a given request. The first extension + // chain that has a condition that matches the request is executed. + // Any subsequent extension chains do not execute. + // Limited to 5 extension chains per resource. + repeated ExtensionChain extension_chains = 7 + [(google.api.field_behavior) = REQUIRED]; + + // Required. All backend services and forwarding rules referenced by this + // extension must share the same load balancing scheme. Supported values: + // `INTERNAL_MANAGED`, `EXTERNAL_MANAGED`. For more information, refer to + // [Choosing a load + // balancer](https://cloud.google.com/load-balancing/docs/backend-service). + LoadBalancingScheme load_balancing_scheme = 8 + [(google.api.field_behavior) = REQUIRED]; +} + +// Message for requesting list of `LbRouteExtension` resources. +message ListLbRouteExtensionsRequest { + // Required. The project and location from which the `LbRouteExtension` + // resources are listed, specified in the following format: + // `projects/{project}/locations/{location}`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "networkservices.googleapis.com/LbRouteExtension" + } + ]; + + // Optional. Requested page size. The server might return fewer items than + // requested. If unspecified, the server picks an appropriate default. + int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A token identifying a page of results that the server returns. + string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Filtering results. + string filter = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Hint for how to order the results. + string order_by = 5 [(google.api.field_behavior) = OPTIONAL]; +} + +// Message for response to listing `LbRouteExtension` resources. +message ListLbRouteExtensionsResponse { + // The list of `LbRouteExtension` resources. + repeated LbRouteExtension lb_route_extensions = 1; + + // A token identifying a page of results that the server returns. + string next_page_token = 2; + + // Locations that could not be reached. + repeated string unreachable = 3; +} + +// Message for getting a `LbRouteExtension` resource. +message GetLbRouteExtensionRequest { + // Required. A name of the `LbRouteExtension` resource to get. Must be in the + // format + // `projects/{project}/locations/{location}/lbRouteExtensions/{lb_route_extension}`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "networkservices.googleapis.com/LbRouteExtension" + } + ]; +} + +// Message for creating a `LbRouteExtension` resource. +message CreateLbRouteExtensionRequest { + // Required. The parent resource of the `LbRouteExtension` resource. Must be + // in the format `projects/{project}/locations/{location}`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "networkservices.googleapis.com/LbRouteExtension" + } + ]; + + // Required. User-provided ID of the `LbRouteExtension` resource to be + // created. + string lb_route_extension_id = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. `LbRouteExtension` resource to be created. + LbRouteExtension lb_route_extension = 3 + [(google.api.field_behavior) = REQUIRED]; + + // Optional. An optional request ID to identify requests. Specify a unique + // request ID so that if you must retry your request, the server can ignore + // the request if it has already been completed. The server guarantees + // that for at least 60 minutes since the first request. + // + // For example, consider a situation where you make an initial request and the + // request times out. If you make the request again with the same request + // ID, the server can check if original operation with the same request ID + // was received, and if so, ignores the second request. This prevents + // clients from accidentally creating duplicate commitments. + // + // The request ID must be a valid UUID with the exception that zero UUID is + // not supported (00000000-0000-0000-0000-000000000000). + string request_id = 4 [ + (google.api.field_info).format = UUID4, + (google.api.field_behavior) = OPTIONAL + ]; +} + +// Message for updating a `LbRouteExtension` resource. +message UpdateLbRouteExtensionRequest { + // Required. Used to specify the fields to be overwritten in the + // `LbRouteExtension` resource by the update. + // The fields specified in the update_mask are relative to the resource, not + // the full request. A field is overwritten if it is in the mask. If the + // user does not specify a mask, then all fields are overwritten. + google.protobuf.FieldMask update_mask = 1 + [(google.api.field_behavior) = REQUIRED]; + + // Required. `LbRouteExtension` resource being updated. + LbRouteExtension lb_route_extension = 2 + [(google.api.field_behavior) = REQUIRED]; + + // Optional. An optional request ID to identify requests. Specify a unique + // request ID so that if you must retry your request, the server can ignore + // the request if it has already been completed. The server guarantees + // that for at least 60 minutes since the first request. + // + // For example, consider a situation where you make an initial request and the + // request times out. If you make the request again with the same request + // ID, the server can check if original operation with the same request ID + // was received, and if so, ignores the second request. This prevents + // clients from accidentally creating duplicate commitments. + // + // The request ID must be a valid UUID with the exception that zero UUID is + // not supported (00000000-0000-0000-0000-000000000000). + string request_id = 3 [ + (google.api.field_info).format = UUID4, + (google.api.field_behavior) = OPTIONAL + ]; +} + +// Message for deleting a `LbRouteExtension` resource. +message DeleteLbRouteExtensionRequest { + // Required. The name of the `LbRouteExtension` resource to delete. Must be in + // the format + // `projects/{project}/locations/{location}/lbRouteExtensions/{lb_route_extension}`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "networkservices.googleapis.com/LbRouteExtension" + } + ]; + + // Optional. An optional request ID to identify requests. Specify a unique + // request ID so that if you must retry your request, the server can ignore + // the request if it has already been completed. The server guarantees + // that for at least 60 minutes after the first request. + // + // For example, consider a situation where you make an initial request and the + // request times out. If you make the request again with the same request + // ID, the server can check if original operation with the same request ID + // was received, and if so, ignores the second request. This prevents + // clients from accidentally creating duplicate commitments. + // + // The request ID must be a valid UUID with the exception that zero UUID is + // not supported (00000000-0000-0000-0000-000000000000). + string request_id = 2 [ + (google.api.field_info).format = UUID4, + (google.api.field_behavior) = OPTIONAL + ]; +} diff --git a/third_party/googleapis/google/cloud/notebooks/v2/BUILD.bazel b/third_party/googleapis/google/cloud/notebooks/v2/BUILD.bazel new file mode 100644 index 000000000..352be3c32 --- /dev/null +++ b/third_party/googleapis/google/cloud/notebooks/v2/BUILD.bazel @@ -0,0 +1,388 @@ +# 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 = "notebooks_proto", + srcs = [ + "diagnostic_config.proto", + "event.proto", + "gce_setup.proto", + "instance.proto", + "service.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 = "notebooks_proto_with_info", + deps = [ + ":notebooks_proto", + "//google/cloud:common_resources_proto", + "//google/cloud/location:location_proto", + "//google/iam/v1:iam_policy_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 = "notebooks_java_proto", + deps = [":notebooks_proto"], +) + +java_grpc_library( + name = "notebooks_java_grpc", + srcs = [":notebooks_proto"], + deps = [":notebooks_java_proto"], +) + +java_gapic_library( + name = "notebooks_java_gapic", + srcs = [":notebooks_proto_with_info"], + gapic_yaml = None, + grpc_service_config = "notebooks_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "notebooks_v2.yaml", + test_deps = [ + "//google/cloud/location:location_java_grpc", + "//google/iam/v1:iam_java_grpc", + ":notebooks_java_grpc", + ], + transport = "grpc+rest", + deps = [ + ":notebooks_java_proto", + "//google/api:api_java_proto", + "//google/cloud/location:location_java_proto", + "//google/iam/v1:iam_java_proto", + ], +) + +java_gapic_test( + name = "notebooks_java_gapic_test_suite", + test_classes = [ + "com.google.cloud.notebooks.v2.NotebookServiceClientHttpJsonTest", + "com.google.cloud.notebooks.v2.NotebookServiceClientTest", + ], + runtime_deps = [":notebooks_java_gapic_test"], +) + +# Open Source Packages +java_gapic_assembly_gradle_pkg( + name = "google-cloud-notebooks-v2-java", + include_samples = True, + transport = "grpc+rest", + deps = [ + ":notebooks_java_gapic", + ":notebooks_java_grpc", + ":notebooks_java_proto", + ":notebooks_proto", + ], +) + +############################################################################## +# Go +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "go_gapic_assembly_pkg", + "go_gapic_library", + "go_proto_library", +) + +go_proto_library( + name = "notebooks_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "cloud.google.com/go/notebooks/apiv2/notebookspb", + protos = [":notebooks_proto"], + deps = [ + "//google/api:annotations_go_proto", + "//google/longrunning:longrunning_go_proto", + ], +) + +go_gapic_library( + name = "notebooks_go_gapic", + srcs = [":notebooks_proto_with_info"], + grpc_service_config = "notebooks_grpc_service_config.json", + importpath = "cloud.google.com/go/notebooks/apiv2;notebooks", + metadata = True, + release_level = "ga", + rest_numeric_enums = True, + service_yaml = "notebooks_v2.yaml", + transport = "grpc+rest", + deps = [ + ":notebooks_go_proto", + "//google/cloud/location:location_go_proto", + "//google/iam/v1:iam_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-notebooks-v2-go", + deps = [ + ":notebooks_go_gapic", + ":notebooks_go_gapic_srcjar-metadata.srcjar", + ":notebooks_go_gapic_srcjar-snippets.srcjar", + ":notebooks_go_gapic_srcjar-test.srcjar", + ":notebooks_go_proto", + ], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "py_gapic_assembly_pkg", + "py_gapic_library", + "py_test", +) + +py_gapic_library( + name = "notebooks_py_gapic", + srcs = [":notebooks_proto"], + grpc_service_config = "notebooks_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "notebooks_v2.yaml", + transport = "grpc+rest", + deps = [ + "//google/iam/v1:iam_policy_py_proto", + ], +) + +py_test( + name = "notebooks_py_gapic_test", + srcs = [ + "notebooks_py_gapic_pytest.py", + "notebooks_py_gapic_test.py", + ], + legacy_create_init = False, + deps = [":notebooks_py_gapic"], +) + +# Open Source Packages +py_gapic_assembly_pkg( + name = "notebooks-v2-py", + deps = [ + ":notebooks_py_gapic", + ], +) + +############################################################################## +# PHP +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "php_gapic_assembly_pkg", + "php_gapic_library", + "php_proto_library", +) + +php_proto_library( + name = "notebooks_php_proto", + deps = [":notebooks_proto"], +) + +php_gapic_library( + name = "notebooks_php_gapic", + srcs = [":notebooks_proto_with_info"], + grpc_service_config = "notebooks_grpc_service_config.json", + migration_mode = "NEW_SURFACE_ONLY", + rest_numeric_enums = True, + service_yaml = "notebooks_v2.yaml", + transport = "grpc+rest", + deps = [ + ":notebooks_php_proto", + ], +) + +# Open Source Packages +php_gapic_assembly_pkg( + name = "google-cloud-notebooks-v2-php", + deps = [ + ":notebooks_php_gapic", + ":notebooks_php_proto", + ], +) + +############################################################################## +# Node.js +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "nodejs_gapic_assembly_pkg", + "nodejs_gapic_library", +) + +nodejs_gapic_library( + name = "notebooks_nodejs_gapic", + package_name = "@google-cloud/notebooks", + src = ":notebooks_proto_with_info", + extra_protoc_parameters = ["metadata"], + grpc_service_config = "notebooks_grpc_service_config.json", + package = "google.cloud.notebooks.v2", + rest_numeric_enums = True, + service_yaml = "notebooks_v2.yaml", + transport = "grpc+rest", + deps = [], +) + +nodejs_gapic_assembly_pkg( + name = "notebooks-v2-nodejs", + deps = [ + ":notebooks_nodejs_gapic", + ":notebooks_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 = "notebooks_ruby_proto", + deps = [":notebooks_proto"], +) + +ruby_grpc_library( + name = "notebooks_ruby_grpc", + srcs = [":notebooks_proto"], + deps = [":notebooks_ruby_proto"], +) + +ruby_cloud_gapic_library( + name = "notebooks_ruby_gapic", + srcs = [":notebooks_proto_with_info"], + extra_protoc_parameters = ["ruby-cloud-gem-name=google-cloud-notebooks-v2"], + grpc_service_config = "notebooks_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "notebooks_v2.yaml", + transport = "grpc+rest", + deps = [ + ":notebooks_ruby_grpc", + ":notebooks_ruby_proto", + ], +) + +# Open Source Packages +ruby_gapic_assembly_pkg( + name = "google-cloud-notebooks-v2-ruby", + deps = [ + ":notebooks_ruby_gapic", + ":notebooks_ruby_grpc", + ":notebooks_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 = "notebooks_csharp_proto", + deps = [":notebooks_proto"], +) + +csharp_grpc_library( + name = "notebooks_csharp_grpc", + srcs = [":notebooks_proto"], + deps = [":notebooks_csharp_proto"], +) + +csharp_gapic_library( + name = "notebooks_csharp_gapic", + srcs = [":notebooks_proto_with_info"], + common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json", + grpc_service_config = "notebooks_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "notebooks_v2.yaml", + deps = [ + ":notebooks_csharp_grpc", + ":notebooks_csharp_proto", + ], +) + +# Open Source Packages +csharp_gapic_assembly_pkg( + name = "google-cloud-notebooks-v2-csharp", + deps = [ + ":notebooks_csharp_gapic", + ":notebooks_csharp_grpc", + ":notebooks_csharp_proto", + ], +) + +############################################################################## +# C++ +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "cc_grpc_library", + "cc_proto_library", +) + +cc_proto_library( + name = "notebooks_cc_proto", + deps = [":notebooks_proto"], +) + +cc_grpc_library( + name = "notebooks_cc_grpc", + srcs = [":notebooks_proto"], + grpc_only = True, + deps = [":notebooks_cc_proto"], +) diff --git a/third_party/googleapis/google/cloud/notebooks/v2/diagnostic_config.proto b/third_party/googleapis/google/cloud/notebooks/v2/diagnostic_config.proto new file mode 100644 index 000000000..ccd60acd0 --- /dev/null +++ b/third_party/googleapis/google/cloud/notebooks/v2/diagnostic_config.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.cloud.notebooks.v2; + +import "google/api/field_behavior.proto"; + +option csharp_namespace = "Google.Cloud.Notebooks.V2"; +option go_package = "cloud.google.com/go/notebooks/apiv2/notebookspb;notebookspb"; +option java_multiple_files = true; +option java_outer_classname = "DiagnosticConfigProto"; +option java_package = "com.google.cloud.notebooks.v2"; +option php_namespace = "Google\\Cloud\\Notebooks\\V2"; +option ruby_package = "Google::Cloud::Notebooks::V2"; + +// Defines flags that are used to run the diagnostic tool +message DiagnosticConfig { + // Required. User Cloud Storage bucket location (REQUIRED). + // Must be formatted with path prefix (`gs://$GCS_BUCKET`). + // + // Permissions: + // User Managed Notebooks: + // - storage.buckets.writer: Must be given to the project's service account + // attached to VM. + // Google Managed Notebooks: + // - storage.buckets.writer: Must be given to the project's service account or + // user credentials attached to VM depending on authentication mode. + // + // Cloud Storage bucket Log file will be written to + // `gs://$GCS_BUCKET/$RELATIVE_PATH/$VM_DATE_$TIME.tar.gz` + string gcs_bucket = 1 [(google.api.field_behavior) = REQUIRED]; + + // Optional. Defines the relative storage path in the Cloud Storage bucket + // where the diagnostic logs will be written: Default path will be the root + // directory of the Cloud Storage bucket + // (`gs://$GCS_BUCKET/$DATE_$TIME.tar.gz`) Example of full path where Log file + // will be written: `gs://$GCS_BUCKET/$RELATIVE_PATH/` + string relative_path = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Enables flag to repair service for instance + bool enable_repair_flag = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Enables flag to capture packets from the instance for 30 seconds + bool enable_packet_capture_flag = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Enables flag to copy all `/home/jupyter` folder contents + bool enable_copy_home_files_flag = 5 [(google.api.field_behavior) = OPTIONAL]; +} diff --git a/third_party/googleapis/google/cloud/notebooks/v2/event.proto b/third_party/googleapis/google/cloud/notebooks/v2/event.proto new file mode 100644 index 000000000..1480bbc3e --- /dev/null +++ b/third_party/googleapis/google/cloud/notebooks/v2/event.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.cloud.notebooks.v2; + +import "google/api/field_behavior.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.Notebooks.V2"; +option go_package = "cloud.google.com/go/notebooks/apiv2/notebookspb;notebookspb"; +option java_multiple_files = true; +option java_outer_classname = "EventProto"; +option java_package = "com.google.cloud.notebooks.v2"; +option php_namespace = "Google\\Cloud\\Notebooks\\V2"; +option ruby_package = "Google::Cloud::Notebooks::V2"; + +// The definition of an Event for a managed / semi-managed notebook instance. +message Event { + // The definition of the event types. + enum EventType { + // Event is not specified. + EVENT_TYPE_UNSPECIFIED = 0; + + // The instance / runtime is idle + IDLE = 1; + + // The instance / runtime is available. + // This event indicates that instance / runtime underlying compute is + // operational. + HEARTBEAT = 2; + + // The instance / runtime health is available. + // This event indicates that instance / runtime health information. + HEALTH = 3; + + // The instance / runtime is available. + // This event allows instance / runtime to send Host maintenance + // information to Control Plane. + // https://cloud.google.com/compute/docs/gpus/gpu-host-maintenance + MAINTENANCE = 4; + + // The instance / runtime is available. + // This event indicates that the instance had metadata that needs to be + // modified. + METADATA_CHANGE = 5; + } + + // Optional. Event report time. + google.protobuf.Timestamp report_time = 1 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Event type. + EventType type = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Event details. This field is used to pass event information. + map details = 3 [(google.api.field_behavior) = OPTIONAL]; +} diff --git a/third_party/googleapis/google/cloud/notebooks/v2/gce_setup.proto b/third_party/googleapis/google/cloud/notebooks/v2/gce_setup.proto new file mode 100644 index 000000000..e3fb8b18d --- /dev/null +++ b/third_party/googleapis/google/cloud/notebooks/v2/gce_setup.proto @@ -0,0 +1,340 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF 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.notebooks.v2; + +import "google/api/field_behavior.proto"; + +option csharp_namespace = "Google.Cloud.Notebooks.V2"; +option go_package = "cloud.google.com/go/notebooks/apiv2/notebookspb;notebookspb"; +option java_multiple_files = true; +option java_outer_classname = "GceSetupProto"; +option java_package = "com.google.cloud.notebooks.v2"; +option php_namespace = "Google\\Cloud\\Notebooks\\V2"; +option ruby_package = "Google::Cloud::Notebooks::V2"; + +// The definition of a network interface resource attached to a VM. +message NetworkInterface { + // The type of vNIC driver. + // Default should be NIC_TYPE_UNSPECIFIED. + enum NicType { + // No type specified. + NIC_TYPE_UNSPECIFIED = 0; + + // VIRTIO + VIRTIO_NET = 1; + + // GVNIC + GVNIC = 2; + } + + // Optional. The name of the VPC that this VM instance is in. + // Format: + // `projects/{project_id}/global/networks/{network_id}` + string network = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The name of the subnet that this VM instance is in. + // Format: + // `projects/{project_id}/regions/{region}/subnetworks/{subnetwork_id}` + string subnet = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The type of vNIC to be used on this interface. This may be gVNIC + // or VirtioNet. + NicType nic_type = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// Definition of a custom Compute Engine virtual machine image for starting a +// notebook instance with the environment installed directly on the VM. +message VmImage { + // Required. The name of the Google Cloud project that this VM image belongs + // to. Format: `{project_id}` + string project = 1 [(google.api.field_behavior) = REQUIRED]; + + // The reference to an external Compute Engine VM image. + oneof image { + // Optional. Use VM image name to find the image. + string name = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Use this VM image family to find the image; the newest image in + // this family will be used. + string family = 3 [(google.api.field_behavior) = OPTIONAL]; + } +} + +// Definition of a container image for starting a notebook instance with the +// environment installed in a container. +message ContainerImage { + // Required. The path to the container image repository. For example: + // `gcr.io/{project_id}/{image_name}` + string repository = 1 [(google.api.field_behavior) = REQUIRED]; + + // Optional. The tag of the container image. If not specified, this defaults + // to the latest tag. + string tag = 2 [(google.api.field_behavior) = OPTIONAL]; +} + +// An accelerator configuration for a VM instance +// Definition of a hardware accelerator. Note that there is no check on `type` +// and `core_count` combinations. TPUs are not supported. +// See [GPUs on Compute +// Engine](https://cloud.google.com/compute/docs/gpus/#gpus-list) to find a +// valid combination. +message AcceleratorConfig { + // Definition of the types of hardware accelerators that can be used on + // this instance. + enum AcceleratorType { + // Accelerator type is not specified. + ACCELERATOR_TYPE_UNSPECIFIED = 0; + + // Accelerator type is Nvidia Tesla P100. + NVIDIA_TESLA_P100 = 2; + + // Accelerator type is Nvidia Tesla V100. + NVIDIA_TESLA_V100 = 3; + + // Accelerator type is Nvidia Tesla P4. + NVIDIA_TESLA_P4 = 4; + + // Accelerator type is Nvidia Tesla T4. + NVIDIA_TESLA_T4 = 5; + + // Accelerator type is Nvidia Tesla A100 - 40GB. + NVIDIA_TESLA_A100 = 11; + + // Accelerator type is Nvidia Tesla A100 - 80GB. + NVIDIA_A100_80GB = 12; + + // Accelerator type is Nvidia Tesla L4. + NVIDIA_L4 = 13; + + // Accelerator type is NVIDIA Tesla T4 Virtual Workstations. + NVIDIA_TESLA_T4_VWS = 8; + + // Accelerator type is NVIDIA Tesla P100 Virtual Workstations. + NVIDIA_TESLA_P100_VWS = 9; + + // Accelerator type is NVIDIA Tesla P4 Virtual Workstations. + NVIDIA_TESLA_P4_VWS = 10; + } + + // Optional. Type of this accelerator. + AcceleratorType type = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Count of cores of this accelerator. + int64 core_count = 2 [(google.api.field_behavior) = OPTIONAL]; +} + +// A set of Shielded Instance options. +// See [Images using supported Shielded VM +// features](https://cloud.google.com/compute/docs/instances/modifying-shielded-vm). +// Not all combinations are valid. +message ShieldedInstanceConfig { + // Optional. Defines whether the VM instance has Secure Boot enabled. + // + // Secure Boot helps ensure that the system only runs authentic software by + // verifying the digital signature of all boot components, and halting the + // boot process if signature verification fails. Disabled by default. + bool enable_secure_boot = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Defines whether the VM instance has the vTPM enabled. Enabled by + // default. + bool enable_vtpm = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Defines whether the VM instance has integrity monitoring enabled. + // + // Enables monitoring and attestation of the boot integrity of the VM + // instance. The attestation is performed against the integrity policy + // baseline. This baseline is initially derived from the implicitly trusted + // boot image when the VM instance is created. Enabled by default. + bool enable_integrity_monitoring = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// A GPU driver configuration +message GPUDriverConfig { + // Optional. Whether the end user authorizes Google Cloud to install GPU + // driver on this VM instance. If this field is empty or set to false, the GPU + // driver won't be installed. Only applicable to instances with GPUs. + bool enable_gpu_driver = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Specify a custom Cloud Storage path where the GPU driver is + // stored. If not specified, we'll automatically choose from official GPU + // drivers. + string custom_gpu_driver_path = 2 [(google.api.field_behavior) = OPTIONAL]; +} + +// An instance-attached disk resource. +message DataDisk { + // Optional. The size of the disk in GB attached to this VM instance, up to a + // maximum of 64000 GB (64 TB). If not specified, this defaults to 100. + int64 disk_size_gb = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Input only. Indicates the type of the disk. + DiskType disk_type = 2 [ + (google.api.field_behavior) = INPUT_ONLY, + (google.api.field_behavior) = OPTIONAL + ]; + + // Optional. Input only. Disk encryption method used on the boot and data + // disks, defaults to GMEK. + DiskEncryption disk_encryption = 5 [ + (google.api.field_behavior) = INPUT_ONLY, + (google.api.field_behavior) = OPTIONAL + ]; + + // Optional. Input only. The KMS key used to encrypt the disks, only + // applicable if disk_encryption is CMEK. Format: + // `projects/{project_id}/locations/{location}/keyRings/{key_ring_id}/cryptoKeys/{key_id}` + // + // Learn more about using your own encryption keys. + string kms_key = 6 [ + (google.api.field_behavior) = INPUT_ONLY, + (google.api.field_behavior) = OPTIONAL + ]; +} + +// The definition of a boot disk. +message BootDisk { + // Optional. The size of the boot disk in GB attached to this instance, up to + // a maximum of 64000 GB (64 TB). If not specified, this defaults to the + // recommended value of 150GB. + int64 disk_size_gb = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Indicates the type of the disk. + DiskType disk_type = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Input only. Disk encryption method used on the boot and data + // disks, defaults to GMEK. + DiskEncryption disk_encryption = 3 [ + (google.api.field_behavior) = INPUT_ONLY, + (google.api.field_behavior) = OPTIONAL + ]; + + // Optional. Input only. The KMS key used to encrypt the disks, only + // applicable if disk_encryption is CMEK. Format: + // `projects/{project_id}/locations/{location}/keyRings/{key_ring_id}/cryptoKeys/{key_id}` + // + // Learn more about using your own encryption keys. + string kms_key = 4 [ + (google.api.field_behavior) = INPUT_ONLY, + (google.api.field_behavior) = OPTIONAL + ]; +} + +// A service account that acts as an identity. +message ServiceAccount { + // Optional. Email address of the service account. + string email = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Output only. The list of scopes to be made available for this service + // account. Set by the CLH to https://www.googleapis.com/auth/cloud-platform + repeated string scopes = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// The definition of how to configure a VM instance outside of Resources and +// Identity. +message GceSetup { + // Optional. The machine type of the VM instance. + // https://cloud.google.com/compute/docs/machine-resource + string machine_type = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The hardware accelerators used on this instance. If you use + // accelerators, make sure that your configuration has + // [enough vCPUs and memory to support the `machine_type` you have + // selected](https://cloud.google.com/compute/docs/gpus/#gpus-list). + // Currently supports only one accelerator configuration. + repeated AcceleratorConfig accelerator_configs = 2 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The service account that serves as an identity for the VM + // instance. Currently supports only one service account. + repeated ServiceAccount service_accounts = 3 + [(google.api.field_behavior) = OPTIONAL]; + + // Type of the image; can be one of VM image, or container image. + oneof image { + // Optional. Use a Compute Engine VM image to start the notebook instance. + VmImage vm_image = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Use a container image to start the notebook instance. + ContainerImage container_image = 5 [(google.api.field_behavior) = OPTIONAL]; + } + + // Optional. The boot disk for the VM. + BootDisk boot_disk = 6 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Data disks attached to the VM instance. + // Currently supports only one data disk. + repeated DataDisk data_disks = 7 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Shielded VM configuration. + // [Images using supported Shielded VM + // features](https://cloud.google.com/compute/docs/instances/modifying-shielded-vm). + ShieldedInstanceConfig shielded_instance_config = 8 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The network interfaces for the VM. + // Supports only one interface. + repeated NetworkInterface network_interfaces = 9 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. If true, no external IP will be assigned to this VM instance. + bool disable_public_ip = 10 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The Compute Engine tags to add to runtime (see [Tagging + // instances](https://cloud.google.com/compute/docs/label-or-tag-resources#tags)). + repeated string tags = 11 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Custom metadata to apply to this instance. + map metadata = 12 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Flag to enable ip forwarding or not, default false/off. + // https://cloud.google.com/vpc/docs/using-routes#canipforward + bool enable_ip_forwarding = 13 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Configuration for GPU drivers. + GPUDriverConfig gpu_driver_config = 14 + [(google.api.field_behavior) = OPTIONAL]; +} + +// Definition of the disk encryption options. +enum DiskEncryption { + // Disk encryption is not specified. + DISK_ENCRYPTION_UNSPECIFIED = 0; + + // Use Google managed encryption keys to encrypt the boot disk. + GMEK = 1; + + // Use customer managed encryption keys to encrypt the boot disk. + CMEK = 2; +} + +// Possible disk types. +enum DiskType { + // Disk type not set. + DISK_TYPE_UNSPECIFIED = 0; + + // Standard persistent disk type. + PD_STANDARD = 1; + + // SSD persistent disk type. + PD_SSD = 2; + + // Balanced persistent disk type. + PD_BALANCED = 3; + + // Extreme persistent disk type. + PD_EXTREME = 4; +} diff --git a/third_party/googleapis/google/cloud/notebooks/v2/instance.proto b/third_party/googleapis/google/cloud/notebooks/v2/instance.proto new file mode 100644 index 000000000..9a3dff5bf --- /dev/null +++ b/third_party/googleapis/google/cloud/notebooks/v2/instance.proto @@ -0,0 +1,231 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF 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.notebooks.v2; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/notebooks/v2/gce_setup.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.Notebooks.V2"; +option go_package = "cloud.google.com/go/notebooks/apiv2/notebookspb;notebookspb"; +option java_multiple_files = true; +option java_outer_classname = "InstanceProto"; +option java_package = "com.google.cloud.notebooks.v2"; +option php_namespace = "Google\\Cloud\\Notebooks\\V2"; +option ruby_package = "Google::Cloud::Notebooks::V2"; + +// The entry of VM image upgrade history. +message UpgradeHistoryEntry { + // The definition of the states of this upgrade history entry. + enum State { + // State is not specified. + STATE_UNSPECIFIED = 0; + + // The instance upgrade is started. + STARTED = 1; + + // The instance upgrade is succeeded. + SUCCEEDED = 2; + + // The instance upgrade is failed. + FAILED = 3; + } + + // The definition of operations of this upgrade history entry. + enum Action { + // Operation is not specified. + ACTION_UNSPECIFIED = 0; + + // Upgrade. + UPGRADE = 1; + + // Rollback. + ROLLBACK = 2; + } + + // Optional. The snapshot of the boot disk of this notebook instance before + // upgrade. + string snapshot = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The VM image before this instance upgrade. + string vm_image = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The container image before this instance upgrade. + string container_image = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The framework of this notebook instance. + string framework = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The version of the notebook instance before this upgrade. + string version = 5 [(google.api.field_behavior) = OPTIONAL]; + + // Output only. The state of this instance upgrade history entry. + State state = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. The time that this instance upgrade history entry is created. + google.protobuf.Timestamp create_time = 7 + [(google.api.field_behavior) = IMMUTABLE]; + + // Optional. Action. Rolloback or Upgrade. + Action action = 8 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Target VM Version, like m63. + string target_version = 9 [(google.api.field_behavior) = OPTIONAL]; +} + +// The definition of a notebook instance. +message Instance { + option (google.api.resource) = { + type: "notebooks.googleapis.com/Instance" + pattern: "projects/{project}/locations/{location}/instances/{instance}" + plural: "instances" + singular: "instance" + }; + + // Output only. The name of this notebook instance. Format: + // `projects/{project_id}/locations/{location}/instances/{instance_id}` + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Setup for the Notebook instance. + oneof infrastructure { + // Optional. Compute Engine setup for the notebook. Uses notebook-defined + // fields. + GceSetup gce_setup = 2 [(google.api.field_behavior) = OPTIONAL]; + } + + // Output only. The proxy endpoint that is used to access the Jupyter + // notebook. + string proxy_uri = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Optional. Input only. The owner of this instance after creation. Format: + // `alias@example.com` + // + // Currently supports one owner only. If not specified, all of the service + // account users of your VM instance's service account can use + // the instance. + repeated string instance_owners = 4 [ + (google.api.field_behavior) = INPUT_ONLY, + (google.api.field_behavior) = OPTIONAL + ]; + + // Output only. Email address of entity that sent original CreateInstance + // request. + string creator = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The state of this instance. + State state = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The upgrade history of this instance. + repeated UpgradeHistoryEntry upgrade_history = 7 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Unique ID of the resource. + string id = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Instance health_state. + HealthState health_state = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Additional information about instance health. + // Example: + // + // healthInfo": { + // "docker_proxy_agent_status": "1", + // "docker_status": "1", + // "jupyterlab_api_status": "-1", + // "jupyterlab_status": "-1", + // "updated": "2020-10-18 09:40:03.573409" + // } + map health_info = 10 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Instance creation time. + google.protobuf.Timestamp create_time = 11 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Instance update time. + google.protobuf.Timestamp update_time = 12 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Optional. If true, the notebook instance will not register with the proxy. + bool disable_proxy_access = 13 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Labels to apply to this instance. + // These can be later modified by the UpdateInstance method. + map labels = 14 [(google.api.field_behavior) = OPTIONAL]; +} + +// The definition of the states of this instance. +enum State { + // State is not specified. + STATE_UNSPECIFIED = 0; + + // The control logic is starting the instance. + STARTING = 1; + + // The control logic is installing required frameworks and registering the + // instance with notebook proxy + PROVISIONING = 2; + + // The instance is running. + ACTIVE = 3; + + // The control logic is stopping the instance. + STOPPING = 4; + + // The instance is stopped. + STOPPED = 5; + + // The instance is deleted. + DELETED = 6; + + // The instance is upgrading. + UPGRADING = 7; + + // The instance is being created. + INITIALIZING = 8; + + // The instance is suspending. + SUSPENDING = 9; + + // The instance is suspended. + SUSPENDED = 10; +} + +// The instance health state. +enum HealthState { + // The instance substate is unknown. + HEALTH_STATE_UNSPECIFIED = 0; + + // The instance is known to be in an healthy state + // (for example, critical daemons are running) + // Applies to ACTIVE state. + HEALTHY = 1; + + // The instance is known to be in an unhealthy state + // (for example, critical daemons are not running) + // Applies to ACTIVE state. + UNHEALTHY = 2; + + // The instance has not installed health monitoring agent. + // Applies to ACTIVE state. + AGENT_NOT_INSTALLED = 3; + + // The instance health monitoring agent is not running. + // Applies to ACTIVE state. + AGENT_NOT_RUNNING = 4; +} diff --git a/third_party/googleapis/google/cloud/notebooks/v2/notebooks_grpc_service_config.json b/third_party/googleapis/google/cloud/notebooks/v2/notebooks_grpc_service_config.json new file mode 100644 index 000000000..81a5e8c71 --- /dev/null +++ b/third_party/googleapis/google/cloud/notebooks/v2/notebooks_grpc_service_config.json @@ -0,0 +1,65 @@ +{ + "methodConfig": [ + { + "name": [ + { "service": "google.cloud.notebooks.v2.NotebookService" } + ], + "timeout": "60s", + "retryPolicy": { + "maxAttempts": 5, + "initialBackoff": "0.100s", + "maxBackoff": "60s", + "backoffMultiplier": 1.3, + "retryableStatusCodes": ["UNAVAILABLE"] + } + }, + { + "name": [ + { "service": "google.cloud.notebooks.v2.NotebookService", "method": "ListInstances" }, + { "service": "google.cloud.notebooks.v2.NotebookService", "method": "GetInstance" }, + { "service": "google.cloud.notebooks.v2.NotebookService", "method": "CreateInstance" }, + { "service": "google.cloud.notebooks.v2.NotebookService", "method": "RegisterInstance" }, + { "service": "google.cloud.notebooks.v2.NotebookService", "method": "SetInstanceAccelerator" }, + { "service": "google.cloud.notebooks.v2.NotebookService", "method": "SetInstanceMachineType" }, + { "service": "google.cloud.notebooks.v2.NotebookService", "method": "SetInstanceLabels" }, + { "service": "google.cloud.notebooks.v2.NotebookService", "method": "UpdateInstanceConfig" }, + { "service": "google.cloud.notebooks.v2.NotebookService", "method": "DeleteInstance" }, + { "service": "google.cloud.notebooks.v2.NotebookService", "method": "StartInstance" }, + { "service": "google.cloud.notebooks.v2.NotebookService", "method": "StopInstance" }, + { "service": "google.cloud.notebooks.v2.NotebookService", "method": "ResetInstance" }, + { "service": "google.cloud.notebooks.v2.NotebookService", "method": "RollbackInstance" }, + { "service": "google.cloud.notebooks.v2.NotebookService", "method": "ReportInstanceInfo" }, + { "service": "google.cloud.notebooks.v2.NotebookService", "method": "IsInstanceUpgradeable" }, + { "service": "google.cloud.notebooks.v2.NotebookService", "method": "GetInstanceHealth" }, + { "service": "google.cloud.notebooks.v2.NotebookService", "method": "UpgradeInstance" }, + { "service": "google.cloud.notebooks.v2.NotebookService", "method": "UpgradeInstanceInternal" }, + { "service": "google.cloud.notebooks.v2.NotebookService", "method": "UpdateShieldedInstanceConfig" }, + { "service": "google.cloud.notebooks.v2.NotebookService", "method": "ListEnvironments" }, + { "service": "google.cloud.notebooks.v2.NotebookService", "method": "GetEnvironment" }, + { "service": "google.cloud.notebooks.v2.NotebookService", "method": "CreateEnvironment" }, + { "service": "google.cloud.notebooks.v2.NotebookService", "method": "DeleteEnvironment" }, + { "service": "google.cloud.notebooks.v2.NotebookService", "method": "PrepareReportInstanceEvent" }, + { "service": "google.cloud.notebooks.v2.NotebookService", "method": "ReportInstanceEvent" } + ], + "timeout": "60s" + }, + { + "name": [ + { + "service": "google.longrunning.Operations", + "method": "ListOperations" + } + ], + "timeout": "300s", + "retryPolicy": { + "initialBackoff": "0.100s", + "maxBackoff": "300s", + "backoffMultiplier": 1.3, + "retryableStatusCodes": [ + "UNAVAILABLE", + "DEADLINE_EXCEEDED" + ] + } + } + ] +} diff --git a/third_party/googleapis/google/cloud/notebooks/v2/notebooks_v2.yaml b/third_party/googleapis/google/cloud/notebooks/v2/notebooks_v2.yaml new file mode 100644 index 000000000..cc74df5f1 --- /dev/null +++ b/third_party/googleapis/google/cloud/notebooks/v2/notebooks_v2.yaml @@ -0,0 +1,151 @@ +type: google.api.Service +config_version: 3 +name: notebooks.googleapis.com +title: Notebooks API + +apis: +- name: google.cloud.location.Locations +- name: google.cloud.notebooks.v2.NotebookService +- name: google.iam.v1.IAMPolicy +- name: google.longrunning.Operations + +types: +- name: google.cloud.notebooks.v2.OperationMetadata + +documentation: + summary: Notebooks API is used to manage notebook resources in Google Cloud. + 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.location.Locations.GetLocation + deadline: 60.0 + - selector: google.cloud.location.Locations.ListLocations + deadline: 60.0 + - selector: 'google.cloud.notebooks.v2.NotebookService.*' + 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: '/v2/{name=projects/*/locations/*}' + - selector: google.cloud.location.Locations.ListLocations + get: '/v2/{name=projects/*}/locations' + - selector: google.iam.v1.IAMPolicy.GetIamPolicy + get: '/v2/{resource=projects/*/locations/*/instances/*}:getIamPolicy' + - selector: google.iam.v1.IAMPolicy.SetIamPolicy + post: '/v2/{resource=projects/*/locations/*/instances/*}:setIamPolicy' + body: '*' + - selector: google.iam.v1.IAMPolicy.TestIamPermissions + post: '/v2/{resource=projects/*/locations/*/instances/*}:testIamPermissions' + body: '*' + - selector: google.longrunning.Operations.CancelOperation + post: '/v2/{name=projects/*/locations/*/operations/*}:cancel' + body: '*' + - selector: google.longrunning.Operations.DeleteOperation + delete: '/v2/{name=projects/*/locations/*/operations/*}' + - selector: google.longrunning.Operations.GetOperation + get: '/v2/{name=projects/*/locations/*/operations/*}' + - selector: google.longrunning.Operations.ListOperations + get: '/v2/{name=projects/*/locations/*}/operations' + +authentication: + rules: + - 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.cloud.notebooks.v2.NotebookService.*' + 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 + +publishing: + new_issue_uri: https://issuetracker.google.com/issues/new?component=1392625 + documentation_uri: https://cloud.google.com/vertex-ai/docs/workbench/instances/introduction + api_short_name: notebooks + github_label: 'api: notebooks' + doc_tag_prefix: notebooks + organization: CLOUD + library_settings: + - version: google.cloud.notebooks.v2 + 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://cloud.google.com/vertex-ai/docs/workbench/reference/rest diff --git a/third_party/googleapis/google/cloud/notebooks/v2/service.proto b/third_party/googleapis/google/cloud/notebooks/v2/service.proto new file mode 100644 index 000000000..04bcb485c --- /dev/null +++ b/third_party/googleapis/google/cloud/notebooks/v2/service.proto @@ -0,0 +1,413 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF 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.notebooks.v2; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/notebooks/v2/diagnostic_config.proto"; +import "google/cloud/notebooks/v2/instance.proto"; +import "google/longrunning/operations.proto"; +import "google/protobuf/empty.proto"; +import "google/protobuf/field_mask.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.Notebooks.V2"; +option go_package = "cloud.google.com/go/notebooks/apiv2/notebookspb;notebookspb"; +option java_multiple_files = true; +option java_outer_classname = "ServiceProto"; +option java_package = "com.google.cloud.notebooks.v2"; +option php_namespace = "Google\\Cloud\\Notebooks\\V2"; +option ruby_package = "Google::Cloud::Notebooks::V2"; + +// API v2 service for Workbench Notebooks Instances. +service NotebookService { + option (google.api.default_host) = "notebooks.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform"; + + // Lists instances in a given project and location. + rpc ListInstances(ListInstancesRequest) returns (ListInstancesResponse) { + option (google.api.http) = { + get: "/v2/{parent=projects/*/locations/*}/instances" + }; + option (google.api.method_signature) = "parent"; + } + + // Gets details of a single Instance. + rpc GetInstance(GetInstanceRequest) returns (Instance) { + option (google.api.http) = { + get: "/v2/{name=projects/*/locations/*/instances/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Creates a new Instance in a given project and location. + rpc CreateInstance(CreateInstanceRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v2/{parent=projects/*/locations/*}/instances" + body: "instance" + }; + option (google.api.method_signature) = "parent,instance,instance_id"; + option (google.longrunning.operation_info) = { + response_type: "Instance" + metadata_type: "OperationMetadata" + }; + } + + // UpdateInstance updates an Instance. + rpc UpdateInstance(UpdateInstanceRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + patch: "/v2/{instance.name=projects/*/locations/*/instances/*}" + body: "instance" + }; + option (google.api.method_signature) = "instance,update_mask"; + option (google.longrunning.operation_info) = { + response_type: "Instance" + metadata_type: "OperationMetadata" + }; + } + + // Deletes a single Instance. + rpc DeleteInstance(DeleteInstanceRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v2/{name=projects/*/locations/*/instances/*}" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "OperationMetadata" + }; + } + + // Starts a notebook instance. + rpc StartInstance(StartInstanceRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v2/{name=projects/*/locations/*/instances/*}:start" + body: "*" + }; + option (google.longrunning.operation_info) = { + response_type: "Instance" + metadata_type: "OperationMetadata" + }; + } + + // Stops a notebook instance. + rpc StopInstance(StopInstanceRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v2/{name=projects/*/locations/*/instances/*}:stop" + body: "*" + }; + option (google.longrunning.operation_info) = { + response_type: "Instance" + metadata_type: "OperationMetadata" + }; + } + + // Resets a notebook instance. + rpc ResetInstance(ResetInstanceRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v2/{name=projects/*/locations/*/instances/*}:reset" + body: "*" + }; + option (google.longrunning.operation_info) = { + response_type: "Instance" + metadata_type: "OperationMetadata" + }; + } + + // Checks whether a notebook instance is upgradable. + rpc CheckInstanceUpgradability(CheckInstanceUpgradabilityRequest) + returns (CheckInstanceUpgradabilityResponse) { + option (google.api.http) = { + get: "/v2/{notebook_instance=projects/*/locations/*/instances/*}:checkUpgradability" + }; + } + + // Upgrades a notebook instance to the latest version. + rpc UpgradeInstance(UpgradeInstanceRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v2/{name=projects/*/locations/*/instances/*}:upgrade" + body: "*" + }; + option (google.longrunning.operation_info) = { + response_type: "Instance" + metadata_type: "OperationMetadata" + }; + } + + // Rollbacks a notebook instance to the previous version. + rpc RollbackInstance(RollbackInstanceRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v2/{name=projects/*/locations/*/instances/*}:rollback" + body: "*" + }; + option (google.longrunning.operation_info) = { + response_type: "Instance" + metadata_type: "OperationMetadata" + }; + } + + // Creates a Diagnostic File and runs Diagnostic Tool given an Instance. + rpc DiagnoseInstance(DiagnoseInstanceRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v2/{name=projects/*/locations/*/instances/*}:diagnose" + body: "*" + }; + option (google.api.method_signature) = "name,diagnostic_config"; + option (google.longrunning.operation_info) = { + response_type: "Instance" + metadata_type: "OperationMetadata" + }; + } +} + +// Represents the metadata of the long-running operation. +message OperationMetadata { + // The time the operation was created. + google.protobuf.Timestamp create_time = 1; + + // The time the operation finished running. + google.protobuf.Timestamp end_time = 2; + + // Server-defined resource path for the target of the operation. + string target = 3; + + // Name of the verb executed by the operation. + string verb = 4; + + // Human-readable status of the operation, if any. + string status_message = 5; + + // 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 requested_cancellation = 6; + + // API version used to start the operation. + string api_version = 7; + + // API endpoint name of this operation. + string endpoint = 8; +} + +// Request for listing notebook instances. +message ListInstancesRequest { + // Required. Format: + // `parent=projects/{project_id}/locations/{location}` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "notebooks.googleapis.com/Instance" + } + ]; + + // Optional. Maximum return size of the list call. + int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A previous returned page token that can be used to continue + // listing from the last result. + string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Sort results. Supported values are "name", "name desc" or "" + // (unsorted). + string order_by = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. List filter. + string filter = 5 [(google.api.field_behavior) = OPTIONAL]; +} + +// Response for listing notebook instances. +message ListInstancesResponse { + // A list of returned instances. + repeated Instance instances = 1; + + // Page token that can be used to continue listing from the last result in the + // next list call. + string next_page_token = 2; + + // Locations that could not be reached. For example, + // ['us-west1-a', 'us-central1-b']. + // A ListInstancesResponse will only contain either instances or unreachables, + repeated string unreachable = 3; +} + +// Request for getting a notebook instance. +message GetInstanceRequest { + // Required. Format: + // `projects/{project_id}/locations/{location}/instances/{instance_id}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "notebooks.googleapis.com/Instance" + } + ]; +} + +// Request for creating a notebook instance. +message CreateInstanceRequest { + // Required. Format: + // `parent=projects/{project_id}/locations/{location}` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "notebooks.googleapis.com/Instance" + } + ]; + + // Required. User-defined unique ID of this instance. + string instance_id = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The instance to be created. + Instance instance = 3 [(google.api.field_behavior) = REQUIRED]; + + // Optional. Idempotent request UUID. + string request_id = 4 [(google.api.field_behavior) = OPTIONAL]; +} + +// Request for updating a notebook instance. +message UpdateInstanceRequest { + // Required. A representation of an instance. + Instance instance = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. Mask used to update an instance + google.protobuf.FieldMask update_mask = 2 + [(google.api.field_behavior) = REQUIRED]; + + // Optional. Idempotent request UUID. + string request_id = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// Request for deleting a notebook instance. +message DeleteInstanceRequest { + // Required. Format: + // `projects/{project_id}/locations/{location}/instances/{instance_id}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "notebooks.googleapis.com/Instance" + } + ]; + + // Optional. Idempotent request UUID. + string request_id = 2 [(google.api.field_behavior) = OPTIONAL]; +} + +// Request for starting a notebook instance +message StartInstanceRequest { + // Required. Format: + // `projects/{project_id}/locations/{location}/instances/{instance_id}` + string name = 1 [(google.api.field_behavior) = REQUIRED]; +} + +// Request for stopping a notebook instance +message StopInstanceRequest { + // Required. Format: + // `projects/{project_id}/locations/{location}/instances/{instance_id}` + string name = 1 [(google.api.field_behavior) = REQUIRED]; +} + +// Request for resetting a notebook instance +message ResetInstanceRequest { + // Required. Format: + // `projects/{project_id}/locations/{location}/instances/{instance_id}` + string name = 1 [(google.api.field_behavior) = REQUIRED]; +} + +// Request for checking if a notebook instance is upgradeable. +message CheckInstanceUpgradabilityRequest { + // Required. Format: + // `projects/{project_id}/locations/{location}/instances/{instance_id}` + string notebook_instance = 1 [(google.api.field_behavior) = REQUIRED]; +} + +// Response for checking if a notebook instance is upgradeable. +message CheckInstanceUpgradabilityResponse { + // If an instance is upgradeable. + bool upgradeable = 1; + + // The version this instance will be upgraded to if calling the upgrade + // endpoint. This field will only be populated if field upgradeable is true. + string upgrade_version = 2; + + // Additional information about upgrade. + string upgrade_info = 3; + + // The new image self link this instance will be upgraded to if calling the + // upgrade endpoint. This field will only be populated if field upgradeable + // is true. + string upgrade_image = 4; +} + +// Request for upgrading a notebook instance +message UpgradeInstanceRequest { + // Required. Format: + // `projects/{project_id}/locations/{location}/instances/{instance_id}` + string name = 1 [(google.api.field_behavior) = REQUIRED]; +} + +// Request for rollbacking a notebook instance +message RollbackInstanceRequest { + // Required. Format: + // `projects/{project_id}/locations/{location}/instances/{instance_id}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "notebooks.googleapis.com/Instance" + } + ]; + + // Required. The snapshot for rollback. + // Example: "projects/test-project/global/snapshots/krwlzipynril". + string target_snapshot = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. Output only. Revision Id + string revision_id = 3 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.field_behavior) = REQUIRED + ]; +} + +// Request for creating a notebook instance diagnostic file. +message DiagnoseInstanceRequest { + // Required. Format: + // `projects/{project_id}/locations/{location}/instances/{instance_id}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "notebooks.googleapis.com/Instance" + } + ]; + + // Required. Defines flags that are used to run the diagnostic tool + DiagnosticConfig diagnostic_config = 2 + [(google.api.field_behavior) = REQUIRED]; + + // Optional. Maxmium amount of time in minutes before the operation times out. + int32 timeout_minutes = 3 [(google.api.field_behavior) = OPTIONAL]; +} diff --git a/third_party/googleapis/google/cloud/parallelstore/v1beta/BUILD.bazel b/third_party/googleapis/google/cloud/parallelstore/v1beta/BUILD.bazel new file mode 100644 index 000000000..a22a684d6 --- /dev/null +++ b/third_party/googleapis/google/cloud/parallelstore/v1beta/BUILD.bazel @@ -0,0 +1,385 @@ +# 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 = "parallelstore_proto", + srcs = [ + "parallelstore.proto", + ], + deps = [ + "//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", + "@com_google_protobuf//:empty_proto", + "@com_google_protobuf//:field_mask_proto", + "@com_google_protobuf//:timestamp_proto", + ], +) + +proto_library_with_info( + name = "parallelstore_proto_with_info", + deps = [ + ":parallelstore_proto", + "//google/cloud/location:location_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 = "parallelstore_java_proto", + deps = [":parallelstore_proto"], +) + +java_grpc_library( + name = "parallelstore_java_grpc", + srcs = [":parallelstore_proto"], + deps = [":parallelstore_java_proto"], +) + +java_gapic_library( + name = "parallelstore_java_gapic", + srcs = [":parallelstore_proto_with_info"], + gapic_yaml = None, + grpc_service_config = "parallelstore_v1beta_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "parallelstore_v1beta.yaml", + test_deps = [ + "//google/cloud/location:location_java_grpc", + ":parallelstore_java_grpc", + ], + transport = "grpc+rest", + deps = [ + ":parallelstore_java_proto", + "//google/api:api_java_proto", + "//google/cloud/location:location_java_proto", + ], +) + +java_gapic_test( + name = "parallelstore_java_gapic_test_suite", + test_classes = [ + "com.google.cloud.parallelstore.v1beta.ParallelstoreClientHttpJsonTest", + "com.google.cloud.parallelstore.v1beta.ParallelstoreClientTest", + ], + runtime_deps = [":parallelstore_java_gapic_test"], +) + +# Open Source Packages +java_gapic_assembly_gradle_pkg( + name = "google-cloud-parallelstore-v1beta-java", + transport = "grpc+rest", + deps = [ + ":parallelstore_java_gapic", + ":parallelstore_java_grpc", + ":parallelstore_java_proto", + ":parallelstore_proto", + ], + include_samples = True, +) + +############################################################################## +# Go +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "go_gapic_assembly_pkg", + "go_gapic_library", + "go_proto_library", +) + +go_proto_library( + name = "parallelstore_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "cloud.google.com/go/parallelstore/apiv1beta/parallelstorepb", + protos = [":parallelstore_proto"], + deps = [ + "//google/api:annotations_go_proto", + "//google/longrunning:longrunning_go_proto", + ], +) + +go_gapic_library( + name = "parallelstore_go_gapic", + srcs = [":parallelstore_proto_with_info"], + grpc_service_config = "parallelstore_v1beta_grpc_service_config.json", + importpath = "cloud.google.com/go/parallelstore/apiv1beta;parallelstore", + metadata = True, + release_level = "beta", + rest_numeric_enums = True, + service_yaml = "parallelstore_v1beta.yaml", + transport = "grpc+rest", + deps = [ + ":parallelstore_go_proto", + "//google/cloud/location:location_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-parallelstore-v1beta-go", + deps = [ + ":parallelstore_go_gapic", + ":parallelstore_go_gapic_srcjar-test.srcjar", + ":parallelstore_go_gapic_srcjar-metadata.srcjar", + ":parallelstore_go_gapic_srcjar-snippets.srcjar", + ":parallelstore_go_proto", + ], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "py_gapic_assembly_pkg", + "py_gapic_library", + "py_test", +) + +py_gapic_library( + name = "parallelstore_py_gapic", + srcs = [":parallelstore_proto"], + grpc_service_config = "parallelstore_v1beta_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "parallelstore_v1beta.yaml", + transport = "grpc+rest", + deps = [ + + ], +) + +py_test( + name = "parallelstore_py_gapic_test", + srcs = [ + "parallelstore_py_gapic_pytest.py", + "parallelstore_py_gapic_test.py", + ], + legacy_create_init = False, + deps = [":parallelstore_py_gapic"], +) + +# Open Source Packages +py_gapic_assembly_pkg( + name = "parallelstore-v1beta-py", + deps = [ + ":parallelstore_py_gapic", + ], +) + +############################################################################## +# PHP +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "php_gapic_assembly_pkg", + "php_gapic_library", + "php_proto_library", +) + +php_proto_library( + name = "parallelstore_php_proto", + deps = [":parallelstore_proto"], +) + +php_gapic_library( + name = "parallelstore_php_gapic", + srcs = [":parallelstore_proto_with_info"], + grpc_service_config = "parallelstore_v1beta_grpc_service_config.json", + rest_numeric_enums = True, + migration_mode = "NEW_SURFACE_ONLY", + service_yaml = "parallelstore_v1beta.yaml", + transport = "grpc+rest", + deps = [ + ":parallelstore_php_proto", + ], +) + +# Open Source Packages +php_gapic_assembly_pkg( + name = "google-cloud-parallelstore-v1beta-php", + deps = [ + ":parallelstore_php_gapic", + ":parallelstore_php_proto", + ], +) + +############################################################################## +# Node.js +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "nodejs_gapic_assembly_pkg", + "nodejs_gapic_library", +) + +nodejs_gapic_library( + name = "parallelstore_nodejs_gapic", + package_name = "@google-cloud/parallelstore", + src = ":parallelstore_proto_with_info", + extra_protoc_parameters = ["metadata"], + grpc_service_config = "parallelstore_v1beta_grpc_service_config.json", + package = "google.cloud.parallelstore.v1beta", + rest_numeric_enums = True, + service_yaml = "parallelstore_v1beta.yaml", + transport = "grpc+rest", + deps = [], +) + +nodejs_gapic_assembly_pkg( + name = "parallelstore-v1beta-nodejs", + deps = [ + ":parallelstore_nodejs_gapic", + ":parallelstore_proto", + ], +) + +############################################################################## +# Ruby +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "ruby_gapic_assembly_pkg", + "ruby_cloud_gapic_library", + "ruby_grpc_library", + "ruby_proto_library", +) + +ruby_proto_library( + name = "parallelstore_ruby_proto", + deps = [":parallelstore_proto"], +) + +ruby_grpc_library( + name = "parallelstore_ruby_grpc", + srcs = [":parallelstore_proto"], + deps = [":parallelstore_ruby_proto"], +) + +ruby_cloud_gapic_library( + name = "parallelstore_ruby_gapic", + srcs = [":parallelstore_proto_with_info"], + extra_protoc_parameters = [ + "ruby-cloud-gem-name=google-cloud-parallelstore-v1beta", + ], + grpc_service_config = "parallelstore_v1beta_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "parallelstore_v1beta.yaml", + transport = "grpc+rest", + deps = [ + ":parallelstore_ruby_grpc", + ":parallelstore_ruby_proto", + ], +) + +# Open Source Packages +ruby_gapic_assembly_pkg( + name = "google-cloud-parallelstore-v1beta-ruby", + deps = [ + ":parallelstore_ruby_gapic", + ":parallelstore_ruby_grpc", + ":parallelstore_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 = "parallelstore_csharp_proto", + extra_opts = [], + deps = [":parallelstore_proto"], +) + +csharp_grpc_library( + name = "parallelstore_csharp_grpc", + srcs = [":parallelstore_proto"], + deps = [":parallelstore_csharp_proto"], +) + +csharp_gapic_library( + name = "parallelstore_csharp_gapic", + srcs = [":parallelstore_proto_with_info"], + common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json", + grpc_service_config = "parallelstore_v1beta_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "parallelstore_v1beta.yaml", + transport = "grpc+rest", + deps = [ + ":parallelstore_csharp_grpc", + ":parallelstore_csharp_proto", + ], +) + +# Open Source Packages +csharp_gapic_assembly_pkg( + name = "google-cloud-parallelstore-v1beta-csharp", + deps = [ + ":parallelstore_csharp_gapic", + ":parallelstore_csharp_grpc", + ":parallelstore_csharp_proto", + ], +) + +############################################################################## +# C++ +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "cc_grpc_library", + "cc_proto_library", +) + +cc_proto_library( + name = "parallelstore_cc_proto", + deps = [":parallelstore_proto"], +) + +cc_grpc_library( + name = "parallelstore_cc_grpc", + srcs = [":parallelstore_proto"], + grpc_only = True, + deps = [":parallelstore_cc_proto"], +) diff --git a/third_party/googleapis/google/cloud/parallelstore/v1beta/parallelstore.proto b/third_party/googleapis/google/cloud/parallelstore/v1beta/parallelstore.proto new file mode 100644 index 000000000..daf159df6 --- /dev/null +++ b/third_party/googleapis/google/cloud/parallelstore/v1beta/parallelstore.proto @@ -0,0 +1,403 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF 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.parallelstore.v1beta; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/field_info.proto"; +import "google/api/resource.proto"; +import "google/longrunning/operations.proto"; +import "google/protobuf/empty.proto"; +import "google/protobuf/field_mask.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.Parallelstore.V1Beta"; +option go_package = "cloud.google.com/go/parallelstore/apiv1beta/parallelstorepb;parallelstorepb"; +option java_multiple_files = true; +option java_outer_classname = "ParallelstoreProto"; +option java_package = "com.google.cloud.parallelstore.v1beta"; +option php_namespace = "Google\\Cloud\\Parallelstore\\V1beta"; +option ruby_package = "Google::Cloud::Parallelstore::V1beta"; +option (google.api.resource_definition) = { + type: "compute.googleapis.com/Network" + pattern: "projects/{project}/global/networks/{network}" +}; +option (google.api.resource_definition) = { + type: "compute.googleapis.com/Address" + pattern: "projects/{project}/regions/{region}/addresses/{address}" +}; + +// Service describing handlers for resources +// Configures and manages parallelstore resources. +// +// Parallelstore service. +// +// The `parallelstore.googleapis.com` service implements the parallelstore API +// and defines the following resource model for managing instances: +// * The service works with a collection of cloud projects, named: `/projects/*` +// * Each project has a collection of available locations, named: `/locations/*` +// * Each location has a collection of instances named `/instances/*`. +// * Parallelstore instances are resources of the form: +// `/projects/{project_id}/locations/{location_id}/instances/{instance_id}` +// +// Note that location_id must be a Google Cloud `zone`; for example: +// * `projects/12345/locations/us-central1-c/instances/my-parallelstore-share` +service Parallelstore { + option (google.api.default_host) = "parallelstore.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform"; + + // Lists Instances in a given project and location. + rpc ListInstances(ListInstancesRequest) returns (ListInstancesResponse) { + option (google.api.http) = { + get: "/v1beta/{parent=projects/*/locations/*}/instances" + }; + option (google.api.method_signature) = "parent"; + } + + // Gets details of a single Instance. + rpc GetInstance(GetInstanceRequest) returns (Instance) { + option (google.api.http) = { + get: "/v1beta/{name=projects/*/locations/*/instances/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Creates a Parallelstore instance in a given project and location. + rpc CreateInstance(CreateInstanceRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1beta/{parent=projects/*/locations/*}/instances" + body: "instance" + }; + option (google.api.method_signature) = "parent,instance,instance_id"; + option (google.longrunning.operation_info) = { + response_type: "Instance" + metadata_type: "OperationMetadata" + }; + } + + // Updates the parameters of a single Instance. + rpc UpdateInstance(UpdateInstanceRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + patch: "/v1beta/{instance.name=projects/*/locations/*/instances/*}" + body: "instance" + }; + option (google.api.method_signature) = "instance,update_mask"; + option (google.longrunning.operation_info) = { + response_type: "Instance" + metadata_type: "OperationMetadata" + }; + } + + // Deletes a single Instance. + rpc DeleteInstance(DeleteInstanceRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1beta/{name=projects/*/locations/*/instances/*}" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "OperationMetadata" + }; + } +} + +// A Parallelstore instance. +message Instance { + option (google.api.resource) = { + type: "parallelstore.googleapis.com/Instance" + pattern: "projects/{project}/locations/{location}/instances/{instance}" + plural: "instances" + singular: "instance" + }; + + // Represents the different states of a Parallelstore instance. + enum State { + // Not set. + STATE_UNSPECIFIED = 0; + + // The instance is being created. + CREATING = 1; + + // The instance is available for use. + ACTIVE = 2; + + // The instance is being deleted. + DELETING = 3; + + // The instance is not usable. + FAILED = 4; + } + + // Identifier. The resource name of the instance, in the format + // `projects/{project}/locations/{location}/instances/{instance_id}` + string name = 1 [(google.api.field_behavior) = IDENTIFIER]; + + // Optional. The description of the instance. 2048 characters or less. + string description = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Output only. The instance state. + State state = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The time when the instance was created. + google.protobuf.Timestamp create_time = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The time when the instance was updated. + google.protobuf.Timestamp update_time = 5 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Optional. Cloud Labels are a flexible and lightweight mechanism for + // organizing cloud resources into groups that reflect a customer's + // organizational needs and deployment strategies. Cloud Labels can be used to + // filter collections of resources. They can be used to control how resource + // metrics are aggregated. And they can be used as arguments to policy + // management rules (e.g. route, firewall, load balancing, etc.). + // + // * Label keys must be between 1 and 63 characters long and must conform to + // the following regular expression: `[a-z][a-z0-9_-]{0,62}`. + // * Label values must be between 0 and 63 characters long and must conform + // to the regular expression `[a-z0-9_-]{0,63}`. + // * No more than 64 labels can be associated with a given resource. + // + // See https://goo.gl/xmQnxf for more information on and examples of labels. + // + // If you plan to use labels in your own code, please note that additional + // characters may be allowed in the future. Therefore, you are advised to use + // an internal label representation, such as JSON, which doesn't rely upon + // specific characters being disallowed. For example, representing labels + // as the string: name + "_" + value would prove problematic if we were to + // allow "_" in a future release. + map labels = 6 [(google.api.field_behavior) = OPTIONAL]; + + // Required. Immutable. Storage capacity of Parallelstore instance in + // Gibibytes (GiB). + int64 capacity_gib = 8 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.field_behavior) = REQUIRED + ]; + + // Output only. The version of DAOS software running in the instance + string daos_version = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. List of access_points. + // Contains a list of IPv4 addresses used for client side configuration. + repeated string access_points = 10 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Optional. Immutable. The name of the Google Compute Engine + // [VPC network](https://cloud.google.com/vpc/docs/vpc) to which the + // instance is connected. + string network = 11 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.field_behavior) = OPTIONAL, + (google.api.resource_reference) = { type: "compute.googleapis.com/Network" } + ]; + + // Optional. Immutable. Contains the id of allocated IP address range + // associated with the private service access connection for example, + // "test-default" associated with IP range 10.0.0.0/29. If no range id is + // provided all ranges will be considered. + string reserved_ip_range = 12 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.field_behavior) = OPTIONAL, + (google.api.resource_reference) = { type: "compute.googleapis.com/Address" } + ]; +} + +// Message for requesting list of Instances +message ListInstancesRequest { + // Required. The project and location for which to retrieve instance + // information, in the format `projects/{project_id}/locations/{location}`. + // For Parallelstore locations map to Google Cloud zones, for example + // **us-central1-a**. + // To retrieve instance information for all locations, use "-" for the + // `{location}` value. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "parallelstore.googleapis.com/Instance" + } + ]; + + // Optional. Requested page size. Server may return fewer items than + // requested. If unspecified, server will pick an appropriate default. + int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A token identifying a page of results the server should return. + string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Filtering results + string filter = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Hint for how to order the results + string order_by = 5 [(google.api.field_behavior) = OPTIONAL]; +} + +// Message for response to listing Instances +message ListInstancesResponse { + // The list of Parallelstore Instances + repeated Instance instances = 1; + + // A token identifying a page of results the server should return. + string next_page_token = 2; + + // Locations that could not be reached. + repeated string unreachable = 3; +} + +// Request to get an instance's details. +message GetInstanceRequest { + // Required. The instance resource name, in the format + // `projects/{project_id}/locations/{location}/instances/{instance_id}`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "parallelstore.googleapis.com/Instance" + } + ]; +} + +// Request for +// [CreateInstance][google.cloud.parallelstore.v1beta.Parallelstore.CreateInstance] +message CreateInstanceRequest { + // Required. The instance's project and location, in the format + // `projects/{project}/locations/{location}`. + // Locations map to Google Cloud zones, for example **us-west1-b**. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "parallelstore.googleapis.com/Instance" + } + ]; + + // Required. The logical name of the Parallelstore instance in the user + // project with the following restrictions: + // + // * Must contain only lowercase letters, numbers, and hyphens. + // * Must start with a letter. + // * Must be between 1-63 characters. + // * Must end with a number or a letter. + // * Must be unique within the customer project / location + string instance_id = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The instance to create. + Instance instance = 3 [(google.api.field_behavior) = REQUIRED]; + + // Optional. An optional request ID to identify requests. Specify a unique + // request ID so that if you must retry your request, the server will know to + // ignore the request if it has already been completed. The server will + // guarantee that for at least 60 minutes since the first request. + // + // For example, consider a situation where you make an initial request and t + // he request times out. If you make the request again with the same request + // ID, the server can check if original operation with the same request ID + // was received, and if so, will ignore the second request. This prevents + // clients from accidentally creating duplicate commitments. + // + // The request ID must be a valid UUID with the exception that zero UUID is + // not supported (00000000-0000-0000-0000-000000000000). + string request_id = 4 [(google.api.field_behavior) = OPTIONAL]; +} + +// Message for updating a Instance +message UpdateInstanceRequest { + // Required. Mask of fields to update .Field mask is used to specify the + // fields to be overwritten in the Instance resource by the update. At least + // one path must be supplied in this field. The fields specified in the + // update_mask are relative to the resource, not the full request. + google.protobuf.FieldMask update_mask = 1 + [(google.api.field_behavior) = REQUIRED]; + + // Required. The instance to update + Instance instance = 2 [(google.api.field_behavior) = REQUIRED]; + + // Optional. An optional request ID to identify requests. Specify a unique + // request ID so that if you must retry your request, the server will know to + // ignore the request if it has already been completed. The server will + // guarantee that for at least 60 minutes since the first request. + // + // For example, consider a situation where you make an initial request and t + // he request times out. If you make the request again with the same request + // ID, the server can check if original operation with the same request ID + // was received, and if so, will ignore the second request. This prevents + // clients from accidentally creating duplicate commitments. + // + // The request ID must be a valid UUID with the exception that zero UUID is + // not supported (00000000-0000-0000-0000-000000000000). + string request_id = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// Message for deleting a Instance +message DeleteInstanceRequest { + // Required. Name of the resource + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "parallelstore.googleapis.com/Instance" + } + ]; + + // Optional. An optional request ID to identify requests. Specify a unique + // request ID so that if you must retry your request, the server will know to + // ignore the request if it has already been completed. The server will + // guarantee that for at least 60 minutes after the first request. + // + // For example, consider a situation where you make an initial request and t + // he request times out. If you make the request again with the same request + // ID, the server can check if original operation with the same request ID + // was received, and if so, will ignore the second request. This prevents + // clients from accidentally creating duplicate commitments. + // + // The request ID must be a valid UUID with the exception that zero UUID is + // not supported (00000000-0000-0000-0000-000000000000). + string request_id = 2 [(google.api.field_behavior) = OPTIONAL]; +} + +// 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_message = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Identifies whether the user has requested cancellation + // of the operation. Operations that have been cancelled successfully + // have [Operation.error][] value with a + // [google.rpc.Status.code][google.rpc.Status.code] of 1, corresponding to + // `Code.CANCELLED`. + bool requested_cancellation = 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/parallelstore/v1beta/parallelstore_v1beta.yaml b/third_party/googleapis/google/cloud/parallelstore/v1beta/parallelstore_v1beta.yaml new file mode 100644 index 000000000..8a3b77125 --- /dev/null +++ b/third_party/googleapis/google/cloud/parallelstore/v1beta/parallelstore_v1beta.yaml @@ -0,0 +1,99 @@ +type: google.api.Service +config_version: 3 +name: parallelstore.googleapis.com +title: Parallelstore API + +apis: +- name: google.cloud.location.Locations +- name: google.cloud.parallelstore.v1beta.Parallelstore +- name: google.longrunning.Operations + +types: +- name: google.cloud.parallelstore.v1beta.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. + +http: + rules: + - selector: google.cloud.location.Locations.GetLocation + get: '/v1beta/{name=projects/*/locations/*}' + - selector: google.cloud.location.Locations.ListLocations + get: '/v1beta/{name=projects/*}/locations' + - selector: google.longrunning.Operations.CancelOperation + post: '/v1beta/{name=projects/*/locations/*/operations/*}:cancel' + body: '*' + - selector: google.longrunning.Operations.DeleteOperation + delete: '/v1beta/{name=projects/*/locations/*/operations/*}' + - selector: google.longrunning.Operations.GetOperation + get: '/v1beta/{name=projects/*/locations/*/operations/*}' + - selector: google.longrunning.Operations.ListOperations + get: '/v1beta/{name=projects/*/locations/*}/operations' + +authentication: + rules: + - 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.cloud.parallelstore.v1beta.Parallelstore.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + - selector: 'google.longrunning.Operations.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + +publishing: + new_issue_uri: https://issuetracker.google.com/issues/new?component=1181190 + documentation_uri: http://cloud/parallelstore?hl=en + api_short_name: parallelstore + github_label: 'api: parallelstore' + doc_tag_prefix: parallelstore + organization: CLOUD + library_settings: + - version: google.cloud.parallelstore.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 + proto_reference_documentation_uri: http://cloud/parallelstore/docs/apis diff --git a/third_party/googleapis/google/cloud/parallelstore/v1beta/parallelstore_v1beta_grpc_service_config.json b/third_party/googleapis/google/cloud/parallelstore/v1beta/parallelstore_v1beta_grpc_service_config.json new file mode 100644 index 000000000..45e786fc3 --- /dev/null +++ b/third_party/googleapis/google/cloud/parallelstore/v1beta/parallelstore_v1beta_grpc_service_config.json @@ -0,0 +1,29 @@ +{ + "methodConfig": [{ + "name": [ + { "service": "google3.google.cloud.parallelstore.v1main.v1beta.Parallelstore", "method": "ListInstances" }, + { "service": "google3.google.cloud.parallelstore.v1main.v1beta.Parallelstore", "method": "GetInstance" } + ], + "timeout": "60s", + "retryPolicy": { + "maxAttempts": 5, + "initialBackoff": "1s", + "maxBackoff": "10s", + "backoffMultiplier": 1.3, + "retryableStatusCodes": ["UNAVAILABLE"] + } + }, + { + "name": [ + { "service": "google3.google.cloud.parallelstore.v1main.v1beta.Parallelstore", "method": "CreateInstance" } + ], + "timeout": "1800s" + }, + { + "name": [ + { "service": "google3.google.cloud.parallelstore.v1main.v1beta.Parallelstore", "method": "UpdateInstance" }, + { "service": "google3.google.cloud.parallelstore.v1main.v1beta.Parallelstore", "method": "DeleteInstance" } + ], + "timeout": "3600s" + }] +} diff --git a/third_party/googleapis/google/cloud/paymentgateway/issuerswitch/accountmanager/v1/account_manager_transactions.proto b/third_party/googleapis/google/cloud/paymentgateway/issuerswitch/accountmanager/v1/account_manager_transactions.proto new file mode 100644 index 000000000..0401a094e --- /dev/null +++ b/third_party/googleapis/google/cloud/paymentgateway/issuerswitch/accountmanager/v1/account_manager_transactions.proto @@ -0,0 +1,494 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF 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.paymentgateway.issuerswitch.accountmanager.v1; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/paymentgateway/issuerswitch/v1/common_fields.proto"; +import "google/longrunning/operations.proto"; +import "google/protobuf/timestamp.proto"; +import "google/type/money.proto"; + +option csharp_namespace = "Google.Cloud.PaymentGateway.IssuerSwitch.AccountManager.V1"; +option go_package = "cloud.google.com/go/paymentgateway/issuerswitch/accountmanager/apiv1/accountmanagerpb;accountmanagerpb"; +option java_multiple_files = true; +option java_outer_classname = "AccountManagerTransactionsProto"; +option java_package = "com.google.cloud.paymentgateway.issuerswitch.accountmanager.v1"; +option php_namespace = "Google\\Cloud\\PaymentGateway\\IssuerSwitch\\AccountManager\\V1"; +option ruby_package = "Google::Cloud::PaymentGateway::IssuerSwitch::AccountManager::V1"; + +// Lists and exports transactions processed by the account manager. +service AccountManagerTransactions { + option (google.api.default_host) = "issuerswitch.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform"; + + // Export transactions received within the specified time range as a + // file into a configured target location. The returned `Operation` type has + // the following method-specific fields: + // + // - `metadata`: + // [ExportAccountManagerTransactionsMetadata][google.cloud.paymentgateway.issuerswitch.accountmanager.v1.ExportAccountManagerTransactionsMetadata] + // - `response`: + // [ExportAccountManagerTransactionsResponse][google.cloud.paymentgateway.issuerswitch.accountmanager.v1.ExportAccountManagerTransactionsResponse] + // + // The exported file will be in the standard CSV format where each row in the + // file represents a transaction. The file has the following fields in order: + // + // 1. `TransactionID` + // * **Min Length** - 35 characters + // * **Max Length** - 35 characters + // * **Description** - Account manager transaction ID. + // 1. `TransactionType` + // * **Min Length** - 22 characters + // * **Max Length** - 25 characters + // * **Description** - Type of the transaction. This will be one of + // `TRANSACTION_TYPE_CREDIT`, `TRANSACTION_TYPE_CREDIT_REVERSAL`, + // `TRANSACTION_TYPE_DEBIT` or `TRANSACTION_TYPE_DEBIT_REVERSAL`. When + // account manager is used for managing UPI Lite transactions, the CREDIT + // transactions would be for Lite account top-ups and DEBIT transactions + // could be either for a Lite account disablement where balance is + // transferred back the underlying bank account or for a Lite account + // financial transaction which happened offline. + // 1. `AccountID` + // * **Min Length** - 35 characters + // * **Max Length** - 35 characters + // * **Description** - Account ID. When account manager is used for + // managing UPI Lite transactions, this column will contain the Lite + // Reference Number (LRN) of the UPI Lite account. + // 1. `State` + // * **Min Length** - 6 characters + // * **Max Length** - 12 characters + // * **Description** - State of the transaction. This will be one of + // `SUCCEEDED` or `FAILED`. + // 1. `RRN` + // * **Min Length** - 12 characters + // * **Max Length** - 12 characters + // * **Description** - Retrieval reference number associated with the + // transaction. + // 1. `PayerVPA` + // * **Min Length** - 3 characters + // * **Max Length** - 255 characters + // * **Description** - Virtual Payment Address (VPA) of the payer. + // 1. `PayerIFSC` + // * **Min Length** - 11 characters + // * **Max Length** - 11 characters + // * **Description** - IFSC of the payer's bank account. + // 1. `PayerAccountNumber` + // * **Min Length** - 1 characters + // * **Max Length** - 30 characters + // * **Description** - Payer's bank account number. + // 1. `PayeeVPA` + // * **Min Length** - 3 characters + // * **Max Length** - 255 characters + // * **Description** - Virtual Payment Address (VPA) of the payee. + // 1. `PayeeIFSC` + // * **Min Length** - 11 characters + // * **Max Length** - 11 characters + // * **Description** - IFSC of the payee's bank account. + // 1. `PayeeAccountNumber` + // * **Min Length** - 1 characters + // * **Max Length** - 30 characters + // * **Description** - Payee's bank account number. + // 1. `PayeeMCC` + // * **Min Length** - 4 characters + // * **Max Length** - 4 characters + // * **Description** - Payee's Merchant Category Code (MCC), only if the + // payee is a merchant. + // 1. `PayeeMerchantID` + // * **Min Length** - 4 characters + // * **Max Length** - 4 characters + // * **Description** - Payee's merchant ID, only if the payee is a + // merchant. + // 1. `Currency` + // * **Min Length** - 3 characters + // * **Max Length** - 3 characters + // * **Description** - Currency of the amount involved in the transaction. + // The currency codes are defined in ISO 4217. + // 1. `Amount` + // * **Description** - Amount involved in the transaction. + // 1. `Purpose` + // * **Min Length** - 1 characters + // * **Max Length** - 4 characters + // * **Description** - Purpose code associated with the transaction. When + // account manager is used for managing UPI Lite transactions, this column + // will contain one of the values from `41` (Lite account creation with + // initial topup), `42` (Lite account topup), `43` (Lite account + // disablement with balance transfer) or `44` (Lite account online + // transaction). + // 1. `TransactionTime` + // * **Min Length** - 20 characters + // * **Max Length** - 20 characters + // * **Description** - Timestamp (in UTC) indicating the timestamp at + // which the transaction took place. The format will be as per RFC-3339. + // Example : 2022-11-22T23:00:05Z + rpc ExportAccountManagerTransactions(ExportAccountManagerTransactionsRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/accountManagers/*}/transactions:export" + body: "*" + }; + option (google.longrunning.operation_info) = { + response_type: "ExportAccountManagerTransactionsResponse" + metadata_type: "ExportAccountManagerTransactionsMetadata" + }; + } + + // List account manager transactions that satisfy specified filter criteria. + rpc ListAccountManagerTransactions(ListAccountManagerTransactionsRequest) + returns (ListAccountManagerTransactionsResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/accountManagers/*}/transactions" + }; + option (google.api.method_signature) = "parent"; + } + + // Batch reconcile account manager transactions and return status for each + // transaction. + rpc BatchReconcileAccountManagerTransactions( + BatchReconcileAccountManagerTransactionsRequest) + returns (BatchReconcileAccountManagerTransactionsResponse) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/accountManagers/*}/transactions:batchReconcile" + body: "*" + }; + option (google.api.method_signature) = "parent,requests"; + } +} + +// A transaction processed by the account manager. +message AccountManagerTransaction { + option (google.api.resource) = { + type: "issuerswitch.googleapis.com/AccountManagerTransaction" + pattern: "projects/{project}/accountManagers/{account_manager}/transactions/{transaction}" + plural: "accountManagerTransactions" + singular: "accountManagerTransaction" + }; + + // The name of the transaction. This uniquely identifies the + // transaction. Format of name is + // projects/{project}/accountManagers/{account_manager}/transactions/{transaction}. + string name = 1; + + // The account ID for which the transaction was processed. + string account_id = 2; + + // Information about the transaction. + AccountManagerTransactionInfo info = 3; + + // The payer in the transaction. + AccountManagerSettlementParticipant payer = 4; + + // The payee in the transaction. + AccountManagerSettlementParticipant payee = 5; + + // Reconciliation information for the transaction. + AccountManagerTransactionReconciliationInfo reconciliation_info = 6; + + // The amount for payment settlement in the transaction. + google.type.Money amount = 7; +} + +// Information about a transaction processed by the account manager. +message AccountManagerTransactionInfo { + // Specifies the current state of the transaction. + enum State { + // Unspecified state. + STATE_UNSPECIFIED = 0; + + // The transaction has successfully completed. + SUCCEEDED = 1; + + // The transaction has failed. + FAILED = 2; + } + + // Common metadata about a transaction. + message AccountManagerTransactionMetadata { + // The time at which the transaction took place. + google.protobuf.Timestamp transaction_time = 1; + + // Output only. The time at which the transaction resource was created by + // the account manager. + google.protobuf.Timestamp create_time = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The time at which the transaction resource was last updated + // by the account manager. + google.protobuf.Timestamp update_time = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Retrieval reference number (RRN) for the transaction. + string retrieval_reference_number = 4; + + // The initiation mode of this transaction. + string initiation_mode = 5; + + // The purpose code of this transaction. + string purpose_code = 6; + } + + // All details about any error in the processing of a transaction. + message AccountManagerTransactionErrorDetails { + // Output only. Error code of the failed transaction. + string error_code = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Error description for the failed transaction. + string error_message = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // An identifier that is mandatorily present in every transaction processed + // via account manager. + string id = 1; + + // The transaction type. + AccountManagerTransactionType transaction_type = 3; + + // Output only. The transaction's state. + State state = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Metadata about the transaction. + AccountManagerTransactionMetadata metadata = 6; + + // Output only. Any error details for the current transaction, if the state is + // `FAILED`. + AccountManagerTransactionErrorDetails error_details = 7 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// A participant in a payment settlement transaction processed by the +// account manager. The participant could either be the payer or the payee +// in the transaction. +message AccountManagerSettlementParticipant { + // The participant information. + AccountManagerParticipant participant = 1; + + // Information about a merchant who is a participant in the payment. This + // field will be specified only if the participant is a merchant. + AccountManagerMerchantInfo merchant_info = 2; +} + +// A participant in a transaction processed by the account manager. +message AccountManagerParticipant { + // The type of the participant. + enum Persona { + // Unspecified persona. + PERSONA_UNSPECIFIED = 0; + + // Participant is an entity. + ENTITY = 1; + + // Participant is a person. + PERSON = 2; + } + + // The payment address of the participant. In the UPI system, this will be the + // virtual payment address (VPA) of the participant. + string payment_address = 1; + + // The persona of the participant. + Persona persona = 2; + + // Unique identification of an account. + google.cloud.paymentgateway.issuerswitch.v1.AccountReference account = 3; +} + +// A merchant in a transaction processed by the account manager. +message AccountManagerMerchantInfo { + // Merchant Category Code (MCC) as specified by UPI. This is a four-digit + // number listed in ISO 18245 for retail financial services. + string category_code = 1; + + // ID of the merchant. + string id = 2; +} + +// Reconciliation information for a transaction processed by account manager. +message AccountManagerTransactionReconciliationInfo { + // State of transaction reconciliation. + enum ReconciliationState { + // Unspecified state. + RECONCILIATION_STATE_UNSPECIFIED = 0; + + // Reconciliation was successful. + SUCCEEDED = 1; + + // Reconciliation failed. + FAILED = 2; + } + + // Output only. State of reconciliation. + ReconciliationState state = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Time at which reconciliation was performed for the transaction. + google.protobuf.Timestamp reconciliation_time = 2; +} + +// Request for the `ExportAccountManagerTransactions` method. +message ExportAccountManagerTransactionsRequest { + // Required. The parent resource for the transactions. The format is + // `projects/{project}/accountManagers/{account_manager}`. + string parent = 1 [(google.api.field_behavior) = REQUIRED]; + + // Optional. Transaction type of an account manager transaction. The possible + // values for transaction type are + // + // * CREDIT + // * CREDIT_REVERSAL + // * DEBIT + // * DEBIT_REVERSAL + // + // If no transaction type is specified, records of all the above transaction + // types will be exported. + AccountManagerTransactionType transaction_type = 3 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The start time for the query. + google.protobuf.Timestamp start_time = 4 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The end time for the query. + google.protobuf.Timestamp end_time = 5 + [(google.api.field_behavior) = OPTIONAL]; +} + +// Request for the `ListAccountManagerTransactions` method. Callers can request +// for transactions to be filtered by the given filter criteria and specified +// pagination parameters. +message ListAccountManagerTransactionsRequest { + // Required. The parent resource. The format is + // `projects/{project}/accountManagers/{account_manager}`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "issuerswitch.googleapis.com/AccountManagerTransaction" + } + ]; + + // Optional. The maximum number of transactions to return. The service may + // return fewer than this value. If unspecified or if the specified value is + // less than 1, at most 50 transactions will be returned. The maximum value is + // 1000; values above 1000 will be coerced to 1000. While paginating, you can + // specify a new page size parameter for each page of transactions to be + // listed. + int32 page_size = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A page token, received from a previous + // `ListAccountManagerTransactions` call. Specify this parameter to retrieve + // the next page of transactions. + // + // When paginating, you must specify only the `page_token` parameter. The + // filter that was specified in the initial call to the + // `ListAccountManagerTransactions` method that returned the page token will + // be reused for all further calls where the page token parameter is + // specified. + string page_token = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. An expression that filters the list of transactions. + // + // A filter expression consists of a field name, a comparison operator, and + // a value for filtering. The value must be a string, a number, or a + // boolean. The comparison operator must be one of: `<`, `>`, or `=`. + // Filters are not case sensitive. + // + // The following fields in the `Transaction` are eligible for filtering: + // + // * `accountID` - The account ID. Allowed comparison operators: `=`. When + // account manager is used for managing UPI Lite transactions, accountID + // should be the Lite Reference Number (LRN). + // * `accountNumber` - Bank account number associated with the + // account. Allowed comparison operators: `=`. + // * `IFSC` - Bank IFSC code associated with the account. + // Allowed comparison operators: `=`. + // * `RRN` - The retrieval reference number of the transaction. Allowed + // comparison operators: `=`. + // * `transactionTime` - The timestamp (in UTC) at which the transaction + // took place. The value should be in the format `YYYY-MM-DDTHH:MM:SSZ`. + // Allowed comparison operators: `>`, `<`. + // + // You can combine multiple expressions by enclosing each expression in + // parentheses. Expressions are combined with AND logic. No other logical + // operators are supported. + // + // Here are a few examples: + // + // * `rrn = 123456789123` - The RRN is _123456789123_. + // * `(accountID = 12345678) AND (transactionTime < "2021-08-15T14:50:00Z")` + // - The accountID is 12345678 and the transaction was received + // before _2021-08-15 14:50:00 UTC_. + // * `transactionTime > "2021-08-15T14:50:00Z" AND transactionTime < + // "2021-08-16T14:50:00Z"` - The transaction was received between + // _2021-08-15 14:50:00 UTC_ and _2021-08-16 14:50:00 UTC_. + string filter = 5 [(google.api.field_behavior) = OPTIONAL]; +} + +// Response for the `ListAccountManagerTransactions` method. +message ListAccountManagerTransactionsResponse { + // List of account manager transactions satisfying the filtered request. + repeated AccountManagerTransaction account_manager_transactions = 1; + + // Pass this token in the ListAccountManagerTransactionsRequest to continue to + // list results. If all results have been returned, this field is an empty + // string or not present in the response. + string next_page_token = 2; +} + +// Reconciliation request for an account manager transaction. +message ReconcileAccountManagerTransactionsRequest { + // Required. The transaction that will be reconciled. + AccountManagerTransaction transaction = 1 + [(google.api.field_behavior) = REQUIRED]; +} + +// Request for the `BatchReconcileAccountManagerTransactions` method. +message BatchReconcileAccountManagerTransactionsRequest { + // Required. The parent resource. The format is + // `projects/{project}/accountManagers/{account_manager}`. + string parent = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The request message specifying the transaction to reconcile. + // A maximum of 200 transactions can be reconciled in a batch. + repeated ReconcileAccountManagerTransactionsRequest requests = 2 + [(google.api.field_behavior) = REQUIRED]; +} + +// Response for the `BatchReconcileAccountManagerTransactions` method. +message BatchReconcileAccountManagerTransactionsResponse { + // List of transactions reconciled. + repeated AccountManagerTransaction account_manager_transactions = 1; +} + +// The type of a account manager transaction. Every transaction processed by the +// account manager will be one of these transaction types. +enum AccountManagerTransactionType { + // Unspecified transaction type. + ACCOUNT_MANAGER_TRANSACTION_TYPE_UNSPECIFIED = 0; + + // Credit transaction type. + CREDIT = 1; + + // Credit reversal transaction type. + CREDIT_REVERSAL = 2; + + // Debit transaction type. + DEBIT = 3; + + // Debit reversal transaction type. + DEBIT_REVERSAL = 4; +} diff --git a/third_party/googleapis/google/cloud/paymentgateway/issuerswitch/accountmanager/v1/issuerswitch_v1.yaml b/third_party/googleapis/google/cloud/paymentgateway/issuerswitch/accountmanager/v1/issuerswitch_v1.yaml new file mode 100644 index 000000000..5dd0e8e0b --- /dev/null +++ b/third_party/googleapis/google/cloud/paymentgateway/issuerswitch/accountmanager/v1/issuerswitch_v1.yaml @@ -0,0 +1,68 @@ +type: google.api.Service +config_version: 3 +name: issuerswitch.googleapis.com +title: Issuer switch API + +apis: +- name: google.cloud.paymentgateway.issuerswitch.accountmanager.v1.AccountManagerTransactions +- name: google.cloud.paymentgateway.issuerswitch.accountmanager.v1.ManagedAccounts +- name: google.cloud.paymentgateway.issuerswitch.v1.IssuerSwitchParticipants +- name: google.cloud.paymentgateway.issuerswitch.v1.IssuerSwitchResolutions +- name: google.cloud.paymentgateway.issuerswitch.v1.IssuerSwitchRules +- name: google.cloud.paymentgateway.issuerswitch.v1.IssuerSwitchTransactions +- name: google.longrunning.Operations + +types: +- name: google.cloud.paymentgateway.issuerswitch.v1.Complaint +- name: google.cloud.paymentgateway.issuerswitch.v1.CreateComplaintMetadata +- name: google.cloud.paymentgateway.issuerswitch.v1.CreateDisputeMetadata +- name: google.cloud.paymentgateway.issuerswitch.v1.Dispute +- name: google.cloud.paymentgateway.issuerswitch.v1.ExportComplaintTransactionsMetadata +- name: google.cloud.paymentgateway.issuerswitch.v1.ExportComplaintTransactionsResponse +- name: google.cloud.paymentgateway.issuerswitch.v1.ExportFinancialTransactionsMetadata +- name: google.cloud.paymentgateway.issuerswitch.v1.ExportFinancialTransactionsResponse +- name: google.cloud.paymentgateway.issuerswitch.v1.ExportMandateTransactionsMetadata +- name: google.cloud.paymentgateway.issuerswitch.v1.ExportMandateTransactionsResponse +- name: google.cloud.paymentgateway.issuerswitch.v1.ExportMetadataTransactionsMetadata +- name: google.cloud.paymentgateway.issuerswitch.v1.ExportMetadataTransactionsResponse +- name: google.cloud.paymentgateway.issuerswitch.v1.ResolveComplaintMetadata +- name: google.cloud.paymentgateway.issuerswitch.v1.ResolveDisputeMetadata +- name: google.cloud.paymentgateway.issuerswitch.v1.UpiTransaction + +http: + rules: + - selector: google.longrunning.Operations.GetOperation + get: '/v1/{name=projects/*/operations/*}' + - selector: google.longrunning.Operations.ListOperations + get: '/v1/{name=projects/*}/operations' + +authentication: + rules: + - selector: 'google.cloud.paymentgateway.issuerswitch.accountmanager.v1.AccountManagerTransactions.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + - selector: google.cloud.paymentgateway.issuerswitch.accountmanager.v1.ManagedAccounts.BatchReconcileManagedAccountBalance + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + - selector: google.cloud.paymentgateway.issuerswitch.accountmanager.v1.ManagedAccounts.GetManagedAccount + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + - selector: 'google.cloud.paymentgateway.issuerswitch.v1.IssuerSwitchParticipants.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + - selector: 'google.cloud.paymentgateway.issuerswitch.v1.IssuerSwitchResolutions.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + - selector: 'google.cloud.paymentgateway.issuerswitch.v1.IssuerSwitchRules.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + - selector: 'google.cloud.paymentgateway.issuerswitch.v1.IssuerSwitchTransactions.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform diff --git a/third_party/googleapis/google/cloud/paymentgateway/issuerswitch/accountmanager/v1/managed_accounts.proto b/third_party/googleapis/google/cloud/paymentgateway/issuerswitch/accountmanager/v1/managed_accounts.proto new file mode 100644 index 000000000..4b451eded --- /dev/null +++ b/third_party/googleapis/google/cloud/paymentgateway/issuerswitch/accountmanager/v1/managed_accounts.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.cloud.paymentgateway.issuerswitch.accountmanager.v1; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/paymentgateway/issuerswitch/v1/common_fields.proto"; +import "google/protobuf/timestamp.proto"; +import "google/type/money.proto"; + +option csharp_namespace = "Google.Cloud.PaymentGateway.IssuerSwitch.AccountManager.V1"; +option go_package = "cloud.google.com/go/paymentgateway/issuerswitch/accountmanager/apiv1/accountmanagerpb;accountmanagerpb"; +option java_multiple_files = true; +option java_outer_classname = "ManagedAccountsProto"; +option java_package = "com.google.cloud.paymentgateway.issuerswitch.accountmanager.v1"; +option php_namespace = "Google\\Cloud\\PaymentGateway\\IssuerSwitch\\AccountManager\\V1"; +option ruby_package = "Google::Cloud::PaymentGateway::IssuerSwitch::AccountManager::V1"; + +// Reconciles and provide balance information for an account within the account +// manager. +service ManagedAccounts { + option (google.api.default_host) = "issuerswitch.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform"; + + // Batch reconcile account balance and return status for each account. + rpc BatchReconcileManagedAccountBalance( + BatchReconcileManagedAccountBalanceRequest) + returns (BatchReconcileManagedAccountBalanceResponse) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/accountManagers/*}/accounts:batchReconcileBalance" + body: "*" + }; + option (google.api.method_signature) = "parent,requests"; + } + + // Get information on the account managed by account manager. + rpc GetManagedAccount(GetManagedAccountRequest) returns (ManagedAccount) { + option (google.api.http) = { + get: "/v1/{name=projects/*/accountManagers/*/accounts/*}" + }; + option (google.api.method_signature) = "name"; + } +} + +// Entity representing an account managed by the account manager. +message ManagedAccount { + option (google.api.resource) = { + type: "issuerswitch.googleapis.com/ManagedAccount" + pattern: "projects/{project}/accountManagers/{account_manager}/accounts/{account}" + plural: "managedAccounts" + singular: "managedAccount" + }; + + // State of an account. + enum State { + // Unspecified state. + STATE_UNSPECIFIED = 0; + + // Account is active. + ACTIVE = 1; + + // Account is inactive. + DEACTIVATED = 2; + } + + // Reconciliation state of an account. + enum AccountReconciliationState { + // Unspecified state. + ACCOUNT_RECONCILIATION_STATE_UNSPECIFIED = 0; + + // Successful reconciliation. + SUCCEEDED = 1; + + // Reconciliation failed. + FAILED = 2; + } + + // The name of the account which uniquely identifies the account. + // Format: + // projects/{project}/accountManagers/{account_manager}/accounts/{account} + // When account manager is used for managing UPI Lite transactions, + // `{account}` is the Lite Reference Number (LRN). + string name = 1; + + // Required. The associated bank account information. + google.cloud.paymentgateway.issuerswitch.v1.AccountReference + account_reference = 2 [(google.api.field_behavior) = REQUIRED]; + + // Output only. State of the account. + State state = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. Current balance of the account. + google.type.Money balance = 4 [(google.api.field_behavior) = REQUIRED]; + + // Output only. State of the last reconciliation done on the account. + AccountReconciliationState last_reconciliation_state = 5 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Time at which last reconciliation was done on the account. + google.protobuf.Timestamp last_reconciliation_time = 6 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The time at which the account was created by the account + // manager. + google.protobuf.Timestamp create_time = 7 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The time at which the account was last updated by the account + // manager. + google.protobuf.Timestamp update_time = 8 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Reconciliation request for an account balance. +message ReconcileManagedAccountBalanceRequest { + // Required. Account that needs to be reconciled. + ManagedAccount account = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. Expected balance amount for the account. + google.type.Money expected_balance = 2 + [(google.api.field_behavior) = REQUIRED]; + + // Required. Timestamp to be taken as reference for reconciling the balance + // amount. + google.protobuf.Timestamp reference_time = 3 + [(google.api.field_behavior) = REQUIRED]; +} + +// Request for the `BatchReconcileManagedAccountBalance` method. +message BatchReconcileManagedAccountBalanceRequest { + // Required. The parent resource. The format is + // `projects/{project}/accountManagers/{account_manager}`. + string parent = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The request message specifying the accounts to reconcile. + // A maximum of 200 account balances can be reconciled in a batch. + repeated ReconcileManagedAccountBalanceRequest requests = 2 + [(google.api.field_behavior) = REQUIRED]; +} + +// Response for the `BatchReconcileManagedAccountBalance` method. +message BatchReconcileManagedAccountBalanceResponse { + // Accounts whose balances were reconciled. + repeated ManagedAccount accounts = 1; +} + +// Request for the `GetManagedAccount` method. +message GetManagedAccountRequest { + // Required. The name of the managed account to retrieve. + // Format: + // `projects/{project}/accountManagers/{account_manager}/accounts/{account}` + // When account manager is used for managing UPI Lite transactions, {account} + // should be the Lite Reference Number (LRN). + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "issuerswitch.googleapis.com/ManagedAccount" + } + ]; +} diff --git a/third_party/googleapis/google/cloud/paymentgateway/issuerswitch/v1/participants.proto b/third_party/googleapis/google/cloud/paymentgateway/issuerswitch/v1/participants.proto new file mode 100644 index 000000000..39091e72e --- /dev/null +++ b/third_party/googleapis/google/cloud/paymentgateway/issuerswitch/v1/participants.proto @@ -0,0 +1,350 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF 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.paymentgateway.issuerswitch.v1; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/cloud/paymentgateway/issuerswitch/v1/common_fields.proto"; +import "google/protobuf/field_mask.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.PaymentGateway.IssuerSwitch.V1"; +option go_package = "cloud.google.com/go/paymentgateway/issuerswitch/apiv1/issuerswitchpb;issuerswitchpb"; +option java_multiple_files = true; +option java_outer_classname = "ParticipantsProto"; +option java_package = "com.google.cloud.paymentgateway.issuerswitch.v1"; +option php_namespace = "Google\\Cloud\\PaymentGateway\\IssuerSwitch\\V1"; +option ruby_package = "Google::Cloud::PaymentGateway::IssuerSwitch::V1"; + +// A service that allows for the management of participants in the issuer +// switch. +service IssuerSwitchParticipants { + option (google.api.default_host) = "issuerswitch.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform"; + + // Fetch the issuer switch participant. This method can be used to retrieve + // all details of a participant in the issuer switch. + // + // In UPI, the participant is identified by their account's IFSC and their + // account number. + rpc FetchParticipant(FetchParticipantRequest) returns (IssuerParticipant) { + option (google.api.http) = { + post: "/v1/{parent=projects/*}/issuerParticipants:fetch" + body: "*" + }; + } + + // Update the issuer switch participant. Currently, this API only allows for + // the + // [metadata][google.cloud.paymentgateway.issuerswitch.v1.IssuerParticipant.metadata] + // field to be updated. + // + // The `number` of key-value pairs in the `metadata` field, the length of each + // `key` and the length of each `value` should be within the thresholds + // defined for them in the issuer switch configuration. Any violation of these + // thresholds will cause this API to return an error. The default values for + // these thresholds are: + // + // * `Maximum number` of key-value pairs - `5` + // * `Maximum length` of a key - `100` + // * `Maximum length` of a value - `500` + // + // **Note** that this method replaces any existing `metadata` field value in + // the participant with the new value. Specifically, it does not do a merge. + // If key-value pairs are to be added/removed from the metadata, then + // callers must follow the following steps: + // + // 1. Invoke the + // [FetchParticipant][google.cloud.paymentgateway.issuerswitch.v1.IssuerSwitchParticipants.FetchParticipant] + // API to get the current value of the `metadata` field. + // 1. Update the `metadata` map to add/remove key-value pairs from it. + // 1. Update the `metadata` in the issuer switch using this method. + rpc UpdateIssuerParticipant(UpdateIssuerParticipantRequest) + returns (IssuerParticipant) { + option (google.api.http) = { + post: "/v1/{parent=projects/*}/issuerParticipants:update" + body: "issuer_participant" + }; + option (google.api.method_signature) = + "parent,issuer_participant,update_mask"; + } + + // Activate the issuer switch participant for UPI transactions. This API + // sets the state of the participant to + // [ACTIVE][google.cloud.paymentgateway.issuerswitch.v1.IssuerParticipant.State.ACTIVE]. + // A participant in the `ACTIVE` state can perform all UPI operations + // normally. + // + // The behavior of this API varies based on the current state of the + // participant. + // + // * Current state is + // [ACTIVE][google.cloud.paymentgateway.issuerswitch.v1.IssuerParticipant.State.ACTIVE] + // : This API will make no change to the participant's state and returns a + // successful response. + // * Current state is + // [INACTIVE][google.cloud.paymentgateway.issuerswitch.v1.IssuerParticipant.State.INACTIVE] + // : If an _MPIN_ has already been provisioned for the participant, then + // this API will change the state of the participant to `ACTIVE`. Else, + // this API will return an error. + // * Current state is + // [MOBILE_NUMBER_CHANGED][google.cloud.paymentgateway.issuerswitch.v1.IssuerParticipant.State.MOBILE_NUMBER_CHANGED] + // : The state cannot be changed to `ACTIVE`. This API will return an + // error. + // * Current state is + // [NEW_REGISTRATION_INITIATED][google.cloud.paymentgateway.issuerswitch.v1.IssuerParticipant.State.NEW_REGISTRATION_INITIATED] + // : The state cannot be changed to `ACTIVE`. This API will return an + // error. + // * Current state is + // [RE_REGISTRATION_INITIATED][google.cloud.paymentgateway.issuerswitch.v1.IssuerParticipant.State.RE_REGISTRATION_INITIATED] + // : The state cannot be changed to `ACTIVE`. This API will return an + // error. + rpc ActivateParticipant(ParticipantStateChangeRequest) + returns (IssuerParticipants) { + option (google.api.http) = { + post: "/v1/{parent=projects/*}/issuerParticipants:activate" + body: "*" + }; + } + + // Deactivate the issuer switch participant for UPI transactions. This API + // sets the state of the participant to + // [INACTIVE][google.cloud.paymentgateway.issuerswitch.v1.IssuerParticipant.State.INACTIVE]. + // An `INACTIVE` participant cannot perform any UPI operation which involves + // MPIN verification. + // + // The behavior of this API varies based on the current state of the + // participant. + // + // * Current state is + // [ACTIVE][google.cloud.paymentgateway.issuerswitch.v1.IssuerParticipant.State.ACTIVE] + // : The state will change to `INACTIVE`. The user will be forced to + // re-register with UPI and reset their MPIN to perform any UPI + // operations. + // * Current state is + // [INACTIVE][google.cloud.paymentgateway.issuerswitch.v1.IssuerParticipant.State.INACTIVE] + // : This API will make no change to the participant's state and returns a + // successful response. + // * Current state is + // [MOBILE_NUMBER_CHANGED][google.cloud.paymentgateway.issuerswitch.v1.IssuerParticipant.State.MOBILE_NUMBER_CHANGED] + // : The state cannot be changed to `INACTIVE`. This API will return an + // error. + // * Current state is + // [NEW_REGISTRATION_INITIATED][google.cloud.paymentgateway.issuerswitch.v1.IssuerParticipant.State.NEW_REGISTRATION_INITIATED] + // : The state cannot be changed to `INACTIVE`. This API will return an + // error. + // * Current state is + // [RE_REGISTRATION_INITIATED][google.cloud.paymentgateway.issuerswitch.v1.IssuerParticipant.State.RE_REGISTRATION_INITIATED] + // : The state cannot be changed to `INACTIVE`. This API will return an + // error. + rpc DeactivateParticipant(ParticipantStateChangeRequest) + returns (IssuerParticipants) { + option (google.api.http) = { + post: "/v1/{parent=projects/*}/issuerParticipants:deactivate" + body: "*" + }; + } + + // Mark the state of the issuer switch participant as _mobile number changed_ + // to prevent UPI transactions by the user. This API sets the state of the + // participant to + // [MOBILE_NUMBER_CHANGED][google.cloud.paymentgateway.issuerswitch.v1.IssuerParticipant.State.MOBILE_NUMBER_CHANGED]. + // + // Any UPI operation for a participant in the `MOBILE_NUMBER_CHANGED` state + // will cause the issuer switch to return a `B1` error to the UPI payments + // orchestrator which would force the user to re-register with UPI. + // + // The behavior of this API varies based on the current state of the + // participant. + // + // * Current state is + // [ACTIVE][google.cloud.paymentgateway.issuerswitch.v1.IssuerParticipant.State.ACTIVE] + // : The state will change to `MOBILE_NUMBER_CHANGED`. Any operation + // involving MPIN verification of the participant will return a `B1` error + // to the UPI payments orchestrator. The user will be forced to + // re-register with their changed mobile number. + // * Current state is + // [INACTIVE][google.cloud.paymentgateway.issuerswitch.v1.IssuerParticipant.State.INACTIVE] + // : The state will change to `MOBILE_NUMBER_CHANGED`. Any operation + // involving MPIN verification of the participant will return a `B1` error + // to the UPI payments orchestrator. The user will be forced to + // re-register with their changed mobile number. + // * Current state is + // [MOBILE_NUMBER_CHANGED][google.cloud.paymentgateway.issuerswitch.v1.IssuerParticipant.State.MOBILE_NUMBER_CHANGED] + // : This API will make no change to the participant's state and returns a + // successful response. + // * Current state is + // [NEW_REGISTRATION_INITIATED][google.cloud.paymentgateway.issuerswitch.v1.IssuerParticipant.State.NEW_REGISTRATION_INITIATED] + // : The state cannot be changed to `MOBILE_NUMBER_CHANGED`. This API will + // return an error. + // * Current state is + // [RE_REGISTRATION_INITIATED][google.cloud.paymentgateway.issuerswitch.v1.IssuerParticipant.State.RE_REGISTRATION_INITIATED] + // : The state will change to `MOBILE_NUMBER_CHANGED`. Any operation + // involving MPIN verification of the participant will return a `B1` error + // to the UPI payments orchestrator. The user will be forced to + // re-register with their changed mobile number. + rpc MobileNumberChanged(ParticipantStateChangeRequest) + returns (IssuerParticipants) { + option (google.api.http) = { + post: "/v1/{parent=projects/*}/issuerParticipants:mobileNumberChanged" + body: "*" + }; + } +} + +// Request for the +// [FetchParticipant][google.cloud.paymentgateway.issuerswitch.v1.IssuerSwitchParticipants.FetchParticipant] +// method. +message FetchParticipantRequest { + // Required. The parent resource for the participants. The format is + // `projects/{project}`. + string parent = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The account details of the issuer participant. + AccountReference account_reference = 2 + [(google.api.field_behavior) = REQUIRED]; +} + +// A customer of the bank who participates in transactions processed by the +// issuer switch. +message IssuerParticipant { + // The state of the participant. + enum State { + // Unspecified state. + STATE_UNSPECIFIED = 0; + + // The participant is inactive for all UPI transactions. The issuer switch + // will return the `AM` error to the UPI payments orchestrator for any + // operation involving MPIN verification for the participant. They need to + // register with UPI again and provide a new MPIN. + INACTIVE = 1; + + // The participant is active for all UPI transactions. + ACTIVE = 2; + + // The participants MPIN has been locked because they have exceeded the + // threshold for maximum number of incorrect MPIN verification attempts. No + // UPI transactions will be permitted until the participant's MPIN has been + // reset. + MPIN_LOCKED = 3; + + // The participants mobile number has been changed in the issuer bank. Any + // transaction involving MPIN verification of the participant will return a + // `B1` error to the UPI payments orchestrator. The user will be forced to + // re-register with their changed mobile number. + MOBILE_NUMBER_CHANGED = 4; + + // The participant is registering for UPI transactions for the first time. + NEW_REGISTRATION_INITIATED = 5; + + // The participant had already registered for UPI transactions but is now + // registering again or resetting their MPIN. + RE_REGISTRATION_INITIATED = 6; + } + + // The metadata of the participant. + message Metadata { + // Optional. Additional metadata about a particular participant as key-value + // pairs. These values are returned by the bank adapter/card adapter in + // response to the SearchAccounts/InitiateRegistration APIs. + map values = 1 [(google.api.field_behavior) = OPTIONAL]; + } + + // Required. The account details of the issuer participant. Only the + // account_number and ifsc fields will be used. + AccountReference account_reference = 1 + [(google.api.field_behavior) = REQUIRED]; + + // Output only. The mobile number of the participant. + string mobile_number = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The current state of the participant. + State state = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Optional. Additional metadata about the participant. + Metadata metadata = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Output only. The current count of consecutive incorrect MPIN attempts. + int32 mpin_failure_count = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The time when participant's MPIN got locked due to too many + // incorrect attempts. + google.protobuf.Timestamp mpin_locked_time = 6 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The time when the participant's account was onboarded to PGIS. + google.protobuf.Timestamp create_time = 7 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The time when the participant was last updated. + google.protobuf.Timestamp update_time = 8 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Request for the +// [UpdateIssuerParticipant][google.cloud.paymentgateway.issuerswitch.v1.IssuerSwitchParticipants.UpdateIssuerParticipant] +// method. +message UpdateIssuerParticipantRequest { + // Required. The parent resource for the participants. The format is + // `projects/{project}`. + string parent = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The participant to update. + IssuerParticipant issuer_participant = 2 + [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of fields to update. + google.protobuf.FieldMask update_mask = 3 + [(google.api.field_behavior) = REQUIRED]; +} + +// Request for the +// [ActivateParticipant][google.cloud.paymentgateway.issuerswitch.v1.IssuerSwitchParticipants.ActivateParticipant], +// [DeactivateParticipant][google.cloud.paymentgateway.issuerswitch.v1.IssuerSwitchParticipants.DeactivateParticipant] +// and +// [MobileNumberUpdated][google.cloud.paymentgateway.issuerswitch.v1.IssuerSwitchParticipants.MobileNumberChanged] +// methods. +message ParticipantStateChangeRequest { + // Required. The parent resource for the participant. The format is + // `projects/{project}`. + string parent = 1 [(google.api.field_behavior) = REQUIRED]; + + // The identifier for the issuer participant. One of the two values must be + // specified. + oneof id { + // Optional. The account details of the issuer participant. + AccountReference account_reference = 2 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The mobile number of the issuer participant. + string mobile_number = 3 [(google.api.field_behavior) = OPTIONAL]; + } +} + +// Response for the +// [ActivateParticipant][google.cloud.paymentgateway.issuerswitch.v1.IssuerSwitchParticipants.ActivateParticipant], +// [DeactivateParticipant][google.cloud.paymentgateway.issuerswitch.v1.IssuerSwitchParticipants.DeactivateParticipant] +// and +// [MobileNumberChanged][google.cloud.paymentgateway.issuerswitch.v1.IssuerSwitchParticipants.MobileNumberChanged] +// methods. +message IssuerParticipants { + // Output only. The list of updated participants. + repeated IssuerParticipant participants = 1 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/cloud/policysimulator/BUILD.bazel b/third_party/googleapis/google/cloud/policysimulator/BUILD.bazel new file mode 100644 index 000000000..b9eb4fc21 --- /dev/null +++ b/third_party/googleapis/google/cloud/policysimulator/BUILD.bazel @@ -0,0 +1,36 @@ +# This build file includes a target for the Ruby wrapper library for +# google-cloud-policy_simulator. + +# 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 policysimulator. +# 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 = "policysimulator_ruby_wrapper", + srcs = ["//google/cloud/policysimulator/v1:policysimulator_proto_with_info"], + extra_protoc_parameters = [ + "ruby-cloud-gem-name=google-cloud-policy_simulator", + "ruby-cloud-wrapper-of=v1:0.3", + ], + service_yaml = "//google/cloud/policysimulator/v1:policysimulator_v1.yaml", + transport = "grpc+rest", +) + +# Open Source package. +ruby_gapic_assembly_pkg( + name = "google-cloud-policysimulator-ruby", + deps = [ + ":policysimulator_ruby_wrapper", + ], +) \ No newline at end of file diff --git a/third_party/googleapis/google/cloud/policysimulator/v1/BUILD.bazel b/third_party/googleapis/google/cloud/policysimulator/v1/BUILD.bazel new file mode 100644 index 000000000..2cb86282f --- /dev/null +++ b/third_party/googleapis/google/cloud/policysimulator/v1/BUILD.bazel @@ -0,0 +1,390 @@ +# 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 = "policysimulator_proto", + srcs = [ + "explanations.proto", + "simulator.proto", + ], + deps = [ + "//google/api:annotations_proto", + "//google/api:client_proto", + "//google/api:field_behavior_proto", + "//google/api:resource_proto", + "//google/iam/v1:policy_proto", + "//google/longrunning:operations_proto", + "//google/rpc:status_proto", + "//google/type:date_proto", + "//google/type:expr_proto", + "@com_google_protobuf//:timestamp_proto", + ], +) + +proto_library_with_info( + name = "policysimulator_proto_with_info", + deps = [ + ":policysimulator_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 = "policysimulator_java_proto", + deps = [":policysimulator_proto"], +) + +java_grpc_library( + name = "policysimulator_java_grpc", + srcs = [":policysimulator_proto"], + deps = [":policysimulator_java_proto"], +) + +java_gapic_library( + name = "policysimulator_java_gapic", + srcs = [":policysimulator_proto_with_info"], + gapic_yaml = "policysimulator_gapic.yaml", + grpc_service_config = "policysimulator_v1_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "policysimulator_v1.yaml", + test_deps = [ + "//google/iam/v1:iam_java_grpc", + ":policysimulator_java_grpc", + ], + transport = "grpc+rest", + deps = [ + ":policysimulator_java_proto", + "//google/api:api_java_proto", + "//google/iam/v1:iam_java_proto", + ], +) + +java_gapic_test( + name = "policysimulator_java_gapic_test_suite", + test_classes = [ + "com.google.cloud.policysimulator.v1.SimulatorClientHttpJsonTest", + "com.google.cloud.policysimulator.v1.SimulatorClientTest", + ], + runtime_deps = [":policysimulator_java_gapic_test"], +) + +# Open Source Packages +java_gapic_assembly_gradle_pkg( + name = "google-cloud-policysimulator-v1-java", + transport = "grpc+rest", + deps = [ + ":policysimulator_java_gapic", + ":policysimulator_java_grpc", + ":policysimulator_java_proto", + ":policysimulator_proto", + ], + include_samples = True, +) + +############################################################################## +# Go +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "go_gapic_assembly_pkg", + "go_gapic_library", + "go_proto_library", +) + +go_proto_library( + name = "policysimulator_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "cloud.google.com/go/policysimulator/apiv1/policysimulatorpb", + protos = [":policysimulator_proto"], + deps = [ + "//google/api:annotations_go_proto", + "//google/iam/v1:iam_go_proto", + "//google/longrunning:longrunning_go_proto", + "//google/rpc:status_go_proto", + "//google/type:date_go_proto", + "//google/type:expr_go_proto", + ], +) + +go_gapic_library( + name = "policysimulator_go_gapic", + srcs = [":policysimulator_proto_with_info"], + grpc_service_config = "policysimulator_v1_grpc_service_config.json", + importpath = "cloud.google.com/go/policysimulator/apiv1;policysimulator", + metadata = True, + release_level = "ga", + rest_numeric_enums = True, + service_yaml = "policysimulator_v1.yaml", + transport = "grpc+rest", + deps = [ + ":policysimulator_go_proto", + "//google/iam/v1:iam_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-policysimulator-v1-go", + deps = [ + ":policysimulator_go_gapic", + ":policysimulator_go_gapic_srcjar-test.srcjar", + ":policysimulator_go_gapic_srcjar-metadata.srcjar", + ":policysimulator_go_gapic_srcjar-snippets.srcjar", + ":policysimulator_go_proto", + ], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "py_gapic_assembly_pkg", + "py_gapic_library", + "py_test", +) + +py_gapic_library( + name = "policysimulator_py_gapic", + srcs = [":policysimulator_proto"], + grpc_service_config = "policysimulator_v1_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "policysimulator_v1.yaml", + transport = "grpc+rest", + deps = [ + "//google/iam/v1:iam_policy_py_proto", + ], +) + +py_test( + name = "policysimulator_py_gapic_test", + srcs = [ + "policysimulator_py_gapic_pytest.py", + "policysimulator_py_gapic_test.py", + ], + legacy_create_init = False, + deps = [":policysimulator_py_gapic"], +) + +# Open Source Packages +py_gapic_assembly_pkg( + name = "policysimulator-v1-py", + deps = [ + ":policysimulator_py_gapic", + ], +) + +############################################################################## +# PHP +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "php_gapic_assembly_pkg", + "php_gapic_library", + "php_proto_library", +) + +php_proto_library( + name = "policysimulator_php_proto", + deps = [":policysimulator_proto"], +) + +php_gapic_library( + name = "policysimulator_php_gapic", + srcs = [":policysimulator_proto_with_info"], + grpc_service_config = "policysimulator_v1_grpc_service_config.json", + rest_numeric_enums = True, + migration_mode = "NEW_SURFACE_ONLY", + service_yaml = "policysimulator_v1.yaml", + gapic_yaml = "policysimulator_gapic.yaml", + transport = "grpc+rest", + deps = [ + ":policysimulator_php_proto", + ], +) + +# Open Source Packages +php_gapic_assembly_pkg( + name = "google-cloud-policysimulator-v1-php", + deps = [ + ":policysimulator_php_gapic", + ":policysimulator_php_proto", + ], +) + +############################################################################## +# Node.js +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "nodejs_gapic_assembly_pkg", + "nodejs_gapic_library", +) + +nodejs_gapic_library( + name = "policysimulator_nodejs_gapic", + package_name = "@google-cloud/policysimulator", + src = ":policysimulator_proto_with_info", + extra_protoc_parameters = ["metadata"], + grpc_service_config = "policysimulator_v1_grpc_service_config.json", + package = "google.cloud.policysimulator.v1", + rest_numeric_enums = True, + service_yaml = "policysimulator_v1.yaml", + transport = "grpc+rest", + deps = [], +) + +nodejs_gapic_assembly_pkg( + name = "policysimulator-v1-nodejs", + deps = [ + ":policysimulator_nodejs_gapic", + ":policysimulator_proto", + ], +) + +############################################################################## +# Ruby +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "ruby_gapic_assembly_pkg", + "ruby_cloud_gapic_library", + "ruby_grpc_library", + "ruby_proto_library", +) + +ruby_proto_library( + name = "policysimulator_ruby_proto", + deps = [":policysimulator_proto"], +) + +ruby_grpc_library( + name = "policysimulator_ruby_grpc", + srcs = [":policysimulator_proto"], + deps = [":policysimulator_ruby_proto"], +) + +ruby_cloud_gapic_library( + name = "policysimulator_ruby_gapic", + srcs = [":policysimulator_proto_with_info"], + extra_protoc_parameters = [ + "ruby-cloud-gem-name=google-cloud-policy_simulator-v1", + ], + grpc_service_config = "policysimulator_v1_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "policysimulator_v1.yaml", + transport = "grpc+rest", + deps = [ + ":policysimulator_ruby_grpc", + ":policysimulator_ruby_proto", + ], +) + +# Open Source Packages +ruby_gapic_assembly_pkg( + name = "google-cloud-policysimulator-v1-ruby", + deps = [ + ":policysimulator_ruby_gapic", + ":policysimulator_ruby_grpc", + ":policysimulator_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 = "policysimulator_csharp_proto", + extra_opts = [], + deps = [":policysimulator_proto"], +) + +csharp_grpc_library( + name = "policysimulator_csharp_grpc", + srcs = [":policysimulator_proto"], + deps = [":policysimulator_csharp_proto"], +) + +csharp_gapic_library( + name = "policysimulator_csharp_gapic", + srcs = [":policysimulator_proto_with_info"], + common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json", + grpc_service_config = "policysimulator_v1_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "policysimulator_v1.yaml", + deps = [ + ":policysimulator_csharp_grpc", + ":policysimulator_csharp_proto", + ], +) + +# Open Source Packages +csharp_gapic_assembly_pkg( + name = "google-cloud-policysimulator-v1-csharp", + deps = [ + ":policysimulator_csharp_gapic", + ":policysimulator_csharp_grpc", + ":policysimulator_csharp_proto", + ], +) + +############################################################################## +# C++ +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "cc_grpc_library", + "cc_proto_library", +) + +cc_proto_library( + name = "policysimulator_cc_proto", + deps = [":policysimulator_proto"], +) + +cc_grpc_library( + name = "policysimulator_cc_grpc", + srcs = [":policysimulator_proto"], + grpc_only = True, + deps = [":policysimulator_cc_proto"], +) diff --git a/third_party/googleapis/google/cloud/policysimulator/v1/explanations.proto b/third_party/googleapis/google/cloud/policysimulator/v1/explanations.proto new file mode 100644 index 000000000..8999b4dc6 --- /dev/null +++ b/third_party/googleapis/google/cloud/policysimulator/v1/explanations.proto @@ -0,0 +1,260 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF 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.policysimulator.v1; + +import "google/api/field_behavior.proto"; +import "google/iam/v1/policy.proto"; +import "google/type/expr.proto"; + +option cc_enable_arenas = true; +option csharp_namespace = "Google.Cloud.PolicySimulator.V1"; +option go_package = "cloud.google.com/go/policysimulator/apiv1/policysimulatorpb;policysimulatorpb"; +option java_multiple_files = true; +option java_outer_classname = "ExplanationsProto"; +option java_package = "com.google.cloud.policysimulator.v1"; +option php_namespace = "Google\\Cloud\\PolicySimulator\\V1"; +option ruby_package = "Google::Cloud::PolicySimulator::V1"; + +// Whether a principal has a permission for a resource. +enum AccessState { + // Default value. This value is unused. + ACCESS_STATE_UNSPECIFIED = 0; + + // The principal has the permission. + GRANTED = 1; + + // The principal does not have the permission. + NOT_GRANTED = 2; + + // The principal has the permission only if a condition expression evaluates + // to `true`. + UNKNOWN_CONDITIONAL = 3; + + // The user who created the + // [Replay][google.cloud.policysimulator.v1.Replay] does not have + // access to all of the policies that Policy Simulator needs to evaluate. + UNKNOWN_INFO_DENIED = 4; +} + +// The extent to which a single data point, such as the existence of a binding +// or whether a binding includes a specific principal, contributes to an overall +// determination. +enum HeuristicRelevance { + // Default value. This value is unused. + HEURISTIC_RELEVANCE_UNSPECIFIED = 0; + + // The data point has a limited effect on the result. Changing the data point + // is unlikely to affect the overall determination. + NORMAL = 1; + + // The data point has a strong effect on the result. Changing the data point + // is likely to affect the overall determination. + HIGH = 2; +} + +// Information about the principal, resource, and permission to check. +message AccessTuple { + // Required. The principal whose access you want to check, in the form of + // the email address that represents that principal. For example, + // `alice@example.com` or + // `my-service-account@my-project.iam.gserviceaccount.com`. + // + // The principal must be a Google Account or a service account. Other types of + // principals are not supported. + string principal = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The full resource name that identifies the resource. For example, + // `//compute.googleapis.com/projects/my-project/zones/us-central1-a/instances/my-instance`. + // + // For examples of full resource names for Google Cloud services, see + // https://cloud.google.com/iam/help/troubleshooter/full-resource-names. + string full_resource_name = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The IAM permission to check for the specified principal and + // resource. + // + // For a complete list of IAM permissions, see + // https://cloud.google.com/iam/help/permissions/reference. + // + // For a complete list of predefined IAM roles and the permissions in each + // role, see https://cloud.google.com/iam/help/roles/reference. + string permission = 3 [(google.api.field_behavior) = REQUIRED]; +} + +// Details about how a specific IAM [Policy][google.iam.v1.Policy] contributed +// to the access check. +message ExplainedPolicy { + // Indicates whether _this policy_ provides the specified permission to the + // specified principal for the specified resource. + // + // This field does _not_ indicate whether the principal actually has the + // permission for the resource. There might be another policy that overrides + // this policy. To determine whether the principal actually has the + // permission, use the `access` field in the + // [TroubleshootIamPolicyResponse][IamChecker.TroubleshootIamPolicyResponse]. + AccessState access = 1; + + // The full resource name that identifies the resource. For example, + // `//compute.googleapis.com/projects/my-project/zones/us-central1-a/instances/my-instance`. + // + // If the user who created the + // [Replay][google.cloud.policysimulator.v1.Replay] does not have + // access to the policy, this field is omitted. + // + // For examples of full resource names for Google Cloud services, see + // https://cloud.google.com/iam/help/troubleshooter/full-resource-names. + string full_resource_name = 2; + + // The IAM policy attached to the resource. + // + // If the user who created the + // [Replay][google.cloud.policysimulator.v1.Replay] does not have + // access to the policy, this field is empty. + google.iam.v1.Policy policy = 3; + + // Details about how each binding in the policy affects the principal's + // ability, or inability, to use the permission for the resource. + // + // If the user who created the + // [Replay][google.cloud.policysimulator.v1.Replay] does not have + // access to the policy, this field is omitted. + repeated BindingExplanation binding_explanations = 4; + + // The relevance of this policy to the overall determination in the + // [TroubleshootIamPolicyResponse][IamChecker.TroubleshootIamPolicyResponse]. + // + // If the user who created the + // [Replay][google.cloud.policysimulator.v1.Replay] does not have + // access to the policy, this field is omitted. + HeuristicRelevance relevance = 5; +} + +// Details about how a binding in a policy affects a principal's ability to use +// a permission. +message BindingExplanation { + // Details about whether the binding includes the principal. + message AnnotatedMembership { + // Indicates whether the binding includes the principal. + Membership membership = 1; + + // The relevance of the principal's status to the overall determination for + // the binding. + HeuristicRelevance relevance = 2; + } + + // Whether a role includes a specific permission. + enum RolePermission { + // Default value. This value is unused. + ROLE_PERMISSION_UNSPECIFIED = 0; + + // The permission is included in the role. + ROLE_PERMISSION_INCLUDED = 1; + + // The permission is not included in the role. + ROLE_PERMISSION_NOT_INCLUDED = 2; + + // The user who created the + // [Replay][google.cloud.policysimulator.v1.Replay] is not + // allowed to access the binding. + ROLE_PERMISSION_UNKNOWN_INFO_DENIED = 3; + } + + // Whether the binding includes the principal. + enum Membership { + // Default value. This value is unused. + MEMBERSHIP_UNSPECIFIED = 0; + + // The binding includes the principal. The principal can be included + // directly or indirectly. For example: + // + // * A principal is included directly if that principal is listed in the + // binding. + // * A principal is included indirectly if that principal is in a Google + // group or Google Workspace domain that is listed in the binding. + MEMBERSHIP_INCLUDED = 1; + + // The binding does not include the principal. + MEMBERSHIP_NOT_INCLUDED = 2; + + // The user who created the + // [Replay][google.cloud.policysimulator.v1.Replay] is not + // allowed to access the binding. + MEMBERSHIP_UNKNOWN_INFO_DENIED = 3; + + // The principal is an unsupported type. Only Google Accounts and service + // accounts are supported. + MEMBERSHIP_UNKNOWN_UNSUPPORTED = 4; + } + + // Required. Indicates whether _this binding_ provides the specified + // permission to the specified principal for the specified resource. + // + // This field does _not_ indicate whether the principal actually has the + // permission for the resource. There might be another binding that overrides + // this binding. To determine whether the principal actually has the + // permission, use the `access` field in the + // [TroubleshootIamPolicyResponse][IamChecker.TroubleshootIamPolicyResponse]. + AccessState access = 1 [(google.api.field_behavior) = REQUIRED]; + + // The role that this binding grants. For example, + // `roles/compute.serviceAgent`. + // + // For a complete list of predefined IAM roles, as well as the permissions in + // each role, see https://cloud.google.com/iam/help/roles/reference. + string role = 2; + + // Indicates whether the role granted by this binding contains the specified + // permission. + RolePermission role_permission = 3; + + // The relevance of the permission's existence, or nonexistence, in the role + // to the overall determination for the entire policy. + HeuristicRelevance role_permission_relevance = 4; + + // Indicates whether each principal in the binding includes the principal + // specified in the request, either directly or indirectly. Each key + // identifies a principal in the binding, and each value indicates whether the + // principal in the binding includes the principal in the request. + // + // For example, suppose that a binding includes the following principals: + // + // * `user:alice@example.com` + // * `group:product-eng@example.com` + // + // The principal in the replayed access tuple is `user:bob@example.com`. This + // user is a principal of the group `group:product-eng@example.com`. + // + // For the first principal in the binding, the key is + // `user:alice@example.com`, and the `membership` field in the value is set to + // `MEMBERSHIP_NOT_INCLUDED`. + // + // For the second principal in the binding, the key is + // `group:product-eng@example.com`, and the `membership` field in the value is + // set to `MEMBERSHIP_INCLUDED`. + map memberships = 5; + + // The relevance of this binding to the overall determination for the entire + // policy. + HeuristicRelevance relevance = 6; + + // A condition expression that prevents this binding from granting access + // unless the expression evaluates to `true`. + // + // To learn about IAM Conditions, see + // https://cloud.google.com/iam/docs/conditions-overview. + google.type.Expr condition = 7; +} diff --git a/third_party/googleapis/google/cloud/policysimulator/v1/policysimulator_gapic.yaml b/third_party/googleapis/google/cloud/policysimulator/v1/policysimulator_gapic.yaml new file mode 100644 index 000000000..1b86fa081 --- /dev/null +++ b/third_party/googleapis/google/cloud/policysimulator/v1/policysimulator_gapic.yaml @@ -0,0 +1,11 @@ +type: com.google.api.codegen.ConfigProto +config_schema_version: 2.0.0 +interfaces: +- name: google.cloud.policysimulator.v1.Simulator + methods: + - name: CreateReplay + long_running: + initial_poll_delay_millis: 1000 + poll_delay_multiplier: 2 + max_poll_delay_millis: 10000 + total_poll_timeout_millis: 18000000 diff --git a/third_party/googleapis/google/cloud/policysimulator/v1/policysimulator_v1.yaml b/third_party/googleapis/google/cloud/policysimulator/v1/policysimulator_v1.yaml new file mode 100644 index 000000000..48628e460 --- /dev/null +++ b/third_party/googleapis/google/cloud/policysimulator/v1/policysimulator_v1.yaml @@ -0,0 +1,99 @@ +type: google.api.Service +config_version: 3 +name: policysimulator.googleapis.com +title: Policy Simulator API + +apis: +- name: google.cloud.policysimulator.v1.Simulator +- name: google.longrunning.Operations + +types: +- name: google.cloud.policysimulator.v1.Replay +- name: google.cloud.policysimulator.v1.ReplayOperationMetadata + +documentation: + summary: |- + Policy Simulator is a collection of endpoints for creating, running, and + viewing a [Replay][google.cloud.policysimulator.v1.Replay]. A `Replay` is + a type of simulation that lets you see how your members' access to + resources might change if you changed your IAM policy. + + During a `Replay`, Policy Simulator re-evaluates, or replays, past access + attempts under both the current policy and your proposed policy, and + compares those results to determine how your members' access might change + under the + proposed policy. + +http: + rules: + - selector: google.longrunning.Operations.GetOperation + get: '/v1/{name=operations/**}' + additional_bindings: + - get: '/v1/{name=projects/*/locations/*/replays/*/operations/**}' + - get: '/v1/{name=folders/*/locations/*/replays/*/operations/**}' + - get: '/v1/{name=organizations/*/locations/*/replays/*/operations/**}' + - selector: google.longrunning.Operations.ListOperations + get: '/v1/{name=operations}' + additional_bindings: + - get: '/v1/{name=projects/*/locations/*/replays/*/operations}' + - get: '/v1/{name=folders/*/locations/*/replays/*/operations}' + - get: '/v1/{name=organizations/*/locations/*/replays/*/operations}' + +authentication: + rules: + - selector: 'google.cloud.policysimulator.v1.Simulator.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + - selector: google.longrunning.Operations.GetOperation + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + - selector: google.longrunning.Operations.ListOperations + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + +publishing: + new_issue_uri: https://issuetracker.google.com/issues/new?component=190865&template=1161103 + documentation_uri: https://cloud.google.com/policy-intelligence/docs/iam-simulator-overview + api_short_name: policysimulator + github_label: 'api: policysimulator' + doc_tag_prefix: policysimulator + organization: CLOUD + library_settings: + - version: google.cloud.policysimulator.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://cloud.google.com/policysimulator/docs/reference/rpc diff --git a/third_party/googleapis/google/cloud/policysimulator/v1/policysimulator_v1_grpc_service_config.json b/third_party/googleapis/google/cloud/policysimulator/v1/policysimulator_v1_grpc_service_config.json new file mode 100644 index 000000000..e1f61debc --- /dev/null +++ b/third_party/googleapis/google/cloud/policysimulator/v1/policysimulator_v1_grpc_service_config.json @@ -0,0 +1,22 @@ +{ + "methodConfig": [{ + "name": [ + { "service": "google.cloud.policysimulator.v1.Simulator", "method": "GetReplay" }, + { "service": "google.cloud.policysimulator.v1.Simulator", "method": "ListReplayResults" } + ], + "timeout": "60s", + "retryPolicy": { + "maxAttempts": 5, + "initialBackoff": "1s", + "maxBackoff": "10s", + "backoffMultiplier": 1.3, + "retryableStatusCodes": ["UNAVAILABLE"] + } + }, + { + "name": [ + { "service": "google.cloud.policysimulator.v1.Simulator", "method": "CreateReplay" } + ], + "timeout": "60s" + }] +} \ No newline at end of file diff --git a/third_party/googleapis/google/cloud/policysimulator/v1/simulator.proto b/third_party/googleapis/google/cloud/policysimulator/v1/simulator.proto new file mode 100644 index 000000000..217e6e247 --- /dev/null +++ b/third_party/googleapis/google/cloud/policysimulator/v1/simulator.proto @@ -0,0 +1,461 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF 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.policysimulator.v1; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/policysimulator/v1/explanations.proto"; +import "google/iam/v1/policy.proto"; +import "google/longrunning/operations.proto"; +import "google/protobuf/timestamp.proto"; +import "google/rpc/status.proto"; +import "google/type/date.proto"; + +option cc_enable_arenas = true; +option csharp_namespace = "Google.Cloud.PolicySimulator.V1"; +option go_package = "cloud.google.com/go/policysimulator/apiv1/policysimulatorpb;policysimulatorpb"; +option java_multiple_files = true; +option java_outer_classname = "SimulatorProto"; +option java_package = "com.google.cloud.policysimulator.v1"; +option php_namespace = "Google\\Cloud\\PolicySimulator\\V1"; +option ruby_package = "Google::Cloud::PolicySimulator::V1"; + +// Policy Simulator API service. +// +// Policy Simulator is a collection of endpoints for creating, running, and +// viewing a [Replay][google.cloud.policysimulator.v1.Replay]. A +// [Replay][google.cloud.policysimulator.v1.Replay] is a type of simulation that +// lets you see how your principals' access to resources might change if you +// changed your IAM policy. +// +// During a [Replay][google.cloud.policysimulator.v1.Replay], Policy Simulator +// re-evaluates, or replays, past access attempts under both the current policy +// and your proposed policy, and compares those results to determine how your +// principals' access might change under the proposed policy. +service Simulator { + option (google.api.default_host) = "policysimulator.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform"; + + // Gets the specified [Replay][google.cloud.policysimulator.v1.Replay]. Each + // `Replay` is available for at least 7 days. + rpc GetReplay(GetReplayRequest) returns (Replay) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/replays/*}" + additional_bindings { get: "/v1/{name=folders/*/locations/*/replays/*}" } + additional_bindings { + get: "/v1/{name=organizations/*/locations/*/replays/*}" + } + }; + option (google.api.method_signature) = "name"; + } + + // Creates and starts a [Replay][google.cloud.policysimulator.v1.Replay] using + // the given [ReplayConfig][google.cloud.policysimulator.v1.ReplayConfig]. + rpc CreateReplay(CreateReplayRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*}/replays" + body: "replay" + additional_bindings { + post: "/v1/{parent=folders/*/locations/*}/replays" + body: "replay" + } + additional_bindings { + post: "/v1/{parent=organizations/*/locations/*}/replays" + body: "replay" + } + }; + option (google.api.method_signature) = "parent,replay"; + option (google.longrunning.operation_info) = { + response_type: "Replay" + metadata_type: "ReplayOperationMetadata" + }; + } + + // Lists the results of running a + // [Replay][google.cloud.policysimulator.v1.Replay]. + rpc ListReplayResults(ListReplayResultsRequest) + returns (ListReplayResultsResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*/replays/*}/results" + additional_bindings { + get: "/v1/{parent=folders/*/locations/*/replays/*}/results" + } + additional_bindings { + get: "/v1/{parent=organizations/*/locations/*/replays/*}/results" + } + }; + option (google.api.method_signature) = "parent"; + } +} + +// A resource describing a `Replay`, or simulation. +message Replay { + option (google.api.resource) = { + type: "policysimulator.googleapis.com/Replay" + pattern: "projects/{project}/locations/{location}/replays/{replay}" + pattern: "folders/{folder}/locations/{location}/replays/{replay}" + pattern: "organizations/{organization}/locations/{location}/replays/{replay}" + }; + + // Summary statistics about the replayed log entries. + message ResultsSummary { + // The total number of log entries replayed. + int32 log_count = 1; + + // The number of replayed log entries with no difference between + // baseline and simulated policies. + int32 unchanged_count = 2; + + // The number of replayed log entries with a difference between baseline and + // simulated policies. + int32 difference_count = 3; + + // The number of log entries that could not be replayed. + int32 error_count = 4; + + // The date of the oldest log entry replayed. + google.type.Date oldest_date = 5; + + // The date of the newest log entry replayed. + google.type.Date newest_date = 6; + } + + // The current state of the [Replay][google.cloud.policysimulator.v1.Replay]. + enum State { + // Default value. This value is unused. + STATE_UNSPECIFIED = 0; + + // The `Replay` has not started yet. + PENDING = 1; + + // The `Replay` is currently running. + RUNNING = 2; + + // The `Replay` has successfully completed. + SUCCEEDED = 3; + + // The `Replay` has finished with an error. + FAILED = 4; + } + + // Output only. The resource name of the `Replay`, which has the following + // format: + // + // `{projects|folders|organizations}/{resource-id}/locations/global/replays/{replay-id}`, + // where `{resource-id}` is the ID of the project, folder, or organization + // that owns the Replay. + // + // Example: + // `projects/my-example-project/locations/global/replays/506a5f7f-38ce-4d7d-8e03-479ce1833c36` + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The current state of the `Replay`. + State state = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. The configuration used for the `Replay`. + ReplayConfig config = 3 [(google.api.field_behavior) = REQUIRED]; + + // Output only. Summary statistics about the replayed log entries. + ResultsSummary results_summary = 5 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// The result of replaying a single access tuple against a simulated state. +message ReplayResult { + option (google.api.resource) = { + type: "policysimulator.googleapis.com/ReplayResult" + pattern: "projects/{project}/locations/{location}/replays/{replay}/results/{replay_result}" + pattern: "folders/{folder}/locations/{location}/replays/{replay}/results/{replay_result}" + pattern: "organizations/{organization}/locations/{location}/replays/{replay}/results/{replay_result}" + }; + + // The result of replaying the access tuple. + oneof result { + // The difference between the principal's access under the current + // (baseline) policies and the principal's access under the proposed + // (simulated) policies. + // + // This field is only included for access tuples that were successfully + // replayed and had different results under the current policies and the + // proposed policies. + ReplayDiff diff = 5; + + // The error that caused the access tuple replay to fail. + // + // This field is only included for access tuples that were not replayed + // successfully. + google.rpc.Status error = 6; + } + + // The resource name of the `ReplayResult`, in the following format: + // + // `{projects|folders|organizations}/{resource-id}/locations/global/replays/{replay-id}/results/{replay-result-id}`, + // where `{resource-id}` is the ID of the project, folder, or organization + // that owns the [Replay][google.cloud.policysimulator.v1.Replay]. + // + // Example: + // `projects/my-example-project/locations/global/replays/506a5f7f-38ce-4d7d-8e03-479ce1833c36/results/1234` + string name = 1; + + // The [Replay][google.cloud.policysimulator.v1.Replay] that the access tuple + // was included in. + string parent = 2 [(google.api.resource_reference) = { + type: "policysimulator.googleapis.com/Replay" + }]; + + // The access tuple that was replayed. This field includes information about + // the principal, resource, and permission that were involved in the access + // attempt. + AccessTuple access_tuple = 3; + + // The latest date this access tuple was seen in the logs. + google.type.Date last_seen_date = 4; +} + +// Request message for +// [Simulator.CreateReplay][google.cloud.policysimulator.v1.Simulator.CreateReplay]. +message CreateReplayRequest { + // Required. The parent resource where this + // [Replay][google.cloud.policysimulator.v1.Replay] will be created. This + // resource must be a project, folder, or organization with a location. + // + // Example: `projects/my-example-project/locations/global` + string parent = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The [Replay][google.cloud.policysimulator.v1.Replay] to create. + // Set `Replay.ReplayConfig` to configure the replay. + Replay replay = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Metadata about a Replay operation. +message ReplayOperationMetadata { + // Time when the request was received. + google.protobuf.Timestamp start_time = 1; +} + +// Request message for +// [Simulator.GetReplay][google.cloud.policysimulator.v1.Simulator.GetReplay]. +message GetReplayRequest { + // Required. The name of the [Replay][google.cloud.policysimulator.v1.Replay] + // to retrieve, in the following format: + // + // `{projects|folders|organizations}/{resource-id}/locations/global/replays/{replay-id}`, + // where `{resource-id}` is the ID of the project, folder, or organization + // that owns the `Replay`. + // + // Example: + // `projects/my-example-project/locations/global/replays/506a5f7f-38ce-4d7d-8e03-479ce1833c36` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "policysimulator.googleapis.com/Replay" + } + ]; +} + +// Request message for +// [Simulator.ListReplayResults][google.cloud.policysimulator.v1.Simulator.ListReplayResults]. +message ListReplayResultsRequest { + // Required. The [Replay][google.cloud.policysimulator.v1.Replay] whose + // results are listed, in the following format: + // + // `{projects|folders|organizations}/{resource-id}/locations/global/replays/{replay-id}` + // + // Example: + // `projects/my-project/locations/global/replays/506a5f7f-38ce-4d7d-8e03-479ce1833c36` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "policysimulator.googleapis.com/Replay" + } + ]; + + // The maximum number of + // [ReplayResult][google.cloud.policysimulator.v1.ReplayResult] objects to + // return. Defaults to 5000. + // + // The maximum value is 5000; values above 5000 are rounded down to 5000. + int32 page_size = 2; + + // A page token, received from a previous + // [Simulator.ListReplayResults][google.cloud.policysimulator.v1.Simulator.ListReplayResults] + // call. Provide this token to retrieve the next page of results. + // + // When paginating, all other parameters provided to + // [Simulator.ListReplayResults[] must match the call that provided the page + // token. + string page_token = 3; +} + +// Response message for +// [Simulator.ListReplayResults][google.cloud.policysimulator.v1.Simulator.ListReplayResults]. +message ListReplayResultsResponse { + // The results of running a [Replay][google.cloud.policysimulator.v1.Replay]. + repeated ReplayResult replay_results = 1; + + // A token that you can use to retrieve the next page of + // [ReplayResult][google.cloud.policysimulator.v1.ReplayResult] objects. If + // this field is omitted, there are no subsequent pages. + string next_page_token = 2; +} + +// The configuration used for a +// [Replay][google.cloud.policysimulator.v1.Replay]. +message ReplayConfig { + // The source of the logs to use for a + // [Replay][google.cloud.policysimulator.v1.Replay]. + enum LogSource { + // An unspecified log source. + // If the log source is unspecified, the + // [Replay][google.cloud.policysimulator.v1.Replay] defaults to using + // `RECENT_ACCESSES`. + LOG_SOURCE_UNSPECIFIED = 0; + + // All access logs from the last 90 days. These logs may not include logs + // from the most recent 7 days. + RECENT_ACCESSES = 1; + } + + // A mapping of the resources that you want to simulate policies for and the + // policies that you want to simulate. + // + // Keys are the full resource names for the resources. For example, + // `//cloudresourcemanager.googleapis.com/projects/my-project`. + // For examples of full resource names for Google Cloud services, see + // https://cloud.google.com/iam/help/troubleshooter/full-resource-names. + // + // Values are [Policy][google.iam.v1.Policy] objects representing the policies + // that you want to simulate. + // + // Replays automatically take into account any IAM policies inherited through + // the resource hierarchy, and any policies set on descendant resources. You + // do not need to include these policies in the policy overlay. + map policy_overlay = 1; + + // The logs to use as input for the + // [Replay][google.cloud.policysimulator.v1.Replay]. + LogSource log_source = 2; +} + +// The difference between the results of evaluating an access tuple under +// the current (baseline) policies and under the proposed (simulated) policies. +// This difference explains how a principal's access could change if the +// proposed policies were applied. +message ReplayDiff { + // A summary and comparison of the principal's access under the current + // (baseline) policies and the proposed (simulated) policies for a single + // access tuple. + // + // The evaluation of the principal's access is reported in the + // [AccessState][google.cloud.policysimulator.v1.AccessState] field. + AccessStateDiff access_diff = 2; +} + +// A summary and comparison of the principal's access under the current +// (baseline) policies and the proposed (simulated) policies for a single +// access tuple. +message AccessStateDiff { + // How the principal's access, specified in the AccessState field, changed + // between the current (baseline) policies and proposed (simulated) policies. + enum AccessChangeType { + // Default value. This value is unused. + ACCESS_CHANGE_TYPE_UNSPECIFIED = 0; + + // The principal's access did not change. + // This includes the case where both baseline and simulated are UNKNOWN, + // but the unknown information is equivalent. + NO_CHANGE = 1; + + // The principal's access under both the current policies and the proposed + // policies is `UNKNOWN`, but the unknown information differs between them. + UNKNOWN_CHANGE = 2; + + // The principal had access under the current policies (`GRANTED`), but will + // no longer have access after the proposed changes (`NOT_GRANTED`). + ACCESS_REVOKED = 3; + + // The principal did not have access under the current policies + // (`NOT_GRANTED`), but will have access after the proposed changes + // (`GRANTED`). + ACCESS_GAINED = 4; + + // This result can occur for the following reasons: + // + // * The principal had access under the current policies (`GRANTED`), but + // their access after the proposed changes is `UNKNOWN`. + // + // * The principal's access under the current policies is `UNKNOWN`, but + // they + // will not have access after the proposed changes (`NOT_GRANTED`). + ACCESS_MAYBE_REVOKED = 5; + + // This result can occur for the following reasons: + // + // * The principal did not have access under the current policies + // (`NOT_GRANTED`), but their access after the proposed changes is + // `UNKNOWN`. + // + // * The principal's access under the current policies is `UNKNOWN`, but + // they will have access after the proposed changes (`GRANTED`). + ACCESS_MAYBE_GAINED = 6; + } + + // The results of evaluating the access tuple under the current (baseline) + // policies. + // + // If the [AccessState][google.cloud.policysimulator.v1.AccessState] couldn't + // be fully evaluated, this field explains why. + ExplainedAccess baseline = 1; + + // The results of evaluating the access tuple under the proposed (simulated) + // policies. + // + // If the AccessState couldn't be fully evaluated, this field explains why. + ExplainedAccess simulated = 2; + + // How the principal's access, specified in the AccessState field, changed + // between the current (baseline) policies and proposed (simulated) policies. + AccessChangeType access_change = 3; +} + +// Details about how a set of policies, listed in +// [ExplainedPolicy][google.cloud.policysimulator.v1.ExplainedPolicy], resulted +// in a certain [AccessState][google.cloud.policysimulator.v1.AccessState] when +// replaying an access tuple. +message ExplainedAccess { + // Whether the principal in the access tuple has permission to access the + // resource in the access tuple under the given policies. + AccessState access_state = 1; + + // If the [AccessState][google.cloud.policysimulator.v1.AccessState] is + // `UNKNOWN`, this field contains the policies that led to that result. + // + // If the `AccessState` is `GRANTED` or `NOT_GRANTED`, this field is + // omitted. + repeated ExplainedPolicy policies = 2; + + // If the [AccessState][google.cloud.policysimulator.v1.AccessState] is + // `UNKNOWN`, this field contains a list of errors explaining why the result + // is `UNKNOWN`. + // + // If the `AccessState` is `GRANTED` or `NOT_GRANTED`, this field is + // omitted. + repeated google.rpc.Status errors = 3; +} diff --git a/third_party/googleapis/google/cloud/policytroubleshooter/iam/BUILD.bazel b/third_party/googleapis/google/cloud/policytroubleshooter/iam/BUILD.bazel new file mode 100644 index 000000000..35edea428 --- /dev/null +++ b/third_party/googleapis/google/cloud/policytroubleshooter/iam/BUILD.bazel @@ -0,0 +1,36 @@ +# This build file includes a target for the Ruby wrapper library for +# google-cloud-policy_troubleshooter-iam. + +# 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 policytroubleshooter-iam. +# Ruby wrapper clients are versionless, but are generated from source protos +# for a particular service version, v3 in this case. +ruby_cloud_gapic_library( + name = "iam_ruby_wrapper", + srcs = ["//google/cloud/policytroubleshooter/iam/v3:iam_proto_with_info"], + extra_protoc_parameters = [ + "ruby-cloud-gem-name=google-cloud-policy_troubleshooter-iam", + "ruby-cloud-wrapper-of=v3:0.3", + ], + service_yaml = "//google/cloud/policytroubleshooter/iam/v3:policytroubleshooter_v3.yaml", + transport = "grpc+rest", +) + +# Open Source package. +ruby_gapic_assembly_pkg( + name = "google-cloud-policytroubleshooter-iam-ruby", + deps = [ + ":iam_ruby_wrapper", + ], +) diff --git a/third_party/googleapis/google/cloud/policytroubleshooter/iam/v3/BUILD.bazel b/third_party/googleapis/google/cloud/policytroubleshooter/iam/v3/BUILD.bazel new file mode 100644 index 000000000..88f8a402e --- /dev/null +++ b/third_party/googleapis/google/cloud/policytroubleshooter/iam/v3/BUILD.bazel @@ -0,0 +1,395 @@ +# 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 = "iam_proto", + srcs = [ + "troubleshooter.proto", + ], + deps = [ + "//google/api:annotations_proto", + "//google/api:client_proto", + "//google/api:field_behavior_proto", + "//google/iam/v1:policy_proto", + "//google/iam/v2:policy_proto", + "//google/rpc:status_proto", + "//google/type:expr_proto", + "@com_google_protobuf//:struct_proto", + "@com_google_protobuf//:timestamp_proto", + ], +) + +proto_library_with_info( + name = "iam_proto_with_info", + deps = [ + ":iam_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 = "iam_java_proto", + deps = [":iam_proto"], +) + +java_grpc_library( + name = "iam_java_grpc", + srcs = [":iam_proto"], + deps = [":iam_java_proto"], +) + +java_gapic_library( + name = "iam_java_gapic", + srcs = [":iam_proto_with_info"], + gapic_yaml = None, + grpc_service_config = "policytroubleshooter_v3_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "policytroubleshooter_v3.yaml", + test_deps = [ + "//google/iam/v1:iam_java_grpc", + "//google/iam/v2:iam_java_grpc", + ":iam_java_grpc", + ], + transport = "grpc+rest", + deps = [ + ":iam_java_proto", + "//google/api:api_java_proto", + "//google/iam/v1:iam_java_proto", + "//google/iam/v2:iam_java_proto", + ], +) + +java_gapic_test( + name = "iam_java_gapic_test_suite", + test_classes = [ + "com.google.cloud.policytroubleshooter.iam.v3.PolicyTroubleshooterClientHttpJsonTest", + "com.google.cloud.policytroubleshooter.iam.v3.PolicyTroubleshooterClientTest", + ], + runtime_deps = [":iam_java_gapic_test"], +) + +# Open Source Packages +java_gapic_assembly_gradle_pkg( + name = "google-cloud-policytroubleshooter-iam-v3-java", + include_samples = True, + transport = "grpc+rest", + deps = [ + ":iam_java_gapic", + ":iam_java_grpc", + ":iam_java_proto", + ":iam_proto", + ], +) + +############################################################################## +# Go +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "go_gapic_assembly_pkg", + "go_gapic_library", + "go_proto_library", +) + +go_proto_library( + name = "iam_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "cloud.google.com/go/policytroubleshooter/iam/apiv3/iampb", + protos = [":iam_proto"], + deps = [ + "//google/api:annotations_go_proto", + "//google/iam/v1:iam_go_proto", + "//google/iam/v2:iam_go_proto", + "//google/rpc:status_go_proto", + "//google/type:expr_go_proto", + ], +) + +go_gapic_library( + name = "iam_go_gapic", + srcs = [":iam_proto_with_info"], + grpc_service_config = "policytroubleshooter_v3_grpc_service_config.json", + importpath = "cloud.google.com/go/policytroubleshooter/iam/apiv3;iam", + metadata = True, + release_level = "ga", + rest_numeric_enums = True, + service_yaml = "policytroubleshooter_v3.yaml", + transport = "grpc+rest", + deps = [ + ":iam_go_proto", + "//google/iam/v1:iam_go_proto", + "//google/iam/v2:iam_go_proto", + ], +) + +# Open Source Packages +go_gapic_assembly_pkg( + name = "gapi-cloud-policytroubleshooter-iam-v3-go", + deps = [ + ":iam_go_gapic", + ":iam_go_gapic_srcjar-metadata.srcjar", + ":iam_go_gapic_srcjar-snippets.srcjar", + ":iam_go_gapic_srcjar-test.srcjar", + ":iam_go_proto", + ], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "py_gapic_assembly_pkg", + "py_gapic_library", + "py_test", +) + +py_gapic_library( + name = "iam_py_gapic", + srcs = [":iam_proto"], + grpc_service_config = "policytroubleshooter_v3_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "policytroubleshooter_v3.yaml", + transport = "grpc+rest", + deps = [ + "//google/iam/v1:iam_policy_py_proto", + "//google/iam/v2:iam_policy_py_proto", + ], + opt_args = [ + "python-gapic-namespace=google.cloud", + "python-gapic-name=policytroubleshooter_iam", + ], +) + +py_test( + name = "iam_py_gapic_test", + srcs = [ + "iam_py_gapic_pytest.py", + "iam_py_gapic_test.py", + ], + legacy_create_init = False, + deps = [":iam_py_gapic"], +) + +# Open Source Packages +py_gapic_assembly_pkg( + name = "policytroubleshooter-iam-v3-py", + deps = [ + ":iam_py_gapic", + ], +) + +############################################################################## +# PHP +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "php_gapic_assembly_pkg", + "php_gapic_library", + "php_proto_library", +) + +php_proto_library( + name = "iam_php_proto", + deps = [":iam_proto"], +) + +php_gapic_library( + name = "iam_php_gapic", + srcs = [":iam_proto_with_info"], + grpc_service_config = "policytroubleshooter_v3_grpc_service_config.json", + migration_mode = "NEW_SURFACE_ONLY", + rest_numeric_enums = True, + service_yaml = "policytroubleshooter_v3.yaml", + transport = "grpc+rest", + deps = [ + ":iam_php_proto", + ], +) + +# Open Source Packages +php_gapic_assembly_pkg( + name = "google-cloud-policytroubleshooter-iam-v3-php", + deps = [ + ":iam_php_gapic", + ":iam_php_proto", + ], +) + +############################################################################## +# Node.js +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "nodejs_gapic_assembly_pkg", + "nodejs_gapic_library", +) + +nodejs_gapic_library( + name = "iam_nodejs_gapic", + package_name = "@google-cloud/iam", + src = ":iam_proto_with_info", + extra_protoc_parameters = ["metadata"], + grpc_service_config = "policytroubleshooter_v3_grpc_service_config.json", + package = "google.cloud.policytroubleshooter.iam.v3", + rest_numeric_enums = True, + service_yaml = "policytroubleshooter_v3.yaml", + transport = "grpc+rest", + deps = [], +) + +nodejs_gapic_assembly_pkg( + name = "policytroubleshooter-iam-v3-nodejs", + deps = [ + ":iam_nodejs_gapic", + ":iam_proto", + "//google/iam/v1:policy_proto", + "//google/iam/v2:policy_proto", + "//google/rpc:status_proto", + "//google/type:expr_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 = "iam_ruby_proto", + deps = [":iam_proto"], +) + +ruby_grpc_library( + name = "iam_ruby_grpc", + srcs = [":iam_proto"], + deps = [":iam_ruby_proto"], +) + +ruby_cloud_gapic_library( + name = "iam_ruby_gapic", + srcs = [":iam_proto_with_info"], + extra_protoc_parameters = [ + "ruby-cloud-extra-dependencies=google-iam-v1=>0.5+<2.a;google-iam-v2=>0.3+<2.a", + "ruby-cloud-gem-name=google-cloud-policy_troubleshooter-iam-v3", + ], + grpc_service_config = "policytroubleshooter_v3_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "policytroubleshooter_v3.yaml", + transport = "grpc+rest", + deps = [ + ":iam_ruby_grpc", + ":iam_ruby_proto", + ], +) + +# Open Source Packages +ruby_gapic_assembly_pkg( + name = "google-cloud-policytroubleshooter-iam-v3-ruby", + deps = [ + ":iam_ruby_gapic", + ":iam_ruby_grpc", + ":iam_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 = "iam_csharp_proto", + deps = [":iam_proto"], +) + +csharp_grpc_library( + name = "iam_csharp_grpc", + srcs = [":iam_proto"], + deps = [":iam_csharp_proto"], +) + +csharp_gapic_library( + name = "iam_csharp_gapic", + srcs = [":iam_proto_with_info"], + common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json", + grpc_service_config = "policytroubleshooter_v3_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "policytroubleshooter_v3.yaml", + deps = [ + ":iam_csharp_grpc", + ":iam_csharp_proto", + ], +) + +# Open Source Packages +csharp_gapic_assembly_pkg( + name = "google-cloud-policytroubleshooter-iam-v3-csharp", + deps = [ + ":iam_csharp_gapic", + ":iam_csharp_grpc", + ":iam_csharp_proto", + ], +) + +############################################################################## +# C++ +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "cc_grpc_library", + "cc_proto_library", +) + +cc_proto_library( + name = "iam_cc_proto", + deps = [":iam_proto"], +) + +cc_grpc_library( + name = "iam_cc_grpc", + srcs = [":iam_proto"], + grpc_only = True, + deps = [":iam_cc_proto"], +) diff --git a/third_party/googleapis/google/cloud/policytroubleshooter/iam/v3/policytroubleshooter_v3.yaml b/third_party/googleapis/google/cloud/policytroubleshooter/iam/v3/policytroubleshooter_v3.yaml new file mode 100644 index 000000000..bd9b7d7e8 --- /dev/null +++ b/third_party/googleapis/google/cloud/policytroubleshooter/iam/v3/policytroubleshooter_v3.yaml @@ -0,0 +1,58 @@ +type: google.api.Service +config_version: 3 +name: policytroubleshooter.googleapis.com +title: Policy Troubleshooter API + +apis: +- name: google.cloud.policytroubleshooter.iam.v3.PolicyTroubleshooter + +authentication: + rules: + - selector: google.cloud.policytroubleshooter.iam.v3.PolicyTroubleshooter.TroubleshootIamPolicy + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + +publishing: + new_issue_uri: https://issuetracker.google.com/issues/new?component=690790&template=1814512 + documentation_uri: https://cloud.google.com/policy-intelligence/docs/troubleshoot-access + api_short_name: policytroubleshooter + github_label: 'api: policytroubleshooter' + doc_tag_prefix: policytroubleshooter + organization: CLOUD + library_settings: + - version: google.cloud.policytroubleshooter.iam.v3 + 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://cloud.google.com/policytroubleshooter/docs/reference/rpc diff --git a/third_party/googleapis/google/cloud/policytroubleshooter/iam/v3/policytroubleshooter_v3_grpc_service_config.json b/third_party/googleapis/google/cloud/policytroubleshooter/iam/v3/policytroubleshooter_v3_grpc_service_config.json new file mode 100644 index 000000000..6d559eea5 --- /dev/null +++ b/third_party/googleapis/google/cloud/policytroubleshooter/iam/v3/policytroubleshooter_v3_grpc_service_config.json @@ -0,0 +1,15 @@ +{ + "methodConfig": [{ + "name": [ + { "service": "google.cloud.policytroubleshooter.iam.v3.PolicyTroubleshooter", "method": "TroubleshootIamPolicy" } + ], + "timeout": "60s", + "retryPolicy": { + "maxAttempts": 5, + "initialBackoff": "1s", + "maxBackoff": "10s", + "backoffMultiplier": 1.3, + "retryableStatusCodes": ["UNAVAILABLE"] + } + }] +} \ No newline at end of file diff --git a/third_party/googleapis/google/cloud/policytroubleshooter/iam/v3/troubleshooter.proto b/third_party/googleapis/google/cloud/policytroubleshooter/iam/v3/troubleshooter.proto new file mode 100644 index 000000000..6a2928b1d --- /dev/null +++ b/third_party/googleapis/google/cloud/policytroubleshooter/iam/v3/troubleshooter.proto @@ -0,0 +1,757 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF 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.policytroubleshooter.iam.v3; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/iam/v1/policy.proto"; +import "google/iam/v2/policy.proto"; +import "google/protobuf/struct.proto"; +import "google/protobuf/timestamp.proto"; +import "google/rpc/status.proto"; +import "google/type/expr.proto"; + +option cc_enable_arenas = true; +option csharp_namespace = "Google.Cloud.PolicyTroubleshooter.Iam.V3"; +option go_package = "cloud.google.com/go/policytroubleshooter/iam/apiv3/iampb;iampb"; +option java_multiple_files = true; +option java_outer_classname = "TroubleshooterProto"; +option java_package = "com.google.cloud.policytroubleshooter.iam.v3"; +option php_namespace = "Google\\Cloud\\PolicyTroubleshooter\\Iam\\V3"; +option ruby_package = "Google::Cloud::PolicyTroubleshooter::Iam::V3"; + +// IAM Policy Troubleshooter service. +// +// This service helps you troubleshoot access issues for Google Cloud resources. +service PolicyTroubleshooter { + option (google.api.default_host) = "policytroubleshooter.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform"; + + // Checks whether a principal has a specific permission for a specific + // resource, and explains why the principal does or doesn't have that + // permission. + rpc TroubleshootIamPolicy(TroubleshootIamPolicyRequest) + returns (TroubleshootIamPolicyResponse) { + option (google.api.http) = { + post: "/v3/iam:troubleshoot" + body: "*" + }; + } +} + +// Whether IAM allow policies gives the principal the permission. +enum AllowAccessState { + // Not specified. + ALLOW_ACCESS_STATE_UNSPECIFIED = 0; + + // The allow policy gives the principal the permission. + ALLOW_ACCESS_STATE_GRANTED = 1; + + // The allow policy doesn't give the principal the permission. + ALLOW_ACCESS_STATE_NOT_GRANTED = 2; + + // The allow policy gives the principal the permission if a condition + // expression evaluate to `true`. However, the sender of the request didn't + // provide enough context for Policy Troubleshooter to evaluate the condition + // expression. + ALLOW_ACCESS_STATE_UNKNOWN_CONDITIONAL = 3; + + // The sender of the request doesn't have access to all of the allow policies + // that Policy Troubleshooter needs to evaluate the principal's access. + ALLOW_ACCESS_STATE_UNKNOWN_INFO = 4; +} + +// Whether IAM deny policies deny the principal the permission. +enum DenyAccessState { + // Not specified. + DENY_ACCESS_STATE_UNSPECIFIED = 0; + + // The deny policy denies the principal the permission. + DENY_ACCESS_STATE_DENIED = 1; + + // The deny policy doesn't deny the principal the permission. + DENY_ACCESS_STATE_NOT_DENIED = 2; + + // The deny policy denies the principal the permission if a condition + // expression evaluates to `true`. However, the sender of the request didn't + // provide enough context for Policy Troubleshooter to evaluate the condition + // expression. + DENY_ACCESS_STATE_UNKNOWN_CONDITIONAL = 3; + + // The sender of the request does not have access to all of the deny policies + // that Policy Troubleshooter needs to evaluate the principal's access. + DENY_ACCESS_STATE_UNKNOWN_INFO = 4; +} + +// Whether a role includes a specific permission. +enum RolePermissionInclusionState { + // Not specified. + ROLE_PERMISSION_INCLUSION_STATE_UNSPECIFIED = 0; + + // The permission is included in the role. + ROLE_PERMISSION_INCLUDED = 1; + + // The permission is not included in the role. + ROLE_PERMISSION_NOT_INCLUDED = 2; + + // The sender of the request is not allowed to access the role definition. + ROLE_PERMISSION_UNKNOWN_INFO = 3; +} + +// Whether the permission in the request matches the permission in the policy. +enum PermissionPatternMatchingState { + // Not specified. + PERMISSION_PATTERN_MATCHING_STATE_UNSPECIFIED = 0; + + // The permission in the request matches the permission in the policy. + PERMISSION_PATTERN_MATCHED = 1; + + // The permission in the request matches the permission in the policy. + PERMISSION_PATTERN_NOT_MATCHED = 2; +} + +// Whether the principal in the request matches the principal in the policy. +enum MembershipMatchingState { + // Not specified. + MEMBERSHIP_MATCHING_STATE_UNSPECIFIED = 0; + + // The principal in the request matches the principal in the policy. The + // principal can be included directly or indirectly: + // + // * A principal is included directly if that principal is listed in the + // role binding. + // * A principal is included indirectly if that principal is in a Google + // group, Google Workspace account, or Cloud Identity domain that is listed + // in the policy. + MEMBERSHIP_MATCHED = 1; + + // The principal in the request doesn't match the principal in the policy. + MEMBERSHIP_NOT_MATCHED = 2; + + // The principal in the policy is a group or domain, and the sender of the + // request doesn't have permission to view whether the principal in the + // request is a member of the group or domain. + MEMBERSHIP_UNKNOWN_INFO = 3; + + // The principal is an unsupported type. + MEMBERSHIP_UNKNOWN_UNSUPPORTED = 4; +} + +// The extent to which a single data point contributes to an overall +// determination. +enum HeuristicRelevance { + // Not specified. + HEURISTIC_RELEVANCE_UNSPECIFIED = 0; + + // The data point has a limited effect on the result. Changing the data point + // is unlikely to affect the overall determination. + HEURISTIC_RELEVANCE_NORMAL = 1; + + // The data point has a strong effect on the result. Changing the data point + // is likely to affect the overall determination. + HEURISTIC_RELEVANCE_HIGH = 2; +} + +// Request for +// [TroubleshootIamPolicy][google.cloud.policytroubleshooter.iam.v3.PolicyTroubleshooter.TroubleshootIamPolicy]. +message TroubleshootIamPolicyRequest { + // The information to use for checking whether a principal has a permission + // for a resource. + AccessTuple access_tuple = 1; +} + +// Response for +// [TroubleshootIamPolicy][google.cloud.policytroubleshooter.iam.v3.PolicyTroubleshooter.TroubleshootIamPolicy]. +message TroubleshootIamPolicyResponse { + // Whether the principal has the permission on the resource. + enum OverallAccessState { + // Not specified. + OVERALL_ACCESS_STATE_UNSPECIFIED = 0; + + // The principal has the permission. + CAN_ACCESS = 1; + + // The principal doesn't have the permission. + CANNOT_ACCESS = 2; + + // The principal might have the permission, but the sender can't access all + // of the information needed to fully evaluate the principal's access. + UNKNOWN_INFO = 3; + + // The principal might have the permission, but Policy Troubleshooter can't + // fully evaluate the principal's access because the sender didn't provide + // the required context to evaluate the condition. + UNKNOWN_CONDITIONAL = 4; + } + + // Indicates whether the principal has the specified permission for the + // specified resource, based on evaluating all types of the applicable IAM + // policies. + OverallAccessState overall_access_state = 1; + + // The access tuple from the request, including any provided context used to + // evaluate the condition. + AccessTuple access_tuple = 2; + + // An explanation of how the applicable IAM allow policies affect the final + // access state. + AllowPolicyExplanation allow_policy_explanation = 3; + + // An explanation of how the applicable IAM deny policies affect the final + // access state. + DenyPolicyExplanation deny_policy_explanation = 4; +} + +// Information about the principal, resource, and permission to check. +message AccessTuple { + // Required. The email address of the principal whose access you want to + // check. For example, `alice@example.com` or + // `my-service-account@my-project.iam.gserviceaccount.com`. + // + // The principal must be a Google Account or a service account. Other types of + // principals are not supported. + string principal = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The full resource name that identifies the resource. For example, + // `//compute.googleapis.com/projects/my-project/zones/us-central1-a/instances/my-instance`. + // + // For examples of full resource names for Google Cloud services, see + // https://cloud.google.com/iam/help/troubleshooter/full-resource-names. + string full_resource_name = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The IAM permission to check for, either in the `v1` permission + // format or the `v2` permission format. + // + // For a complete list of IAM permissions in the `v1` format, see + // https://cloud.google.com/iam/help/permissions/reference. + // + // For a list of IAM permissions in the `v2` format, see + // https://cloud.google.com/iam/help/deny/supported-permissions. + // + // For a complete list of predefined IAM roles and the permissions in each + // role, see https://cloud.google.com/iam/help/roles/reference. + string permission = 3 [(google.api.field_behavior) = REQUIRED]; + + // Output only. The permission that Policy Troubleshooter checked for, in + // the `v2` format. + string permission_fqdn = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Optional. Additional context for the request, such as the request time or + // IP address. This context allows Policy Troubleshooter to troubleshoot + // conditional role bindings and deny rules. + ConditionContext condition_context = 5 + [(google.api.field_behavior) = OPTIONAL]; +} + +// Additional context for troubleshooting conditional role bindings and deny +// rules. +message ConditionContext { + // Core attributes for a resource. A resource is an + // addressable (named) entity provided by the destination service. For + // example, a Compute Engine instance. + message Resource { + // The name of the service that this resource belongs to, such as + // `compute.googleapis.com`. The service name might not match the DNS + // hostname that actually serves the request. + // + // For a full list of resource service values, see + // https://cloud.google.com/iam/help/conditions/resource-services + string service = 1; + + // The stable identifier (name) of a resource on the `service`. A resource + // can be logically identified as `//{resource.service}/{resource.name}`. + // Unlike the resource URI, the resource name doesn't contain any protocol + // and version information. + // + // For a list of full resource name formats, see + // https://cloud.google.com/iam/help/troubleshooter/full-resource-names + string name = 2; + + // The type of the resource, in the format `{service}/{kind}`. + // + // For a full list of resource type values, see + // https://cloud.google.com/iam/help/conditions/resource-types + string type = 3; + } + + // This message defines attributes for a node that handles a network request. + // The node can be either a service or an application that sends, forwards, + // or receives the request. Service peers should fill in + // `principal` and `labels` as appropriate. + message Peer { + // The IPv4 or IPv6 address of the peer. + string ip = 1; + + // The network port of the peer. + int64 port = 2; + } + + // This message defines attributes for an HTTP request. If the actual + // request is not an HTTP request, the runtime system should try to map + // the actual request to an equivalent HTTP request. + message Request { + // Optional. The timestamp when the destination service receives the first + // byte of the request. + google.protobuf.Timestamp receive_time = 1 + [(google.api.field_behavior) = OPTIONAL]; + } + + // A tag that applies to a resource during policy evaluation. Tags can be + // either directly bound to a resource or inherited from its ancestor. + // `EffectiveTag` contains the `name` and `namespaced_name` of the tag value + // and tag key, with additional fields of `inherited` to indicate the + // inheritance status of the effective tag. + message EffectiveTag { + // Output only. Resource name for TagValue in the format `tagValues/456`. + string tag_value = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The namespaced name of the TagValue. Can be in the form + // `{organization_id}/{tag_key_short_name}/{tag_value_short_name}` or + // `{project_id}/{tag_key_short_name}/{tag_value_short_name}` or + // `{project_number}/{tag_key_short_name}/{tag_value_short_name}`. + string namespaced_tag_value = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The name of the TagKey, in the format `tagKeys/{id}`, such + // as `tagKeys/123`. + string tag_key = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The namespaced name of the TagKey. Can be in the form + // `{organization_id}/{tag_key_short_name}` or + // `{project_id}/{tag_key_short_name}` or + // `{project_number}/{tag_key_short_name}`. + string namespaced_tag_key = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The parent name of the tag key. + // Must be in the format `organizations/{organization_id}` or + // `projects/{project_number}` + string tag_key_parent_name = 6; + + // Output only. Indicates the inheritance status of a tag value + // attached to the given resource. If the tag value is inherited from one of + // the resource's ancestors, inherited will be true. If false, then the tag + // value is directly attached to the resource, inherited will be false. + bool inherited = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Represents a target resource that is involved with a network activity. + // If multiple resources are involved with an activity, this must be the + // primary one. + Resource resource = 1; + + // The destination of a network activity, such as accepting a TCP connection. + // In a multi-hop network activity, the destination represents the receiver of + // the last hop. + Peer destination = 2; + + // Represents a network request, such as an HTTP request. + Request request = 3; + + // Output only. The effective tags on the resource. The effective tags are + // fetched during troubleshooting. + repeated EffectiveTag effective_tags = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Details about how the relevant IAM allow policies affect the final access +// state. +message AllowPolicyExplanation { + // Indicates whether the principal has the specified permission for the + // specified resource, based on evaluating all applicable IAM allow policies. + AllowAccessState allow_access_state = 1; + + // List of IAM allow policies that were evaluated to check the principal's + // permissions, with annotations to indicate how each policy contributed to + // the final result. + // + // The list of policies includes the policy for the resource itself, as well + // as allow policies that are inherited from higher levels of the resource + // hierarchy, including the organization, the folder, and the project. + // + // To learn more about the resource hierarchy, see + // https://cloud.google.com/iam/help/resource-hierarchy. + repeated ExplainedAllowPolicy explained_policies = 2; + + // The relevance of the allow policy type to the overall access state. + HeuristicRelevance relevance = 3; +} + +// Details about how a specific IAM allow policy contributed to the final access +// state. +message ExplainedAllowPolicy { + // Required. Indicates whether _this policy_ provides the specified permission + // to the specified principal for the specified resource. + // + // This field does _not_ indicate whether the principal actually has the + // permission for the resource. There might be another policy that overrides + // this policy. To determine whether the principal actually has the + // permission, use the `overall_access_state` field in the + // [TroubleshootIamPolicyResponse][google.cloud.policytroubleshooter.iam.v3.TroubleshootIamPolicyResponse]. + AllowAccessState allow_access_state = 1 + [(google.api.field_behavior) = REQUIRED]; + + // The full resource name that identifies the resource. For example, + // `//compute.googleapis.com/projects/my-project/zones/us-central1-a/instances/my-instance`. + // + // If the sender of the request does not have access to the policy, this field + // is omitted. + // + // For examples of full resource names for Google Cloud services, see + // https://cloud.google.com/iam/help/troubleshooter/full-resource-names. + string full_resource_name = 2; + + // Details about how each role binding in the policy affects the principal's + // ability, or inability, to use the permission for the resource. The order of + // the role bindings matches the role binding order in the policy. + // + // If the sender of the request does not have access to the policy, this field + // is omitted. + repeated AllowBindingExplanation binding_explanations = 3; + + // The relevance of this policy to the overall access state in the + // [TroubleshootIamPolicyResponse][google.cloud.policytroubleshooter.iam.v3.TroubleshootIamPolicyResponse]. + // + // If the sender of the request does not have access to the policy, this field + // is omitted. + HeuristicRelevance relevance = 4; + + // The IAM allow policy attached to the resource. + // + // If the sender of the request does not have access to the policy, this field + // is empty. + google.iam.v1.Policy policy = 5; +} + +// Details about how a role binding in an allow policy affects a principal's +// ability to use a permission. +message AllowBindingExplanation { + // Details about whether the role binding includes the principal. + message AnnotatedAllowMembership { + // Indicates whether the role binding includes the principal. + MembershipMatchingState membership = 1; + + // The relevance of the principal's status to the overall determination for + // the role binding. + HeuristicRelevance relevance = 2; + } + + // Required. Indicates whether _this role binding_ gives the specified + // permission to the specified principal on the specified resource. + // + // This field does _not_ indicate whether the principal actually has the + // permission on the resource. There might be another role binding that + // overrides this role binding. To determine whether the principal actually + // has the permission, use the `overall_access_state` field in the + // [TroubleshootIamPolicyResponse][google.cloud.policytroubleshooter.iam.v3.TroubleshootIamPolicyResponse]. + AllowAccessState allow_access_state = 1 + [(google.api.field_behavior) = REQUIRED]; + + // The role that this role binding grants. For example, + // `roles/compute.admin`. + // + // For a complete list of predefined IAM roles, as well as the permissions in + // each role, see https://cloud.google.com/iam/help/roles/reference. + string role = 2; + + // Indicates whether the role granted by this role binding contains the + // specified permission. + RolePermissionInclusionState role_permission = 3; + + // The relevance of the permission's existence, or nonexistence, in the role + // to the overall determination for the entire policy. + HeuristicRelevance role_permission_relevance = 4; + + // The combined result of all memberships. Indicates if the principal is + // included in any role binding, either directly or indirectly. + AnnotatedAllowMembership combined_membership = 5; + + // Indicates whether each role binding includes the principal specified in the + // request, either directly or indirectly. Each key identifies a principal in + // the role binding, and each value indicates whether the principal in the + // role binding includes the principal in the request. + // + // For example, suppose that a role binding includes the following principals: + // + // * `user:alice@example.com` + // * `group:product-eng@example.com` + // + // You want to troubleshoot access for `user:bob@example.com`. This user is a + // member of the group `group:product-eng@example.com`. + // + // For the first principal in the role binding, the key is + // `user:alice@example.com`, and the `membership` field in the value is set to + // `NOT_INCLUDED`. + // + // For the second principal in the role binding, the key is + // `group:product-eng@example.com`, and the `membership` field in the value is + // set to `INCLUDED`. + map memberships = 6; + + // The relevance of this role binding to the overall determination for the + // entire policy. + HeuristicRelevance relevance = 7; + + // A condition expression that specifies when the role binding grants access. + // + // To learn about IAM Conditions, see + // https://cloud.google.com/iam/help/conditions/overview. + google.type.Expr condition = 8; + + // Condition evaluation state for this role binding. + ConditionExplanation condition_explanation = 9; +} + +// Details about how the relevant IAM deny policies affect the final access +// state. +message DenyPolicyExplanation { + // Indicates whether the principal is denied the specified permission for + // the specified resource, based on evaluating all applicable IAM deny + // policies. + DenyAccessState deny_access_state = 1; + + // List of resources with IAM deny policies that were evaluated to check the + // principal's denied permissions, with annotations to indicate how each + // policy contributed to the final result. + // + // The list of resources includes the policy for the resource itself, as well + // as policies that are inherited from higher levels of the resource + // hierarchy, including the organization, the folder, and the project. The + // order of the resources starts from the resource and climbs up the resource + // hierarchy. + // + // To learn more about the resource hierarchy, see + // https://cloud.google.com/iam/help/resource-hierarchy. + repeated ExplainedDenyResource explained_resources = 2; + + // The relevance of the deny policy result to the overall access state. + HeuristicRelevance relevance = 3; + + // Indicates whether the permission to troubleshoot is supported in deny + // policies. + bool permission_deniable = 4; +} + +// Details about how a specific resource contributed to the deny policy +// evaluation. +message ExplainedDenyResource { + // Required. Indicates whether any policies attached to _this resource_ deny + // the specific permission to the specified principal for the specified + // resource. + // + // This field does _not_ indicate whether the principal actually has the + // permission for the resource. There might be another policy that overrides + // this policy. To determine whether the principal actually has the + // permission, use the `overall_access_state` field in the + // [TroubleshootIamPolicyResponse][google.cloud.policytroubleshooter.iam.v3.TroubleshootIamPolicyResponse]. + DenyAccessState deny_access_state = 1 + [(google.api.field_behavior) = REQUIRED]; + + // The full resource name that identifies the resource. For example, + // `//compute.googleapis.com/projects/my-project/zones/us-central1-a/instances/my-instance`. + // + // If the sender of the request does not have access to the policy, this field + // is omitted. + // + // For examples of full resource names for Google Cloud services, see + // https://cloud.google.com/iam/help/troubleshooter/full-resource-names. + string full_resource_name = 2; + + // List of IAM deny policies that were evaluated to check the principal's + // denied permissions, with annotations to indicate how each policy + // contributed to the final result. + repeated ExplainedDenyPolicy explained_policies = 3; + + // The relevance of this policy to the overall access state in the + // [TroubleshootIamPolicyResponse][google.cloud.policytroubleshooter.iam.v3.TroubleshootIamPolicyResponse]. + // + // If the sender of the request does not have access to the policy, this field + // is omitted. + HeuristicRelevance relevance = 4; +} + +// Details about how a specific IAM deny policy [Policy][google.iam.v2.Policy] +// contributed to the access check. +message ExplainedDenyPolicy { + // Required. Indicates whether _this policy_ denies the specified permission + // to the specified principal for the specified resource. + // + // This field does _not_ indicate whether the principal actually has the + // permission for the resource. There might be another policy that overrides + // this policy. To determine whether the principal actually has the + // permission, use the `overall_access_state` field in the + // [TroubleshootIamPolicyResponse][google.cloud.policytroubleshooter.iam.v3.TroubleshootIamPolicyResponse]. + DenyAccessState deny_access_state = 1 + [(google.api.field_behavior) = REQUIRED]; + + // The IAM deny policy attached to the resource. + // + // If the sender of the request does not have access to the policy, this field + // is omitted. + google.iam.v2.Policy policy = 2; + + // Details about how each rule in the policy affects the principal's inability + // to use the permission for the resource. The order of the deny rule matches + // the order of the rules in the deny policy. + // + // If the sender of the request does not have access to the policy, this field + // is omitted. + repeated DenyRuleExplanation rule_explanations = 3; + + // The relevance of this policy to the overall access state in the + // [TroubleshootIamPolicyResponse][google.cloud.policytroubleshooter.iam.v3.TroubleshootIamPolicyResponse]. + // + // If the sender of the request does not have access to the policy, this field + // is omitted. + HeuristicRelevance relevance = 4; +} + +// Details about how a deny rule in a deny policy affects a principal's ability +// to use a permission. +message DenyRuleExplanation { + // Details about whether the permission in the request is denied by the + // deny rule. + message AnnotatedPermissionMatching { + // Indicates whether the permission in the request is denied by the deny + // rule. + PermissionPatternMatchingState permission_matching_state = 1; + + // The relevance of the permission status to the overall determination for + // the rule. + HeuristicRelevance relevance = 2; + } + + // Details about whether the principal in the request is listed as a denied + // principal in the deny rule, either directly or through membership in a + // principal set. + message AnnotatedDenyPrincipalMatching { + // Indicates whether the principal is listed as a denied principal in the + // deny rule, either directly or through membership in a principal set. + MembershipMatchingState membership = 1; + + // The relevance of the principal's status to the overall determination for + // the role binding. + HeuristicRelevance relevance = 2; + } + + // Required. Indicates whether _this rule_ denies the specified permission to + // the specified principal for the specified resource. + // + // This field does _not_ indicate whether the principal is actually denied on + // the permission for the resource. There might be another rule that overrides + // this rule. To determine whether the principal actually has the permission, + // use the `overall_access_state` field in the + // [TroubleshootIamPolicyResponse][google.cloud.policytroubleshooter.iam.v3.TroubleshootIamPolicyResponse]. + DenyAccessState deny_access_state = 1 + [(google.api.field_behavior) = REQUIRED]; + + // Indicates whether the permission in the request is listed as a denied + // permission in the deny rule. + AnnotatedPermissionMatching combined_denied_permission = 2; + + // Lists all denied permissions in the deny rule and indicates whether each + // permission matches the permission in the request. + // + // Each key identifies a denied permission in the rule, and each value + // indicates whether the denied permission matches the permission in the + // request. + map denied_permissions = 3; + + // Indicates whether the permission in the request is listed as an exception + // permission in the deny rule. + AnnotatedPermissionMatching combined_exception_permission = 4; + + // Lists all exception permissions in the deny rule and indicates whether each + // permission matches the permission in the request. + // + // Each key identifies a exception permission in the rule, and each value + // indicates whether the exception permission matches the permission in the + // request. + map exception_permissions = 5; + + // Indicates whether the principal is listed as a denied principal in the + // deny rule, either directly or through membership in a principal set. + AnnotatedDenyPrincipalMatching combined_denied_principal = 6; + + // Lists all denied principals in the deny rule and indicates whether each + // principal matches the principal in the request, either directly or through + // membership in a principal set. + // + // Each key identifies a denied principal in the rule, and each value + // indicates whether the denied principal matches the principal in the + // request. + map denied_principals = 7; + + // Indicates whether the principal is listed as an exception principal in the + // deny rule, either directly or through membership in a principal set. + AnnotatedDenyPrincipalMatching combined_exception_principal = 8; + + // Lists all exception principals in the deny rule and indicates whether each + // principal matches the principal in the request, either directly or through + // membership in a principal set. + // + // Each key identifies a exception principal in the rule, and each value + // indicates whether the exception principal matches the principal in the + // request. + map exception_principals = 9; + + // The relevance of this role binding to the overall determination for the + // entire policy. + HeuristicRelevance relevance = 10; + + // A condition expression that specifies when the deny rule denies the + // principal access. + // + // To learn about IAM Conditions, see + // https://cloud.google.com/iam/help/conditions/overview. + google.type.Expr condition = 11; + + // Condition evaluation state for this role binding. + ConditionExplanation condition_explanation = 12; +} + +// Explanation for how a condition affects a principal's access +message ConditionExplanation { + // Evaluated state of a condition expression. + message EvaluationState { + // Start position of an expression in the condition, by character. + int32 start = 1; + + // End position of an expression in the condition, by character, + // end included, for example: the end position of the first part of + // `a==b || c==d` would be 4. + int32 end = 2; + + // Value of this expression. + google.protobuf.Value value = 3; + + // Any errors that prevented complete evaluation of the condition + // expression. + repeated google.rpc.Status errors = 4; + } + + // Value of the condition. + google.protobuf.Value value = 1; + + // Any errors that prevented complete evaluation of the condition expression. + repeated google.rpc.Status errors = 3; + + // The value of each statement of the condition expression. The value can be + // `true`, `false`, or `null`. The value is `null` if the statement can't be + // evaluated. + repeated EvaluationState evaluation_states = 2; +} diff --git a/third_party/googleapis/google/cloud/policytroubleshooter/iam/v3beta/BUILD.bazel b/third_party/googleapis/google/cloud/policytroubleshooter/iam/v3beta/BUILD.bazel new file mode 100644 index 000000000..e594ce18a --- /dev/null +++ b/third_party/googleapis/google/cloud/policytroubleshooter/iam/v3beta/BUILD.bazel @@ -0,0 +1,392 @@ +# 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 = "iam_proto", + srcs = [ + "troubleshooter.proto", + ], + deps = [ + "//google/api:annotations_proto", + "//google/api:client_proto", + "//google/api:field_behavior_proto", + "//google/iam/v1:policy_proto", + "//google/iam/v2:policy_proto", + "//google/rpc:status_proto", + "//google/type:expr_proto", + "@com_google_protobuf//:struct_proto", + "@com_google_protobuf//:timestamp_proto", + ], +) + +proto_library_with_info( + name = "iam_proto_with_info", + deps = [ + ":iam_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 = "iam_java_proto", + deps = [":iam_proto"], +) + +java_grpc_library( + name = "iam_java_grpc", + srcs = [":iam_proto"], + deps = [":iam_java_proto"], +) + +java_gapic_library( + name = "iam_java_gapic", + srcs = [":iam_proto_with_info"], + gapic_yaml = None, + grpc_service_config = "policytroubleshooter_v3beta_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "policytroubleshooter_v3beta.yaml", + test_deps = [ + "//google/iam/v1:iam_java_grpc", + "//google/iam/v2:iam_java_grpc", + ":iam_java_grpc", + ], + transport = "grpc+rest", + deps = [ + ":iam_java_proto", + "//google/api:api_java_proto", + "//google/iam/v1:iam_java_proto", + "//google/iam/v2:iam_java_proto", + ], +) + +java_gapic_test( + name = "iam_java_gapic_test_suite", + test_classes = [ + "com.google.cloud.policytroubleshooter.iam.v3beta.PolicyTroubleshooterClientHttpJsonTest", + "com.google.cloud.policytroubleshooter.iam.v3beta.PolicyTroubleshooterClientTest", + ], + runtime_deps = [":iam_java_gapic_test"], +) + +# Open Source Packages +java_gapic_assembly_gradle_pkg( + name = "google-cloud-policytroubleshooter-iam-v3beta-java", + transport = "grpc+rest", + deps = [ + ":iam_java_gapic", + ":iam_java_grpc", + ":iam_java_proto", + ":iam_proto", + ], + include_samples = True, +) + +############################################################################## +# Go +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "go_gapic_assembly_pkg", + "go_gapic_library", + "go_proto_library", +) + +go_proto_library( + name = "iam_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "cloud.google.com/go/policytroubleshooter/iam/apiv3beta/iampb", + protos = [":iam_proto"], + deps = [ + "//google/api:annotations_go_proto", + "//google/iam/v1:iam_go_proto", + "//google/iam/v2:iam_go_proto", + "//google/rpc:status_go_proto", + "//google/type:expr_go_proto", + ], +) + +go_gapic_library( + name = "iam_go_gapic", + srcs = [":iam_proto_with_info"], + grpc_service_config = "policytroubleshooter_v3beta_grpc_service_config.json", + importpath = "cloud.google.com/go/policytroubleshooter/iam/apiv3beta;iam", + metadata = True, + release_level = "beta", + rest_numeric_enums = True, + service_yaml = "policytroubleshooter_v3beta.yaml", + transport = "grpc+rest", + deps = [ + ":iam_go_proto", + "//google/iam/v1:iam_go_proto", + "//google/iam/v2:iam_go_proto", + ], +) + +# Open Source Packages +go_gapic_assembly_pkg( + name = "gapi-cloud-policytroubleshooter-iam-v3beta-go", + deps = [ + ":iam_go_gapic", + ":iam_go_gapic_srcjar-test.srcjar", + ":iam_go_gapic_srcjar-metadata.srcjar", + ":iam_go_gapic_srcjar-snippets.srcjar", + ":iam_go_proto", + ], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "py_gapic_assembly_pkg", + "py_gapic_library", + "py_test", +) + +py_gapic_library( + name = "iam_py_gapic", + srcs = [":iam_proto"], + grpc_service_config = "policytroubleshooter_v3beta_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "policytroubleshooter_v3beta.yaml", + transport = "grpc+rest", + deps = [ + "//google/iam/v1:iam_policy_py_proto", + "//google/iam/v2:iam_policy_py_proto", + ], +) + +py_test( + name = "iam_py_gapic_test", + srcs = [ + "iam_py_gapic_pytest.py", + "iam_py_gapic_test.py", + ], + legacy_create_init = False, + deps = [":iam_py_gapic"], +) + +# Open Source Packages +py_gapic_assembly_pkg( + name = "policytroubleshooter-iam-v3beta-py", + deps = [ + ":iam_py_gapic", + ], +) + +############################################################################## +# PHP +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "php_gapic_assembly_pkg", + "php_gapic_library", + "php_proto_library", +) + +php_proto_library( + name = "iam_php_proto", + deps = [":iam_proto"], +) + +php_gapic_library( + name = "iam_php_gapic", + srcs = [":iam_proto_with_info"], + grpc_service_config = "policytroubleshooter_v3beta_grpc_service_config.json", + rest_numeric_enums = True, + migration_mode = "NEW_SURFACE_ONLY", + service_yaml = "policytroubleshooter_v3beta.yaml", + transport = "grpc+rest", + deps = [ + ":iam_php_proto", + ], +) + +# Open Source Packages +php_gapic_assembly_pkg( + name = "google-cloud-policytroubleshooter-iam-v3beta-php", + deps = [ + ":iam_php_gapic", + ":iam_php_proto", + ], +) + +############################################################################## +# Node.js +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "nodejs_gapic_assembly_pkg", + "nodejs_gapic_library", +) + +nodejs_gapic_library( + name = "iam_nodejs_gapic", + package_name = "@google-cloud/policy-troubleshooter-iam", + src = ":iam_proto_with_info", + extra_protoc_parameters = ["metadata"], + grpc_service_config = "policytroubleshooter_v3beta_grpc_service_config.json", + package = "google.cloud.policytroubleshooter.iam.v3beta", + rest_numeric_enums = True, + service_yaml = "policytroubleshooter_v3beta.yaml", + transport = "grpc+rest", + deps = [], +) + +nodejs_gapic_assembly_pkg( + name = "policytroubleshooter-iam-v3beta-nodejs", + deps = [ + ":iam_nodejs_gapic", + ":iam_proto", + "//google/iam/v1:policy_proto", + "//google/iam/v2:policy_proto", + "//google/rpc:status_proto", + "//google/type:expr_proto", + ], +) + +############################################################################## +# Ruby +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "ruby_gapic_assembly_pkg", + "ruby_cloud_gapic_library", + "ruby_grpc_library", + "ruby_proto_library", +) + +ruby_proto_library( + name = "iam_ruby_proto", + deps = [":iam_proto"], +) + +ruby_grpc_library( + name = "iam_ruby_grpc", + srcs = [":iam_proto"], + deps = [":iam_ruby_proto"], +) + +ruby_cloud_gapic_library( + name = "iam_ruby_gapic", + srcs = [":iam_proto_with_info"], + extra_protoc_parameters = [ + "ruby-cloud-extra-dependencies=google-iam-v1=>0.5+<2.a;google-iam-v2=>0.3+<2.a", + "ruby-cloud-gem-name=google-cloud-policytroubleshooter-iam-v3beta", + ], + grpc_service_config = "policytroubleshooter_v3beta_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "policytroubleshooter_v3beta.yaml", + transport = "grpc+rest", + deps = [ + ":iam_ruby_grpc", + ":iam_ruby_proto", + ], +) + +# Open Source Packages +ruby_gapic_assembly_pkg( + name = "google-cloud-policytroubleshooter-iam-v3beta-ruby", + deps = [ + ":iam_ruby_gapic", + ":iam_ruby_grpc", + ":iam_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 = "iam_csharp_proto", + extra_opts = [], + deps = [":iam_proto"], +) + +csharp_grpc_library( + name = "iam_csharp_grpc", + srcs = [":iam_proto"], + deps = [":iam_csharp_proto"], +) + +csharp_gapic_library( + name = "iam_csharp_gapic", + srcs = [":iam_proto_with_info"], + common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json", + grpc_service_config = "policytroubleshooter_v3beta_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "policytroubleshooter_v3beta.yaml", + deps = [ + ":iam_csharp_grpc", + ":iam_csharp_proto", + ], +) + +# Open Source Packages +csharp_gapic_assembly_pkg( + name = "google-cloud-policytroubleshooter-iam-v3beta-csharp", + deps = [ + ":iam_csharp_gapic", + ":iam_csharp_grpc", + ":iam_csharp_proto", + ], +) + +############################################################################## +# C++ +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "cc_grpc_library", + "cc_proto_library", +) + +cc_proto_library( + name = "iam_cc_proto", + deps = [":iam_proto"], +) + +cc_grpc_library( + name = "iam_cc_grpc", + srcs = [":iam_proto"], + grpc_only = True, + deps = [":iam_cc_proto"], +) diff --git a/third_party/googleapis/google/cloud/policytroubleshooter/iam/v3beta/policytroubleshooter_v3beta.yaml b/third_party/googleapis/google/cloud/policytroubleshooter/iam/v3beta/policytroubleshooter_v3beta.yaml new file mode 100644 index 000000000..b407fa1fe --- /dev/null +++ b/third_party/googleapis/google/cloud/policytroubleshooter/iam/v3beta/policytroubleshooter_v3beta.yaml @@ -0,0 +1,14 @@ +type: google.api.Service +config_version: 3 +name: policytroubleshooter.googleapis.com +title: Policy Troubleshooter API + +apis: +- name: google.cloud.policytroubleshooter.iam.v3beta.PolicyTroubleshooter + +authentication: + rules: + - selector: google.cloud.policytroubleshooter.iam.v3beta.PolicyTroubleshooter.TroubleshootIamPolicy + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform diff --git a/third_party/googleapis/google/cloud/policytroubleshooter/iam/v3beta/policytroubleshooter_v3beta_grpc_service_config.json b/third_party/googleapis/google/cloud/policytroubleshooter/iam/v3beta/policytroubleshooter_v3beta_grpc_service_config.json new file mode 100644 index 000000000..f4b43fe57 --- /dev/null +++ b/third_party/googleapis/google/cloud/policytroubleshooter/iam/v3beta/policytroubleshooter_v3beta_grpc_service_config.json @@ -0,0 +1,15 @@ +{ + "methodConfig": [{ + "name": [ + { "service": "google.cloud.policytroubleshooter.iam.v3beta.PolicyTroubleshooter", "method": "TroubleshootIamPolicy" } + ], + "timeout": "60s", + "retryPolicy": { + "maxAttempts": 5, + "initialBackoff": "1s", + "maxBackoff": "10s", + "backoffMultiplier": 1.3, + "retryableStatusCodes": ["UNAVAILABLE"] + } + }] +} \ No newline at end of file diff --git a/third_party/googleapis/google/cloud/policytroubleshooter/iam/v3beta/troubleshooter.proto b/third_party/googleapis/google/cloud/policytroubleshooter/iam/v3beta/troubleshooter.proto new file mode 100644 index 000000000..2d4c9429a --- /dev/null +++ b/third_party/googleapis/google/cloud/policytroubleshooter/iam/v3beta/troubleshooter.proto @@ -0,0 +1,754 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF 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.policytroubleshooter.iam.v3beta; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/iam/v1/policy.proto"; +import "google/iam/v2/policy.proto"; +import "google/protobuf/struct.proto"; +import "google/protobuf/timestamp.proto"; +import "google/rpc/status.proto"; +import "google/type/expr.proto"; + +option cc_enable_arenas = true; +option go_package = "cloud.google.com/go/policytroubleshooter/iam/apiv3beta/iampb;iampb"; +option java_multiple_files = true; +option java_outer_classname = "TroubleshooterProto"; +option java_package = "com.google.cloud.policytroubleshooter.iam.v3beta"; + +// IAM Policy Troubleshooter service. +// +// This service helps you troubleshoot access issues for Google Cloud resources. +service PolicyTroubleshooter { + option (google.api.default_host) = "policytroubleshooter.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform"; + + // Checks whether a principal has a specific permission for a specific + // resource, and explains why the principal does or doesn't have that + // permission. + rpc TroubleshootIamPolicy(TroubleshootIamPolicyRequest) + returns (TroubleshootIamPolicyResponse) { + option (google.api.http) = { + post: "/v3beta/iam:troubleshoot" + body: "*" + }; + } +} + +// Whether IAM allow policies gives the principal the permission. +enum AllowAccessState { + // Not specified. + ALLOW_ACCESS_STATE_UNSPECIFIED = 0; + + // The allow policy gives the principal the permission. + ALLOW_ACCESS_STATE_GRANTED = 1; + + // The allow policy doesn't give the principal the permission. + ALLOW_ACCESS_STATE_NOT_GRANTED = 2; + + // The allow policy gives the principal the permission if a condition + // expression evaluate to `true`. However, the sender of the request didn't + // provide enough context for Policy Troubleshooter to evaluate the condition + // expression. + ALLOW_ACCESS_STATE_UNKNOWN_CONDITIONAL = 3; + + // The sender of the request doesn't have access to all of the allow policies + // that Policy Troubleshooter needs to evaluate the principal's access. + ALLOW_ACCESS_STATE_UNKNOWN_INFO = 4; +} + +// Whether IAM deny policies deny the principal the permission. +enum DenyAccessState { + // Not specified. + DENY_ACCESS_STATE_UNSPECIFIED = 0; + + // The deny policy denies the principal the permission. + DENY_ACCESS_STATE_DENIED = 1; + + // The deny policy doesn't deny the principal the permission. + DENY_ACCESS_STATE_NOT_DENIED = 2; + + // The deny policy denies the principal the permission if a condition + // expression evaluates to `true`. However, the sender of the request didn't + // provide enough context for Policy Troubleshooter to evaluate the condition + // expression. + DENY_ACCESS_STATE_UNKNOWN_CONDITIONAL = 3; + + // The sender of the request does not have access to all of the deny policies + // that Policy Troubleshooter needs to evaluate the principal's access. + DENY_ACCESS_STATE_UNKNOWN_INFO = 4; +} + +// Whether a role includes a specific permission. +enum RolePermissionInclusionState { + // Not specified. + ROLE_PERMISSION_INCLUSION_STATE_UNSPECIFIED = 0; + + // The permission is included in the role. + ROLE_PERMISSION_INCLUDED = 1; + + // The permission is not included in the role. + ROLE_PERMISSION_NOT_INCLUDED = 2; + + // The sender of the request is not allowed to access the role definition. + ROLE_PERMISSION_UNKNOWN_INFO = 3; +} + +// Whether the permission in the request matches the permission in the policy. +enum PermissionPatternMatchingState { + // Not specified. + PERMISSION_PATTERN_MATCHING_STATE_UNSPECIFIED = 0; + + // The permission in the request matches the permission in the policy. + PERMISSION_PATTERN_MATCHED = 1; + + // The permission in the request matches the permission in the policy. + PERMISSION_PATTERN_NOT_MATCHED = 2; +} + +// Whether the principal in the request matches the principal in the policy. +enum MembershipMatchingState { + // Not specified. + MEMBERSHIP_MATCHING_STATE_UNSPECIFIED = 0; + + // The principal in the request matches the principal in the policy. The + // principal can be included directly or indirectly: + // + // * A principal is included directly if that principal is listed in the + // role binding. + // * A principal is included indirectly if that principal is in a Google + // group, Google Workspace account, or Cloud Identity domain that is listed + // in the policy. + MEMBERSHIP_MATCHED = 1; + + // The principal in the request doesn't match the principal in the policy. + MEMBERSHIP_NOT_MATCHED = 2; + + // The principal in the policy is a group or domain, and the sender of the + // request doesn't have permission to view whether the principal in the + // request is a member of the group or domain. + MEMBERSHIP_UNKNOWN_INFO = 3; + + // The principal is an unsupported type. + MEMBERSHIP_UNKNOWN_UNSUPPORTED = 4; +} + +// The extent to which a single data point contributes to an overall +// determination. +enum HeuristicRelevance { + // Not specified. + HEURISTIC_RELEVANCE_UNSPECIFIED = 0; + + // The data point has a limited effect on the result. Changing the data point + // is unlikely to affect the overall determination. + HEURISTIC_RELEVANCE_NORMAL = 1; + + // The data point has a strong effect on the result. Changing the data point + // is likely to affect the overall determination. + HEURISTIC_RELEVANCE_HIGH = 2; +} + +// Request for +// [TroubleshootIamPolicy][google.cloud.policytroubleshooter.iam.v3beta.PolicyTroubleshooter.TroubleshootIamPolicy]. +message TroubleshootIamPolicyRequest { + // The information to use for checking whether a principal has a permission + // for a resource. + AccessTuple access_tuple = 1; +} + +// Response for +// [TroubleshootIamPolicy][google.cloud.policytroubleshooter.iam.v3beta.PolicyTroubleshooter.TroubleshootIamPolicy]. +message TroubleshootIamPolicyResponse { + // Whether the principal has the permission on the resource. + enum OverallAccessState { + // Not specified. + OVERALL_ACCESS_STATE_UNSPECIFIED = 0; + + // The principal has the permission. + CAN_ACCESS = 1; + + // The principal doesn't have the permission. + CANNOT_ACCESS = 2; + + // The principal might have the permission, but the sender can't access all + // of the information needed to fully evaluate the principal's access. + UNKNOWN_INFO = 3; + + // The principal might have the permission, but Policy Troubleshooter can't + // fully evaluate the principal's access because the sender didn't provide + // the required context to evaluate the condition. + UNKNOWN_CONDITIONAL = 4; + } + + // Indicates whether the principal has the specified permission for the + // specified resource, based on evaluating all types of the applicable IAM + // policies. + OverallAccessState overall_access_state = 1; + + // The access tuple from the request, including any provided context used to + // evaluate the condition. + AccessTuple access_tuple = 2; + + // An explanation of how the applicable IAM allow policies affect the final + // access state. + AllowPolicyExplanation allow_policy_explanation = 3; + + // An explanation of how the applicable IAM deny policies affect the final + // access state. + DenyPolicyExplanation deny_policy_explanation = 4; +} + +// Information about the principal, resource, and permission to check. +message AccessTuple { + // Required. The email address of the principal whose access you want to + // check. For example, `alice@example.com` or + // `my-service-account@my-project.iam.gserviceaccount.com`. + // + // The principal must be a Google Account or a service account. Other types of + // principals are not supported. + string principal = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The full resource name that identifies the resource. For example, + // `//compute.googleapis.com/projects/my-project/zones/us-central1-a/instances/my-instance`. + // + // For examples of full resource names for Google Cloud services, see + // https://cloud.google.com/iam/help/troubleshooter/full-resource-names. + string full_resource_name = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The IAM permission to check for, either in the `v1` permission + // format or the `v2` permission format. + // + // For a complete list of IAM permissions in the `v1` format, see + // https://cloud.google.com/iam/help/permissions/reference. + // + // For a list of IAM permissions in the `v2` format, see + // https://cloud.google.com/iam/help/deny/supported-permissions. + // + // For a complete list of predefined IAM roles and the permissions in each + // role, see https://cloud.google.com/iam/help/roles/reference. + string permission = 3 [(google.api.field_behavior) = REQUIRED]; + + // Output only. The permission that Policy Troubleshooter checked for, in + // the `v2` format. + string permission_fqdn = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Optional. Additional context for the request, such as the request time or + // IP address. This context allows Policy Troubleshooter to troubleshoot + // conditional role bindings and deny rules. + ConditionContext condition_context = 5 + [(google.api.field_behavior) = OPTIONAL]; +} + +// Additional context for troubleshooting conditional role bindings and deny +// rules. +message ConditionContext { + // Core attributes for a resource. A resource is an + // addressable (named) entity provided by the destination service. For + // example, a Compute Engine instance. + message Resource { + // The name of the service that this resource belongs to, such as + // `compute.googleapis.com`. The service name might not match the DNS + // hostname that actually serves the request. + // + // For a full list of resource service values, see + // https://cloud.google.com/iam/help/conditions/resource-services + string service = 1; + + // The stable identifier (name) of a resource on the `service`. A resource + // can be logically identified as `//{resource.service}/{resource.name}`. + // Unlike the resource URI, the resource name doesn't contain any protocol + // and version information. + // + // For a list of full resource name formats, see + // https://cloud.google.com/iam/help/troubleshooter/full-resource-names + string name = 2; + + // The type of the resource, in the format `{service}/{kind}`. + // + // For a full list of resource type values, see + // https://cloud.google.com/iam/help/conditions/resource-types + string type = 3; + } + + // This message defines attributes for a node that handles a network request. + // The node can be either a service or an application that sends, forwards, + // or receives the request. Service peers should fill in + // `principal` and `labels` as appropriate. + message Peer { + // The IPv4 or IPv6 address of the peer. + string ip = 1; + + // The network port of the peer. + int64 port = 2; + } + + // This message defines attributes for an HTTP request. If the actual + // request is not an HTTP request, the runtime system should try to map + // the actual request to an equivalent HTTP request. + message Request { + // Optional. The timestamp when the destination service receives the first + // byte of the request. + google.protobuf.Timestamp receive_time = 1 + [(google.api.field_behavior) = OPTIONAL]; + } + + // A tag that applies to a resource during policy evaluation. Tags can be + // either directly bound to a resource or inherited from its ancestor. + // `EffectiveTag` contains the `name` and `namespaced_name` of the tag value + // and tag key, with additional fields of `inherited` to indicate the + // inheritance status of the effective tag. + message EffectiveTag { + // Output only. Resource name for TagValue in the format `tagValues/456`. + string tag_value = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The namespaced name of the TagValue. Can be in the form + // `{organization_id}/{tag_key_short_name}/{tag_value_short_name}` or + // `{project_id}/{tag_key_short_name}/{tag_value_short_name}` or + // `{project_number}/{tag_key_short_name}/{tag_value_short_name}`. + string namespaced_tag_value = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The name of the TagKey, in the format `tagKeys/{id}`, such + // as `tagKeys/123`. + string tag_key = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The namespaced name of the TagKey. Can be in the form + // `{organization_id}/{tag_key_short_name}` or + // `{project_id}/{tag_key_short_name}` or + // `{project_number}/{tag_key_short_name}`. + string namespaced_tag_key = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The parent name of the tag key. + // Must be in the format `organizations/{organization_id}` or + // `projects/{project_number}` + string tag_key_parent_name = 6; + + // Output only. Indicates the inheritance status of a tag value + // attached to the given resource. If the tag value is inherited from one of + // the resource's ancestors, inherited will be true. If false, then the tag + // value is directly attached to the resource, inherited will be false. + bool inherited = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Represents a target resource that is involved with a network activity. + // If multiple resources are involved with an activity, this must be the + // primary one. + Resource resource = 1; + + // The destination of a network activity, such as accepting a TCP connection. + // In a multi-hop network activity, the destination represents the receiver of + // the last hop. + Peer destination = 2; + + // Represents a network request, such as an HTTP request. + Request request = 3; + + // Output only. The effective tags on the resource. The effective tags are + // fetched during troubleshooting. + repeated EffectiveTag effective_tags = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Details about how the relevant IAM allow policies affect the final access +// state. +message AllowPolicyExplanation { + // Indicates whether the principal has the specified permission for the + // specified resource, based on evaluating all applicable IAM allow policies. + AllowAccessState allow_access_state = 1; + + // List of IAM allow policies that were evaluated to check the principal's + // permissions, with annotations to indicate how each policy contributed to + // the final result. + // + // The list of policies includes the policy for the resource itself, as well + // as allow policies that are inherited from higher levels of the resource + // hierarchy, including the organization, the folder, and the project. + // + // To learn more about the resource hierarchy, see + // https://cloud.google.com/iam/help/resource-hierarchy. + repeated ExplainedAllowPolicy explained_policies = 2; + + // The relevance of the allow policy type to the overall access state. + HeuristicRelevance relevance = 3; +} + +// Details about how a specific IAM allow policy contributed to the final access +// state. +message ExplainedAllowPolicy { + // Required. Indicates whether _this policy_ provides the specified permission + // to the specified principal for the specified resource. + // + // This field does _not_ indicate whether the principal actually has the + // permission for the resource. There might be another policy that overrides + // this policy. To determine whether the principal actually has the + // permission, use the `overall_access_state` field in the + // [TroubleshootIamPolicyResponse][google.cloud.policytroubleshooter.iam.v3beta.TroubleshootIamPolicyResponse]. + AllowAccessState allow_access_state = 1 + [(google.api.field_behavior) = REQUIRED]; + + // The full resource name that identifies the resource. For example, + // `//compute.googleapis.com/projects/my-project/zones/us-central1-a/instances/my-instance`. + // + // If the sender of the request does not have access to the policy, this field + // is omitted. + // + // For examples of full resource names for Google Cloud services, see + // https://cloud.google.com/iam/help/troubleshooter/full-resource-names. + string full_resource_name = 2; + + // Details about how each role binding in the policy affects the principal's + // ability, or inability, to use the permission for the resource. The order of + // the role bindings matches the role binding order in the policy. + // + // If the sender of the request does not have access to the policy, this field + // is omitted. + repeated AllowBindingExplanation binding_explanations = 3; + + // The relevance of this policy to the overall access state in the + // [TroubleshootIamPolicyResponse][google.cloud.policytroubleshooter.iam.v3beta.TroubleshootIamPolicyResponse]. + // + // If the sender of the request does not have access to the policy, this field + // is omitted. + HeuristicRelevance relevance = 4; + + // The IAM allow policy attached to the resource. + // + // If the sender of the request does not have access to the policy, this field + // is empty. + google.iam.v1.Policy policy = 5; +} + +// Details about how a role binding in an allow policy affects a principal's +// ability to use a permission. +message AllowBindingExplanation { + // Details about whether the role binding includes the principal. + message AnnotatedAllowMembership { + // Indicates whether the role binding includes the principal. + MembershipMatchingState membership = 1; + + // The relevance of the principal's status to the overall determination for + // the role binding. + HeuristicRelevance relevance = 2; + } + + // Required. Indicates whether _this role binding_ gives the specified + // permission to the specified principal on the specified resource. + // + // This field does _not_ indicate whether the principal actually has the + // permission on the resource. There might be another role binding that + // overrides this role binding. To determine whether the principal actually + // has the permission, use the `overall_access_state` field in the + // [TroubleshootIamPolicyResponse][google.cloud.policytroubleshooter.iam.v3beta.TroubleshootIamPolicyResponse]. + AllowAccessState allow_access_state = 1 + [(google.api.field_behavior) = REQUIRED]; + + // The role that this role binding grants. For example, + // `roles/compute.admin`. + // + // For a complete list of predefined IAM roles, as well as the permissions in + // each role, see https://cloud.google.com/iam/help/roles/reference. + string role = 2; + + // Indicates whether the role granted by this role binding contains the + // specified permission. + RolePermissionInclusionState role_permission = 3; + + // The relevance of the permission's existence, or nonexistence, in the role + // to the overall determination for the entire policy. + HeuristicRelevance role_permission_relevance = 4; + + // The combined result of all memberships. Indicates if the principal is + // included in any role binding, either directly or indirectly. + AnnotatedAllowMembership combined_membership = 5; + + // Indicates whether each role binding includes the principal specified in the + // request, either directly or indirectly. Each key identifies a principal in + // the role binding, and each value indicates whether the principal in the + // role binding includes the principal in the request. + // + // For example, suppose that a role binding includes the following principals: + // + // * `user:alice@example.com` + // * `group:product-eng@example.com` + // + // You want to troubleshoot access for `user:bob@example.com`. This user is a + // member of the group `group:product-eng@example.com`. + // + // For the first principal in the role binding, the key is + // `user:alice@example.com`, and the `membership` field in the value is set to + // `NOT_INCLUDED`. + // + // For the second principal in the role binding, the key is + // `group:product-eng@example.com`, and the `membership` field in the value is + // set to `INCLUDED`. + map memberships = 6; + + // The relevance of this role binding to the overall determination for the + // entire policy. + HeuristicRelevance relevance = 7; + + // A condition expression that specifies when the role binding grants access. + // + // To learn about IAM Conditions, see + // https://cloud.google.com/iam/help/conditions/overview. + google.type.Expr condition = 8; + + // Condition evaluation state for this role binding. + ConditionExplanation condition_explanation = 9; +} + +// Details about how the relevant IAM deny policies affect the final access +// state. +message DenyPolicyExplanation { + // Indicates whether the principal is denied the specified permission for + // the specified resource, based on evaluating all applicable IAM deny + // policies. + DenyAccessState deny_access_state = 1; + + // List of resources with IAM deny policies that were evaluated to check the + // principal's denied permissions, with annotations to indicate how each + // policy contributed to the final result. + // + // The list of resources includes the policy for the resource itself, as well + // as policies that are inherited from higher levels of the resource + // hierarchy, including the organization, the folder, and the project. The + // order of the resources starts from the resource and climbs up the resource + // hierarchy. + // + // To learn more about the resource hierarchy, see + // https://cloud.google.com/iam/help/resource-hierarchy. + repeated ExplainedDenyResource explained_resources = 2; + + // The relevance of the deny policy result to the overall access state. + HeuristicRelevance relevance = 3; + + // Indicates whether the permission to troubleshoot is supported in deny + // policies. + bool permission_deniable = 4; +} + +// Details about how a specific resource contributed to the deny policy +// evaluation. +message ExplainedDenyResource { + // Required. Indicates whether any policies attached to _this resource_ deny + // the specific permission to the specified principal for the specified + // resource. + // + // This field does _not_ indicate whether the principal actually has the + // permission for the resource. There might be another policy that overrides + // this policy. To determine whether the principal actually has the + // permission, use the `overall_access_state` field in the + // [TroubleshootIamPolicyResponse][google.cloud.policytroubleshooter.iam.v3beta.TroubleshootIamPolicyResponse]. + DenyAccessState deny_access_state = 1 + [(google.api.field_behavior) = REQUIRED]; + + // The full resource name that identifies the resource. For example, + // `//compute.googleapis.com/projects/my-project/zones/us-central1-a/instances/my-instance`. + // + // If the sender of the request does not have access to the policy, this field + // is omitted. + // + // For examples of full resource names for Google Cloud services, see + // https://cloud.google.com/iam/help/troubleshooter/full-resource-names. + string full_resource_name = 2; + + // List of IAM deny policies that were evaluated to check the principal's + // denied permissions, with annotations to indicate how each policy + // contributed to the final result. + repeated ExplainedDenyPolicy explained_policies = 3; + + // The relevance of this policy to the overall access state in the + // [TroubleshootIamPolicyResponse][google.cloud.policytroubleshooter.iam.v3beta.TroubleshootIamPolicyResponse]. + // + // If the sender of the request does not have access to the policy, this field + // is omitted. + HeuristicRelevance relevance = 4; +} + +// Details about how a specific IAM deny policy [Policy][google.iam.v2.Policy] +// contributed to the access check. +message ExplainedDenyPolicy { + // Required. Indicates whether _this policy_ denies the specified permission + // to the specified principal for the specified resource. + // + // This field does _not_ indicate whether the principal actually has the + // permission for the resource. There might be another policy that overrides + // this policy. To determine whether the principal actually has the + // permission, use the `overall_access_state` field in the + // [TroubleshootIamPolicyResponse][google.cloud.policytroubleshooter.iam.v3beta.TroubleshootIamPolicyResponse]. + DenyAccessState deny_access_state = 1 + [(google.api.field_behavior) = REQUIRED]; + + // The IAM deny policy attached to the resource. + // + // If the sender of the request does not have access to the policy, this field + // is omitted. + google.iam.v2.Policy policy = 2; + + // Details about how each rule in the policy affects the principal's inability + // to use the permission for the resource. The order of the deny rule matches + // the order of the rules in the deny policy. + // + // If the sender of the request does not have access to the policy, this field + // is omitted. + repeated DenyRuleExplanation rule_explanations = 3; + + // The relevance of this policy to the overall access state in the + // [TroubleshootIamPolicyResponse][google.cloud.policytroubleshooter.iam.v3beta.TroubleshootIamPolicyResponse]. + // + // If the sender of the request does not have access to the policy, this field + // is omitted. + HeuristicRelevance relevance = 4; +} + +// Details about how a deny rule in a deny policy affects a principal's ability +// to use a permission. +message DenyRuleExplanation { + // Details about whether the permission in the request is denied by the + // deny rule. + message AnnotatedPermissionMatching { + // Indicates whether the permission in the request is denied by the deny + // rule. + PermissionPatternMatchingState permission_matching_state = 1; + + // The relevance of the permission status to the overall determination for + // the rule. + HeuristicRelevance relevance = 2; + } + + // Details about whether the principal in the request is listed as a denied + // principal in the deny rule, either directly or through membership in a + // principal set. + message AnnotatedDenyPrincipalMatching { + // Indicates whether the principal is listed as a denied principal in the + // deny rule, either directly or through membership in a principal set. + MembershipMatchingState membership = 1; + + // The relevance of the principal's status to the overall determination for + // the role binding. + HeuristicRelevance relevance = 2; + } + + // Required. Indicates whether _this rule_ denies the specified permission to + // the specified principal for the specified resource. + // + // This field does _not_ indicate whether the principal is actually denied on + // the permission for the resource. There might be another rule that overrides + // this rule. To determine whether the principal actually has the permission, + // use the `overall_access_state` field in the + // [TroubleshootIamPolicyResponse][google.cloud.policytroubleshooter.iam.v3beta.TroubleshootIamPolicyResponse]. + DenyAccessState deny_access_state = 1 + [(google.api.field_behavior) = REQUIRED]; + + // Indicates whether the permission in the request is listed as a denied + // permission in the deny rule. + AnnotatedPermissionMatching combined_denied_permission = 2; + + // Lists all denied permissions in the deny rule and indicates whether each + // permission matches the permission in the request. + // + // Each key identifies a denied permission in the rule, and each value + // indicates whether the denied permission matches the permission in the + // request. + map denied_permissions = 3; + + // Indicates whether the permission in the request is listed as an exception + // permission in the deny rule. + AnnotatedPermissionMatching combined_exception_permission = 4; + + // Lists all exception permissions in the deny rule and indicates whether each + // permission matches the permission in the request. + // + // Each key identifies a exception permission in the rule, and each value + // indicates whether the exception permission matches the permission in the + // request. + map exception_permissions = 5; + + // Indicates whether the principal is listed as a denied principal in the + // deny rule, either directly or through membership in a principal set. + AnnotatedDenyPrincipalMatching combined_denied_principal = 6; + + // Lists all denied principals in the deny rule and indicates whether each + // principal matches the principal in the request, either directly or through + // membership in a principal set. + // + // Each key identifies a denied principal in the rule, and each value + // indicates whether the denied principal matches the principal in the + // request. + map denied_principals = 7; + + // Indicates whether the principal is listed as an exception principal in the + // deny rule, either directly or through membership in a principal set. + AnnotatedDenyPrincipalMatching combined_exception_principal = 8; + + // Lists all exception principals in the deny rule and indicates whether each + // principal matches the principal in the request, either directly or through + // membership in a principal set. + // + // Each key identifies a exception principal in the rule, and each value + // indicates whether the exception principal matches the principal in the + // request. + map exception_principals = 9; + + // The relevance of this role binding to the overall determination for the + // entire policy. + HeuristicRelevance relevance = 10; + + // A condition expression that specifies when the deny rule denies the + // principal access. + // + // To learn about IAM Conditions, see + // https://cloud.google.com/iam/help/conditions/overview. + google.type.Expr condition = 11; + + // Condition evaluation state for this role binding. + ConditionExplanation condition_explanation = 12; +} + +// Explanation for how a condition affects a principal's access +message ConditionExplanation { + // Evaluated state of a condition expression. + message EvaluationState { + // Start position of an expression in the condition, by character. + int32 start = 1; + + // End position of an expression in the condition, by character, + // end included, for example: the end position of the first part of + // `a==b || c==d` would be 4. + int32 end = 2; + + // Value of this expression. + google.protobuf.Value value = 3; + + // Any errors that prevented complete evaluation of the condition + // expression. + repeated google.rpc.Status errors = 4; + } + + // Value of the condition. + google.protobuf.Value value = 1; + + // Any errors that prevented complete evaluation of the condition expression. + repeated google.rpc.Status errors = 3; + + // The value of each statement of the condition expression. The value can be + // `true`, `false`, or `null`. The value is `null` if the statement can't be + // evaluated. + repeated EvaluationState evaluation_states = 2; +} diff --git a/third_party/googleapis/google/cloud/rapidmigrationassessment/BUILD.bazel b/third_party/googleapis/google/cloud/rapidmigrationassessment/BUILD.bazel new file mode 100644 index 000000000..0e67eb822 --- /dev/null +++ b/third_party/googleapis/google/cloud/rapidmigrationassessment/BUILD.bazel @@ -0,0 +1,36 @@ +# This build file includes a target for the Ruby wrapper library for +# google-cloud-rapid_migration_assessment. + +# 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 rapidmigrationassessment. +# 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 = "rapidmigrationassessment_ruby_wrapper", + srcs = ["//google/cloud/rapidmigrationassessment/v1:rapidmigrationassessment_proto_with_info"], + extra_protoc_parameters = [ + "ruby-cloud-gem-name=google-cloud-rapid_migration_assessment", + "ruby-cloud-wrapper-of=v1:0.3", + ], + service_yaml = "//google/cloud/rapidmigrationassessment/v1:rapidmigrationassessment_v1.yaml", + transport = "grpc+rest", +) + +# Open Source package. +ruby_gapic_assembly_pkg( + name = "google-cloud-rapidmigrationassessment-ruby", + deps = [ + ":rapidmigrationassessment_ruby_wrapper", + ], +) \ No newline at end of file diff --git a/third_party/googleapis/google/cloud/rapidmigrationassessment/v1/BUILD.bazel b/third_party/googleapis/google/cloud/rapidmigrationassessment/v1/BUILD.bazel new file mode 100644 index 000000000..492a0ed02 --- /dev/null +++ b/third_party/googleapis/google/cloud/rapidmigrationassessment/v1/BUILD.bazel @@ -0,0 +1,380 @@ +# 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 = "rapidmigrationassessment_proto", + srcs = [ + "api_entities.proto", + "rapidmigrationassessment.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//:field_mask_proto", + "@com_google_protobuf//:timestamp_proto", + ], +) + +proto_library_with_info( + name = "rapidmigrationassessment_proto_with_info", + deps = [ + ":rapidmigrationassessment_proto", + "//google/cloud:common_resources_proto", + "//google/cloud/location:location_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 = "rapidmigrationassessment_java_proto", + deps = [":rapidmigrationassessment_proto"], +) + +java_grpc_library( + name = "rapidmigrationassessment_java_grpc", + srcs = [":rapidmigrationassessment_proto"], + deps = [":rapidmigrationassessment_java_proto"], +) + +java_gapic_library( + name = "rapidmigrationassessment_java_gapic", + srcs = [":rapidmigrationassessment_proto_with_info"], + gapic_yaml = None, + grpc_service_config = "rapidmigrationassessment_v1_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "rapidmigrationassessment_v1.yaml", + test_deps = [ + "//google/cloud/location:location_java_grpc", + ":rapidmigrationassessment_java_grpc", + ], + transport = "grpc+rest", + deps = [ + ":rapidmigrationassessment_java_proto", + "//google/api:api_java_proto", + "//google/cloud/location:location_java_proto", + ], +) + +java_gapic_test( + name = "rapidmigrationassessment_java_gapic_test_suite", + test_classes = [ + "com.google.cloud.rapidmigrationassessment.v1.RapidMigrationAssessmentClientHttpJsonTest", + "com.google.cloud.rapidmigrationassessment.v1.RapidMigrationAssessmentClientTest", + ], + runtime_deps = [":rapidmigrationassessment_java_gapic_test"], +) + +# Open Source Packages +java_gapic_assembly_gradle_pkg( + name = "google-cloud-rapidmigrationassessment-v1-java", + include_samples = True, + transport = "grpc+rest", + deps = [ + ":rapidmigrationassessment_java_gapic", + ":rapidmigrationassessment_java_grpc", + ":rapidmigrationassessment_java_proto", + ":rapidmigrationassessment_proto", + ], +) + +############################################################################## +# Go +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "go_gapic_assembly_pkg", + "go_gapic_library", + "go_proto_library", +) + +go_proto_library( + name = "rapidmigrationassessment_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "cloud.google.com/go/rapidmigrationassessment/apiv1/rapidmigrationassessmentpb", + protos = [":rapidmigrationassessment_proto"], + deps = [ + "//google/api:annotations_go_proto", + "//google/longrunning:longrunning_go_proto", + ], +) + +go_gapic_library( + name = "rapidmigrationassessment_go_gapic", + srcs = [":rapidmigrationassessment_proto_with_info"], + grpc_service_config = "rapidmigrationassessment_v1_grpc_service_config.json", + importpath = "cloud.google.com/go/rapidmigrationassessment/apiv1;rapidmigrationassessment", + metadata = True, + release_level = "ga", + rest_numeric_enums = True, + service_yaml = "rapidmigrationassessment_v1.yaml", + transport = "grpc+rest", + deps = [ + ":rapidmigrationassessment_go_proto", + "//google/cloud/location:location_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-rapidmigrationassessment-v1-go", + deps = [ + ":rapidmigrationassessment_go_gapic", + ":rapidmigrationassessment_go_gapic_srcjar-metadata.srcjar", + ":rapidmigrationassessment_go_gapic_srcjar-snippets.srcjar", + ":rapidmigrationassessment_go_gapic_srcjar-test.srcjar", + ":rapidmigrationassessment_go_proto", + ], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "py_gapic_assembly_pkg", + "py_gapic_library", + "py_test", +) + +py_gapic_library( + name = "rapidmigrationassessment_py_gapic", + srcs = [":rapidmigrationassessment_proto"], + grpc_service_config = "rapidmigrationassessment_v1_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "rapidmigrationassessment_v1.yaml", + transport = "grpc+rest", + deps = [ + ], +) + +py_test( + name = "rapidmigrationassessment_py_gapic_test", + srcs = [ + "rapidmigrationassessment_py_gapic_pytest.py", + "rapidmigrationassessment_py_gapic_test.py", + ], + legacy_create_init = False, + deps = [":rapidmigrationassessment_py_gapic"], +) + +# Open Source Packages +py_gapic_assembly_pkg( + name = "rapidmigrationassessment-v1-py", + deps = [ + ":rapidmigrationassessment_py_gapic", + ], +) + +############################################################################## +# PHP +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "php_gapic_assembly_pkg", + "php_gapic_library", + "php_proto_library", +) + +php_proto_library( + name = "rapidmigrationassessment_php_proto", + deps = [":rapidmigrationassessment_proto"], +) + +php_gapic_library( + name = "rapidmigrationassessment_php_gapic", + srcs = [":rapidmigrationassessment_proto_with_info"], + grpc_service_config = "rapidmigrationassessment_v1_grpc_service_config.json", + migration_mode = "NEW_SURFACE_ONLY", + rest_numeric_enums = True, + service_yaml = "rapidmigrationassessment_v1.yaml", + transport = "grpc+rest", + deps = [ + ":rapidmigrationassessment_php_proto", + ], +) + +# Open Source Packages +php_gapic_assembly_pkg( + name = "google-cloud-rapidmigrationassessment-v1-php", + deps = [ + ":rapidmigrationassessment_php_gapic", + ":rapidmigrationassessment_php_proto", + ], +) + +############################################################################## +# Node.js +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "nodejs_gapic_assembly_pkg", + "nodejs_gapic_library", +) + +nodejs_gapic_library( + name = "rapidmigrationassessment_nodejs_gapic", + package_name = "@google-cloud/rapidmigrationassessment", + src = ":rapidmigrationassessment_proto_with_info", + extra_protoc_parameters = ["metadata"], + grpc_service_config = "rapidmigrationassessment_v1_grpc_service_config.json", + package = "google.cloud.rapidmigrationassessment.v1", + rest_numeric_enums = True, + service_yaml = "rapidmigrationassessment_v1.yaml", + transport = "grpc+rest", + deps = [], +) + +nodejs_gapic_assembly_pkg( + name = "rapidmigrationassessment-v1-nodejs", + deps = [ + ":rapidmigrationassessment_nodejs_gapic", + ":rapidmigrationassessment_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 = "rapidmigrationassessment_ruby_proto", + deps = [":rapidmigrationassessment_proto"], +) + +ruby_grpc_library( + name = "rapidmigrationassessment_ruby_grpc", + srcs = [":rapidmigrationassessment_proto"], + deps = [":rapidmigrationassessment_ruby_proto"], +) + +ruby_cloud_gapic_library( + name = "rapidmigrationassessment_ruby_gapic", + srcs = [":rapidmigrationassessment_proto_with_info"], + extra_protoc_parameters = ["ruby-cloud-gem-name=google-cloud-rapid_migration_assessment-v1"], + grpc_service_config = "rapidmigrationassessment_v1_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "rapidmigrationassessment_v1.yaml", + transport = "grpc+rest", + deps = [ + ":rapidmigrationassessment_ruby_grpc", + ":rapidmigrationassessment_ruby_proto", + ], +) + +# Open Source Packages +ruby_gapic_assembly_pkg( + name = "google-cloud-rapidmigrationassessment-v1-ruby", + deps = [ + ":rapidmigrationassessment_ruby_gapic", + ":rapidmigrationassessment_ruby_grpc", + ":rapidmigrationassessment_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 = "rapidmigrationassessment_csharp_proto", + extra_opts = [], + deps = [":rapidmigrationassessment_proto"], +) + +csharp_grpc_library( + name = "rapidmigrationassessment_csharp_grpc", + srcs = [":rapidmigrationassessment_proto"], + deps = [":rapidmigrationassessment_csharp_proto"], +) + +csharp_gapic_library( + name = "rapidmigrationassessment_csharp_gapic", + srcs = [":rapidmigrationassessment_proto_with_info"], + common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json", + grpc_service_config = "rapidmigrationassessment_v1_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "rapidmigrationassessment_v1.yaml", + deps = [ + ":rapidmigrationassessment_csharp_grpc", + ":rapidmigrationassessment_csharp_proto", + ], +) + +# Open Source Packages +csharp_gapic_assembly_pkg( + name = "google-cloud-rapidmigrationassessment-v1-csharp", + deps = [ + ":rapidmigrationassessment_csharp_gapic", + ":rapidmigrationassessment_csharp_grpc", + ":rapidmigrationassessment_csharp_proto", + ], +) + +############################################################################## +# C++ +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "cc_grpc_library", + "cc_proto_library", +) + +cc_proto_library( + name = "rapidmigrationassessment_cc_proto", + deps = [":rapidmigrationassessment_proto"], +) + +cc_grpc_library( + name = "rapidmigrationassessment_cc_grpc", + srcs = [":rapidmigrationassessment_proto"], + grpc_only = True, + deps = [":rapidmigrationassessment_cc_proto"], +) diff --git a/third_party/googleapis/google/cloud/rapidmigrationassessment/v1/api_entities.proto b/third_party/googleapis/google/cloud/rapidmigrationassessment/v1/api_entities.proto new file mode 100644 index 000000000..54a3247c5 --- /dev/null +++ b/third_party/googleapis/google/cloud/rapidmigrationassessment/v1/api_entities.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.cloud.rapidmigrationassessment.v1; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.RapidMigrationAssessment.V1"; +option go_package = "cloud.google.com/go/rapidmigrationassessment/apiv1/rapidmigrationassessmentpb;rapidmigrationassessmentpb"; +option java_multiple_files = true; +option java_outer_classname = "ApiEntitiesProto"; +option java_package = "com.google.cloud.rapidmigrationassessment.v1"; +option php_namespace = "Google\\Cloud\\RapidMigrationAssessment\\V1"; +option ruby_package = "Google::Cloud::RapidMigrationAssessment::V1"; + +// Message describing a MC Source of type Guest OS Scan. +message GuestOsScan { + // reference to the corresponding Guest OS Scan in MC Source. + string core_source = 1; +} + +// Message describing a MC Source of type VSphere Scan. +message VSphereScan { + // reference to the corresponding VSphere Scan in MC Source. + string core_source = 1; +} + +// Message describing Collector object. +message Collector { + option (google.api.resource) = { + type: "rapidmigrationassessment.googleapis.com/Collector" + pattern: "projects/{project}/locations/{location}/collectors/{collector}" + }; + + // -- Using suggestion from API Linter Analyzer for nesting enum -- + // -- https://linter.aip.dev/216/nesting -- + // State of a Collector (server_side). + // States are used for internal purposes and named to keep + // convention of legacy product: + // https://cloud.google.com/migrate/stratozone/docs/about-stratoprobe. + enum State { + // Collector state is not recognized. + STATE_UNSPECIFIED = 0; + + // Collector started to create, but hasn't been completed MC source creation + // and db object creation. + STATE_INITIALIZING = 1; + + // Collector has been created, MC source creation and db object creation + // completed. + STATE_READY_TO_USE = 2; + + // Collector client has been registered with client. + STATE_REGISTERED = 3; + + // Collector client is actively scanning. + STATE_ACTIVE = 4; + + // Collector is not actively scanning. + STATE_PAUSED = 5; + + // Collector is starting background job for deletion. + STATE_DELETING = 6; + + // Collector completed all tasks for deletion. + STATE_DECOMMISSIONED = 7; + + // Collector is in error state. + STATE_ERROR = 8; + } + + // name of resource. + string name = 1; + + // Output only. Create time stamp. + google.protobuf.Timestamp create_time = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Update time stamp. + google.protobuf.Timestamp update_time = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Labels as key value pairs. + map labels = 4; + + // User specified name of the Collector. + string display_name = 5; + + // User specified description of the Collector. + string description = 6; + + // Service Account email used to ingest data to this Collector. + string service_account = 7; + + // Output only. Store cloud storage bucket name (which is a guid) created with + // this Collector. + string bucket = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // User specified expected asset count. + int64 expected_asset_count = 9; + + // Output only. State of the Collector. + State state = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Client version. + string client_version = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Reference to MC Source Guest Os Scan. + GuestOsScan guest_os_scan = 12 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Reference to MC Source vsphere_scan. + VSphereScan vsphere_scan = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // How many days to collect data. + int32 collection_days = 14; + + // Uri for EULA (End User License Agreement) from customer. + string eula_uri = 15; +} + +// Message describing an Annotation +message Annotation { + option (google.api.resource) = { + type: "rapidmigrationassessment.googleapis.com/Annotation" + pattern: "projects/{project}/locations/{location}/annotations/{annotation}" + }; + + // Types for project level setting. + enum Type { + // Unknown type + TYPE_UNSPECIFIED = 0; + + // Indicates that this project has opted into StratoZone export. + TYPE_LEGACY_EXPORT_CONSENT = 1; + + // Indicates that this project is created by Qwiklab. + TYPE_QWIKLAB = 2; + } + + // name of resource. + string name = 1; + + // Output only. Create time stamp. + google.protobuf.Timestamp create_time = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Update time stamp. + google.protobuf.Timestamp update_time = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Labels as key value pairs. + map labels = 4; + + // Type of an annotation. + Type type = 5; +} diff --git a/third_party/googleapis/google/cloud/rapidmigrationassessment/v1/rapidmigrationassessment.proto b/third_party/googleapis/google/cloud/rapidmigrationassessment/v1/rapidmigrationassessment.proto new file mode 100644 index 000000000..580fd4e6b --- /dev/null +++ b/third_party/googleapis/google/cloud/rapidmigrationassessment/v1/rapidmigrationassessment.proto @@ -0,0 +1,422 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF 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.rapidmigrationassessment.v1; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/rapidmigrationassessment/v1/api_entities.proto"; +import "google/longrunning/operations.proto"; +import "google/protobuf/field_mask.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.RapidMigrationAssessment.V1"; +option go_package = "cloud.google.com/go/rapidmigrationassessment/apiv1/rapidmigrationassessmentpb;rapidmigrationassessmentpb"; +option java_multiple_files = true; +option java_outer_classname = "RapidMigrationAssessmentProto"; +option java_package = "com.google.cloud.rapidmigrationassessment.v1"; +option php_namespace = "Google\\Cloud\\RapidMigrationAssessment\\V1"; +option ruby_package = "Google::Cloud::RapidMigrationAssessment::V1"; + +// Service describing handlers for resources. +service RapidMigrationAssessment { + option (google.api.default_host) = "rapidmigrationassessment.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform"; + + // Create a Collector to manage the on-prem appliance which collects + // information about Customer assets. + rpc CreateCollector(CreateCollectorRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*}/collectors" + body: "collector" + }; + option (google.api.method_signature) = "parent,collector,collector_id"; + option (google.longrunning.operation_info) = { + response_type: "Collector" + metadata_type: "OperationMetadata" + }; + } + + // Creates an Annotation + rpc CreateAnnotation(CreateAnnotationRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*}/annotations" + body: "annotation" + }; + option (google.api.method_signature) = "parent,annotation"; + option (google.longrunning.operation_info) = { + response_type: "Annotation" + metadata_type: "OperationMetadata" + }; + } + + // Gets details of a single Annotation. + rpc GetAnnotation(GetAnnotationRequest) returns (Annotation) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/annotations/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Lists Collectors in a given project and location. + rpc ListCollectors(ListCollectorsRequest) returns (ListCollectorsResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*}/collectors" + }; + option (google.api.method_signature) = "parent"; + } + + // Gets details of a single Collector. + rpc GetCollector(GetCollectorRequest) returns (Collector) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/collectors/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Updates the parameters of a single Collector. + rpc UpdateCollector(UpdateCollectorRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + patch: "/v1/{collector.name=projects/*/locations/*/collectors/*}" + body: "collector" + }; + option (google.api.method_signature) = "collector,update_mask"; + option (google.longrunning.operation_info) = { + response_type: "Collector" + metadata_type: "OperationMetadata" + }; + } + + // Deletes a single Collector - changes state of collector to "Deleting". + // Background jobs does final deletion thorugh producer api. + rpc DeleteCollector(DeleteCollectorRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1/{name=projects/*/locations/*/collectors/*}" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "Collector" + metadata_type: "OperationMetadata" + }; + } + + // Resumes the given collector. + rpc ResumeCollector(ResumeCollectorRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{name=projects/*/locations/*/collectors/*}:resume" + body: "*" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "Collector" + metadata_type: "OperationMetadata" + }; + } + + // Registers the given collector. + rpc RegisterCollector(RegisterCollectorRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{name=projects/*/locations/*/collectors/*}:register" + body: "*" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "Collector" + metadata_type: "OperationMetadata" + }; + } + + // Pauses the given collector. + rpc PauseCollector(PauseCollectorRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{name=projects/*/locations/*/collectors/*}:pause" + body: "*" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "Collector" + metadata_type: "OperationMetadata" + }; + } +} + +// Message for creating an AnnotationS. +message CreateAnnotationRequest { + // Required. Name of the parent (project+location). + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "locations.googleapis.com/Location" + } + ]; + + // Required. The resource being created. + Annotation annotation = 2 [(google.api.field_behavior) = REQUIRED]; + + // Optional. An optional request ID to identify requests. + string request_id = 4 [(google.api.field_behavior) = OPTIONAL]; +} + +// Message for getting a specific Annotation +message GetAnnotationRequest { + // Required. Name of the resource. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "rapidmigrationassessment.googleapis.com/Annotation" + } + ]; +} + +// Message for creating a Collector. +message CreateCollectorRequest { + // Required. Name of the parent (project+location). + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "locations.googleapis.com/Location" + } + ]; + + // Required. Id of the requesting object. + string collector_id = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The resource being created. + Collector collector = 3 [(google.api.field_behavior) = REQUIRED]; + + // Optional. An optional request ID to identify requests. + string request_id = 4 [(google.api.field_behavior) = OPTIONAL]; +} + +// Message for requesting list of Collectors. +message ListCollectorsRequest { + // Required. Parent value for ListCollectorsRequest. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "locations.googleapis.com/Location" + } + ]; + + // Requested page size. Server may return fewer items than requested. + // If unspecified, server will pick an appropriate default. + int32 page_size = 2; + + // A token identifying a page of results the server should return. + string page_token = 3; + + // Filtering results. + string filter = 4; + + // Hint for how to order the results. + string order_by = 5; +} + +// Message for response to listing Collectors. +message ListCollectorsResponse { + // The list of Collectors. + repeated Collector collectors = 1; + + // A token identifying a page of results the server should return. + string next_page_token = 2; + + // Locations that could not be reached. + repeated string unreachable = 3; +} + +// Message for getting a specific Collector. +message GetCollectorRequest { + // Required. Name of the resource. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "rapidmigrationassessment.googleapis.com/Collector" + } + ]; +} + +// Message for deleting a Collector. +message DeleteCollectorRequest { + // Required. Name of the resource. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "rapidmigrationassessment.googleapis.com/Collector" + } + ]; + + // Optional. An optional request ID to identify requests. Specify a unique + // request ID so that if you must retry your request, the server will know to + // ignore the request if it has already been completed. The server will + // guarantee that for at least 60 minutes after the first request. + // + // For example, consider a situation where you make an initial request and + // the request times out. If you make the request again with the same request + // ID, the server can check if original operation with the same request ID + // was received, and if so, will ignore the second request. This prevents + // clients from accidentally creating duplicate commitments. + // + // The request ID must be a valid UUID with the exception that zero UUID is + // not supported (00000000-0000-0000-0000-000000000000). + string request_id = 2 [(google.api.field_behavior) = OPTIONAL]; +} + +// Message for updating a Collector. +message UpdateCollectorRequest { + // Required. Field mask is used to specify the fields to be overwritten in the + // Collector resource by the update. + // The fields specified in the update_mask are relative to the resource, not + // the full request. A field will be overwritten if it is in the mask. If the + // user does not provide a mask then all fields will be overwritten. + google.protobuf.FieldMask update_mask = 1 + [(google.api.field_behavior) = REQUIRED]; + + // Required. The resource being updated. + Collector collector = 2 [(google.api.field_behavior) = REQUIRED]; + + // Optional. An optional request ID to identify requests. Specify a unique + // request ID so that if you must retry your request, the server will know to + // ignore the request if it has already been completed. The server will + // guarantee that for at least 60 minutes since the first request. + // + // For example, consider a situation where you make an initial request and + // the request times out. If you make the request again with the same request + // ID, the server can check if original operation with the same request ID + // was received, and if so, will ignore the second request. This prevents + // clients from accidentally creating duplicate commitments. + // + // The request ID must be a valid UUID with the exception that zero UUID is + // not supported (00000000-0000-0000-0000-000000000000). + string request_id = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// Message for resuming a Collector. +message ResumeCollectorRequest { + // Required. Name of the resource. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "rapidmigrationassessment.googleapis.com/Collector" + } + ]; + + // Optional. An optional request ID to identify requests. Specify a unique + // request ID so that if you must retry your request, the server will know to + // ignore the request if it has already been completed. The server will + // guarantee that for at least 60 minutes after the first request. + // + // For example, consider a situation where you make an initial request and + // the request times out. If you make the request again with the same request + // ID, the server can check if original operation with the same request ID + // was received, and if so, will ignore the second request. This prevents + // clients from accidentally creating duplicate commitments. + // + // The request ID must be a valid UUID with the exception that zero UUID is + // not supported (00000000-0000-0000-0000-000000000000). + string request_id = 2 [(google.api.field_behavior) = OPTIONAL]; +} + +// Message for registering a Collector. +message RegisterCollectorRequest { + // Required. Name of the resource. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "rapidmigrationassessment.googleapis.com/Collector" + } + ]; + + // Optional. An optional request ID to identify requests. Specify a unique + // request ID so that if you must retry your request, the server will know to + // ignore the request if it has already been completed. The server will + // guarantee that for at least 60 minutes after the first request. + // + // For example, consider a situation where you make an initial request and + // the request times out. If you make the request again with the same request + // ID, the server can check if original operation with the same request ID + // was received, and if so, will ignore the second request. This prevents + // clients from accidentally creating duplicate commitments. + // + // The request ID must be a valid UUID with the exception that zero UUID is + // not supported (00000000-0000-0000-0000-000000000000). + string request_id = 2 [(google.api.field_behavior) = OPTIONAL]; +} + +// Message for pausing a Collector. +message PauseCollectorRequest { + // Required. Name of the resource. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "rapidmigrationassessment.googleapis.com/Collector" + } + ]; + + // Optional. An optional request ID to identify requests. Specify a unique + // request ID so that if you must retry your request, the server will know to + // ignore the request if it has already been completed. The server will + // guarantee that for at least 60 minutes after the first request. + // + // For example, consider a situation where you make an initial request and + // the request times out. If you make the request again with the same request + // ID, the server can check if original operation with the same request ID + // was received, and if so, will ignore the second request. This prevents + // clients from accidentally creating duplicate commitments. + // + // The request ID must be a valid UUID with the exception that zero UUID is + // not supported (00000000-0000-0000-0000-000000000000). + string request_id = 2 [(google.api.field_behavior) = OPTIONAL]; +} + +// 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_message = 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 requested_cancellation = 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/rapidmigrationassessment/v1/rapidmigrationassessment_v1.yaml b/third_party/googleapis/google/cloud/rapidmigrationassessment/v1/rapidmigrationassessment_v1.yaml new file mode 100644 index 000000000..5e6c8e8d7 --- /dev/null +++ b/third_party/googleapis/google/cloud/rapidmigrationassessment/v1/rapidmigrationassessment_v1.yaml @@ -0,0 +1,101 @@ +type: google.api.Service +config_version: 3 +name: rapidmigrationassessment.googleapis.com +title: Rapid Migration Assessment API + +apis: +- name: google.cloud.location.Locations +- name: google.cloud.rapidmigrationassessment.v1.RapidMigrationAssessment +- name: google.longrunning.Operations + +types: +- name: google.cloud.rapidmigrationassessment.v1.OperationMetadata + +documentation: + summary: |- + The Rapid Migration Assessment service is our first-party migration + assessment and planning tool. + 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. + +http: + rules: + - selector: google.cloud.location.Locations.GetLocation + get: '/v1/{name=projects/*/locations/*}' + - selector: google.cloud.location.Locations.ListLocations + get: '/v1/{name=projects/*}/locations' + - selector: google.longrunning.Operations.CancelOperation + post: '/v1/{name=projects/*/locations/*/operations/*}:cancel' + body: '*' + - selector: google.longrunning.Operations.DeleteOperation + delete: '/v1/{name=projects/*/locations/*/operations/*}' + - selector: google.longrunning.Operations.GetOperation + get: '/v1/{name=projects/*/locations/*/operations/*}' + - selector: google.longrunning.Operations.ListOperations + get: '/v1/{name=projects/*/locations/*}/operations' + +authentication: + rules: + - 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.cloud.rapidmigrationassessment.v1.RapidMigrationAssessment.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + - selector: 'google.longrunning.Operations.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + +publishing: + new_issue_uri: https://issuetracker.google.com/issues/new?component=1360914 + documentation_uri: https://cloud.google.com/migration-center/docs + api_short_name: rapidmigrationassessment + github_label: 'api: rapidmigrationassessment' + doc_tag_prefix: rapidmigrationassessment + organization: CLOUD + library_settings: + - version: google.cloud.rapidmigrationassessment.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 diff --git a/third_party/googleapis/google/cloud/rapidmigrationassessment/v1/rapidmigrationassessment_v1_grpc_service_config.json b/third_party/googleapis/google/cloud/rapidmigrationassessment/v1/rapidmigrationassessment_v1_grpc_service_config.json new file mode 100644 index 000000000..d4764d600 --- /dev/null +++ b/third_party/googleapis/google/cloud/rapidmigrationassessment/v1/rapidmigrationassessment_v1_grpc_service_config.json @@ -0,0 +1,62 @@ +{ + "methodConfig": [{ + "name": [ + { + "service": "google.cloud.rapidmigrationassessment.v1.RapidMigrationAssessment", + "method": "GetAnnotation" + }, + { + "service": "google.cloud.rapidmigrationassessment.v1.RapidMigrationAssessment", + "method": "GetCollector" + }, + { + "service": "google.cloud.rapidmigrationassessment.v1.RapidMigrationAssessment", + "method": "ListCollectors" + } + ], + "timeout": "60s", + "retryPolicy": { + "maxAttempts": 5, + "initialBackoff": "1s", + "maxBackoff": "10s", + "backoffMultiplier": 1.3, + "retryableStatusCodes": [ + "UNAVAILABLE", + "DEADLINE_EXCEEDED" + ] + } + }, + { + "name": [ + { + "service": "google.cloud.rapidmigrationassessment.v1.RapidMigrationAssessment", + "method": "CreateAnnotation" + }, + { + "service": "google.cloud.rapidmigrationassessment.v1.RapidMigrationAssessment", + "method": "CreateCollector" + }, + { + "service": "google.cloud.rapidmigrationassessment.v1.RapidMigrationAssessment", + "method": "UpdateCollector" + }, + { + "service": "google.cloud.rapidmigrationassessment.v1.RapidMigrationAssessment", + "method": "DeleteCollector" + }, + { + "service": "google.cloud.rapidmigrationassessment.v1.RapidMigrationAssessment", + "method": "ResumeCollector" + }, + { + "service": "google.cloud.rapidmigrationassessment.v1.RapidMigrationAssessment", + "method": "RegisterCollector" + }, + { + "service": "google.cloud.rapidmigrationassessment.v1.RapidMigrationAssessment", + "method": "PauseCollector" + } + ], + "timeout": "60s" + }] +} \ No newline at end of file diff --git a/third_party/googleapis/google/cloud/redis/cluster/BUILD.bazel b/third_party/googleapis/google/cloud/redis/cluster/BUILD.bazel new file mode 100644 index 000000000..8b321957c --- /dev/null +++ b/third_party/googleapis/google/cloud/redis/cluster/BUILD.bazel @@ -0,0 +1,37 @@ +# This build file includes a target for the Ruby wrapper library for +# google-cloud-redis-cluster. + +# 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 redis-cluster. +# 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 = "cluster_ruby_wrapper", + srcs = ["//google/cloud/redis/cluster/v1:cluster_proto_with_info"], + extra_protoc_parameters = [ + "ruby-cloud-gem-name=google-cloud-redis-cluster", + "ruby-cloud-wrapper-of=v1:0.2", + "ruby-cloud-product-url=https://cloud.google.com/memorystore/docs/cluster" + ], + service_yaml = "//google/cloud/redis/cluster/v1:redis_v1.yaml", + transport = "grpc+rest", +) + +# Open Source package. +ruby_gapic_assembly_pkg( + name = "google-cloud-redis-cluster-ruby", + deps = [ + ":cluster_ruby_wrapper", + ], +) \ No newline at end of file diff --git a/third_party/googleapis/google/cloud/redis/cluster/v1/BUILD.bazel b/third_party/googleapis/google/cloud/redis/cluster/v1/BUILD.bazel new file mode 100644 index 000000000..598db7be7 --- /dev/null +++ b/third_party/googleapis/google/cloud/redis/cluster/v1/BUILD.bazel @@ -0,0 +1,388 @@ +# 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 = "cluster_proto", + srcs = [ + "cloud_redis_cluster.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//:any_proto", + "@com_google_protobuf//:empty_proto", + "@com_google_protobuf//:field_mask_proto", + "@com_google_protobuf//:timestamp_proto", + ], +) + +proto_library_with_info( + name = "cluster_proto_with_info", + deps = [ + ":cluster_proto", + "//google/cloud:common_resources_proto", + "//google/cloud/location:location_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 = "cluster_java_proto", + deps = [":cluster_proto"], +) + +java_grpc_library( + name = "cluster_java_grpc", + srcs = [":cluster_proto"], + deps = [":cluster_java_proto"], +) + +java_gapic_library( + name = "cluster_java_gapic", + srcs = [":cluster_proto_with_info"], + gapic_yaml = "redis_gapic.yaml", + grpc_service_config = "redis_cluster_v1_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "redis_v1.yaml", + test_deps = [ + "//google/cloud/location:location_java_grpc", + ":cluster_java_grpc", + ], + transport = "grpc+rest", + deps = [ + ":cluster_java_proto", + "//google/api:api_java_proto", + "//google/cloud/location:location_java_proto", + ], +) + +java_gapic_test( + name = "cluster_java_gapic_test_suite", + test_classes = [ + "com.google.cloud.redis.cluster.v1.CloudRedisClusterClientHttpJsonTest", + "com.google.cloud.redis.cluster.v1.CloudRedisClusterClientTest", + ], + runtime_deps = [":cluster_java_gapic_test"], +) + +# Open Source Packages +java_gapic_assembly_gradle_pkg( + name = "google-cloud-redis-cluster-v1-java", + include_samples = True, + transport = "grpc+rest", + deps = [ + ":cluster_java_gapic", + ":cluster_java_grpc", + ":cluster_java_proto", + ":cluster_proto", + ], +) + +############################################################################## +# Go +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "go_gapic_assembly_pkg", + "go_gapic_library", + "go_proto_library", +) + +go_proto_library( + name = "cluster_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "cloud.google.com/go/redis/cluster/apiv1/clusterpb", + protos = [":cluster_proto"], + deps = [ + "//google/api:annotations_go_proto", + "//google/longrunning:longrunning_go_proto", + ], +) + +go_gapic_library( + name = "cluster_go_gapic", + srcs = [":cluster_proto_with_info"], + grpc_service_config = "redis_cluster_v1_grpc_service_config.json", + importpath = "cloud.google.com/go/redis/cluster/apiv1;cluster", + metadata = True, + release_level = "beta", + rest_numeric_enums = True, + service_yaml = "redis_v1.yaml", + transport = "grpc+rest", + deps = [ + ":cluster_go_proto", + "//google/cloud/location:location_go_proto", + "//google/longrunning:longrunning_go_proto", + "@com_google_cloud_go_longrunning//:go_default_library", + "@com_google_cloud_go_longrunning//autogen:go_default_library", + "@io_bazel_rules_go//proto/wkt:any_go_proto", + ], +) + +# Open Source Packages +go_gapic_assembly_pkg( + name = "gapi-cloud-redis-cluster-v1-go", + deps = [ + ":cluster_go_gapic", + ":cluster_go_gapic_srcjar-metadata.srcjar", + ":cluster_go_gapic_srcjar-snippets.srcjar", + ":cluster_go_gapic_srcjar-test.srcjar", + ":cluster_go_proto", + ], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "py_gapic_assembly_pkg", + "py_gapic_library", + "py_test", +) + +py_gapic_library( + name = "cluster_py_gapic", + srcs = [":cluster_proto"], + grpc_service_config = "redis_cluster_v1_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "redis_v1.yaml", + transport = "grpc+rest", + deps = [ + ], + opt_args = [ + "python-gapic-namespace=google.cloud", + "python-gapic-name=redis_cluster", + ], +) + +py_test( + name = "cluster_py_gapic_test", + srcs = [ + "cluster_py_gapic_pytest.py", + "cluster_py_gapic_test.py", + ], + legacy_create_init = False, + deps = [":cluster_py_gapic"], +) + +# Open Source Packages +py_gapic_assembly_pkg( + name = "redis-cluster-v1-py", + deps = [ + ":cluster_py_gapic", + ], +) + +############################################################################## +# PHP +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "php_gapic_assembly_pkg", + "php_gapic_library", + "php_proto_library", +) + +php_proto_library( + name = "cluster_php_proto", + deps = [":cluster_proto"], +) + +php_gapic_library( + name = "cluster_php_gapic", + srcs = [":cluster_proto_with_info"], + grpc_service_config = "redis_cluster_v1_grpc_service_config.json", + migration_mode = "NEW_SURFACE_ONLY", + rest_numeric_enums = True, + service_yaml = "redis_v1.yaml", + transport = "grpc+rest", + deps = [ + ":cluster_php_proto", + ], +) + +# Open Source Packages +php_gapic_assembly_pkg( + name = "google-cloud-redis-cluster-v1-php", + deps = [ + ":cluster_php_gapic", + ":cluster_php_proto", + ], +) + +############################################################################## +# Node.js +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "nodejs_gapic_assembly_pkg", + "nodejs_gapic_library", +) + +nodejs_gapic_library( + name = "cluster_nodejs_gapic", + package_name = "@google-cloud/redis-cluster", + src = ":cluster_proto_with_info", + extra_protoc_parameters = ["metadata"], + grpc_service_config = "redis_cluster_v1_grpc_service_config.json", + package = "google.cloud.redis.cluster.v1", + rest_numeric_enums = True, + service_yaml = "redis_v1.yaml", + transport = "grpc+rest", + deps = [], +) + +nodejs_gapic_assembly_pkg( + name = "redis-cluster-v1-nodejs", + deps = [ + ":cluster_nodejs_gapic", + ":cluster_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 = "cluster_ruby_proto", + deps = [":cluster_proto"], +) + +ruby_grpc_library( + name = "cluster_ruby_grpc", + srcs = [":cluster_proto"], + deps = [":cluster_ruby_proto"], +) + +ruby_cloud_gapic_library( + name = "cluster_ruby_gapic", + srcs = [":cluster_proto_with_info"], + extra_protoc_parameters = [ + "ruby-cloud-gem-name=google-cloud-redis-cluster-v1", + "ruby-cloud-product-url=https://cloud.google.com/memorystore/docs/cluster" + ], + grpc_service_config = "redis_cluster_v1_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "redis_v1.yaml", + transport = "grpc+rest", + deps = [ + ":cluster_ruby_grpc", + ":cluster_ruby_proto", + ], +) + +# Open Source Packages +ruby_gapic_assembly_pkg( + name = "google-cloud-redis-cluster-v1-ruby", + deps = [ + ":cluster_ruby_gapic", + ":cluster_ruby_grpc", + ":cluster_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 = "cluster_csharp_proto", + deps = [":cluster_proto"], +) + +csharp_grpc_library( + name = "cluster_csharp_grpc", + srcs = [":cluster_proto"], + deps = [":cluster_csharp_proto"], +) + +csharp_gapic_library( + name = "cluster_csharp_gapic", + srcs = [":cluster_proto_with_info"], + common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json", + grpc_service_config = "redis_cluster_v1_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "redis_v1.yaml", + deps = [ + ":cluster_csharp_grpc", + ":cluster_csharp_proto", + ], +) + +# Open Source Packages +csharp_gapic_assembly_pkg( + name = "google-cloud-redis-cluster-v1-csharp", + deps = [ + ":cluster_csharp_gapic", + ":cluster_csharp_grpc", + ":cluster_csharp_proto", + ], +) + +############################################################################## +# C++ +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "cc_grpc_library", + "cc_proto_library", +) + +cc_proto_library( + name = "cluster_cc_proto", + deps = [":cluster_proto"], +) + +cc_grpc_library( + name = "cluster_cc_grpc", + srcs = [":cluster_proto"], + grpc_only = True, + deps = [":cluster_cc_proto"], +) diff --git a/third_party/googleapis/google/cloud/redis/cluster/v1/cloud_redis_cluster.proto b/third_party/googleapis/google/cloud/redis/cluster/v1/cloud_redis_cluster.proto new file mode 100644 index 000000000..483cb2192 --- /dev/null +++ b/third_party/googleapis/google/cloud/redis/cluster/v1/cloud_redis_cluster.proto @@ -0,0 +1,454 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF 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.redis.cluster.v1; + +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/any.proto"; +import "google/protobuf/empty.proto"; +import "google/protobuf/field_mask.proto"; +import "google/protobuf/timestamp.proto"; + +option go_package = "cloud.google.com/go/redis/cluster/apiv1/clusterpb;clusterpb"; +option java_multiple_files = true; +option java_outer_classname = "CloudRedisClusterProto"; +option java_package = "com.google.cloud.redis.cluster.v1"; +option ruby_package = "Google::Cloud::Redis::Cluster::V1"; + +// Configures and manages Cloud Memorystore for Redis clusters +// +// Google Cloud Memorystore for Redis Cluster +// +// The `redis.googleapis.com` service implements the Google Cloud Memorystore +// for Redis API and defines the following resource model for managing Redis +// clusters: +// * The service works with a collection of cloud projects, named: `/projects/*` +// * Each project has a collection of available locations, named: `/locations/*` +// * Each location has a collection of Redis clusters, named: `/clusters/*` +// * As such, Redis clusters are resources of the form: +// `/projects/{project_id}/locations/{location_id}/clusters/{instance_id}` +// +// Note that location_id must be a GCP `region`; for example: +// * `projects/redpepper-1290/locations/us-central1/clusters/my-redis` +// +// We use API version selector for Flex APIs +// * The versioning strategy is release-based versioning +// * Our backend CLH only deals with the superset version (called v1main) +// * Existing backend for Redis Gen1 and MRR is not touched. +// * More details in go/redis-flex-api-versioning +service CloudRedisCluster { + option (google.api.default_host) = "redis.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform"; + + // Lists all Redis clusters owned by a project in either the specified + // location (region) or all locations. + // + // The location should have the following format: + // + // * `projects/{project_id}/locations/{location_id}` + // + // If `location_id` is specified as `-` (wildcard), then all regions + // available to the project are queried, and the results are aggregated. + rpc ListClusters(ListClustersRequest) returns (ListClustersResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*}/clusters" + }; + option (google.api.method_signature) = "parent"; + } + + // Gets the details of a specific Redis cluster. + rpc GetCluster(GetClusterRequest) returns (Cluster) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/clusters/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Updates the metadata and configuration of a specific Redis cluster. + // + // Completed longrunning.Operation will contain the new cluster object + // in the response field. The returned operation is automatically deleted + // after a few hours, so there is no need to call DeleteOperation. + rpc UpdateCluster(UpdateClusterRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + patch: "/v1/{cluster.name=projects/*/locations/*/clusters/*}" + body: "cluster" + }; + option (google.api.method_signature) = "cluster,update_mask"; + option (google.longrunning.operation_info) = { + response_type: "Cluster" + metadata_type: "google.protobuf.Any" + }; + } + + // Deletes a specific Redis cluster. Cluster stops serving and data is + // deleted. + rpc DeleteCluster(DeleteClusterRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1/{name=projects/*/locations/*/clusters/*}" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "google.protobuf.Any" + }; + } + + // Creates a Redis cluster based on the specified properties. + // The creation is executed asynchronously and callers may check the returned + // operation to track its progress. Once the operation is completed the Redis + // cluster will be fully functional. The completed longrunning.Operation will + // contain the new cluster object in the response field. + // + // The returned operation is automatically deleted after a few hours, so there + // is no need to call DeleteOperation. + rpc CreateCluster(CreateClusterRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*}/clusters" + body: "cluster" + }; + option (google.api.method_signature) = "parent,cluster,cluster_id"; + option (google.longrunning.operation_info) = { + response_type: "Cluster" + metadata_type: "google.protobuf.Any" + }; + } +} + +// Available authorization mode of a Redis cluster. +enum AuthorizationMode { + // Not set. + AUTH_MODE_UNSPECIFIED = 0; + + // IAM basic authorization mode + AUTH_MODE_IAM_AUTH = 1; + + // Authorization disabled mode + AUTH_MODE_DISABLED = 2; +} + +// Available mode of in-transit encryption. +enum TransitEncryptionMode { + // In-transit encryption not set. + TRANSIT_ENCRYPTION_MODE_UNSPECIFIED = 0; + + // In-transit encryption disabled. + TRANSIT_ENCRYPTION_MODE_DISABLED = 1; + + // Use server managed encryption for in-transit encryption. + TRANSIT_ENCRYPTION_MODE_SERVER_AUTHENTICATION = 2; +} + +// Request for [CreateCluster][CloudRedis.CreateCluster]. +message CreateClusterRequest { + // Required. The resource name of the cluster location using the form: + // `projects/{project_id}/locations/{location_id}` + // where `location_id` refers to a GCP region. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "locations.googleapis.com/Location" + } + ]; + + // Required. The logical name of the Redis cluster in the customer project + // with the following restrictions: + // + // * Must contain only lowercase letters, numbers, and hyphens. + // * Must start with a letter. + // * Must be between 1-63 characters. + // * Must end with a number or a letter. + // * Must be unique within the customer project / location + string cluster_id = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The cluster that is to be created. + Cluster cluster = 3 [(google.api.field_behavior) = REQUIRED]; + + // Idempotent request UUID. + string request_id = 4; +} + +// Request for [ListClusters][CloudRedis.ListClusters]. +message ListClustersRequest { + // Required. The resource name of the cluster location using the form: + // `projects/{project_id}/locations/{location_id}` + // where `location_id` refers to a GCP region. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "locations.googleapis.com/Location" + } + ]; + + // The maximum number of items to return. + // + // If not specified, a default value of 1000 will be used by the service. + // Regardless of the page_size value, the response may include a partial list + // and a caller should only rely on response's + // [`next_page_token`][google.cloud.redis.cluster.v1.ListClustersResponse.next_page_token] + // to determine if there are more clusters left to be queried. + int32 page_size = 2; + + // The `next_page_token` value returned from a previous + // [ListClusters][CloudRedis.ListClusters] request, if any. + string page_token = 3; +} + +// Response for [ListClusters][CloudRedis.ListClusters]. +message ListClustersResponse { + // A list of Redis clusters in the project in the specified location, + // or across all locations. + // + // If the `location_id` in the parent field of the request is "-", all regions + // available to the project are queried, and the results aggregated. + // If in such an aggregated query a location is unavailable, a placeholder + // Redis entry is included in the response with the `name` field set to a + // value of the form + // `projects/{project_id}/locations/{location_id}/clusters/`- and the + // `status` field set to ERROR and `status_message` field set to "location not + // available for ListClusters". + repeated Cluster clusters = 1; + + // Token to retrieve the next page of results, or empty if there are no more + // results in the list. + string next_page_token = 2; + + // Locations that could not be reached. + repeated string unreachable = 3; +} + +// Request for [UpdateCluster][CloudRedis.UpdateCluster]. +message UpdateClusterRequest { + // Required. Mask of fields to update. At least one path must be supplied in + // this field. The elements of the repeated paths field may only include these + // fields from [Cluster][google.cloud.redis.cluster.v1.Cluster]: + // + // * `size_gb` + // * `replica_count` + google.protobuf.FieldMask update_mask = 1 + [(google.api.field_behavior) = REQUIRED]; + + // Required. Update description. + // Only fields specified in update_mask are updated. + Cluster cluster = 2 [(google.api.field_behavior) = REQUIRED]; + + // Idempotent request UUID. + string request_id = 3; +} + +// Request for [GetCluster][CloudRedis.GetCluster]. +message GetClusterRequest { + // Required. Redis cluster resource name using the form: + // `projects/{project_id}/locations/{location_id}/clusters/{cluster_id}` + // where `location_id` refers to a GCP region. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { type: "redis.googleapis.com/Cluster" } + ]; +} + +// Request for [DeleteCluster][CloudRedis.DeleteCluster]. +message DeleteClusterRequest { + // Required. Redis cluster resource name using the form: + // `projects/{project_id}/locations/{location_id}/clusters/{cluster_id}` + // where `location_id` refers to a GCP region. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { type: "redis.googleapis.com/Cluster" } + ]; + + // Idempotent request UUID. + string request_id = 2; +} + +// A cluster instance. +message Cluster { + option (google.api.resource) = { + type: "redis.googleapis.com/Cluster" + pattern: "projects/{project}/locations/{location}/clusters/{cluster}" + }; + + // Represents additional information about the state of the cluster. + message StateInfo { + // Represents information about an updating cluster. + message UpdateInfo { + // Target number of shards for redis cluster + optional int32 target_shard_count = 1; + + // Target number of replica nodes per shard. + optional int32 target_replica_count = 2; + } + + oneof info { + // Describes ongoing update on the cluster when cluster state is UPDATING. + UpdateInfo update_info = 1; + } + } + + // Represents the different states of a Redis cluster. + enum State { + // Not set. + STATE_UNSPECIFIED = 0; + + // Redis cluster is being created. + CREATING = 1; + + // Redis cluster has been created and is fully usable. + ACTIVE = 2; + + // Redis cluster configuration is being updated. + UPDATING = 3; + + // Redis cluster is being deleted. + DELETING = 4; + } + + // Required. Unique name of the resource in this scope including project and + // location using the form: + // `projects/{project_id}/locations/{location_id}/clusters/{cluster_id}` + string name = 1 [(google.api.field_behavior) = REQUIRED]; + + // Output only. The timestamp associated with the cluster creation request. + google.protobuf.Timestamp create_time = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The current state of this cluster. + // Can be CREATING, READY, UPDATING, DELETING and SUSPENDED + State state = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. System assigned, unique identifier for the cluster. + string uid = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Optional. The number of replica nodes per shard. + optional int32 replica_count = 8 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The authorization mode of the Redis cluster. + // If not provided, auth feature is disabled for the cluster. + AuthorizationMode authorization_mode = 11 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The in-transit encryption for the Redis cluster. + // If not provided, encryption is disabled for the cluster. + TransitEncryptionMode transit_encryption_mode = 12 + [(google.api.field_behavior) = OPTIONAL]; + + // Output only. Redis memory size in GB for the entire cluster. + optional int32 size_gb = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. Number of shards for the Redis cluster. + optional int32 shard_count = 14 [(google.api.field_behavior) = REQUIRED]; + + // Required. Each PscConfig configures the consumer network where IPs will + // be designated to the cluster for client access through Private Service + // Connect Automation. Currently, only one PscConfig is supported. + repeated PscConfig psc_configs = 15 [(google.api.field_behavior) = REQUIRED]; + + // Output only. Endpoints created on each given network, for Redis clients to + // connect to the cluster. Currently only one discovery endpoint is supported. + repeated DiscoveryEndpoint discovery_endpoints = 16 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. PSC connections for discovery of the cluster topology and + // accessing the cluster. + repeated PscConnection psc_connections = 17 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Additional information about the current state of the cluster. + StateInfo state_info = 18 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +message PscConfig { + // Required. The network where the IP address of the discovery endpoint will + // be reserved, in the form of + // projects/{network_project}/global/networks/{network_id}. + string network = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Endpoints on each network, for Redis clients to connect to the cluster. +message DiscoveryEndpoint { + // Output only. Address of the exposed Redis endpoint used by clients to + // connect to the service. The address could be either IP or hostname. + string address = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The port number of the exposed Redis endpoint. + int32 port = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Customer configuration for where the endpoint is created and + // accessed from. + PscConfig psc_config = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Details of consumer resources in a PSC connection. +message PscConnection { + // Output only. The PSC connection id of the forwarding rule connected to the + // service attachment. + string psc_connection_id = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The IP allocated on the consumer network for the PSC + // forwarding rule. + string address = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The URI of the consumer side forwarding rule. + // Example: + // projects/{projectNumOrId}/regions/us-east1/forwardingRules/{resourceId}. + string forwarding_rule = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The consumer project_id where the forwarding rule is created + // from. + string project_id = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The consumer network where the IP address resides, in the form of + // projects/{project_id}/global/networks/{network_id}. + string network = 5; +} + +// Pre-defined metadata fields. +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_message = 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 requested_cancellation = 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/redis/cluster/v1/redis_cluster_v1_grpc_service_config.json b/third_party/googleapis/google/cloud/redis/cluster/v1/redis_cluster_v1_grpc_service_config.json new file mode 100644 index 000000000..9ac066400 --- /dev/null +++ b/third_party/googleapis/google/cloud/redis/cluster/v1/redis_cluster_v1_grpc_service_config.json @@ -0,0 +1,33 @@ +{ + "methodConfig": [ + { + "name": [ + { + "service": "google.cloud.redis.cluster.v1.CloudRedisCluster", + "method": "ListClusters" + }, + { + "service": "google.cloud.redis.cluster.v1.CloudRedisCluster", + "method": "GetCluster" + }, + { + "service": "google.cloud.redis.cluster.v1.CloudRedisCluster", + "method": "CreateCluster" + }, + { + "service": "google.cloud.redis.cluster.v1.CloudRedisCluster", + "method": "UpdateCluster" + }, + { + "service": "google.cloud.redis.cluster.v1.CloudRedisCluster", + "method": "DeleteCluster" + }, + { + "service": "google.cloud.redis.cluster.v1.CloudRedisCluster", + "method": "GetClusterCertificateAuthority" + } + ], + "timeout": "600s" + } + ] +} diff --git a/third_party/googleapis/google/cloud/redis/cluster/v1/redis_gapic.yaml b/third_party/googleapis/google/cloud/redis/cluster/v1/redis_gapic.yaml new file mode 100644 index 000000000..9208def10 --- /dev/null +++ b/third_party/googleapis/google/cloud/redis/cluster/v1/redis_gapic.yaml @@ -0,0 +1,25 @@ +type: com.google.api.codegen.ConfigProto +config_schema_version: 2.0.0 +# A list of API interface configurations. +interfaces: +# The fully qualified name of the API interface. +- name: google.cloud.redis.cluster.v1.CloudRedisCluster + methods: + - name: CreateCluster + long_running: + initial_poll_delay_millis: 60000 # 1 minutes + poll_delay_multiplier: 1.5 + max_poll_delay_millis: 360000 # 6 minutes + total_poll_timeout_millis: 7200000 # 120 minutes + - name: UpdateCluster + long_running: + initial_poll_delay_millis: 60000 # 1 minutes + poll_delay_multiplier: 1.5 + max_poll_delay_millis: 360000 # 6 minutes + total_poll_timeout_millis: 7200000 # 120 minutes + - name: DeleteCluster + long_running: + initial_poll_delay_millis: 60000 # 1 minutes + poll_delay_multiplier: 1.5 + max_poll_delay_millis: 360000 # 6 minutes + total_poll_timeout_millis: 1200000 # 20 minutes diff --git a/third_party/googleapis/google/cloud/redis/cluster/v1/redis_v1.yaml b/third_party/googleapis/google/cloud/redis/cluster/v1/redis_v1.yaml new file mode 100644 index 000000000..2ada9e154 --- /dev/null +++ b/third_party/googleapis/google/cloud/redis/cluster/v1/redis_v1.yaml @@ -0,0 +1,106 @@ +type: google.api.Service +config_version: 3 +name: redis.googleapis.com +title: Google Cloud Memorystore for Redis API + +apis: +- name: google.cloud.location.Locations +- name: google.cloud.redis.cluster.v1.CloudRedisCluster +- name: google.longrunning.Operations + +types: +- name: google.cloud.redis.cluster.v1.OperationMetadata + +documentation: + summary: Creates and manages Redis instances on the Google Cloud Platform. + 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. + +http: + rules: + - selector: google.cloud.location.Locations.GetLocation + get: '/v1/{name=projects/*/locations/*}' + - selector: google.cloud.location.Locations.ListLocations + get: '/v1/{name=projects/*}/locations' + - selector: google.longrunning.Operations.CancelOperation + post: '/v1/{name=projects/*/locations/*/operations/*}:cancel' + - selector: google.longrunning.Operations.DeleteOperation + delete: '/v1/{name=projects/*/locations/*/operations/*}' + - selector: google.longrunning.Operations.GetOperation + get: '/v1/{name=projects/*/locations/*/operations/*}' + - selector: google.longrunning.Operations.ListOperations + get: '/v1/{name=projects/*/locations/*}/operations' + +authentication: + rules: + - 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.cloud.redis.cluster.v1.CloudRedisCluster.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + - selector: 'google.longrunning.Operations.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + +publishing: + new_issue_uri: https://issuetracker.google.com/issues/new?component=1288776&template=1161103 + documentation_uri: https://cloud.google.com/redis/docs + api_short_name: redis + github_label: 'api: redis' + doc_tag_prefix: redis + organization: CLOUD + library_settings: + - version: com.google.cloud.redis.cluster.v1 + launch_stage: GA + java_settings: + common: + destinations: + - PACKAGE_MANAGER + - GITHUB + cpp_settings: + common: + destinations: + - PACKAGE_MANAGER + - GITHUB + php_settings: + common: + destinations: + - PACKAGE_MANAGER + - GITHUB + python_settings: + common: + destinations: + - PACKAGE_MANAGER + - GITHUB + node_settings: + common: + destinations: + - PACKAGE_MANAGER + - GITHUB + dotnet_settings: + common: + destinations: + - PACKAGE_MANAGER + - GITHUB + ruby_settings: + common: + destinations: + - PACKAGE_MANAGER + - GITHUB + go_settings: + common: + destinations: + - PACKAGE_MANAGER + - GITHUB diff --git a/third_party/googleapis/google/cloud/redis/cluster/v1beta1/BUILD.bazel b/third_party/googleapis/google/cloud/redis/cluster/v1beta1/BUILD.bazel new file mode 100644 index 000000000..216671847 --- /dev/null +++ b/third_party/googleapis/google/cloud/redis/cluster/v1beta1/BUILD.bazel @@ -0,0 +1,386 @@ +# 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 = "cluster_proto", + srcs = [ + "cloud_redis_cluster.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//:any_proto", + "@com_google_protobuf//:empty_proto", + "@com_google_protobuf//:field_mask_proto", + "@com_google_protobuf//:timestamp_proto", + ], +) + +proto_library_with_info( + name = "cluster_proto_with_info", + deps = [ + ":cluster_proto", + "//google/cloud:common_resources_proto", + "//google/cloud/location:location_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 = "cluster_java_proto", + deps = [":cluster_proto"], +) + +java_grpc_library( + name = "cluster_java_grpc", + srcs = [":cluster_proto"], + deps = [":cluster_java_proto"], +) + +java_gapic_library( + name = "cluster_java_gapic", + srcs = [":cluster_proto_with_info"], + gapic_yaml = "redis_gapic.yaml", + grpc_service_config = "redis_cluster_v1beta1_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "redis_v1beta1.yaml", + test_deps = [ + "//google/cloud/location:location_java_grpc", + ":cluster_java_grpc", + ], + transport = "grpc+rest", + deps = [ + ":cluster_java_proto", + "//google/api:api_java_proto", + "//google/cloud/location:location_java_proto", + ], +) + +java_gapic_test( + name = "cluster_java_gapic_test_suite", + test_classes = [ + "com.google.cloud.redis.cluster.v1beta1.CloudRedisClusterClientHttpJsonTest", + "com.google.cloud.redis.cluster.v1beta1.CloudRedisClusterClientTest", + ], + runtime_deps = [":cluster_java_gapic_test"], +) + +# Open Source Packages +java_gapic_assembly_gradle_pkg( + name = "google-cloud-redis-cluster-v1beta1-java", + include_samples = True, + transport = "grpc+rest", + deps = [ + ":cluster_java_gapic", + ":cluster_java_grpc", + ":cluster_java_proto", + ":cluster_proto", + ], +) + +############################################################################## +# Go +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "go_gapic_assembly_pkg", + "go_gapic_library", + "go_proto_library", +) + +go_proto_library( + name = "cluster_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "cloud.google.com/go/redis/cluster/apiv1beta1/clusterpb", + protos = [":cluster_proto"], + deps = [ + "//google/api:annotations_go_proto", + "//google/longrunning:longrunning_go_proto", + ], +) + +go_gapic_library( + name = "cluster_go_gapic", + srcs = [":cluster_proto_with_info"], + grpc_service_config = "redis_cluster_v1beta1_grpc_service_config.json", + importpath = "cloud.google.com/go/redis/cluster/apiv1beta1;cluster", + metadata = True, + release_level = "beta", + rest_numeric_enums = True, + service_yaml = "redis_v1beta1.yaml", + transport = "grpc+rest", + deps = [ + ":cluster_go_proto", + "//google/cloud/location:location_go_proto", + "//google/longrunning:longrunning_go_proto", + "@com_google_cloud_go_longrunning//:go_default_library", + "@com_google_cloud_go_longrunning//autogen:go_default_library", + "@io_bazel_rules_go//proto/wkt:any_go_proto", + ], +) + +# Open Source Packages +go_gapic_assembly_pkg( + name = "gapi-cloud-redis-cluster-v1beta1-go", + deps = [ + ":cluster_go_gapic", + ":cluster_go_gapic_srcjar-metadata.srcjar", + ":cluster_go_gapic_srcjar-snippets.srcjar", + ":cluster_go_gapic_srcjar-test.srcjar", + ":cluster_go_proto", + ], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "py_gapic_assembly_pkg", + "py_gapic_library", + "py_test", +) + +py_gapic_library( + name = "cluster_py_gapic", + srcs = [":cluster_proto"], + grpc_service_config = "redis_cluster_v1beta1_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "redis_v1beta1.yaml", + transport = "grpc+rest", + deps = [ + ], + opt_args = [ + "python-gapic-namespace=google.cloud", + "python-gapic-name=redis_cluster", + ], +) + +py_test( + name = "cluster_py_gapic_test", + srcs = [ + "cluster_py_gapic_pytest.py", + "cluster_py_gapic_test.py", + ], + legacy_create_init = False, + deps = [":cluster_py_gapic"], +) + +# Open Source Packages +py_gapic_assembly_pkg( + name = "redis-cluster-v1beta1-py", + deps = [ + ":cluster_py_gapic", + ], +) + +############################################################################## +# PHP +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "php_gapic_assembly_pkg", + "php_gapic_library", + "php_proto_library", +) + +php_proto_library( + name = "cluster_php_proto", + deps = [":cluster_proto"], +) + +php_gapic_library( + name = "cluster_php_gapic", + srcs = [":cluster_proto_with_info"], + grpc_service_config = "redis_cluster_v1beta1_grpc_service_config.json", + migration_mode = "NEW_SURFACE_ONLY", + rest_numeric_enums = True, + service_yaml = "redis_v1beta1.yaml", + transport = "grpc+rest", + deps = [ + ":cluster_php_proto", + ], +) + +# Open Source Packages +php_gapic_assembly_pkg( + name = "google-cloud-redis-cluster-v1beta1-php", + deps = [ + ":cluster_php_gapic", + ":cluster_php_proto", + ], +) + +############################################################################## +# Node.js +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "nodejs_gapic_assembly_pkg", + "nodejs_gapic_library", +) + +nodejs_gapic_library( + name = "cluster_nodejs_gapic", + package_name = "@google-cloud/redis-cluster", + src = ":cluster_proto_with_info", + extra_protoc_parameters = ["metadata"], + grpc_service_config = "redis_cluster_v1beta1_grpc_service_config.json", + package = "google.cloud.redis.cluster.v1beta1", + rest_numeric_enums = True, + service_yaml = "redis_v1beta1.yaml", + transport = "grpc+rest", + deps = [], +) + +nodejs_gapic_assembly_pkg( + name = "redis-cluster-v1beta1-nodejs", + deps = [ + ":cluster_nodejs_gapic", + ":cluster_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 = "cluster_ruby_proto", + deps = [":cluster_proto"], +) + +ruby_grpc_library( + name = "cluster_ruby_grpc", + srcs = [":cluster_proto"], + deps = [":cluster_ruby_proto"], +) + +ruby_cloud_gapic_library( + name = "cluster_ruby_gapic", + srcs = [":cluster_proto_with_info"], + extra_protoc_parameters = ["ruby-cloud-gem-name=google-cloud-redis-cluster-v1beta1"], + grpc_service_config = "redis_cluster_v1beta1_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "redis_v1beta1.yaml", + transport = "grpc+rest", + deps = [ + ":cluster_ruby_grpc", + ":cluster_ruby_proto", + ], +) + +# Open Source Packages +ruby_gapic_assembly_pkg( + name = "google-cloud-redis-cluster-v1beta1-ruby", + deps = [ + ":cluster_ruby_gapic", + ":cluster_ruby_grpc", + ":cluster_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 = "cluster_csharp_proto", + extra_opts = [], + deps = [":cluster_proto"], +) + +csharp_grpc_library( + name = "cluster_csharp_grpc", + srcs = [":cluster_proto"], + deps = [":cluster_csharp_proto"], +) + +csharp_gapic_library( + name = "cluster_csharp_gapic", + srcs = [":cluster_proto_with_info"], + common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json", + grpc_service_config = "redis_cluster_v1beta1_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "redis_v1beta1.yaml", + deps = [ + ":cluster_csharp_grpc", + ":cluster_csharp_proto", + ], +) + +# Open Source Packages +csharp_gapic_assembly_pkg( + name = "google-cloud-redis-cluster-v1beta1-csharp", + deps = [ + ":cluster_csharp_gapic", + ":cluster_csharp_grpc", + ":cluster_csharp_proto", + ], +) + +############################################################################## +# C++ +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "cc_grpc_library", + "cc_proto_library", +) + +cc_proto_library( + name = "cluster_cc_proto", + deps = [":cluster_proto"], +) + +cc_grpc_library( + name = "cluster_cc_grpc", + srcs = [":cluster_proto"], + grpc_only = True, + deps = [":cluster_cc_proto"], +) diff --git a/third_party/googleapis/google/cloud/redis/cluster/v1beta1/cloud_redis_cluster.proto b/third_party/googleapis/google/cloud/redis/cluster/v1beta1/cloud_redis_cluster.proto new file mode 100644 index 000000000..ee0c01c6c --- /dev/null +++ b/third_party/googleapis/google/cloud/redis/cluster/v1beta1/cloud_redis_cluster.proto @@ -0,0 +1,453 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF 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.redis.cluster.v1beta1; + +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/any.proto"; +import "google/protobuf/empty.proto"; +import "google/protobuf/field_mask.proto"; +import "google/protobuf/timestamp.proto"; + +option go_package = "cloud.google.com/go/redis/cluster/apiv1beta1/clusterpb;clusterpb"; +option java_multiple_files = true; +option java_outer_classname = "CloudRedisClusterProto"; +option java_package = "com.google.cloud.redis.cluster.v1beta1"; + +// Configures and manages Cloud Memorystore for Redis clusters +// +// Google Cloud Memorystore for Redis Cluster +// +// The `redis.googleapis.com` service implements the Google Cloud Memorystore +// for Redis API and defines the following resource model for managing Redis +// clusters: +// * The service works with a collection of cloud projects, named: `/projects/*` +// * Each project has a collection of available locations, named: `/locations/*` +// * Each location has a collection of Redis clusters, named: `/clusters/*` +// * As such, Redis clusters are resources of the form: +// `/projects/{project_id}/locations/{location_id}/clusters/{instance_id}` +// +// Note that location_id must be a GCP `region`; for example: +// * `projects/redpepper-1290/locations/us-central1/clusters/my-redis` +// +// We use API version selector for Flex APIs +// * The versioning strategy is release-based versioning +// * Our backend CLH only deals with the superset version (called v1main) +// * Existing backend for Redis Gen1 and MRR is not touched. +// * More details in go/redis-flex-api-versioning +service CloudRedisCluster { + option (google.api.default_host) = "redis.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform"; + + // Lists all Redis clusters owned by a project in either the specified + // location (region) or all locations. + // + // The location should have the following format: + // + // * `projects/{project_id}/locations/{location_id}` + // + // If `location_id` is specified as `-` (wildcard), then all regions + // available to the project are queried, and the results are aggregated. + rpc ListClusters(ListClustersRequest) returns (ListClustersResponse) { + option (google.api.http) = { + get: "/v1beta1/{parent=projects/*/locations/*}/clusters" + }; + option (google.api.method_signature) = "parent"; + } + + // Gets the details of a specific Redis cluster. + rpc GetCluster(GetClusterRequest) returns (Cluster) { + option (google.api.http) = { + get: "/v1beta1/{name=projects/*/locations/*/clusters/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Updates the metadata and configuration of a specific Redis cluster. + // + // Completed longrunning.Operation will contain the new cluster object + // in the response field. The returned operation is automatically deleted + // after a few hours, so there is no need to call DeleteOperation. + rpc UpdateCluster(UpdateClusterRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + patch: "/v1beta1/{cluster.name=projects/*/locations/*/clusters/*}" + body: "cluster" + }; + option (google.api.method_signature) = "cluster,update_mask"; + option (google.longrunning.operation_info) = { + response_type: "Cluster" + metadata_type: "google.protobuf.Any" + }; + } + + // Deletes a specific Redis cluster. Cluster stops serving and data is + // deleted. + rpc DeleteCluster(DeleteClusterRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1beta1/{name=projects/*/locations/*/clusters/*}" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "google.protobuf.Any" + }; + } + + // Creates a Redis cluster based on the specified properties. + // The creation is executed asynchronously and callers may check the returned + // operation to track its progress. Once the operation is completed the Redis + // cluster will be fully functional. The completed longrunning.Operation will + // contain the new cluster object in the response field. + // + // The returned operation is automatically deleted after a few hours, so there + // is no need to call DeleteOperation. + rpc CreateCluster(CreateClusterRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1beta1/{parent=projects/*/locations/*}/clusters" + body: "cluster" + }; + option (google.api.method_signature) = "parent,cluster,cluster_id"; + option (google.longrunning.operation_info) = { + response_type: "Cluster" + metadata_type: "google.protobuf.Any" + }; + } +} + +// Available authorization mode of a Redis cluster. +enum AuthorizationMode { + // Not set. + AUTH_MODE_UNSPECIFIED = 0; + + // IAM basic authorization mode + AUTH_MODE_IAM_AUTH = 1; + + // Authorization disabled mode + AUTH_MODE_DISABLED = 2; +} + +// Available mode of in-transit encryption. +enum TransitEncryptionMode { + // In-transit encryption not set. + TRANSIT_ENCRYPTION_MODE_UNSPECIFIED = 0; + + // In-transit encryption disabled. + TRANSIT_ENCRYPTION_MODE_DISABLED = 1; + + // Use server managed encryption for in-transit encryption. + TRANSIT_ENCRYPTION_MODE_SERVER_AUTHENTICATION = 2; +} + +// Request for [CreateCluster][CloudRedis.CreateCluster]. +message CreateClusterRequest { + // Required. The resource name of the cluster location using the form: + // `projects/{project_id}/locations/{location_id}` + // where `location_id` refers to a GCP region. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "locations.googleapis.com/Location" + } + ]; + + // Required. The logical name of the Redis cluster in the customer project + // with the following restrictions: + // + // * Must contain only lowercase letters, numbers, and hyphens. + // * Must start with a letter. + // * Must be between 1-63 characters. + // * Must end with a number or a letter. + // * Must be unique within the customer project / location + string cluster_id = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The cluster that is to be created. + Cluster cluster = 3 [(google.api.field_behavior) = REQUIRED]; + + // Idempotent request UUID. + string request_id = 4; +} + +// Request for [ListClusters][CloudRedis.ListClusters]. +message ListClustersRequest { + // Required. The resource name of the cluster location using the form: + // `projects/{project_id}/locations/{location_id}` + // where `location_id` refers to a GCP region. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "locations.googleapis.com/Location" + } + ]; + + // The maximum number of items to return. + // + // If not specified, a default value of 1000 will be used by the service. + // Regardless of the page_size value, the response may include a partial list + // and a caller should only rely on response's + // [`next_page_token`][google.cloud.redis.cluster.v1beta1.ListClustersResponse.next_page_token] + // to determine if there are more clusters left to be queried. + int32 page_size = 2; + + // The `next_page_token` value returned from a previous + // [ListClusters][CloudRedis.ListClusters] request, if any. + string page_token = 3; +} + +// Response for [ListClusters][CloudRedis.ListClusters]. +message ListClustersResponse { + // A list of Redis clusters in the project in the specified location, + // or across all locations. + // + // If the `location_id` in the parent field of the request is "-", all regions + // available to the project are queried, and the results aggregated. + // If in such an aggregated query a location is unavailable, a placeholder + // Redis entry is included in the response with the `name` field set to a + // value of the form + // `projects/{project_id}/locations/{location_id}/clusters/`- and the + // `status` field set to ERROR and `status_message` field set to "location not + // available for ListClusters". + repeated Cluster clusters = 1; + + // Token to retrieve the next page of results, or empty if there are no more + // results in the list. + string next_page_token = 2; + + // Locations that could not be reached. + repeated string unreachable = 3; +} + +// Request for [UpdateCluster][CloudRedis.UpdateCluster]. +message UpdateClusterRequest { + // Required. Mask of fields to update. At least one path must be supplied in + // this field. The elements of the repeated paths field may only include these + // fields from [Cluster][google.cloud.redis.cluster.v1beta1.Cluster]: + // + // * `size_gb` + // * `replica_count` + google.protobuf.FieldMask update_mask = 1 + [(google.api.field_behavior) = REQUIRED]; + + // Required. Update description. + // Only fields specified in update_mask are updated. + Cluster cluster = 2 [(google.api.field_behavior) = REQUIRED]; + + // Idempotent request UUID. + string request_id = 3; +} + +// Request for [GetCluster][CloudRedis.GetCluster]. +message GetClusterRequest { + // Required. Redis cluster resource name using the form: + // `projects/{project_id}/locations/{location_id}/clusters/{cluster_id}` + // where `location_id` refers to a GCP region. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { type: "redis.googleapis.com/Cluster" } + ]; +} + +// Request for [DeleteCluster][CloudRedis.DeleteCluster]. +message DeleteClusterRequest { + // Required. Redis cluster resource name using the form: + // `projects/{project_id}/locations/{location_id}/clusters/{cluster_id}` + // where `location_id` refers to a GCP region. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { type: "redis.googleapis.com/Cluster" } + ]; + + // Idempotent request UUID. + string request_id = 2; +} + +// A cluster instance. +message Cluster { + option (google.api.resource) = { + type: "redis.googleapis.com/Cluster" + pattern: "projects/{project}/locations/{location}/clusters/{cluster}" + }; + + // Represents additional information about the state of the cluster. + message StateInfo { + // Represents information about an updating cluster. + message UpdateInfo { + // Target number of shards for redis cluster + optional int32 target_shard_count = 1; + + // Target number of replica nodes per shard. + optional int32 target_replica_count = 2; + } + + oneof info { + // Describes ongoing update on the cluster when cluster state is UPDATING. + UpdateInfo update_info = 1; + } + } + + // Represents the different states of a Redis cluster. + enum State { + // Not set. + STATE_UNSPECIFIED = 0; + + // Redis cluster is being created. + CREATING = 1; + + // Redis cluster has been created and is fully usable. + ACTIVE = 2; + + // Redis cluster configuration is being updated. + UPDATING = 3; + + // Redis cluster is being deleted. + DELETING = 4; + } + + // Required. Unique name of the resource in this scope including project and + // location using the form: + // `projects/{project_id}/locations/{location_id}/clusters/{cluster_id}` + string name = 1 [(google.api.field_behavior) = REQUIRED]; + + // Output only. The timestamp associated with the cluster creation request. + google.protobuf.Timestamp create_time = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The current state of this cluster. + // Can be CREATING, READY, UPDATING, DELETING and SUSPENDED + State state = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. System assigned, unique identifier for the cluster. + string uid = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Optional. The number of replica nodes per shard. + optional int32 replica_count = 8 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The authorization mode of the Redis cluster. + // If not provided, auth feature is disabled for the cluster. + AuthorizationMode authorization_mode = 11 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The in-transit encryption for the Redis cluster. + // If not provided, encryption is disabled for the cluster. + TransitEncryptionMode transit_encryption_mode = 12 + [(google.api.field_behavior) = OPTIONAL]; + + // Output only. Redis memory size in GB for the entire cluster. + optional int32 size_gb = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. Number of shards for the Redis cluster. + optional int32 shard_count = 14 [(google.api.field_behavior) = REQUIRED]; + + // Required. Each PscConfig configures the consumer network where IPs will + // be designated to the cluster for client access through Private Service + // Connect Automation. Currently, only one PscConfig is supported. + repeated PscConfig psc_configs = 15 [(google.api.field_behavior) = REQUIRED]; + + // Output only. Endpoints created on each given network, for Redis clients to + // connect to the cluster. Currently only one discovery endpoint is supported. + repeated DiscoveryEndpoint discovery_endpoints = 16 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. PSC connections for discovery of the cluster topology and + // accessing the cluster. + repeated PscConnection psc_connections = 17 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Additional information about the current state of the cluster. + StateInfo state_info = 18 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +message PscConfig { + // Required. The network where the IP address of the discovery endpoint will + // be reserved, in the form of + // projects/{network_project}/global/networks/{network_id}. + string network = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Endpoints on each network, for Redis clients to connect to the cluster. +message DiscoveryEndpoint { + // Output only. Address of the exposed Redis endpoint used by clients to + // connect to the service. The address could be either IP or hostname. + string address = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The port number of the exposed Redis endpoint. + int32 port = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Customer configuration for where the endpoint is created and + // accessed from. + PscConfig psc_config = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Details of consumer resources in a PSC connection. +message PscConnection { + // Output only. The PSC connection id of the forwarding rule connected to the + // service attachment. + string psc_connection_id = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The IP allocated on the consumer network for the PSC + // forwarding rule. + string address = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The URI of the consumer side forwarding rule. + // Example: + // projects/{projectNumOrId}/regions/us-east1/forwardingRules/{resourceId}. + string forwarding_rule = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The consumer project_id where the forwarding rule is created + // from. + string project_id = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The consumer network where the IP address resides, in the form of + // projects/{project_id}/global/networks/{network_id}. + string network = 5; +} + +// Pre-defined metadata fields. +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_message = 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 requested_cancellation = 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/redis/cluster/v1beta1/redis_cluster_v1beta1_grpc_service_config.json b/third_party/googleapis/google/cloud/redis/cluster/v1beta1/redis_cluster_v1beta1_grpc_service_config.json new file mode 100644 index 000000000..0c1dea046 --- /dev/null +++ b/third_party/googleapis/google/cloud/redis/cluster/v1beta1/redis_cluster_v1beta1_grpc_service_config.json @@ -0,0 +1,33 @@ +{ + "methodConfig": [ + { + "name": [ + { + "service": "google.cloud.redis.cluster.v1beta1.CloudRedisCluster", + "method": "ListClusters" + }, + { + "service": "google.cloud.redis.cluster.v1beta1.CloudRedisCluster", + "method": "GetCluster" + }, + { + "service": "google.cloud.redis.cluster.v1beta1.CloudRedisCluster", + "method": "CreateCluster" + }, + { + "service": "google.cloud.redis.cluster.v1beta1.CloudRedisCluster", + "method": "UpdateCluster" + }, + { + "service": "google.cloud.redis.cluster.v1beta1.CloudRedisCluster", + "method": "DeleteCluster" + }, + { + "service": "google.cloud.redis.cluster.v1beta1.CloudRedisCluster", + "method": "GetClusterCertificateAuthority" + } + ], + "timeout": "600s" + } + ] +} diff --git a/third_party/googleapis/google/cloud/redis/cluster/v1beta1/redis_gapic.yaml b/third_party/googleapis/google/cloud/redis/cluster/v1beta1/redis_gapic.yaml new file mode 100644 index 000000000..84875d079 --- /dev/null +++ b/third_party/googleapis/google/cloud/redis/cluster/v1beta1/redis_gapic.yaml @@ -0,0 +1,25 @@ +type: com.google.api.codegen.ConfigProto +config_schema_version: 2.0.0 +# A list of API interface configurations. +interfaces: +# The fully qualified name of the API interface. +- name: google.cloud.redis.cluster.v1beta1.CloudRedisCluster + methods: + - name: CreateCluster + long_running: + initial_poll_delay_millis: 60000 # 1 minutes + poll_delay_multiplier: 1.5 + max_poll_delay_millis: 360000 # 6 minutes + total_poll_timeout_millis: 7200000 # 120 minutes + - name: UpdateCluster + long_running: + initial_poll_delay_millis: 60000 # 1 minutes + poll_delay_multiplier: 1.5 + max_poll_delay_millis: 360000 # 6 minutes + total_poll_timeout_millis: 7200000 # 120 minutes + - name: DeleteCluster + long_running: + initial_poll_delay_millis: 60000 # 1 minutes + poll_delay_multiplier: 1.5 + max_poll_delay_millis: 360000 # 6 minutes + total_poll_timeout_millis: 1200000 # 20 minutes diff --git a/third_party/googleapis/google/cloud/redis/cluster/v1beta1/redis_v1beta1.yaml b/third_party/googleapis/google/cloud/redis/cluster/v1beta1/redis_v1beta1.yaml new file mode 100644 index 000000000..ddfdfb890 --- /dev/null +++ b/third_party/googleapis/google/cloud/redis/cluster/v1beta1/redis_v1beta1.yaml @@ -0,0 +1,63 @@ +type: google.api.Service +config_version: 3 +name: redis.googleapis.com +title: Google Cloud Memorystore for Redis API + +apis: +- name: google.cloud.location.Locations +- name: google.cloud.redis.cluster.v1beta1.CloudRedisCluster +- name: google.longrunning.Operations + +types: +- name: google.cloud.redis.cluster.v1beta1.OperationMetadata + +documentation: + summary: Creates and manages Redis instances on the Google Cloud Platform. + 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. + +http: + rules: + - selector: google.cloud.location.Locations.GetLocation + get: '/v1beta1/{name=projects/*/locations/*}' + - selector: google.cloud.location.Locations.ListLocations + get: '/v1beta1/{name=projects/*}/locations' + - selector: google.longrunning.Operations.CancelOperation + post: '/v1beta1/{name=projects/*/locations/*/operations/*}:cancel' + - selector: google.longrunning.Operations.DeleteOperation + delete: '/v1beta1/{name=projects/*/locations/*/operations/*}' + - selector: google.longrunning.Operations.GetOperation + get: '/v1beta1/{name=projects/*/locations/*/operations/*}' + - selector: google.longrunning.Operations.ListOperations + get: '/v1beta1/{name=projects/*/locations/*}/operations' + +authentication: + rules: + - 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.cloud.redis.cluster.v1beta1.CloudRedisCluster.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + - selector: 'google.longrunning.Operations.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + +publishing: + new_issue_uri: https://issuetracker.google.com/issues/new?component=1288776&template=1161103 + documentation_uri: https://cloud.google.com/redis/docs + api_short_name: redis + github_label: 'api: redis' + doc_tag_prefix: redis + organization: CLOUD diff --git a/third_party/googleapis/google/cloud/resourcemanager/v3/tag_holds.proto b/third_party/googleapis/google/cloud/resourcemanager/v3/tag_holds.proto new file mode 100644 index 000000000..15c446913 --- /dev/null +++ b/third_party/googleapis/google/cloud/resourcemanager/v3/tag_holds.proto @@ -0,0 +1,216 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF 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.resourcemanager.v3; + +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/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.ResourceManager.V3"; +option go_package = "cloud.google.com/go/resourcemanager/apiv3/resourcemanagerpb;resourcemanagerpb"; +option java_multiple_files = true; +option java_outer_classname = "TagHoldsProto"; +option java_package = "com.google.cloud.resourcemanager.v3"; +option php_namespace = "Google\\Cloud\\ResourceManager\\V3"; +option ruby_package = "Google::Cloud::ResourceManager::V3"; + +// Allow users to create and manage TagHolds for TagValues. TagHolds represent +// the use of a Tag Value that is not captured by TagBindings but +// should still block TagValue deletion (such as a reference in a policy +// condition). This service provides isolated failure domains by cloud location +// so that TagHolds can be managed in the same location as their usage. +service TagHolds { + option (google.api.default_host) = "cloudresourcemanager.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform," + "https://www.googleapis.com/auth/cloud-platform.read-only"; + + // Creates a TagHold. Returns ALREADY_EXISTS if a TagHold with the same + // resource and origin exists under the same TagValue. + rpc CreateTagHold(CreateTagHoldRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v3/{parent=tagValues/*}/tagHolds" + body: "tag_hold" + }; + option (google.api.method_signature) = "parent,tag_hold"; + option (google.longrunning.operation_info) = { + response_type: "TagHold" + metadata_type: "CreateTagHoldMetadata" + }; + } + + // Deletes a TagHold. + rpc DeleteTagHold(DeleteTagHoldRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v3/{name=tagValues/*/tagHolds/*}" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "DeleteTagHoldMetadata" + }; + } + + // Lists TagHolds under a TagValue. + rpc ListTagHolds(ListTagHoldsRequest) returns (ListTagHoldsResponse) { + option (google.api.http) = { + get: "/v3/{parent=tagValues/*}/tagHolds" + }; + option (google.api.method_signature) = "parent"; + } +} + +// A TagHold represents the use of a TagValue that is not captured by +// TagBindings. If a TagValue has any TagHolds, deletion will be blocked. +// This resource is intended to be created in the same cloud location as the +// `holder`. +message TagHold { + option (google.api.resource) = { + type: "cloudresourcemanager.googleapis.com/TagHold" + pattern: "tagValues/{tag_value}/tagHolds/{tag_hold}" + }; + + // Output only. The resource name of a TagHold. This is a String of the form: + // `tagValues/{tag-value-id}/tagHolds/{tag-hold-id}` + // (e.g. `tagValues/123/tagHolds/456`). This resource name is generated by + // the server. + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. The name of the resource where the TagValue is being used. Must + // be less than 200 characters. E.g. + // `//compute.googleapis.com/compute/projects/myproject/regions/us-east-1/instanceGroupManagers/instance-group` + string holder = 2 [(google.api.field_behavior) = REQUIRED]; + + // Optional. An optional string representing the origin of this request. This + // field should include human-understandable information to distinguish + // origins from each other. Must be less than 200 characters. E.g. + // `migs-35678234` + string origin = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A URL where an end user can learn more about removing this hold. + // E.g. + // `https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing` + string help_link = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Output only. The time this TagHold was created. + google.protobuf.Timestamp create_time = 5 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// The request message to create a TagHold. +message CreateTagHoldRequest { + // Required. The resource name of the TagHold's parent TagValue. Must be of + // the form: `tagValues/{tag-value-id}`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "cloudresourcemanager.googleapis.com/TagHold" + } + ]; + + // Required. The TagHold to be created. + TagHold tag_hold = 2 [(google.api.field_behavior) = REQUIRED]; + + // Optional. Set to true to perform the validations necessary for creating the + // resource, but not actually perform the action. + bool validate_only = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// Runtime operation information for creating a TagHold. +// (-- The metadata is currently empty, but may include information in the +// future. --) +message CreateTagHoldMetadata {} + +// The request message to delete a TagHold. +message DeleteTagHoldRequest { + // Required. The resource name of the TagHold to delete. Must be of the form: + // `tagValues/{tag-value-id}/tagHolds/{tag-hold-id}`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "cloudresourcemanager.googleapis.com/TagHold" + } + ]; + + // Optional. Set to true to perform the validations necessary for deleting the + // resource, but not actually perform the action. + bool validate_only = 2 [(google.api.field_behavior) = OPTIONAL]; +} + +// Runtime operation information for deleting a TagHold. +// (-- The metadata is currently empty, but may include information in the +// future. --) +message DeleteTagHoldMetadata {} + +// The request message for listing the TagHolds under a TagValue. +message ListTagHoldsRequest { + // Required. The resource name of the parent TagValue. Must be of the form: + // `tagValues/{tag-value-id}`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "cloudresourcemanager.googleapis.com/TagHold" + } + ]; + + // Optional. The maximum number of TagHolds to return in the response. The + // server allows a maximum of 300 TagHolds to return. If unspecified, the + // server will use 100 as the default. + int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A pagination token returned from a previous call to + // `ListTagHolds` that indicates where this listing should continue from. + string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Criteria used to select a subset of TagHolds parented by the + // TagValue to return. This field follows the syntax defined by aip.dev/160; + // the `holder` and `origin` fields are supported for filtering. Currently + // only `AND` syntax is supported. Some example queries are: + // + // * `holder = + // //compute.googleapis.com/compute/projects/myproject/regions/us-east-1/instanceGroupManagers/instance-group` + // * `origin = 35678234` + // * `holder = + // //compute.googleapis.com/compute/projects/myproject/regions/us-east-1/instanceGroupManagers/instance-group + // AND origin = 35678234` + string filter = 4 [(google.api.field_behavior) = OPTIONAL]; +} + +// The ListTagHolds response. +message ListTagHoldsResponse { + // A possibly paginated list of TagHolds. + repeated TagHold tag_holds = 1; + + // Pagination token. + // + // If the result set is too large to fit in a single response, this token + // is returned. It encodes the position of the current result cursor. + // Feeding this value into a new list request with the `page_token` parameter + // gives the next page of the results. + // + // When `next_page_token` is not filled in, there is no next page and + // the list returned is the last page in the result set. + // + // Pagination tokens have a limited lifetime. + string next_page_token = 2; +} diff --git a/third_party/googleapis/google/cloud/retail/v2/analytics_service.proto b/third_party/googleapis/google/cloud/retail/v2/analytics_service.proto new file mode 100644 index 000000000..2b1f0bce3 --- /dev/null +++ b/third_party/googleapis/google/cloud/retail/v2/analytics_service.proto @@ -0,0 +1,57 @@ +// Copyright 2021 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF 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.retail.v2; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/retail/v2/export_config.proto"; +import "google/longrunning/operations.proto"; + +option csharp_namespace = "Google.Cloud.Retail.V2"; +option go_package = "cloud.google.com/go/retail/apiv2/retailpb;retailpb"; +option java_multiple_files = true; +option java_outer_classname = "AnalyticsServiceProto"; +option java_package = "com.google.cloud.retail.v2"; +option objc_class_prefix = "RETAIL"; +option php_namespace = "Google\\Cloud\\Retail\\V2"; +option ruby_package = "Google::Cloud::Retail::V2"; + +// Service for managing & accessing retail search business metric. +// Retail recommendation business metric is currently not available. +service AnalyticsService { + option (google.api.default_host) = "retail.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform"; + + // Exports analytics metrics. + // + // `Operation.response` is of type `ExportAnalyticsMetricsResponse`. + // `Operation.metadata` is of type `ExportMetadata`. + rpc ExportAnalyticsMetrics(ExportAnalyticsMetricsRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v2/{catalog=projects/*/locations/*/catalogs/*}:exportAnalyticsMetrics" + body: "*" + }; + option (google.longrunning.operation_info) = { + response_type: "google.cloud.retail.v2.ExportAnalyticsMetricsResponse" + metadata_type: "google.cloud.retail.v2.ExportMetadata" + }; + } +} diff --git a/third_party/googleapis/google/cloud/retail/v2/export_config.proto b/third_party/googleapis/google/cloud/retail/v2/export_config.proto new file mode 100644 index 000000000..fe12c1fcd --- /dev/null +++ b/third_party/googleapis/google/cloud/retail/v2/export_config.proto @@ -0,0 +1,161 @@ +// Copyright 2021 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF 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.retail.v2; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/timestamp.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Cloud.Retail.V2"; +option go_package = "cloud.google.com/go/retail/apiv2/retailpb;retailpb"; +option java_multiple_files = true; +option java_outer_classname = "ExportConfigProto"; +option java_package = "com.google.cloud.retail.v2"; +option objc_class_prefix = "RETAIL"; +option php_namespace = "Google\\Cloud\\Retail\\V2"; +option ruby_package = "Google::Cloud::Retail::V2"; + +// The output configuration setting. +message OutputConfig { + // The Google Cloud Storage output destination configuration. + message GcsDestination { + // Required. The output uri prefix for saving output data to json files. + // Some mapping examples are as follows: + // output_uri_prefix sample output(assuming the object is foo.json) + // ======================== ============================================= + // gs://bucket/ gs://bucket/foo.json + // gs://bucket/folder/ gs://bucket/folder/foo.json + // gs://bucket/folder/item_ gs://bucket/folder/item_foo.json + string output_uri_prefix = 1 [(google.api.field_behavior) = REQUIRED]; + } + + // The BigQuery output destination configuration. + message BigQueryDestination { + // Required. The ID of a BigQuery Dataset. + string dataset_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The prefix of exported BigQuery tables. + string table_id_prefix = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. Describes the table type. The following values are supported: + // + // * `table`: A BigQuery native table. + // * `view`: A virtual table defined by a SQL query. + string table_type = 3 [(google.api.field_behavior) = REQUIRED]; + } + + // The configuration of destination for holding output data. + oneof destination { + // The Google Cloud Storage location where the output is to be written to. + GcsDestination gcs_destination = 1; + + // The BigQuery location where the output is to be written to. + BigQueryDestination bigquery_destination = 2; + } +} + +// Configuration of destination for Export related errors. +message ExportErrorsConfig { + // Required. Errors destination. + oneof destination { + // Google Cloud Storage path for import errors. This must be an empty, + // existing Cloud Storage bucket. Export errors will be written to a file in + // this bucket, one per line, as a JSON-encoded + // `google.rpc.Status` message. + string gcs_prefix = 1; + } +} + +// Request message for the `ExportAnalyticsMetrics` method. +message ExportAnalyticsMetricsRequest { + // Required. Full resource name of the parent catalog. + // Expected format: `projects/*/locations/*/catalogs/*` + string catalog = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The output location of the data. + OutputConfig output_config = 2 [(google.api.field_behavior) = REQUIRED]; + + // A filtering expression to specify restrictions on returned metrics. + // The expression is a sequence of terms. Each term applies a restriction to + // the returned metrics. Use this expression to restrict results to a + // specific time range. + // + // Currently we expect only one types of fields: + // + // * `timestamp`: This can be specified twice, once with a + // less than operator and once with a greater than operator. The + // `timestamp` restriction should result in one, contiguous, valid, + // `timestamp` range. + // + // Some examples of valid filters expressions: + // + // * Example 1: `timestamp > "2012-04-23T18:25:43.511Z" + // timestamp < "2012-04-23T18:30:43.511Z"` + // * Example 2: `timestamp > "2012-04-23T18:25:43.511Z"` + string filter = 3; +} + +// Metadata related to the progress of the Export operation. This is +// returned by the google.longrunning.Operation.metadata field. +message ExportMetadata { + // Operation create time. + google.protobuf.Timestamp create_time = 1; + + // Operation last update time. If the operation is done, this is also the + // finish time. + google.protobuf.Timestamp update_time = 2; +} + +// Response of the ExportAnalyticsMetricsRequest. If the long running +// operation was successful, then this message is returned by the +// google.longrunning.Operations.response field if the operation was successful. +message ExportAnalyticsMetricsResponse { + // A sample of errors encountered while processing the request. + repeated google.rpc.Status error_samples = 1; + + // This field is never set. + ExportErrorsConfig errors_config = 2; + + // Output result indicating where the data were exported to. + OutputResult output_result = 3; +} + +// Output result that stores the information about where the exported data is +// stored. +message OutputResult { + // The BigQuery location where the result is stored. + repeated BigQueryOutputResult bigquery_result = 1; + + // The Google Cloud Storage location where the result is stored. + repeated GcsOutputResult gcs_result = 2; +} + +// A BigQuery output result. +message BigQueryOutputResult { + // The ID of a BigQuery Dataset. + string dataset_id = 1; + + // The ID of a BigQuery Table. + string table_id = 2; +} + +// A Gcs output result. +message GcsOutputResult { + // The uri of Gcs output + string output_uri = 1; +} diff --git a/third_party/googleapis/google/cloud/retail/v2/model.proto b/third_party/googleapis/google/cloud/retail/v2/model.proto new file mode 100644 index 000000000..85b64fcea --- /dev/null +++ b/third_party/googleapis/google/cloud/retail/v2/model.proto @@ -0,0 +1,239 @@ +// Copyright 2021 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF 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.retail.v2; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/retail/v2/common.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.Retail.V2"; +option go_package = "cloud.google.com/go/retail/apiv2/retailpb;retailpb"; +option java_multiple_files = true; +option java_outer_classname = "ModelProto"; +option java_package = "com.google.cloud.retail.v2"; +option objc_class_prefix = "RETAIL"; +option php_namespace = "Google\\Cloud\\Retail\\V2"; +option ruby_package = "Google::Cloud::Retail::V2"; + +// Metadata that describes the training and serving parameters of a +// [Model][google.cloud.retail.v2.Model]. A +// [Model][google.cloud.retail.v2.Model] can be associated with a +// [ServingConfig][google.cloud.retail.v2.ServingConfig] and then queried +// through the Predict API. +message Model { + option (google.api.resource) = { + type: "retail.googleapis.com/Model" + pattern: "projects/{project}/locations/{location}/catalogs/{catalog}/models/{model}" + }; + + // Represents an ordered combination of valid serving configs, which + // can be used for `PAGE_OPTIMIZATION` recommendations. + message ServingConfigList { + // Optional. A set of valid serving configs that may be used for + // `PAGE_OPTIMIZATION`. + repeated string serving_config_ids = 1 + [(google.api.field_behavior) = OPTIONAL]; + } + + // The serving state of the model. + enum ServingState { + // Unspecified serving state. + SERVING_STATE_UNSPECIFIED = 0; + + // The model is not serving. + INACTIVE = 1; + + // The model is serving and can be queried. + ACTIVE = 2; + + // The model is trained on tuned hyperparameters and can be + // queried. + TUNED = 3; + } + + // The training state of the model. + enum TrainingState { + // Unspecified training state. + TRAINING_STATE_UNSPECIFIED = 0; + + // The model training is paused. + PAUSED = 1; + + // The model is training. + TRAINING = 2; + } + + // Describes whether periodic tuning is enabled for this model + // or not. Periodic tuning is scheduled at most every three months. You can + // start a tuning process manually by using the `TuneModel` + // method, which starts a tuning process immediately and resets the quarterly + // schedule. Enabling or disabling periodic tuning does not affect any + // current tuning processes. + enum PeriodicTuningState { + // Unspecified default value, should never be explicitly set. + PERIODIC_TUNING_STATE_UNSPECIFIED = 0; + + // The model has periodic tuning disabled. Tuning + // can be reenabled by calling the `EnableModelPeriodicTuning` + // method or by calling the `TuneModel` method. + PERIODIC_TUNING_DISABLED = 1; + + // The model cannot be tuned with periodic tuning OR the + // `TuneModel` method. Hide the options in customer UI and + // reject any requests through the backend self serve API. + ALL_TUNING_DISABLED = 3; + + // The model has periodic tuning enabled. Tuning + // can be disabled by calling the `DisableModelPeriodicTuning` + // method. + PERIODIC_TUNING_ENABLED = 2; + } + + // Describes whether this model have sufficient training data + // to be continuously trained. + enum DataState { + // Unspecified default value, should never be explicitly set. + DATA_STATE_UNSPECIFIED = 0; + + // The model has sufficient training data. + DATA_OK = 1; + + // The model does not have sufficient training data. Error + // messages can be queried via Stackdriver. + DATA_ERROR = 2; + } + + // Required. The fully qualified resource name of the model. + // + // Format: + // `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/models/{model_id}` + // catalog_id has char limit of 50. + // recommendation_model_id has char limit of 40. + string name = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The display name of the model. + // + // Should be human readable, used to display Recommendation Models in the + // Retail Cloud Console Dashboard. UTF-8 encoded string with limit of 1024 + // characters. + string display_name = 2 [(google.api.field_behavior) = REQUIRED]; + + // Optional. The training state that the model is in (e.g. + // `TRAINING` or `PAUSED`). + // + // Since part of the cost of running the service + // is frequency of training - this can be used to determine when to train + // model in order to control cost. If not specified: the default value for + // `CreateModel` method is `TRAINING`. The default value for + // `UpdateModel` method is to keep the state the same as before. + TrainingState training_state = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Output only. The serving state of the model: `ACTIVE`, `NOT_ACTIVE`. + ServingState serving_state = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Timestamp the Recommendation Model was created at. + google.protobuf.Timestamp create_time = 5 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Timestamp the Recommendation Model was last updated. E.g. + // if a Recommendation Model was paused - this would be the time the pause was + // initiated. + google.protobuf.Timestamp update_time = 6 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. The type of model e.g. `home-page`. + // + // Currently supported values: `recommended-for-you`, `others-you-may-like`, + // `frequently-bought-together`, `page-optimization`, `similar-items`, + // `buy-it-again`, `on-sale-items`, and `recently-viewed`(readonly value). + // + // + // This field together with + // [optimization_objective][google.cloud.retail.v2.Model.optimization_objective] + // describe model metadata to use to control model training and serving. + // See https://cloud.google.com/retail/docs/models + // for more details on what the model metadata control and which combination + // of parameters are valid. For invalid combinations of parameters (e.g. type + // = `frequently-bought-together` and optimization_objective = `ctr`), you + // receive an error 400 if you try to create/update a recommendation with + // this set of knobs. + string type = 7 [(google.api.field_behavior) = REQUIRED]; + + // Optional. The optimization objective e.g. `cvr`. + // + // Currently supported + // values: `ctr`, `cvr`, `revenue-per-order`. + // + // If not specified, we choose default based on model type. + // Default depends on type of recommendation: + // + // `recommended-for-you` => `ctr` + // + // `others-you-may-like` => `ctr` + // + // `frequently-bought-together` => `revenue_per_order` + // + // This field together with + // [optimization_objective][google.cloud.retail.v2.Model.type] + // describe model metadata to use to control model training and serving. + // See https://cloud.google.com/retail/docs/models + // for more details on what the model metadata control and which combination + // of parameters are valid. For invalid combinations of parameters (e.g. type + // = `frequently-bought-together` and optimization_objective = `ctr`), you + // receive an error 400 if you try to create/update a recommendation with + // this set of knobs. + string optimization_objective = 8 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The state of periodic tuning. + // + // The period we use is 3 months - to do a + // one-off tune earlier use the `TuneModel` method. Default value + // is `PERIODIC_TUNING_ENABLED`. + PeriodicTuningState periodic_tuning_state = 11 + [(google.api.field_behavior) = OPTIONAL]; + + // Output only. The timestamp when the latest successful tune finished. + google.protobuf.Timestamp last_tune_time = 12 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The tune operation associated with the model. + // + // Can be used to determine if there is an ongoing tune for this + // recommendation. Empty field implies no tune is goig on. + string tuning_operation = 15 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The state of data requirements for this model: `DATA_OK` and + // `DATA_ERROR`. + // + // Recommendation model cannot be trained if the data is in + // `DATA_ERROR` state. Recommendation model can have `DATA_ERROR` state even + // if serving state is `ACTIVE`: models were trained successfully before, but + // cannot be refreshed because model no longer has sufficient + // data for training. + DataState data_state = 16 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Optional. If `RECOMMENDATIONS_FILTERING_ENABLED`, recommendation filtering + // by attributes is enabled for the model. + RecommendationsFilteringOption filtering_option = 18 + [(google.api.field_behavior) = OPTIONAL]; + + // Output only. The list of valid serving configs associated with the + // PageOptimizationConfig. + repeated ServingConfigList serving_config_lists = 19 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/cloud/retail/v2/model_service.proto b/third_party/googleapis/google/cloud/retail/v2/model_service.proto new file mode 100644 index 000000000..488cf8d74 --- /dev/null +++ b/third_party/googleapis/google/cloud/retail/v2/model_service.proto @@ -0,0 +1,262 @@ +// Copyright 2021 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF 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.retail.v2; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/retail/v2/model.proto"; +import "google/longrunning/operations.proto"; +import "google/protobuf/empty.proto"; +import "google/protobuf/field_mask.proto"; + +option csharp_namespace = "Google.Cloud.Retail.V2"; +option go_package = "cloud.google.com/go/retail/apiv2/retailpb;retailpb"; +option java_multiple_files = true; +option java_outer_classname = "ModelServiceProto"; +option java_package = "com.google.cloud.retail.v2"; +option objc_class_prefix = "RETAIL"; +option php_namespace = "Google\\Cloud\\Retail\\V2"; +option ruby_package = "Google::Cloud::Retail::V2"; + +// Service for performing CRUD operations on models. +// Recommendation models contain all the metadata necessary to generate a set of +// models for the `Predict()` API. A model is queried +// indirectly via a ServingConfig, which associates a model with a +// given Placement (e.g. Frequently Bought Together on Home Page). +// +// This service allows you to do the following: +// +// * Initiate training of a model. +// * Pause training of an existing model. +// * List all the available models along with their metadata. +// * Control their tuning schedule. +service ModelService { + option (google.api.default_host) = "retail.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform"; + + // Creates a new model. + rpc CreateModel(CreateModelRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v2/{parent=projects/*/locations/*/catalogs/*}/models" + body: "model" + }; + option (google.api.method_signature) = "parent,model"; + option (google.longrunning.operation_info) = { + response_type: "google.cloud.retail.v2.Model" + metadata_type: "google.cloud.retail.v2.CreateModelMetadata" + }; + } + + // Gets a model. + rpc GetModel(GetModelRequest) returns (Model) { + option (google.api.http) = { + get: "/v2/{name=projects/*/locations/*/catalogs/*/models/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Pauses the training of an existing model. + rpc PauseModel(PauseModelRequest) returns (Model) { + option (google.api.http) = { + post: "/v2/{name=projects/*/locations/*/catalogs/*/models/*}:pause" + body: "*" + }; + option (google.api.method_signature) = "name"; + } + + // Resumes the training of an existing model. + rpc ResumeModel(ResumeModelRequest) returns (Model) { + option (google.api.http) = { + post: "/v2/{name=projects/*/locations/*/catalogs/*/models/*}:resume" + body: "*" + }; + option (google.api.method_signature) = "name"; + } + + // Deletes an existing model. + rpc DeleteModel(DeleteModelRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + delete: "/v2/{name=projects/*/locations/*/catalogs/*/models/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Lists all the models linked to this event store. + rpc ListModels(ListModelsRequest) returns (ListModelsResponse) { + option (google.api.http) = { + get: "/v2/{parent=projects/*/locations/*/catalogs/*}/models" + }; + option (google.api.method_signature) = "parent"; + } + + // Update of model metadata. Only fields that + // currently can be updated are: `filtering_option` and + // `periodic_tuning_state`. + // If other values are provided, this API method ignores them. + rpc UpdateModel(UpdateModelRequest) returns (Model) { + option (google.api.http) = { + patch: "/v2/{model.name=projects/*/locations/*/catalogs/*/models/*}" + body: "model" + }; + option (google.api.method_signature) = "model,update_mask"; + } + + // Tunes an existing model. + rpc TuneModel(TuneModelRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v2/{name=projects/*/locations/*/catalogs/*/models/*}:tune" + body: "*" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "google.cloud.retail.v2.TuneModelResponse" + metadata_type: "google.cloud.retail.v2.TuneModelMetadata" + }; + } +} + +// Request for creating a model. +message CreateModelRequest { + // Required. The parent resource under which to create the model. Format: + // `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { type: "retail.googleapis.com/Catalog" } + ]; + + // Required. The payload of the [Model][google.cloud.retail.v2.Model] to + // create. + Model model = 2 [(google.api.field_behavior) = REQUIRED]; + + // Optional. Whether to run a dry run to validate the request (without + // actually creating the model). + bool dry_run = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// Request for updating an existing model. +message UpdateModelRequest { + // Required. The body of the updated [Model][google.cloud.retail.v2.Model]. + Model model = 1 [(google.api.field_behavior) = REQUIRED]; + + // Optional. Indicates which fields in the provided 'model' to + // update. If not set, by default updates all fields. + google.protobuf.FieldMask update_mask = 2 + [(google.api.field_behavior) = OPTIONAL]; +} + +// Request for getting a model. +message GetModelRequest { + // Required. The resource name of the [Model][google.cloud.retail.v2.Model] to + // get. Format: + // `projects/{project_number}/locations/{location_id}/catalogs/{catalog}/models/{model_id}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { type: "retail.googleapis.com/Model" } + ]; +} + +// Request for pausing training of a model. +message PauseModelRequest { + // Required. The name of the model to pause. + // Format: + // `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/models/{model_id}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { type: "retail.googleapis.com/Model" } + ]; +} + +// Request for resuming training of a model. +message ResumeModelRequest { + // Required. The name of the model to resume. + // Format: + // `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/models/{model_id}` + string name = 1 [(google.api.field_behavior) = REQUIRED]; +} + +// Request for listing models associated with a resource. +message ListModelsRequest { + // Required. The parent for which to list models. + // Format: + // `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { type: "retail.googleapis.com/Catalog" } + ]; + + // Optional. Maximum number of results to return. If unspecified, defaults + // to 50. Max allowed value is 1000. + int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A page token, received from a previous `ListModels` + // call. Provide this to retrieve the subsequent page. + string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// Request for deleting a model. +message DeleteModelRequest { + // Required. The resource name of the [Model][google.cloud.retail.v2.Model] to + // delete. Format: + // `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/models/{model_id}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { type: "retail.googleapis.com/Model" } + ]; +} + +// Response to a ListModelRequest. +message ListModelsResponse { + // List of Models. + repeated Model models = 1; + + // Pagination token, if not returned indicates the last page. + string next_page_token = 2; +} + +// Request to manually start a tuning process now (instead of waiting for +// the periodically scheduled tuning to happen). +message TuneModelRequest { + // Required. The resource name of the model to tune. + // Format: + // `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/models/{model_id}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { type: "retail.googleapis.com/Model" } + ]; +} + +// Metadata associated with a create operation. +message CreateModelMetadata { + // The resource name of the model that this create applies to. + // Format: + // `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/models/{model_id}` + string model = 1; +} + +// Metadata associated with a tune operation. +message TuneModelMetadata { + // The resource name of the model that this tune applies to. + // Format: + // `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/models/{model_id}` + string model = 1; +} + +// Response associated with a tune operation. +message TuneModelResponse {} diff --git a/third_party/googleapis/google/cloud/retail/v2alpha/analytics_service.proto b/third_party/googleapis/google/cloud/retail/v2alpha/analytics_service.proto new file mode 100644 index 000000000..84df2cf9b --- /dev/null +++ b/third_party/googleapis/google/cloud/retail/v2alpha/analytics_service.proto @@ -0,0 +1,57 @@ +// Copyright 2021 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF 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.retail.v2alpha; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/retail/v2alpha/export_config.proto"; +import "google/longrunning/operations.proto"; + +option csharp_namespace = "Google.Cloud.Retail.V2Alpha"; +option go_package = "cloud.google.com/go/retail/apiv2alpha/retailpb;retailpb"; +option java_multiple_files = true; +option java_outer_classname = "AnalyticsServiceProto"; +option java_package = "com.google.cloud.retail.v2alpha"; +option objc_class_prefix = "RETAIL"; +option php_namespace = "Google\\Cloud\\Retail\\V2alpha"; +option ruby_package = "Google::Cloud::Retail::V2alpha"; + +// Service for managing & accessing retail search business metric. +// Retail recommendation business metric is currently not available. +service AnalyticsService { + option (google.api.default_host) = "retail.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform"; + + // Exports analytics metrics. + // + // `Operation.response` is of type `ExportAnalyticsMetricsResponse`. + // `Operation.metadata` is of type `ExportMetadata`. + rpc ExportAnalyticsMetrics(ExportAnalyticsMetricsRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v2alpha/{catalog=projects/*/locations/*/catalogs/*}:exportAnalyticsMetrics" + body: "*" + }; + option (google.longrunning.operation_info) = { + response_type: "google.cloud.retail.v2alpha.ExportAnalyticsMetricsResponse" + metadata_type: "google.cloud.retail.v2alpha.ExportMetadata" + }; + } +} diff --git a/third_party/googleapis/google/cloud/retail/v2alpha/merchant_center_account_link.proto b/third_party/googleapis/google/cloud/retail/v2alpha/merchant_center_account_link.proto new file mode 100644 index 000000000..5d8df7c8a --- /dev/null +++ b/third_party/googleapis/google/cloud/retail/v2alpha/merchant_center_account_link.proto @@ -0,0 +1,137 @@ +// Copyright 2021 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF 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.retail.v2alpha; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.Retail.V2Alpha"; +option go_package = "cloud.google.com/go/retail/apiv2alpha/retailpb;retailpb"; +option java_multiple_files = true; +option java_outer_classname = "MerchantCenterAccountLinkProto"; +option java_package = "com.google.cloud.retail.v2alpha"; +option objc_class_prefix = "RETAIL"; +option php_namespace = "Google\\Cloud\\Retail\\V2alpha"; +option ruby_package = "Google::Cloud::Retail::V2alpha"; + +// Represents a link between a Merchant Center account and a branch. +// Once a link is established, products from the linked merchant center account +// will be streamed to the linked branch. +message MerchantCenterAccountLink { + option (google.api.resource) = { + type: "retail.googleapis.com/MerchantCenterAccountLink" + pattern: "projects/{project}/locations/{location}/catalogs/{catalog}/merchantCenterAccountLinks/{merchant_center_account_link}" + }; + + // Merchant Center Feed filter criterion. + message MerchantCenterFeedFilter { + // Merchant Center primary feed ID. + int64 primary_feed_id = 1; + + // Merchant Center primary feed name. The name is used for the display + // purposes only. + string primary_feed_name = 2; + } + + // The state of the link. + enum State { + // Default value. + STATE_UNSPECIFIED = 0; + + // Link is created and LRO is not complete. + PENDING = 1; + + // Link is active. + ACTIVE = 2; + + // Link creation failed. + FAILED = 3; + } + + // Output only. Immutable. Full resource name of the Merchant Center Account + // Link, such as + // `projects/*/locations/global/catalogs/default_catalog/merchantCenterAccountLinks/merchant_center_account_link`. + string name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.field_behavior) = OUTPUT_ONLY + ]; + + // Output only. Immutable. + // [MerchantCenterAccountLink][google.cloud.retail.v2alpha.MerchantCenterAccountLink] + // identifier, which is the final component of + // [name][google.cloud.retail.v2alpha.MerchantCenterAccountLink.name]. This + // field is auto generated and follows the convention: + // `BranchId_MerchantCenterAccountId`. + // `projects/*/locations/global/catalogs/default_catalog/merchantCenterAccountLinks/id_1`. + string id = 8 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.field_behavior) = OUTPUT_ONLY + ]; + + // Required. The linked [Merchant center account + // id](https://developers.google.com/shopping-content/guides/accountstatuses). + // The account must be a standalone account or a sub-account of a MCA. + int64 merchant_center_account_id = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The branch id (e.g. 0/1/2) within the catalog that products from + // merchant_center_account_id are streamed to. When updating this field, an + // empty value will use the currently configured default branch. However, + // changing the default branch later on won't change the linked branch here. + // + // A single branch id can only have one linked merchant center account id. + string branch_id = 3 [(google.api.field_behavior) = REQUIRED]; + + // The FeedLabel used to perform filtering. + // Note: this replaces + // [region_id](https://developers.google.com/shopping-content/reference/rest/v2.1/products#Product.FIELDS.feed_label). + // + // Example value: `US`. + // Example value: `FeedLabel1`. + string feed_label = 4; + + // Language of the title/description and other string attributes. Use language + // tags defined by [BCP 47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt). + // ISO 639-1. + // + // This specifies the language of offers in Merchant Center that will be + // accepted. If empty, no language filtering will be performed. + // + // Example value: `en`. + string language_code = 5; + + // Criteria for the Merchant Center feeds to be ingested via the link. + // All offers will be ingested if the list is empty. + // Otherwise the offers will be ingested from selected feeds. + repeated MerchantCenterFeedFilter feed_filters = 6; + + // Output only. Represents the state of the link. + State state = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. GCP project ID. + string project_id = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Common metadata related to the progress of the operations. +message CreateMerchantCenterAccountLinkMetadata { + // Operation create time. + google.protobuf.Timestamp create_time = 1; + + // Operation last update time. If the operation is done, this is also the + // finish time. + google.protobuf.Timestamp update_time = 2; +} diff --git a/third_party/googleapis/google/cloud/retail/v2alpha/merchant_center_account_link_service.proto b/third_party/googleapis/google/cloud/retail/v2alpha/merchant_center_account_link_service.proto new file mode 100644 index 000000000..93704f004 --- /dev/null +++ b/third_party/googleapis/google/cloud/retail/v2alpha/merchant_center_account_link_service.proto @@ -0,0 +1,140 @@ +// Copyright 2021 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF 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.retail.v2alpha; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/retail/v2alpha/merchant_center_account_link.proto"; +import "google/longrunning/operations.proto"; +import "google/protobuf/empty.proto"; + +option csharp_namespace = "Google.Cloud.Retail.V2Alpha"; +option go_package = "cloud.google.com/go/retail/apiv2alpha/retailpb;retailpb"; +option java_multiple_files = true; +option java_outer_classname = "MerchantCenterAccountLinkServiceProto"; +option java_package = "com.google.cloud.retail.v2alpha"; +option objc_class_prefix = "RETAIL"; +option php_namespace = "Google\\Cloud\\Retail\\V2alpha"; +option ruby_package = "Google::Cloud::Retail::V2alpha"; + +// Merchant Center Link service to link a Branch to a Merchant Center Account. +service MerchantCenterAccountLinkService { + option (google.api.default_host) = "retail.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform"; + + // Lists all + // [MerchantCenterAccountLink][google.cloud.retail.v2alpha.MerchantCenterAccountLink]s + // under the specified parent [Catalog][google.cloud.retail.v2alpha.Catalog]. + rpc ListMerchantCenterAccountLinks(ListMerchantCenterAccountLinksRequest) + returns (ListMerchantCenterAccountLinksResponse) { + option (google.api.http) = { + get: "/v2alpha/{parent=projects/*/locations/*/catalogs/*}/merchantCenterAccountLinks" + }; + option (google.api.method_signature) = "parent"; + } + + // Creates a + // [MerchantCenterAccountLink][google.cloud.retail.v2alpha.MerchantCenterAccountLink]. + rpc CreateMerchantCenterAccountLink(CreateMerchantCenterAccountLinkRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v2alpha/{parent=projects/*/locations/*/catalogs/*}/merchantCenterAccountLinks" + body: "merchant_center_account_link" + }; + option (google.api.method_signature) = + "parent,merchant_center_account_link"; + option (google.longrunning.operation_info) = { + response_type: "google.cloud.retail.v2alpha.MerchantCenterAccountLink" + metadata_type: "google.cloud.retail.v2alpha.CreateMerchantCenterAccountLinkMetadata" + }; + } + + // Deletes a + // [MerchantCenterAccountLink][google.cloud.retail.v2alpha.MerchantCenterAccountLink]. + // If the + // [MerchantCenterAccountLink][google.cloud.retail.v2alpha.MerchantCenterAccountLink] + // to delete does not exist, a NOT_FOUND error is returned. + rpc DeleteMerchantCenterAccountLink(DeleteMerchantCenterAccountLinkRequest) + returns (google.protobuf.Empty) { + option (google.api.http) = { + delete: "/v2alpha/{name=projects/*/locations/*/catalogs/*/merchantCenterAccountLinks/*}" + }; + option (google.api.method_signature) = "name"; + } +} + +// Request for +// [MerchantCenterAccountLinkService.ListMerchantCenterAccountLinks][google.cloud.retail.v2alpha.MerchantCenterAccountLinkService.ListMerchantCenterAccountLinks] +// method. +message ListMerchantCenterAccountLinksRequest { + // Required. The parent Catalog of the resource. + // It must match this format: + // projects/{PROJECT_NUMBER}/locations/global/catalogs/{CATALOG_ID} + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { type: "retail.googleapis.com/Catalog" } + ]; +} + +// Response for +// [MerchantCenterAccountLinkService.ListMerchantCenterAccountLinks][google.cloud.retail.v2alpha.MerchantCenterAccountLinkService.ListMerchantCenterAccountLinks] +// method. +message ListMerchantCenterAccountLinksResponse { + // The links. + repeated MerchantCenterAccountLink merchant_center_account_links = 1; +} + +// Request for +// [MerchantCenterAccountLinkService.CreateMerchantCenterAccountLink][google.cloud.retail.v2alpha.MerchantCenterAccountLinkService.CreateMerchantCenterAccountLink] +// method. +message CreateMerchantCenterAccountLinkRequest { + // Required. The branch resource where this MerchantCenterAccountLink will be + // created. Format: + // projects/{PROJECT_NUMBER}/locations/global/catalogs/{CATALOG_ID}} + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { type: "retail.googleapis.com/Catalog" } + ]; + + // Required. The + // [MerchantCenterAccountLink][google.cloud.retail.v2alpha.MerchantCenterAccountLink] + // to create. + // + // If the caller does not have permission to create the + // [MerchantCenterAccountLink][google.cloud.retail.v2alpha.MerchantCenterAccountLink], + // regardless of whether or not it exists, a PERMISSION_DENIED error is + // returned. + MerchantCenterAccountLink merchant_center_account_link = 2 + [(google.api.field_behavior) = REQUIRED]; +} + +// Request for +// [MerchantCenterAccountLinkService.DeleteMerchantCenterAccountLink][google.cloud.retail.v2alpha.MerchantCenterAccountLinkService.DeleteMerchantCenterAccountLink] +// method. +message DeleteMerchantCenterAccountLinkRequest { + // Required. Full resource name. Format: + // projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/merchantCenterAccountLinks/{merchant_center_account_link_id} + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "retail.googleapis.com/MerchantCenterAccountLink" + } + ]; +} diff --git a/third_party/googleapis/google/cloud/retail/v2beta/analytics_service.proto b/third_party/googleapis/google/cloud/retail/v2beta/analytics_service.proto new file mode 100644 index 000000000..6782baf83 --- /dev/null +++ b/third_party/googleapis/google/cloud/retail/v2beta/analytics_service.proto @@ -0,0 +1,57 @@ +// Copyright 2021 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF 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.retail.v2beta; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/retail/v2beta/export_config.proto"; +import "google/longrunning/operations.proto"; + +option csharp_namespace = "Google.Cloud.Retail.V2Beta"; +option go_package = "cloud.google.com/go/retail/apiv2beta/retailpb;retailpb"; +option java_multiple_files = true; +option java_outer_classname = "AnalyticsServiceProto"; +option java_package = "com.google.cloud.retail.v2beta"; +option objc_class_prefix = "RETAIL"; +option php_namespace = "Google\\Cloud\\Retail\\V2beta"; +option ruby_package = "Google::Cloud::Retail::V2beta"; + +// Service for managing & accessing retail search business metric. +// Retail recommendation business metric is currently not available. +service AnalyticsService { + option (google.api.default_host) = "retail.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform"; + + // Exports analytics metrics. + // + // `Operation.response` is of type `ExportAnalyticsMetricsResponse`. + // `Operation.metadata` is of type `ExportMetadata`. + rpc ExportAnalyticsMetrics(ExportAnalyticsMetricsRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v2beta/{catalog=projects/*/locations/*/catalogs/*}:exportAnalyticsMetrics" + body: "*" + }; + option (google.longrunning.operation_info) = { + response_type: "google.cloud.retail.v2beta.ExportAnalyticsMetricsResponse" + metadata_type: "google.cloud.retail.v2beta.ExportMetadata" + }; + } +} diff --git a/third_party/googleapis/google/cloud/securesourcemanager/BUILD.bazel b/third_party/googleapis/google/cloud/securesourcemanager/BUILD.bazel new file mode 100644 index 000000000..eb9492bd1 --- /dev/null +++ b/third_party/googleapis/google/cloud/securesourcemanager/BUILD.bazel @@ -0,0 +1,36 @@ +# This build file includes a target for the Ruby wrapper library for +# google-cloud-secure_source_manager. + +# 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 securesourcemanager. +# 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 = "securesourcemanager_ruby_wrapper", + srcs = ["//google/cloud/securesourcemanager/v1:securesourcemanager_proto_with_info"], + extra_protoc_parameters = [ + "ruby-cloud-gem-name=google-cloud-secure_source_manager", + "ruby-cloud-wrapper-of=v1:0.2", + ], + service_yaml = "//google/cloud/securesourcemanager/v1:securesourcemanager_v1.yaml", + transport = "grpc+rest", +) + +# Open Source package. +ruby_gapic_assembly_pkg( + name = "google-cloud-securesourcemanager-ruby", + deps = [ + ":securesourcemanager_ruby_wrapper", + ], +) diff --git a/third_party/googleapis/google/cloud/securesourcemanager/v1/BUILD.bazel b/third_party/googleapis/google/cloud/securesourcemanager/v1/BUILD.bazel new file mode 100644 index 000000000..d17c90397 --- /dev/null +++ b/third_party/googleapis/google/cloud/securesourcemanager/v1/BUILD.bazel @@ -0,0 +1,389 @@ +# 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 = "securesourcemanager_proto", + srcs = [ + "secure_source_manager.proto", + ], + deps = [ + "//google/api:annotations_proto", + "//google/api:client_proto", + "//google/api:field_behavior_proto", + "//google/api:resource_proto", + "//google/iam/v1:iam_policy_proto", + "//google/iam/v1:policy_proto", + "//google/longrunning:operations_proto", + "@com_google_protobuf//:empty_proto", + "@com_google_protobuf//:timestamp_proto", + ], +) + +proto_library_with_info( + name = "securesourcemanager_proto_with_info", + deps = [ + ":securesourcemanager_proto", + "//google/cloud/location:location_proto", + "//google/cloud:common_resources_proto", + "//google/iam/v1:iam_policy_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 = "securesourcemanager_java_proto", + deps = [":securesourcemanager_proto"], +) + +java_grpc_library( + name = "securesourcemanager_java_grpc", + srcs = [":securesourcemanager_proto"], + deps = [":securesourcemanager_java_proto"], +) + +java_gapic_library( + name = "securesourcemanager_java_gapic", + srcs = [":securesourcemanager_proto_with_info"], + gapic_yaml = None, + grpc_service_config = "securesourcemanager_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "securesourcemanager_v1.yaml", + test_deps = [ + "//google/cloud/location:location_java_grpc", + "//google/iam/v1:iam_java_grpc", + ":securesourcemanager_java_grpc", + ], + transport = "grpc+rest", + deps = [ + ":securesourcemanager_java_proto", + "//google/api:api_java_proto", + "//google/cloud/location:location_java_proto", + "//google/iam/v1:iam_java_proto", + ], +) + +java_gapic_test( + name = "securesourcemanager_java_gapic_test_suite", + test_classes = [ + "com.google.cloud.securesourcemanager.v1.SecureSourceManagerClientHttpJsonTest", + "com.google.cloud.securesourcemanager.v1.SecureSourceManagerClientTest", + ], + runtime_deps = [":securesourcemanager_java_gapic_test"], +) + +# Open Source Packages +java_gapic_assembly_gradle_pkg( + name = "google-cloud-securesourcemanager-v1-java", + transport = "grpc+rest", + deps = [ + ":securesourcemanager_java_gapic", + ":securesourcemanager_java_grpc", + ":securesourcemanager_java_proto", + ":securesourcemanager_proto", + ], + include_samples = True, +) + +############################################################################## +# Go +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "go_gapic_assembly_pkg", + "go_gapic_library", + "go_proto_library", +) + +go_proto_library( + name = "securesourcemanager_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "cloud.google.com/go/securesourcemanager/apiv1/securesourcemanagerpb", + protos = [":securesourcemanager_proto"], + deps = [ + "//google/api:annotations_go_proto", + "//google/iam/v1:iam_go_proto", + "//google/longrunning:longrunning_go_proto", + ], +) + +go_gapic_library( + name = "securesourcemanager_go_gapic", + srcs = [":securesourcemanager_proto_with_info"], + grpc_service_config = "securesourcemanager_grpc_service_config.json", + importpath = "cloud.google.com/go/securesourcemanager/apiv1;securesourcemanager", + metadata = True, + release_level = "beta", + rest_numeric_enums = True, + service_yaml = "securesourcemanager_v1.yaml", + transport = "grpc+rest", + deps = [ + ":securesourcemanager_go_proto", + "//google/cloud/location:location_go_proto", + "//google/iam/v1:iam_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-securesourcemanager-v1-go", + deps = [ + ":securesourcemanager_go_gapic", + ":securesourcemanager_go_gapic_srcjar-test.srcjar", + ":securesourcemanager_go_gapic_srcjar-metadata.srcjar", + ":securesourcemanager_go_gapic_srcjar-snippets.srcjar", + ":securesourcemanager_go_proto", + ], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "py_gapic_assembly_pkg", + "py_gapic_library", + "py_test", +) + +py_gapic_library( + name = "securesourcemanager_py_gapic", + srcs = [":securesourcemanager_proto"], + grpc_service_config = "securesourcemanager_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "securesourcemanager_v1.yaml", + transport = "grpc+rest", + deps = [ + "//google/iam/v1:iam_policy_py_proto", + ], +) + +py_test( + name = "securesourcemanager_py_gapic_test", + srcs = [ + "securesourcemanager_py_gapic_pytest.py", + "securesourcemanager_py_gapic_test.py", + ], + legacy_create_init = False, + deps = [":securesourcemanager_py_gapic"], +) + +# Open Source Packages +py_gapic_assembly_pkg( + name = "securesourcemanager-v1-py", + deps = [ + ":securesourcemanager_py_gapic", + ], +) + +############################################################################## +# PHP +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "php_gapic_assembly_pkg", + "php_gapic_library", + "php_proto_library", +) + +php_proto_library( + name = "securesourcemanager_php_proto", + deps = [":securesourcemanager_proto"], +) + +php_gapic_library( + name = "securesourcemanager_php_gapic", + srcs = [":securesourcemanager_proto_with_info"], + grpc_service_config = "securesourcemanager_grpc_service_config.json", + rest_numeric_enums = True, + migration_mode = "NEW_SURFACE_ONLY", + service_yaml = "securesourcemanager_v1.yaml", + transport = "grpc+rest", + deps = [ + ":securesourcemanager_php_proto", + ], +) + +# Open Source Packages +php_gapic_assembly_pkg( + name = "google-cloud-securesourcemanager-v1-php", + deps = [ + ":securesourcemanager_php_gapic", + ":securesourcemanager_php_proto", + ], +) + +############################################################################## +# Node.js +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "nodejs_gapic_assembly_pkg", + "nodejs_gapic_library", +) + +nodejs_gapic_library( + name = "securesourcemanager_nodejs_gapic", + package_name = "@google-cloud/securesourcemanager", + src = ":securesourcemanager_proto_with_info", + extra_protoc_parameters = ["metadata"], + grpc_service_config = "securesourcemanager_grpc_service_config.json", + package = "google.cloud.securesourcemanager.v1", + rest_numeric_enums = True, + service_yaml = "securesourcemanager_v1.yaml", + transport = "grpc+rest", + deps = [], +) + +nodejs_gapic_assembly_pkg( + name = "securesourcemanager-v1-nodejs", + deps = [ + ":securesourcemanager_nodejs_gapic", + ":securesourcemanager_proto", + ], +) + +############################################################################## +# Ruby +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "ruby_gapic_assembly_pkg", + "ruby_cloud_gapic_library", + "ruby_grpc_library", + "ruby_proto_library", +) + +ruby_proto_library( + name = "securesourcemanager_ruby_proto", + deps = [":securesourcemanager_proto"], +) + +ruby_grpc_library( + name = "securesourcemanager_ruby_grpc", + srcs = [":securesourcemanager_proto"], + deps = [":securesourcemanager_ruby_proto"], +) + +ruby_cloud_gapic_library( + name = "securesourcemanager_ruby_gapic", + srcs = [":securesourcemanager_proto_with_info"], + extra_protoc_parameters = [ + "ruby-cloud-gem-name=google-cloud-secure_source_manager-v1", + ], + grpc_service_config = "securesourcemanager_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "securesourcemanager_v1.yaml", + transport = "grpc+rest", + deps = [ + ":securesourcemanager_ruby_grpc", + ":securesourcemanager_ruby_proto", + ], +) + +# Open Source Packages +ruby_gapic_assembly_pkg( + name = "google-cloud-securesourcemanager-v1-ruby", + deps = [ + ":securesourcemanager_ruby_gapic", + ":securesourcemanager_ruby_grpc", + ":securesourcemanager_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 = "securesourcemanager_csharp_proto", + extra_opts = [], + deps = [":securesourcemanager_proto"], +) + +csharp_grpc_library( + name = "securesourcemanager_csharp_grpc", + srcs = [":securesourcemanager_proto"], + deps = [":securesourcemanager_csharp_proto"], +) + +csharp_gapic_library( + name = "securesourcemanager_csharp_gapic", + srcs = [":securesourcemanager_proto_with_info"], + common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json", + grpc_service_config = "securesourcemanager_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "securesourcemanager_v1.yaml", + deps = [ + ":securesourcemanager_csharp_grpc", + ":securesourcemanager_csharp_proto", + ], +) + +# Open Source Packages +csharp_gapic_assembly_pkg( + name = "google-cloud-securesourcemanager-v1-csharp", + deps = [ + ":securesourcemanager_csharp_gapic", + ":securesourcemanager_csharp_grpc", + ":securesourcemanager_csharp_proto", + ], +) + +############################################################################## +# C++ +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "cc_grpc_library", + "cc_proto_library", +) + +cc_proto_library( + name = "securesourcemanager_cc_proto", + deps = [":securesourcemanager_proto"], +) + +cc_grpc_library( + name = "securesourcemanager_cc_grpc", + srcs = [":securesourcemanager_proto"], + grpc_only = True, + deps = [":securesourcemanager_cc_proto"], +) diff --git a/third_party/googleapis/google/cloud/securesourcemanager/v1/secure_source_manager.proto b/third_party/googleapis/google/cloud/securesourcemanager/v1/secure_source_manager.proto new file mode 100644 index 000000000..d2776b96d --- /dev/null +++ b/third_party/googleapis/google/cloud/securesourcemanager/v1/secure_source_manager.proto @@ -0,0 +1,707 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF 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.securesourcemanager.v1; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/iam/v1/iam_policy.proto"; +import "google/iam/v1/policy.proto"; +import "google/longrunning/operations.proto"; +import "google/protobuf/empty.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.SecureSourceManager.V1"; +option go_package = "cloud.google.com/go/securesourcemanager/apiv1/securesourcemanagerpb;securesourcemanagerpb"; +option java_multiple_files = true; +option java_outer_classname = "SecureSourceManagerProto"; +option java_package = "com.google.cloud.securesourcemanager.v1"; +option php_namespace = "Google\\Cloud\\SecureSourceManager\\V1"; +option ruby_package = "Google::Cloud::SecureSourceManager::V1"; +option (google.api.resource_definition) = { + type: "cloudkms.googleapis.com/CryptoKey" + pattern: "projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}" +}; +option (google.api.resource_definition) = { + type: "privateca.googleapis.com/CaPool" + pattern: "projects/{project}/locations/{location}/caPools/{ca_pool}" +}; +option (google.api.resource_definition) = { + type: "compute.googleapis.com/ServiceAttachment" + pattern: "projects/{project}/regions/{region}/serviceAttachments/{service_attachment}" +}; + +// Secure Source Manager API +// +// Access Secure Source Manager instances, resources, and repositories. +// +// This API is split across two servers: the Control Plane and the Data Plane. +// +// Data Plane endpoints are hosted directly by your Secure Source Manager +// instance, so you must connect to your instance's API hostname to access +// them. The API hostname looks like the following: +// +// https://[instance-id]-[project-number]-api.[location].sourcemanager.dev +// +// For example, +// +// https://my-instance-702770452863-api.us-central1.sourcemanager.dev +// +// Data Plane endpoints are denoted with **Host: Data Plane**. +// +// All other endpoints are found in the normal Cloud API location, namely, +// `securcesourcemanager.googleapis.com`. +service SecureSourceManager { + option (google.api.default_host) = "securesourcemanager.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform"; + + // Lists Instances in a given project and location. + rpc ListInstances(ListInstancesRequest) returns (ListInstancesResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*}/instances" + }; + option (google.api.method_signature) = "parent"; + } + + // Gets details of a single instance. + rpc GetInstance(GetInstanceRequest) returns (Instance) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/instances/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Creates a new instance in a given project and location. + rpc CreateInstance(CreateInstanceRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*}/instances" + body: "instance" + }; + option (google.api.method_signature) = "parent,instance,instance_id"; + option (google.longrunning.operation_info) = { + response_type: "Instance" + metadata_type: "OperationMetadata" + }; + } + + // Deletes a single instance. + rpc DeleteInstance(DeleteInstanceRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1/{name=projects/*/locations/*/instances/*}" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "OperationMetadata" + }; + } + + // Lists Repositories in a given project and location. + // + // **Host: Data Plane** + rpc ListRepositories(ListRepositoriesRequest) + returns (ListRepositoriesResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*}/repositories" + }; + option (google.api.method_signature) = "parent"; + } + + // Gets metadata of a repository. + // + // **Host: Data Plane** + rpc GetRepository(GetRepositoryRequest) returns (Repository) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/repositories/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Creates a new repository in a given project and location. + // + // **Host: Data Plane** + rpc CreateRepository(CreateRepositoryRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*}/repositories" + body: "repository" + }; + option (google.api.method_signature) = "parent,repository,repository_id"; + option (google.longrunning.operation_info) = { + response_type: "Repository" + metadata_type: "OperationMetadata" + }; + } + + // Deletes a Repository. + // + // **Host: Data Plane** + rpc DeleteRepository(DeleteRepositoryRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1/{name=projects/*/locations/*/repositories/*}" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "OperationMetadata" + }; + } + + // Get IAM policy for a repository. + rpc GetIamPolicyRepo(google.iam.v1.GetIamPolicyRequest) + returns (google.iam.v1.Policy) { + option (google.api.http) = { + get: "/v1/{resource=projects/*/locations/*/repositories/*}:getIamPolicy" + }; + option (google.api.method_signature) = "resource"; + } + + // Set IAM policy on a repository. + rpc SetIamPolicyRepo(google.iam.v1.SetIamPolicyRequest) + returns (google.iam.v1.Policy) { + option (google.api.http) = { + post: "/v1/{resource=projects/*/locations/*/repositories/*}:setIamPolicy" + body: "*" + }; + option (google.api.method_signature) = "resource"; + } + + // Test IAM permissions on a repository. + // IAM permission checks are not required on this method. + rpc TestIamPermissionsRepo(google.iam.v1.TestIamPermissionsRequest) + returns (google.iam.v1.TestIamPermissionsResponse) { + option (google.api.http) = { + post: "/v1/{resource=projects/*/locations/*/repositories/*}:testIamPermissions" + body: "*" + }; + option (google.api.method_signature) = "resource"; + } +} + +// A resource that represents a Secure Source Manager instance. +message Instance { + option (google.api.resource) = { + type: "securesourcemanager.googleapis.com/Instance" + pattern: "projects/{project}/locations/{location}/instances/{instance}" + style: DECLARATIVE_FRIENDLY + }; + + // Secure Source Manager instance state. + enum State { + // Not set. This should only be the case for incoming requests. + STATE_UNSPECIFIED = 0; + + // Instance is being created. + CREATING = 1; + + // Instance is ready. + ACTIVE = 2; + + // Instance is being deleted. + DELETING = 3; + + // Instance is paused. + PAUSED = 4; + } + + // Provides information about the current instance state. + enum StateNote { + // STATE_NOTE_UNSPECIFIED as the first value of State. + STATE_NOTE_UNSPECIFIED = 0; + + // CMEK access is unavailable. + PAUSED_CMEK_UNAVAILABLE = 1; + + // INSTANCE_RESUMING indicates that the instance was previously paused + // and is under the process of being brought back. + INSTANCE_RESUMING = 2 [deprecated = true]; + } + + // HostConfig has different instance endpoints. + message HostConfig { + // Output only. HTML hostname. + string html = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. API hostname. This is the hostname to use for **Host: Data + // Plane** endpoints. + string api = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Git HTTP hostname. + string git_http = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Git SSH hostname. + string git_ssh = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Optional. A unique identifier for an instance. The name should be of the + // format: + // `projects/{project_number}/locations/{location_id}/instances/{instance_id}` + // + // `project_number`: Maps to a unique int64 id assigned to each project. + // + // `location_id`: Refers to the region where the instance will be deployed. + // Since Secure Source Manager is a regional service, it must be one of the + // valid GCP regions. + // + // `instance_id`: User provided name for the instance, must be unique for a + // project_number and location_id combination. + string name = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Output only. Create timestamp. + google.protobuf.Timestamp create_time = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Update timestamp. + google.protobuf.Timestamp update_time = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Optional. Labels as key value pairs. + map labels = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Output only. Current state of the instance. + State state = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. An optional field providing information about the current + // instance state. + StateNote state_note = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Optional. Immutable. Customer-managed encryption key name, in the format + // projects/*/locations/*/keyRings/*/cryptoKeys/*. + string kms_key = 11 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "cloudkms.googleapis.com/CryptoKey" + } + ]; + + // Output only. A list of hostnames for this instance. + HostConfig host_config = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Metadata of a Secure Source Manager repository. +message Repository { + option (google.api.resource) = { + type: "securesourcemanager.googleapis.com/Repository" + pattern: "projects/{project}/locations/{location}/repositories/{repository}" + }; + + // URIs for the repository. + message URIs { + // Output only. HTML is the URI for user to view the repository in a + // browser. + string html = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. git_https is the git HTTPS URI for git operations. + string git_https = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. API is the URI for API access. + string api = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Repository initialization configuration. + message InitialConfig { + // Default branch name of the repository. + string default_branch = 1; + + // List of gitignore template names user can choose from. + // Valid values: actionscript, ada, agda, android, + // anjuta, ansible, appcelerator-titanium, app-engine, archives, + // arch-linux-packages, atmel-studio, autotools, backup, bazaar, bazel, + // bitrix, bricx-cc, c, cake-php, calabash, cf-wheels, chef-cookbook, + // clojure, cloud9, c-make, code-igniter, code-kit, code-sniffer, + // common-lisp, composer, concrete5, coq, cordova, cpp, craft-cms, cuda, + // cvs, d, dart, dart-editor, delphi, diff, dm, dreamweaver, dropbox, + // drupal, drupal-7, eagle, eclipse, eiffel-studio, elisp, elixir, elm, + // emacs, ensime, epi-server, erlang, esp-idf, espresso, exercism, + // expression-engine, ext-js, fancy, finale, flex-builder, force-dot-com, + // fortran, fuel-php, gcov, git-book, gnome-shell-extension, go, godot, gpg, + // gradle, grails, gwt, haskell, hugo, iar-ewarm, idris, igor-pro, images, + // infor-cms, java, jboss, jboss-4, jboss-6, jdeveloper, jekyll, + // jenkins-home, jenv, jet-brains, jigsaw, joomla, julia, jupyter-notebooks, + // kate, kdevelop4, kentico, ki-cad, kohana, kotlin, lab-view, laravel, + // lazarus, leiningen, lemon-stand, libre-office, lilypond, linux, lithium, + // logtalk, lua, lyx, mac-os, magento, magento-1, magento-2, matlab, maven, + // mercurial, mercury, metals, meta-programming-system, meteor, + // microsoft-office, model-sim, momentics, mono-develop, nanoc, net-beans, + // nikola, nim, ninja, node, notepad-pp, nwjs, objective--c, ocaml, octave, + // opa, open-cart, openssl, oracle-forms, otto, packer, patch, perl, perl6, + // phalcon, phoenix, pimcore, play-framework, plone, prestashop, processing, + // psoc-creator, puppet, pure-script, putty, python, qooxdoo, qt, r, racket, + // rails, raku, red, redcar, redis, rhodes-rhomobile, ros, ruby, rust, sam, + // sass, sbt, scala, scheme, scons, scrivener, sdcc, seam-gen, sketch-up, + // slick-edit, smalltalk, snap, splunk, stata, stella, sublime-text, + // sugar-crm, svn, swift, symfony, symphony-cms, synopsys-vcs, tags, + // terraform, tex, text-mate, textpattern, think-php, tortoise-git, + // turbo-gears-2, typo3, umbraco, unity, unreal-engine, vagrant, vim, + // virtual-env, virtuoso, visual-studio, visual-studio-code, vue, vvvv, waf, + // web-methods, windows, word-press, xcode, xilinx, xilinx-ise, xojo, + // yeoman, yii, zend-framework, zephir. + repeated string gitignores = 2; + + // License template name user can choose from. + // Valid values: license-0bsd, license-389-exception, aal, abstyles, + // adobe-2006, adobe-glyph, adsl, afl-1-1, afl-1-2, afl-2-0, afl-2-1, + // afl-3-0, afmparse, agpl-1-0, agpl-1-0-only, agpl-1-0-or-later, + // agpl-3-0-only, agpl-3-0-or-later, aladdin, amdplpa, aml, ampas, antlr-pd, + // antlr-pd-fallback, apache-1-0, apache-1-1, apache-2-0, apafml, apl-1-0, + // apsl-1-0, apsl-1-1, apsl-1-2, apsl-2-0, artistic-1-0, artistic-1-0-cl8, + // artistic-1-0-perl, artistic-2-0, autoconf-exception-2-0, + // autoconf-exception-3-0, bahyph, barr, beerware, bison-exception-2-2, + // bittorrent-1-0, bittorrent-1-1, blessing, blueoak-1-0-0, + // bootloader-exception, borceux, bsd-1-clause, bsd-2-clause, + // bsd-2-clause-freebsd, bsd-2-clause-netbsd, bsd-2-clause-patent, + // bsd-2-clause-views, bsd-3-clause, bsd-3-clause-attribution, + // bsd-3-clause-clear, bsd-3-clause-lbnl, bsd-3-clause-modification, + // bsd-3-clause-no-nuclear-license, bsd-3-clause-no-nuclear-license-2014, + // bsd-3-clause-no-nuclear-warranty, bsd-3-clause-open-mpi, bsd-4-clause, + // bsd-4-clause-shortened, bsd-4-clause-uc, bsd-protection, bsd-source-code, + // bsl-1-0, busl-1-1, cal-1-0, cal-1-0-combined-work-exception, caldera, + // catosl-1-1, cc0-1-0, cc-by-1-0, cc-by-2-0, cc-by-3-0, cc-by-3-0-at, + // cc-by-3-0-us, cc-by-4-0, cc-by-nc-1-0, cc-by-nc-2-0, cc-by-nc-3-0, + // cc-by-nc-4-0, cc-by-nc-nd-1-0, cc-by-nc-nd-2-0, cc-by-nc-nd-3-0, + // cc-by-nc-nd-3-0-igo, cc-by-nc-nd-4-0, cc-by-nc-sa-1-0, cc-by-nc-sa-2-0, + // cc-by-nc-sa-3-0, cc-by-nc-sa-4-0, cc-by-nd-1-0, cc-by-nd-2-0, + // cc-by-nd-3-0, cc-by-nd-4-0, cc-by-sa-1-0, cc-by-sa-2-0, cc-by-sa-2-0-uk, + // cc-by-sa-2-1-jp, cc-by-sa-3-0, cc-by-sa-3-0-at, cc-by-sa-4-0, cc-pddc, + // cddl-1-0, cddl-1-1, cdla-permissive-1-0, cdla-sharing-1-0, cecill-1-0, + // cecill-1-1, cecill-2-0, cecill-2-1, cecill-b, cecill-c, cern-ohl-1-1, + // cern-ohl-1-2, cern-ohl-p-2-0, cern-ohl-s-2-0, cern-ohl-w-2-0, clartistic, + // classpath-exception-2-0, clisp-exception-2-0, cnri-jython, cnri-python, + // cnri-python-gpl-compatible, condor-1-1, copyleft-next-0-3-0, + // copyleft-next-0-3-1, cpal-1-0, cpl-1-0, cpol-1-02, crossword, + // crystal-stacker, cua-opl-1-0, cube, c-uda-1-0, curl, d-fsl-1-0, diffmark, + // digirule-foss-exception, doc, dotseqn, drl-1-0, dsdp, dvipdfm, ecl-1-0, + // ecl-2-0, ecos-exception-2-0, efl-1-0, efl-2-0, egenix, entessa, epics, + // epl-1-0, epl-2-0, erlpl-1-1, etalab-2-0, eu-datagrid, eupl-1-0, eupl-1-1, + // eupl-1-2, eurosym, fair, fawkes-runtime-exception, fltk-exception, + // font-exception-2-0, frameworx-1-0, freebsd-doc, freeimage, + // freertos-exception-2-0, fsfap, fsful, fsfullr, ftl, gcc-exception-2-0, + // gcc-exception-3-1, gd, gfdl-1-1-invariants-only, + // gfdl-1-1-invariants-or-later, gfdl-1-1-no-invariants-only, + // gfdl-1-1-no-invariants-or-later, gfdl-1-1-only, gfdl-1-1-or-later, + // gfdl-1-2-invariants-only, gfdl-1-2-invariants-or-later, + // gfdl-1-2-no-invariants-only, gfdl-1-2-no-invariants-or-later, + // gfdl-1-2-only, gfdl-1-2-or-later, gfdl-1-3-invariants-only, + // gfdl-1-3-invariants-or-later, gfdl-1-3-no-invariants-only, + // gfdl-1-3-no-invariants-or-later, gfdl-1-3-only, gfdl-1-3-or-later, + // giftware, gl2ps, glide, glulxe, glwtpl, gnu-javamail-exception, gnuplot, + // gpl-1-0-only, gpl-1-0-or-later, gpl-2-0-only, gpl-2-0-or-later, + // gpl-3-0-linking-exception, gpl-3-0-linking-source-exception, + // gpl-3-0-only, gpl-3-0-or-later, gpl-cc-1-0, gsoap-1-3b, haskell-report, + // hippocratic-2-1, hpnd, hpnd-sell-variant, htmltidy, + // i2p-gpl-java-exception, ibm-pibs, icu, ijg, image-magick, imatix, imlib2, + // info-zip, intel, intel-acpi, interbase-1-0, ipa, ipl-1-0, isc, + // jasper-2-0, jpnic, json, lal-1-2, lal-1-3, latex2e, leptonica, + // lgpl-2-0-only, lgpl-2-0-or-later, lgpl-2-1-only, lgpl-2-1-or-later, + // lgpl-3-0-linking-exception, lgpl-3-0-only, lgpl-3-0-or-later, lgpllr, + // libpng, libpng-2-0, libselinux-1-0, libtiff, libtool-exception, + // liliq-p-1-1, liliq-r-1-1, liliq-rplus-1-1, linux-openib, + // linux-syscall-note, llvm-exception, lpl-1-0, lpl-1-02, lppl-1-0, + // lppl-1-1, lppl-1-2, lppl-1-3a, lppl-1-3c, lzma-exception, make-index, + // mif-exception, miros, mit, mit-0, mit-advertising, mit-cmu, mit-enna, + // mit-feh, mit-modern-variant, mitnfa, mit-open-group, motosoto, mpich2, + // mpl-1-0, mpl-1-1, mpl-2-0, mpl-2-0-no-copyleft-exception, ms-pl, ms-rl, + // mtll, mulanpsl-1-0, mulanpsl-2-0, multics, mup, naist-2003, nasa-1-3, + // naumen, nbpl-1-0, ncgl-uk-2-0, ncsa, netcdf, net-snmp, newsletr, ngpl, + // nist-pd, nist-pd-fallback, nlod-1-0, nlpl, nokia, nokia-qt-exception-1-1, + // nosl, noweb, npl-1-0, npl-1-1, nposl-3-0, nrl, ntp, ntp-0, + // ocaml-lgpl-linking-exception, occt-exception-1-0, occt-pl, oclc-2-0, + // odbl-1-0, odc-by-1-0, ofl-1-0, ofl-1-0-no-rfn, ofl-1-0-rfn, ofl-1-1, + // ofl-1-1-no-rfn, ofl-1-1-rfn, ogc-1-0, ogdl-taiwan-1-0, ogl-canada-2-0, + // ogl-uk-1-0, ogl-uk-2-0, ogl-uk-3-0, ogtsl, oldap-1-1, oldap-1-2, + // oldap-1-3, oldap-1-4, oldap-2-0, oldap-2-0-1, oldap-2-1, oldap-2-2, + // oldap-2-2-1, oldap-2-2-2, oldap-2-3, oldap-2-4, oldap-2-7, oml, + // openjdk-assembly-exception-1-0, openssl, openvpn-openssl-exception, + // opl-1-0, oset-pl-2-1, osl-1-0, osl-1-1, osl-2-0, osl-2-1, osl-3-0, + // o-uda-1-0, parity-6-0-0, parity-7-0-0, pddl-1-0, php-3-0, php-3-01, + // plexus, polyform-noncommercial-1-0-0, polyform-small-business-1-0-0, + // postgresql, psf-2-0, psfrag, ps-or-pdf-font-exception-20170817, psutils, + // python-2-0, qhull, qpl-1-0, qt-gpl-exception-1-0, qt-lgpl-exception-1-1, + // qwt-exception-1-0, rdisc, rhecos-1-1, rpl-1-1, rpsl-1-0, rsa-md, rscpl, + // ruby, saxpath, sax-pd, scea, sendmail, sendmail-8-23, sgi-b-1-0, + // sgi-b-1-1, sgi-b-2-0, shl-0-51, shl-2-0, shl-2-1, simpl-2-0, sissl, + // sissl-1-2, sleepycat, smlnj, smppl, snia, spencer-86, spencer-94, + // spencer-99, spl-1-0, ssh-openssh, ssh-short, sspl-1-0, sugarcrm-1-1-3, + // swift-exception, swl, tapr-ohl-1-0, tcl, tcp-wrappers, tmate, torque-1-1, + // tosl, tu-berlin-1-0, tu-berlin-2-0, u-boot-exception-2-0, ucl-1-0, + // unicode-dfs-2015, unicode-dfs-2016, unicode-tou, + // universal-foss-exception-1-0, unlicense, upl-1-0, vim, vostrom, vsl-1-0, + // w3c, w3c-19980720, w3c-20150513, watcom-1-0, wsuipa, wtfpl, + // wxwindows-exception-3-1, x11, xerox, xfree86-1-1, xinetd, xnet, xpp, + // xskat, ypl-1-0, ypl-1-1, zed, zend-2-0, zimbra-1-3, zimbra-1-4, zlib, + // zlib-acknowledgement, zpl-1-1, zpl-2-0, zpl-2-1. + string license = 3; + + // README template name. + // Valid template name(s) are: default. + string readme = 4; + } + + // Optional. A unique identifier for a repository. The name should be of the + // format: + // `projects/{project}/locations/{location_id}/repositories/{repository_id}` + string name = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Description of the repository, which cannot exceed 500 + // characters. + string description = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Output only. The name of the instance in which the repository is hosted, + // formatted as + // `projects/{project_number}/locations/{location_id}/instances/{instance_id}` + string instance = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Unique identifier of the repository. + string uid = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Create timestamp. + google.protobuf.Timestamp create_time = 5 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Update timestamp. + google.protobuf.Timestamp update_time = 6 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Optional. This checksum is computed by the server based on the value of + // other fields, and may be sent on update and delete requests to ensure the + // client has an up-to-date value before proceeding. + string etag = 8 [(google.api.field_behavior) = OPTIONAL]; + + // Output only. URIs for the repository. + URIs uris = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Input only. Initial configurations for the repository. + InitialConfig initial_config = 10 [(google.api.field_behavior) = INPUT_ONLY]; +} + +// ListInstancesRequest is the request to list instances. +message ListInstancesRequest { + // Required. Parent value for ListInstancesRequest. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "securesourcemanager.googleapis.com/Instance" + } + ]; + + // Requested page size. Server may return fewer items than requested. + // If unspecified, server will pick an appropriate default. + int32 page_size = 2; + + // A token identifying a page of results the server should return. + string page_token = 3; + + // Filter for filtering results. + string filter = 4; + + // Hint for how to order the results. + string order_by = 5; +} + +message ListInstancesResponse { + // The list of instances. + repeated Instance instances = 1; + + // A token identifying a page of results the server should return. + string next_page_token = 2; + + // Locations that could not be reached. + repeated string unreachable = 3; +} + +// GetInstanceRequest is the request for getting an instance. +message GetInstanceRequest { + // Required. Name of the resource. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "securesourcemanager.googleapis.com/Instance" + } + ]; +} + +// CreateInstanceRequest is the request for creating an instance. +message CreateInstanceRequest { + // Required. Value for parent. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "securesourcemanager.googleapis.com/Instance" + } + ]; + + // Required. ID of the instance to be created. + string instance_id = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The resource being created. + Instance instance = 3 [(google.api.field_behavior) = REQUIRED]; + + // Optional. An optional request ID to identify requests. Specify a unique + // request ID so that if you must retry your request, the server will know to + // ignore the request if it has already been completed. The server will + // guarantee that for at least 60 minutes since the first request. + // + // For example, consider a situation where you make an initial request and + // the request times out. If you make the request again with the same request + // ID, the server can check if original operation with the same request ID + // was received, and if so, will ignore the second request. This prevents + // clients from accidentally creating duplicate commitments. + // + // The request ID must be a valid UUID with the exception that zero UUID is + // not supported (00000000-0000-0000-0000-000000000000). + string request_id = 4 [(google.api.field_behavior) = OPTIONAL]; +} + +// DeleteInstanceRequest is the request for deleting an instance. +message DeleteInstanceRequest { + // Required. Name of the resource. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "securesourcemanager.googleapis.com/Instance" + } + ]; + + // Optional. An optional request ID to identify requests. Specify a unique + // request ID so that if you must retry your request, the server will know to + // ignore the request if it has already been completed. The server will + // guarantee that for at least 60 minutes after the first request. + // + // For example, consider a situation where you make an initial request and + // the request times out. If you make the request again with the same request + // ID, the server can check if original operation with the same request ID + // was received, and if so, will ignore the second request. This prevents + // clients from accidentally creating duplicate commitments. + // + // The request ID must be a valid UUID with the exception that zero UUID is + // not supported (00000000-0000-0000-0000-000000000000). + string request_id = 2 [(google.api.field_behavior) = OPTIONAL]; +} + +// 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_message = 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 requested_cancellation = 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]; +} + +// ListRepositoriesRequest is request to list repositories. +message ListRepositoriesRequest { + // Required. Parent value for ListRepositoriesRequest. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "securesourcemanager.googleapis.com/Repository" + } + ]; + + // Optional. Requested page size. Server may return fewer items than + // requested. If unspecified, server will pick an appropriate default. + int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL]; + + // A token identifying a page of results the server should return. + string page_token = 3; + + // Optional. Filter results. + string filter = 4 [(google.api.field_behavior) = OPTIONAL]; +} + +message ListRepositoriesResponse { + // The list of repositories. + repeated Repository repositories = 1; + + // A token identifying a page of results the server should return. + string next_page_token = 2; +} + +// GetRepositoryRequest is the request for getting a repository. +message GetRepositoryRequest { + // Required. Name of the repository to retrieve. + // The format is + // `projects/{project_number}/locations/{location_id}/repositories/{repository_id}`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "securesourcemanager.googleapis.com/Repository" + } + ]; +} + +// CreateRepositoryRequest is the request for creating a repository. +message CreateRepositoryRequest { + // Required. The project in which to create the repository. Values are of the + // form `projects/{project_number}/locations/{location_id}` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "securesourcemanager.googleapis.com/Repository" + } + ]; + + // Required. The resource being created. + Repository repository = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The ID to use for the repository, which will become the final + // component of the repository's resource name. This value should be 4-63 + // characters, and valid characters are /[a-z][0-9]-/. + string repository_id = 3 [(google.api.field_behavior) = REQUIRED]; +} + +// DeleteRepositoryRequest is the request to delete a repository. +message DeleteRepositoryRequest { + // Required. Name of the repository to delete. + // The format is + // projects/{project_number}/locations/{location_id}/repositories/{repository_id}. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "securesourcemanager.googleapis.com/Repository" + } + ]; + + // Optional. If set to true, and the repository is not found, the request will + // succeed but no action will be taken on the server. + bool allow_missing = 2 [(google.api.field_behavior) = OPTIONAL]; +} diff --git a/third_party/googleapis/google/cloud/securesourcemanager/v1/securesourcemanager_grpc_service_config.json b/third_party/googleapis/google/cloud/securesourcemanager/v1/securesourcemanager_grpc_service_config.json new file mode 100644 index 000000000..c737daaef --- /dev/null +++ b/third_party/googleapis/google/cloud/securesourcemanager/v1/securesourcemanager_grpc_service_config.json @@ -0,0 +1,19 @@ +{ + "methodConfig": [{ + "name": [ + { "service": "google.cloud.securesourcemanager.v1.SecureSourceManager", "method": "ListInstances" }, + { "service": "google.cloud.securesourcemanager.v1.SecureSourceManager", "method": "GetInstance" }, + { "service": "google.cloud.securesourcemanager.v1.SecureSourceManager", "method": "ListRepositories" }, + { "service": "google.cloud.securesourcemanager.v1.SecureSourceManager", "method": "GetRepository" }, + { "service": "google.cloud.securesourcemanager.v1.SecureSourceManager", "method": "GetIamPolicyRepo" } + ], + "timeout": "60s", + "retryPolicy": { + "maxAttempts": 5, + "initialBackoff": "1s", + "maxBackoff": "10s", + "backoffMultiplier": 1.3, + "retryableStatusCodes": ["UNAVAILABLE"] + } + }] +} diff --git a/third_party/googleapis/google/cloud/securesourcemanager/v1/securesourcemanager_v1.yaml b/third_party/googleapis/google/cloud/securesourcemanager/v1/securesourcemanager_v1.yaml new file mode 100644 index 000000000..ebe058d64 --- /dev/null +++ b/third_party/googleapis/google/cloud/securesourcemanager/v1/securesourcemanager_v1.yaml @@ -0,0 +1,137 @@ +type: google.api.Service +config_version: 3 +name: securesourcemanager.googleapis.com +title: Secure Source Manager API + +apis: +- name: google.cloud.location.Locations +- name: google.cloud.securesourcemanager.v1.SecureSourceManager +- name: google.iam.v1.IAMPolicy +- name: google.longrunning.Operations + +types: +- name: google.cloud.securesourcemanager.v1.OperationMetadata + +documentation: + summary: |- + Regionally deployed, single-tenant managed source code repository hosted on + Google Cloud. + 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. + +http: + rules: + - selector: google.cloud.location.Locations.GetLocation + get: '/v1/{name=projects/*/locations/*}' + - selector: google.cloud.location.Locations.ListLocations + get: '/v1/{name=projects/*}/locations' + - selector: google.iam.v1.IAMPolicy.GetIamPolicy + get: '/v1/{resource=projects/*/locations/*/instances/*}:getIamPolicy' + - selector: google.iam.v1.IAMPolicy.SetIamPolicy + post: '/v1/{resource=projects/*/locations/*/instances/*}:setIamPolicy' + body: '*' + - selector: google.iam.v1.IAMPolicy.TestIamPermissions + post: '/v1/{resource=projects/*/locations/*/instances/*}:testIamPermissions' + body: '*' + - selector: google.longrunning.Operations.CancelOperation + post: '/v1/{name=projects/*/locations/*/operations/*}:cancel' + body: '*' + - selector: google.longrunning.Operations.DeleteOperation + delete: '/v1/{name=projects/*/locations/*/operations/*}' + - selector: google.longrunning.Operations.GetOperation + get: '/v1/{name=projects/*/locations/*/operations/*}' + - selector: google.longrunning.Operations.ListOperations + get: '/v1/{name=projects/*/locations/*}/operations' + +authentication: + rules: + - 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.cloud.securesourcemanager.v1.SecureSourceManager.*' + 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 + +publishing: + new_issue_uri: https://issuetracker.google.com/issues/new?component=1434461 + documentation_uri: https://cloud.google.com/secure-source-manager/docs/overview + api_short_name: securesourcemanager + github_label: 'api: securesourcemanager' + doc_tag_prefix: securesourcemanager + organization: CLOUD + library_settings: + - version: google.cloud.securesourcemanager.v1 + 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/securitycenter/v1/application.proto b/third_party/googleapis/google/cloud/securitycenter/v1/application.proto new file mode 100644 index 000000000..d7a9ae474 --- /dev/null +++ b/third_party/googleapis/google/cloud/securitycenter/v1/application.proto @@ -0,0 +1,36 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF 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 = "ApplicationProto"; +option java_package = "com.google.cloud.securitycenter.v1"; +option php_namespace = "Google\\Cloud\\SecurityCenter\\V1"; +option ruby_package = "Google::Cloud::SecurityCenter::V1"; + +// Represents an application associated with a finding. +message Application { + // The base URI that identifies the network location of the application in + // which the vulnerability was detected. For example, `http://example.com`. + string base_uri = 1; + + // The full URI with payload that can be used to reproduce the + // vulnerability. For example, `http://example.com?p=aMmYgI6H`. + string full_uri = 2; +} diff --git a/third_party/googleapis/google/cloud/securitycenter/v1/cloud_dlp_data_profile.proto b/third_party/googleapis/google/cloud/securitycenter/v1/cloud_dlp_data_profile.proto new file mode 100644 index 000000000..8bb30eb50 --- /dev/null +++ b/third_party/googleapis/google/cloud/securitycenter/v1/cloud_dlp_data_profile.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.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 = "CloudDlpDataProfileProto"; +option java_package = "com.google.cloud.securitycenter.v1"; +option php_namespace = "Google\\Cloud\\SecurityCenter\\V1"; +option ruby_package = "Google::Cloud::SecurityCenter::V1"; +option (google.api.resource_definition) = { + type: "dlp.googleapis.com/TableDataProfile" + pattern: "projects/{project}/tableProfiles/{table_profile}" + pattern: "projects/{project}/locations/{location}/tableProfiles/{table_profile}" +}; + +// The [data profile](https://cloud.google.com/dlp/docs/data-profiles) +// associated with the finding. +message CloudDlpDataProfile { + // Parents for configurations that produce data profile findings. + enum ParentType { + // Unspecified parent type. + PARENT_TYPE_UNSPECIFIED = 0; + + // Organization-level configurations. + ORGANIZATION = 1; + + // Project-level configurations. + PROJECT = 2; + } + + // Name of the data profile, for example, + // `projects/123/locations/europe/tableProfiles/8383929`. + string data_profile = 1 [(google.api.resource_reference) = { + type: "dlp.googleapis.com/TableDataProfile" + }]; + + // The resource hierarchy level at which the data profile was generated. + ParentType parent_type = 2; +} diff --git a/third_party/googleapis/google/cloud/securitycenter/v1/cloud_dlp_inspection.proto b/third_party/googleapis/google/cloud/securitycenter/v1/cloud_dlp_inspection.proto new file mode 100644 index 000000000..bfab2e934 --- /dev/null +++ b/third_party/googleapis/google/cloud/securitycenter/v1/cloud_dlp_inspection.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.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 = "CloudDlpInspectionProto"; +option java_package = "com.google.cloud.securitycenter.v1"; +option php_namespace = "Google\\Cloud\\SecurityCenter\\V1"; +option ruby_package = "Google::Cloud::SecurityCenter::V1"; +option (google.api.resource_definition) = { + type: "dlp.googleapis.com/DlpJob" + pattern: "projects/{project}/dlpJobs/{dlp_job}" + pattern: "projects/{project}/locations/{location}/dlpJobs/{dlp_job}" +}; + +// Details about the Cloud Data Loss Prevention (Cloud DLP) [inspection +// job](https://cloud.google.com/dlp/docs/concepts-job-triggers) that produced +// the finding. +message CloudDlpInspection { + // Name of the inspection job, for example, + // `projects/123/locations/europe/dlpJobs/i-8383929`. + string inspect_job = 1 + [(google.api.resource_reference) = { type: "dlp.googleapis.com/DlpJob" }]; + + // The type of information (or + // *[infoType](https://cloud.google.com/dlp/docs/infotypes-reference)*) found, + // for example, `EMAIL_ADDRESS` or `STREET_ADDRESS`. + string info_type = 2; + + // The number of times Cloud DLP found this infoType within this job + // and resource. + int64 info_type_count = 3; + + // Whether Cloud DLP scanned the complete resource or a sampled subset. + bool full_scan = 4; +} diff --git a/third_party/googleapis/google/cloud/securitycenter/v1/effective_security_health_analytics_custom_module.proto b/third_party/googleapis/google/cloud/securitycenter/v1/effective_security_health_analytics_custom_module.proto new file mode 100644 index 000000000..3c5cc8af3 --- /dev/null +++ b/third_party/googleapis/google/cloud/securitycenter/v1/effective_security_health_analytics_custom_module.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.cloud.securitycenter.v1; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/securitycenter/v1/security_health_analytics_custom_config.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 = "EffectiveSecurityHealthAnalyticsCustomModuleProto"; +option java_package = "com.google.cloud.securitycenter.v1"; +option php_namespace = "Google\\Cloud\\SecurityCenter\\V1"; +option ruby_package = "Google::Cloud::SecurityCenter::V1"; + +// An EffectiveSecurityHealthAnalyticsCustomModule is the representation of +// a Security Health Analytics custom module at a specified level of the +// resource hierarchy: organization, folder, or project. If a custom module is +// inherited from a parent organization or folder, the value of the +// `enablementState` property in EffectiveSecurityHealthAnalyticsCustomModule is +// set to the value that is effective in the parent, instead of `INHERITED`. +// For example, if the module is enabled in a parent organization or folder, the +// effective enablement_state for the module in all child folders or projects is +// also `enabled`. EffectiveSecurityHealthAnalyticsCustomModule is read-only. +message EffectiveSecurityHealthAnalyticsCustomModule { + option (google.api.resource) = { + type: "securitycenter.googleapis.com/EffectiveSecurityHealthAnalyticsCustomModule" + pattern: "organizations/{organization}/securityHealthAnalyticsSettings/effectiveCustomModules/{effective_custom_module}" + pattern: "folders/{folder}/securityHealthAnalyticsSettings/effectiveCustomModules/{effective_custom_module}" + pattern: "projects/{project}/securityHealthAnalyticsSettings/effectiveCustomModules/{effective_custom_module}" + }; + + // The enablement state of the module. + enum EnablementState { + // Unspecified enablement state. + ENABLEMENT_STATE_UNSPECIFIED = 0; + + // The module is enabled at the given level. + ENABLED = 1; + + // The module is disabled at the given level. + DISABLED = 2; + } + + // Output only. The resource name of the custom module. + // Its format is + // "organizations/{organization}/securityHealthAnalyticsSettings/effectiveCustomModules/{customModule}", + // or + // "folders/{folder}/securityHealthAnalyticsSettings/effectiveCustomModules/{customModule}", + // or + // "projects/{project}/securityHealthAnalyticsSettings/effectiveCustomModules/{customModule}" + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The user-specified configuration for the module. + CustomConfig custom_config = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The effective state of enablement for the module at the given + // level of the hierarchy. + EnablementState enablement_state = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The display name for the custom module. The name must be + // between 1 and 128 characters, start with a lowercase letter, and contain + // alphanumeric characters or underscores only. + string display_name = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/cloud/securitycenter/v1/security_health_analytics_custom_config.proto b/third_party/googleapis/google/cloud/securitycenter/v1/security_health_analytics_custom_config.proto new file mode 100644 index 000000000..337f0a3bb --- /dev/null +++ b/third_party/googleapis/google/cloud/securitycenter/v1/security_health_analytics_custom_config.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.cloud.securitycenter.v1; + +import "google/type/expr.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 = "SecurityHealthAnalyticsCustomConfigProto"; +option java_package = "com.google.cloud.securitycenter.v1"; +option php_namespace = "Google\\Cloud\\SecurityCenter\\V1"; +option ruby_package = "Google::Cloud::SecurityCenter::V1"; + +// Defines the properties in a custom module configuration for Security +// Health Analytics. Use the custom module configuration to create custom +// detectors that generate custom findings for resources that you specify. +message CustomConfig { + // A set of optional name-value pairs that define custom source properties to + // return with each finding that is generated by the custom module. The custom + // source properties that are defined here are included in the finding JSON + // under `sourceProperties`. + message CustomOutputSpec { + // An individual name-value pair that defines a custom source property. + message Property { + // Name of the property for the custom output. + string name = 1; + + // The CEL expression for the custom output. A resource property can be + // specified to return the value of the property or a text string enclosed + // in quotation marks. + google.type.Expr value_expression = 2; + } + + // A list of custom output properties to add to the finding. + repeated Property properties = 1; + } + + // Resource for selecting resource type. + message ResourceSelector { + // The resource types to run the detector on. + repeated string resource_types = 1; + } + + // Defines the valid value options for the severity of a finding. + enum Severity { + // Unspecified severity. + SEVERITY_UNSPECIFIED = 0; + + // Critical severity. + CRITICAL = 1; + + // High severity. + HIGH = 2; + + // Medium severity. + MEDIUM = 3; + + // Low severity. + LOW = 4; + } + + // The CEL expression to evaluate to produce findings. When the expression + // evaluates to true against a resource, a finding is generated. + google.type.Expr predicate = 1; + + // Custom output properties. + CustomOutputSpec custom_output = 2; + + // The resource types that the custom module operates on. Each custom module + // can specify up to 5 resource types. + ResourceSelector resource_selector = 3; + + // The severity to assign to findings generated by the module. + Severity severity = 4; + + // Text that describes the vulnerability or misconfiguration that the custom + // module detects. This explanation is returned with each finding instance to + // help investigators understand the detected issue. The text must be enclosed + // in quotation marks. + string description = 5; + + // An explanation of the recommended steps that security teams can take to + // resolve the detected issue. This explanation is returned with each finding + // generated by this module in the `nextSteps` property of the finding JSON. + string recommendation = 6; +} diff --git a/third_party/googleapis/google/cloud/securitycenter/v1/security_health_analytics_custom_module.proto b/third_party/googleapis/google/cloud/securitycenter/v1/security_health_analytics_custom_module.proto new file mode 100644 index 000000000..7e7343d06 --- /dev/null +++ b/third_party/googleapis/google/cloud/securitycenter/v1/security_health_analytics_custom_module.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.cloud.securitycenter.v1; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/securitycenter/v1/security_health_analytics_custom_config.proto"; +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 = "SecurityHealthAnalyticsCustomModuleProto"; +option java_package = "com.google.cloud.securitycenter.v1"; +option php_namespace = "Google\\Cloud\\SecurityCenter\\V1"; +option ruby_package = "Google::Cloud::SecurityCenter::V1"; +option (google.api.resource_definition) = { + type: "securitycenter.googleapis.com/SecurityHealthAnalyticsSettings" + pattern: "organizations/{organization}/securityHealthAnalyticsSettings" + pattern: "folders/{folder}/securityHealthAnalyticsSettings" + pattern: "projects/{project}/securityHealthAnalyticsSettings" +}; + +// Represents an instance of a Security Health Analytics custom module, +// including its full module name, display name, enablement state, and last +// updated time. You can create a custom module at the organization, folder, or +// project level. Custom modules that you create at the organization or folder +// level are inherited by the child folders and projects. +message SecurityHealthAnalyticsCustomModule { + option (google.api.resource) = { + type: "securitycenter.googleapis.com/SecurityHealthAnalyticsCustomModule" + pattern: "organizations/{organization}/securityHealthAnalyticsSettings/customModules/{custom_module}" + pattern: "folders/{folder}/securityHealthAnalyticsSettings/customModules/{custom_module}" + pattern: "projects/{project}/securityHealthAnalyticsSettings/customModules/{custom_module}" + }; + + // Possible enablement states of a custom module. + enum EnablementState { + // Unspecified enablement state. + ENABLEMENT_STATE_UNSPECIFIED = 0; + + // The module is enabled at the given CRM resource. + ENABLED = 1; + + // The module is disabled at the given CRM resource. + DISABLED = 2; + + // State is inherited from an ancestor module. The module will either + // be effectively ENABLED or DISABLED based on its closest non-inherited + // ancestor module in the CRM hierarchy. + INHERITED = 3; + } + + // Immutable. The resource name of the custom module. + // Its format is + // "organizations/{organization}/securityHealthAnalyticsSettings/customModules/{customModule}", + // or + // "folders/{folder}/securityHealthAnalyticsSettings/customModules/{customModule}", + // or + // "projects/{project}/securityHealthAnalyticsSettings/customModules/{customModule}" + // + // The id {customModule} is server-generated and is not user settable. + // It will be a numeric id containing 1-20 digits. + string name = 1 [(google.api.field_behavior) = IMMUTABLE]; + + // The display name of the Security Health Analytics custom module. This + // display name becomes the finding category for all findings that are + // returned by this custom module. The display name must be between 1 and + // 128 characters, start with a lowercase letter, and contain alphanumeric + // characters or underscores only. + string display_name = 2; + + // The enablement state of the custom module. + EnablementState enablement_state = 4; + + // Output only. The time at which the custom module was last updated. + google.protobuf.Timestamp update_time = 5 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The editor that last updated the custom module. + string last_editor = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. If empty, indicates that the custom module was created in the + // organization, folder, or project in which you are viewing the custom + // module. Otherwise, `ancestor_module` specifies the organization or folder + // from which the custom module is inherited. + string ancestor_module = 7 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "securitycenter.googleapis.com/SecurityHealthAnalyticsCustomModule" + } + ]; + + // The user specified custom configuration for the module. + CustomConfig custom_config = 8; +} diff --git a/third_party/googleapis/google/cloud/securitycentermanagement/BUILD.bazel b/third_party/googleapis/google/cloud/securitycentermanagement/BUILD.bazel new file mode 100644 index 000000000..1808ffbd8 --- /dev/null +++ b/third_party/googleapis/google/cloud/securitycentermanagement/BUILD.bazel @@ -0,0 +1,36 @@ +# This build file includes a target for the Ruby wrapper library for +# google-cloud-security_center_management. + +# 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 securitycentermanagement. +# 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 = "securitycentermanagement_ruby_wrapper", + srcs = ["//google/cloud/securitycentermanagement/v1:securitycentermanagement_proto_with_info"], + extra_protoc_parameters = [ + "ruby-cloud-gem-name=google-cloud-security_center_management", + "ruby-cloud-wrapper-of=v1:0.0", + ], + service_yaml = "//google/cloud/securitycentermanagement/v1:securitycentermanagement_v1.yaml", + transport = "grpc+rest", +) + +# Open Source package. +ruby_gapic_assembly_pkg( + name = "google-cloud-securitycentermanagement-ruby", + deps = [ + ":securitycentermanagement_ruby_wrapper", + ], +) \ No newline at end of file diff --git a/third_party/googleapis/google/cloud/securitycentermanagement/v1/BUILD.bazel b/third_party/googleapis/google/cloud/securitycentermanagement/v1/BUILD.bazel new file mode 100644 index 000000000..c2130ca9d --- /dev/null +++ b/third_party/googleapis/google/cloud/securitycentermanagement/v1/BUILD.bazel @@ -0,0 +1,389 @@ +# 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 = "securitycentermanagement_proto", + srcs = [ + "security_center_management.proto", + ], + deps = [ + "//google/api:annotations_proto", + "//google/api:client_proto", + "//google/api:field_behavior_proto", + "//google/api:resource_proto", + "//google/iam/v1:policy_proto", + "//google/rpc:status_proto", + "//google/type:expr_proto", + "@com_google_protobuf//:empty_proto", + "@com_google_protobuf//:field_mask_proto", + "@com_google_protobuf//:struct_proto", + "@com_google_protobuf//:timestamp_proto", + ], +) + +proto_library_with_info( + name = "securitycentermanagement_proto_with_info", + deps = [ + ":securitycentermanagement_proto", + "//google/cloud/location:location_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 = "securitycentermanagement_java_proto", + deps = [":securitycentermanagement_proto"], +) + +java_grpc_library( + name = "securitycentermanagement_java_grpc", + srcs = [":securitycentermanagement_proto"], + deps = [":securitycentermanagement_java_proto"], +) + +java_gapic_library( + name = "securitycentermanagement_java_gapic", + srcs = [":securitycentermanagement_proto_with_info"], + gapic_yaml = None, + grpc_service_config = "securitycentermanagement_v1_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "securitycentermanagement_v1.yaml", + test_deps = [ + "//google/cloud/location:location_java_grpc", + "//google/iam/v1:iam_java_grpc", + ":securitycentermanagement_java_grpc", + ], + transport = "grpc+rest", + deps = [ + ":securitycentermanagement_java_proto", + "//google/api:api_java_proto", + "//google/cloud/location:location_java_proto", + "//google/iam/v1:iam_java_proto", + ], +) + +java_gapic_test( + name = "securitycentermanagement_java_gapic_test_suite", + test_classes = [ + "com.google.cloud.securitycentermanagement.v1.SecurityCenterManagementClientHttpJsonTest", + "com.google.cloud.securitycentermanagement.v1.SecurityCenterManagementClientTest", + ], + runtime_deps = [":securitycentermanagement_java_gapic_test"], +) + +# Open Source Packages +java_gapic_assembly_gradle_pkg( + name = "google-cloud-securitycentermanagement-v1-java", + transport = "grpc+rest", + deps = [ + ":securitycentermanagement_java_gapic", + ":securitycentermanagement_java_grpc", + ":securitycentermanagement_java_proto", + ":securitycentermanagement_proto", + ], + include_samples = True, +) + +############################################################################## +# Go +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "go_gapic_assembly_pkg", + "go_gapic_library", + "go_proto_library", +) + +go_proto_library( + name = "securitycentermanagement_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "cloud.google.com/go/securitycentermanagement/apiv1/securitycentermanagementpb", + protos = [":securitycentermanagement_proto"], + deps = [ + "//google/api:annotations_go_proto", + "//google/iam/v1:iam_go_proto", + "//google/rpc:status_go_proto", + "//google/type:expr_go_proto", + ], +) + +go_gapic_library( + name = "securitycentermanagement_go_gapic", + srcs = [":securitycentermanagement_proto_with_info"], + grpc_service_config = "securitycentermanagement_v1_grpc_service_config.json", + importpath = "cloud.google.com/go/securitycentermanagement/apiv1;securitycentermanagement", + metadata = True, + release_level = "beta", + rest_numeric_enums = True, + service_yaml = "securitycentermanagement_v1.yaml", + transport = "grpc+rest", + deps = [ + ":securitycentermanagement_go_proto", + "//google/cloud/location:location_go_proto", + "//google/iam/v1:iam_go_proto", + ], +) + +# Open Source Packages +go_gapic_assembly_pkg( + name = "gapi-cloud-securitycentermanagement-v1-go", + deps = [ + ":securitycentermanagement_go_gapic", + ":securitycentermanagement_go_gapic_srcjar-test.srcjar", + ":securitycentermanagement_go_gapic_srcjar-metadata.srcjar", + ":securitycentermanagement_go_gapic_srcjar-snippets.srcjar", + ":securitycentermanagement_go_proto", + ], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "py_gapic_assembly_pkg", + "py_gapic_library", + "py_test", +) + +py_gapic_library( + name = "securitycentermanagement_py_gapic", + srcs = [":securitycentermanagement_proto"], + grpc_service_config = "securitycentermanagement_v1_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "securitycentermanagement_v1.yaml", + transport = "grpc+rest", + deps = [ + "//google/iam/v1:iam_policy_py_proto", + ], +) + +py_test( + name = "securitycentermanagement_py_gapic_test", + srcs = [ + "securitycentermanagement_py_gapic_pytest.py", + "securitycentermanagement_py_gapic_test.py", + ], + legacy_create_init = False, + deps = [":securitycentermanagement_py_gapic"], +) + +# Open Source Packages +py_gapic_assembly_pkg( + name = "securitycentermanagement-v1-py", + deps = [ + ":securitycentermanagement_py_gapic", + ], +) + +############################################################################## +# PHP +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "php_gapic_assembly_pkg", + "php_gapic_library", + "php_proto_library", +) + +php_proto_library( + name = "securitycentermanagement_php_proto", + deps = [":securitycentermanagement_proto"], +) + +php_gapic_library( + name = "securitycentermanagement_php_gapic", + srcs = [":securitycentermanagement_proto_with_info"], + grpc_service_config = "securitycentermanagement_v1_grpc_service_config.json", + rest_numeric_enums = True, + migration_mode = "NEW_SURFACE_ONLY", + service_yaml = "securitycentermanagement_v1.yaml", + transport = "grpc+rest", + deps = [ + ":securitycentermanagement_php_proto", + ], +) + +# Open Source Packages +php_gapic_assembly_pkg( + name = "google-cloud-securitycentermanagement-v1-php", + deps = [ + ":securitycentermanagement_php_gapic", + ":securitycentermanagement_php_proto", + ], +) + +############################################################################## +# Node.js +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "nodejs_gapic_assembly_pkg", + "nodejs_gapic_library", +) + +nodejs_gapic_library( + name = "securitycentermanagement_nodejs_gapic", + package_name = "@google-cloud/securitycentermanagement", + src = ":securitycentermanagement_proto_with_info", + extra_protoc_parameters = ["metadata"], + grpc_service_config = "securitycentermanagement_v1_grpc_service_config.json", + package = "google.cloud.securitycentermanagement.v1", + rest_numeric_enums = True, + service_yaml = "securitycentermanagement_v1.yaml", + transport = "grpc+rest", + deps = [], +) + +nodejs_gapic_assembly_pkg( + name = "securitycentermanagement-v1-nodejs", + deps = [ + ":securitycentermanagement_nodejs_gapic", + ":securitycentermanagement_proto", + ], +) + +############################################################################## +# Ruby +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "ruby_gapic_assembly_pkg", + "ruby_cloud_gapic_library", + "ruby_grpc_library", + "ruby_proto_library", +) + +ruby_proto_library( + name = "securitycentermanagement_ruby_proto", + deps = [":securitycentermanagement_proto"], +) + +ruby_grpc_library( + name = "securitycentermanagement_ruby_grpc", + srcs = [":securitycentermanagement_proto"], + deps = [":securitycentermanagement_ruby_proto"], +) + +ruby_cloud_gapic_library( + name = "securitycentermanagement_ruby_gapic", + srcs = [":securitycentermanagement_proto_with_info"], + extra_protoc_parameters = [ + "ruby-cloud-gem-name=google-cloud-security_center_management-v1", + ], + grpc_service_config = "securitycentermanagement_v1_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "securitycentermanagement_v1.yaml", + transport = "grpc+rest", + deps = [ + ":securitycentermanagement_ruby_grpc", + ":securitycentermanagement_ruby_proto", + ], +) + +# Open Source Packages +ruby_gapic_assembly_pkg( + name = "google-cloud-securitycentermanagement-v1-ruby", + deps = [ + ":securitycentermanagement_ruby_gapic", + ":securitycentermanagement_ruby_grpc", + ":securitycentermanagement_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 = "securitycentermanagement_csharp_proto", + extra_opts = [], + deps = [":securitycentermanagement_proto"], +) + +csharp_grpc_library( + name = "securitycentermanagement_csharp_grpc", + srcs = [":securitycentermanagement_proto"], + deps = [":securitycentermanagement_csharp_proto"], +) + +csharp_gapic_library( + name = "securitycentermanagement_csharp_gapic", + srcs = [":securitycentermanagement_proto_with_info"], + common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json", + grpc_service_config = "securitycentermanagement_v1_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "securitycentermanagement_v1.yaml", + transport = "grpc+rest", + deps = [ + ":securitycentermanagement_csharp_grpc", + ":securitycentermanagement_csharp_proto", + ], +) + +# Open Source Packages +csharp_gapic_assembly_pkg( + name = "google-cloud-securitycentermanagement-v1-csharp", + deps = [ + ":securitycentermanagement_csharp_gapic", + ":securitycentermanagement_csharp_grpc", + ":securitycentermanagement_csharp_proto", + ], +) + +############################################################################## +# C++ +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "cc_grpc_library", + "cc_proto_library", +) + +cc_proto_library( + name = "securitycentermanagement_cc_proto", + deps = [":securitycentermanagement_proto"], +) + +cc_grpc_library( + name = "securitycentermanagement_cc_grpc", + srcs = [":securitycentermanagement_proto"], + grpc_only = True, + deps = [":securitycentermanagement_cc_proto"], +) 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 new file mode 100644 index 000000000..b4fbd9c29 --- /dev/null +++ b/third_party/googleapis/google/cloud/securitycentermanagement/v1/security_center_management.proto @@ -0,0 +1,1451 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF 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.securitycentermanagement.v1; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/iam/v1/policy.proto"; +import "google/protobuf/empty.proto"; +import "google/protobuf/field_mask.proto"; +import "google/protobuf/struct.proto"; +import "google/protobuf/timestamp.proto"; +import "google/rpc/status.proto"; +import "google/type/expr.proto"; + +option csharp_namespace = "Google.Cloud.SecurityCenterManagement.V1"; +option go_package = "cloud.google.com/go/securitycentermanagement/apiv1/securitycentermanagementpb;securitycentermanagementpb"; +option java_multiple_files = true; +option java_outer_classname = "SecurityCenterManagementProto"; +option java_package = "com.google.cloud.securitycentermanagement.v1"; +option php_namespace = "Google\\Cloud\\SecurityCenterManagement\\V1"; +option ruby_package = "Google::Cloud::SecurityCenterManagement::V1"; +option (google.api.resource_definition) = { + type: "securitycentermanagement.googleapis.com/OrganizationLocation" + pattern: "organizations/{organization}/locations/{location}" +}; +option (google.api.resource_definition) = { + type: "securitycentermanagement.googleapis.com/FolderLocation" + pattern: "folders/{folder}/locations/{location}" +}; + +// Service describing handlers for resources +service SecurityCenterManagement { + option (google.api.default_host) = "securitycentermanagement.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform"; + + // Returns a list of all EffectiveSecurityHealthAnalyticsCustomModules for the + // given parent. This includes resident modules defined at the scope of the + // parent, and inherited modules, inherited from CRM ancestors (no + // descendants). + rpc ListEffectiveSecurityHealthAnalyticsCustomModules( + ListEffectiveSecurityHealthAnalyticsCustomModulesRequest) + returns (ListEffectiveSecurityHealthAnalyticsCustomModulesResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*}/effectiveSecurityHealthAnalyticsCustomModules" + additional_bindings { + get: "/v1/{parent=folders/*/locations/*}/effectiveSecurityHealthAnalyticsCustomModules" + } + additional_bindings { + get: "/v1/{parent=organizations/*/locations/*}/effectiveSecurityHealthAnalyticsCustomModules" + } + }; + option (google.api.method_signature) = "parent"; + } + + // Gets details of a single EffectiveSecurityHealthAnalyticsCustomModule. + rpc GetEffectiveSecurityHealthAnalyticsCustomModule( + GetEffectiveSecurityHealthAnalyticsCustomModuleRequest) + returns (EffectiveSecurityHealthAnalyticsCustomModule) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/effectiveSecurityHealthAnalyticsCustomModules/*}" + additional_bindings { + get: "/v1/{name=folders/*/locations/*/effectiveSecurityHealthAnalyticsCustomModules/*}" + } + additional_bindings { + get: "/v1/{name=organizations/*/locations/*/effectiveSecurityHealthAnalyticsCustomModules/*}" + } + }; + option (google.api.method_signature) = "name"; + } + + // Returns a list of all SecurityHealthAnalyticsCustomModules for the given + // parent. This includes resident modules defined at the scope of the parent, + // and inherited modules, inherited from CRM ancestors (no descendants). + rpc ListSecurityHealthAnalyticsCustomModules( + ListSecurityHealthAnalyticsCustomModulesRequest) + returns (ListSecurityHealthAnalyticsCustomModulesResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*}/securityHealthAnalyticsCustomModules" + additional_bindings { + get: "/v1/{parent=folders/*/locations/*}/securityHealthAnalyticsCustomModules" + } + additional_bindings { + get: "/v1/{parent=organizations/*/locations/*}/securityHealthAnalyticsCustomModules" + } + }; + option (google.api.method_signature) = "parent"; + } + + // Returns a list of all resident SecurityHealthAnalyticsCustomModules under + // the given CRM parent and all of the parent’s CRM descendants. + rpc ListDescendantSecurityHealthAnalyticsCustomModules( + ListDescendantSecurityHealthAnalyticsCustomModulesRequest) + returns (ListDescendantSecurityHealthAnalyticsCustomModulesResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*}/securityHealthAnalyticsCustomModules:listDescendant" + additional_bindings { + get: "/v1/{parent=folders/*/locations/*}/securityHealthAnalyticsCustomModules:listDescendant" + } + additional_bindings { + get: "/v1/{parent=organizations/*/locations/*}/securityHealthAnalyticsCustomModules:listDescendant" + } + }; + option (google.api.method_signature) = "parent"; + } + + // Retrieves a SecurityHealthAnalyticsCustomModule. + rpc GetSecurityHealthAnalyticsCustomModule( + GetSecurityHealthAnalyticsCustomModuleRequest) + returns (SecurityHealthAnalyticsCustomModule) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/securityHealthAnalyticsCustomModules/*}" + additional_bindings { + get: "/v1/{name=folders/*/locations/*/securityHealthAnalyticsCustomModules/*}" + } + additional_bindings { + get: "/v1/{name=organizations/*/locations/*/securityHealthAnalyticsCustomModules/*}" + } + }; + option (google.api.method_signature) = "name"; + } + + // Creates a resident SecurityHealthAnalyticsCustomModule at the scope of the + // given CRM parent, and also creates inherited + // SecurityHealthAnalyticsCustomModules for all CRM descendants of the given + // parent. These modules are enabled by default. + rpc CreateSecurityHealthAnalyticsCustomModule( + CreateSecurityHealthAnalyticsCustomModuleRequest) + returns (SecurityHealthAnalyticsCustomModule) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*}/securityHealthAnalyticsCustomModules" + body: "security_health_analytics_custom_module" + additional_bindings { + post: "/v1/{parent=folders/*/locations/*}/securityHealthAnalyticsCustomModules" + body: "security_health_analytics_custom_module" + } + additional_bindings { + post: "/v1/{parent=organizations/*/locations/*}/securityHealthAnalyticsCustomModules" + body: "security_health_analytics_custom_module" + } + }; + option (google.api.method_signature) = + "parent,security_health_analytics_custom_module"; + } + + // Updates the SecurityHealthAnalyticsCustomModule under the given name based + // on the given update mask. Updating the enablement state is supported on + // both resident and inherited modules (though resident modules cannot have an + // enablement state of "inherited"). Updating the display name and custom + // config of a module is supported on resident modules only. + rpc UpdateSecurityHealthAnalyticsCustomModule( + UpdateSecurityHealthAnalyticsCustomModuleRequest) + returns (SecurityHealthAnalyticsCustomModule) { + option (google.api.http) = { + patch: "/v1/{security_health_analytics_custom_module.name=projects/*/locations/*/securityHealthAnalyticsCustomModules/*}" + body: "security_health_analytics_custom_module" + additional_bindings { + patch: "/v1/{security_health_analytics_custom_module.name=folders/*/locations/*/securityHealthAnalyticsCustomModules/*}" + body: "security_health_analytics_custom_module" + } + additional_bindings { + patch: "/v1/{security_health_analytics_custom_module.name=organizations/*/locations/*/securityHealthAnalyticsCustomModules/*}" + body: "security_health_analytics_custom_module" + } + }; + option (google.api.method_signature) = + "security_health_analytics_custom_module,update_mask"; + } + + // Deletes the specified SecurityHealthAnalyticsCustomModule and all of its + // descendants in the CRM hierarchy. This method is only supported for + // resident custom modules. + rpc DeleteSecurityHealthAnalyticsCustomModule( + DeleteSecurityHealthAnalyticsCustomModuleRequest) + returns (google.protobuf.Empty) { + option (google.api.http) = { + delete: "/v1/{name=projects/*/locations/*/securityHealthAnalyticsCustomModules/*}" + additional_bindings { + delete: "/v1/{name=folders/*/locations/*/securityHealthAnalyticsCustomModules/*}" + } + additional_bindings { + delete: "/v1/{name=organizations/*/locations/*/securityHealthAnalyticsCustomModules/*}" + } + }; + option (google.api.method_signature) = "name"; + } + + // Simulates a given SecurityHealthAnalyticsCustomModule and Resource. + rpc SimulateSecurityHealthAnalyticsCustomModule( + SimulateSecurityHealthAnalyticsCustomModuleRequest) + returns (SimulateSecurityHealthAnalyticsCustomModuleResponse) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*}/securityHealthAnalyticsCustomModules:simulate" + body: "*" + additional_bindings { + post: "/v1/{parent=folders/*/locations/*}/securityHealthAnalyticsCustomModules:simulate" + body: "*" + } + additional_bindings { + post: "/v1/{parent=organizations/*/locations/*}/securityHealthAnalyticsCustomModules:simulate" + body: "*" + } + }; + option (google.api.method_signature) = "parent,custom_config,resource"; + } + + // Lists all effective Event Threat Detection custom modules for the + // given parent. This includes resident modules defined at the scope of the + // parent along with modules inherited from its ancestors. + rpc ListEffectiveEventThreatDetectionCustomModules( + ListEffectiveEventThreatDetectionCustomModulesRequest) + returns (ListEffectiveEventThreatDetectionCustomModulesResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*}/effectiveEventThreatDetectionCustomModules" + additional_bindings { + get: "/v1/{parent=folders/*/locations/*}/effectiveEventThreatDetectionCustomModules" + } + additional_bindings { + get: "/v1/{parent=organizations/*/locations/*}/effectiveEventThreatDetectionCustomModules" + } + }; + option (google.api.method_signature) = "parent"; + } + + // Gets an effective ETD custom module. Retrieves the effective module at the + // given level. The difference between an EffectiveCustomModule and a + // CustomModule is that the fields for an EffectiveCustomModule are computed + // from ancestors if needed. For example, the enablement_state for a + // CustomModule can be either ENABLED, DISABLED, or INHERITED. Where as the + // enablement_state for an EffectiveCustomModule is always computed to ENABLED + // or DISABLED (the effective enablement_state). + rpc GetEffectiveEventThreatDetectionCustomModule( + GetEffectiveEventThreatDetectionCustomModuleRequest) + returns (EffectiveEventThreatDetectionCustomModule) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/effectiveEventThreatDetectionCustomModules/*}" + additional_bindings { + get: "/v1/{name=folders/*/locations/*/effectiveEventThreatDetectionCustomModules/*}" + } + additional_bindings { + get: "/v1/{name=organizations/*/locations/*/effectiveEventThreatDetectionCustomModules/*}" + } + }; + option (google.api.method_signature) = "name"; + } + + // Lists all Event Threat Detection custom modules for the given + // Resource Manager parent. This includes resident modules defined at the + // scope of the parent along with modules inherited from ancestors. + rpc ListEventThreatDetectionCustomModules( + ListEventThreatDetectionCustomModulesRequest) + returns (ListEventThreatDetectionCustomModulesResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*}/eventThreatDetectionCustomModules" + additional_bindings { + get: "/v1/{parent=folders/*/locations/*}/eventThreatDetectionCustomModules" + } + additional_bindings { + get: "/v1/{parent=organizations/*/locations/*}/eventThreatDetectionCustomModules" + } + }; + option (google.api.method_signature) = "parent"; + } + + // Lists all resident Event Threat Detection custom modules under the + // given Resource Manager parent and its descendants. + rpc ListDescendantEventThreatDetectionCustomModules( + ListDescendantEventThreatDetectionCustomModulesRequest) + returns (ListDescendantEventThreatDetectionCustomModulesResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*}/eventThreatDetectionCustomModules:listDescendant" + additional_bindings { + get: "/v1/{parent=folders/*/locations/*}/eventThreatDetectionCustomModules:listDescendant" + } + additional_bindings { + get: "/v1/{parent=organizations/*/locations/*}/eventThreatDetectionCustomModules:listDescendant" + } + }; + option (google.api.method_signature) = "parent"; + } + + // Gets an Event Threat Detection custom module. + rpc GetEventThreatDetectionCustomModule( + GetEventThreatDetectionCustomModuleRequest) + returns (EventThreatDetectionCustomModule) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/eventThreatDetectionCustomModules/*}" + additional_bindings { + get: "/v1/{name=folders/*/locations/*/eventThreatDetectionCustomModules/*}" + } + additional_bindings { + get: "/v1/{name=organizations/*/locations/*/eventThreatDetectionCustomModules/*}" + } + }; + option (google.api.method_signature) = "name"; + } + + // Creates a resident Event Threat Detection custom module at the scope of the + // given Resource Manager parent, and also creates inherited custom modules + // for all descendants of the given parent. These modules are enabled by + // default. + rpc CreateEventThreatDetectionCustomModule( + CreateEventThreatDetectionCustomModuleRequest) + returns (EventThreatDetectionCustomModule) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*}/eventThreatDetectionCustomModules" + body: "event_threat_detection_custom_module" + additional_bindings { + post: "/v1/{parent=folders/*/locations/*}/eventThreatDetectionCustomModules" + body: "event_threat_detection_custom_module" + } + additional_bindings { + post: "/v1/{parent=organizations/*/locations/*}/eventThreatDetectionCustomModules" + body: "event_threat_detection_custom_module" + } + }; + option (google.api.method_signature) = + "parent,event_threat_detection_custom_module"; + } + + // Updates the Event Threat Detection custom module with the given name based + // on the given update mask. Updating the enablement state is supported for + // both resident and inherited modules (though resident modules cannot have an + // enablement state of "inherited"). Updating the display name or + // configuration of a module is supported for resident modules only. The type + // of a module cannot be changed. + rpc UpdateEventThreatDetectionCustomModule( + UpdateEventThreatDetectionCustomModuleRequest) + returns (EventThreatDetectionCustomModule) { + option (google.api.http) = { + patch: "/v1/{event_threat_detection_custom_module.name=projects/*/locations/*/eventThreatDetectionCustomModules/*}" + body: "event_threat_detection_custom_module" + additional_bindings { + patch: "/v1/{event_threat_detection_custom_module.name=folders/*/locations/*/eventThreatDetectionCustomModules/*}" + body: "event_threat_detection_custom_module" + } + additional_bindings { + patch: "/v1/{event_threat_detection_custom_module.name=organizations/*/locations/*/eventThreatDetectionCustomModules/*}" + body: "event_threat_detection_custom_module" + } + }; + option (google.api.method_signature) = + "event_threat_detection_custom_module,update_mask"; + } + + // Deletes the specified Event Threat Detection custom module and all of its + // descendants in the Resource Manager hierarchy. This method is only + // supported for resident custom modules. + rpc DeleteEventThreatDetectionCustomModule( + DeleteEventThreatDetectionCustomModuleRequest) + returns (google.protobuf.Empty) { + option (google.api.http) = { + delete: "/v1/{name=projects/*/locations/*/eventThreatDetectionCustomModules/*}" + additional_bindings { + delete: "/v1/{name=folders/*/locations/*/eventThreatDetectionCustomModules/*}" + } + additional_bindings { + delete: "/v1/{name=organizations/*/locations/*/eventThreatDetectionCustomModules/*}" + } + }; + option (google.api.method_signature) = "name"; + } + + // Validates the given Event Threat Detection custom module. + rpc ValidateEventThreatDetectionCustomModule( + ValidateEventThreatDetectionCustomModuleRequest) + returns (ValidateEventThreatDetectionCustomModuleResponse) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*}/eventThreatDetectionCustomModules:validate" + body: "*" + additional_bindings { + post: "/v1/{parent=folders/*/locations/*}/eventThreatDetectionCustomModules:validate" + body: "*" + } + additional_bindings { + post: "/v1/{parent=organizations/*/locations/*}/eventThreatDetectionCustomModules:validate" + body: "*" + } + }; + } +} + +// An EffectiveSecurityHealthAnalyticsCustomModule is the representation of +// a Security Health Analytics custom module at a specified level of the +// resource hierarchy: organization, folder, or project. If a custom module is +// inherited from a parent organization or folder, the value of the +// `enablementState` property in EffectiveSecurityHealthAnalyticsCustomModule is +// set to the value that is effective in the parent, instead of `INHERITED`. +// For example, if the module is enabled in a parent organization or folder, the +// effective enablement_state for the module in all child folders or projects is +// also `enabled`. EffectiveSecurityHealthAnalyticsCustomModule is read-only. +message EffectiveSecurityHealthAnalyticsCustomModule { + option (google.api.resource) = { + type: "securitycentermanagement.googleapis.com/EffectiveSecurityHealthAnalyticsCustomModule" + pattern: "organizations/{organization}/locations/{location}/effectiveSecurityHealthAnalyticsCustomModules/{effective_security_health_analytics_custom_module}" + pattern: "projects/{project}/locations/{location}/effectiveSecurityHealthAnalyticsCustomModules/{effective_security_health_analytics_custom_module}" + pattern: "folders/{folder}/locations/{location}/effectiveSecurityHealthAnalyticsCustomModules/{effective_security_health_analytics_custom_module}" + plural: "effectiveSecurityHealthAnalyticsCustomModules" + singular: "effectiveSecurityHealthAnalyticsCustomModule" + }; + + // The enablement state of the module. + enum EnablementState { + // Unspecified enablement state. + ENABLEMENT_STATE_UNSPECIFIED = 0; + + // The module is enabled at the given level. + ENABLED = 1; + + // The module is disabled at the given level. + DISABLED = 2; + } + + // Output only. The resource name of the custom module. + // Its format is + // "organizations/{organization}/locations/{location}/effectiveSecurityHealthAnalyticsCustomModules/{effective_security_health_analytics_custom_module}", + // or + // "folders/{folder}/locations/{location}/effectiveSecurityHealthAnalyticsCustomModules/{effective_security_health_analytics_custom_module}", + // or + // "projects/{project}/locations/{location}/effectiveSecurityHealthAnalyticsCustomModules/{effective_security_health_analytics_custom_module}" + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The user-specified configuration for the module. + CustomConfig custom_config = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The effective state of enablement for the module at the given + // level of the hierarchy. + EnablementState enablement_state = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The display name for the custom module. The name must be + // between 1 and 128 characters, start with a lowercase letter, and contain + // alphanumeric characters or underscores only. + string display_name = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Request message for listing effective Security Health Analytics custom +// modules. +message ListEffectiveSecurityHealthAnalyticsCustomModulesRequest { + // Required. Name of parent to list effective custom modules. Its format is + // "organizations/{organization}/locations/{location}", + // "folders/{folder}/locations/{location}", + // or + // "projects/{project}/locations/{location}" + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "securitycentermanagement.googleapis.com/EffectiveSecurityHealthAnalyticsCustomModule" + } + ]; + + // Optional. The maximum number of results to return in a single response. + // Default is 10, minimum is 1, maximum is 1000. + int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The value returned by the last call indicating a continuation. + string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// Response message for listing effective Security Health Analytics custom +// modules. +message ListEffectiveSecurityHealthAnalyticsCustomModulesResponse { + // The list of EffectiveSecurityHealthAnalyticsCustomModule + repeated EffectiveSecurityHealthAnalyticsCustomModule + effective_security_health_analytics_custom_modules = 1; + + // A token identifying a page of results the server should return. + string next_page_token = 2; +} + +// Message for getting a EffectiveSecurityHealthAnalyticsCustomModule +message GetEffectiveSecurityHealthAnalyticsCustomModuleRequest { + // Required. The resource name of the SHA custom module. + // + // Its format is: + // + // * "organizations/{organization}/locations/{location}/effectiveSecurityHealthAnalyticsCustomModules/{module_id}". + // * "folders/{folder}/locations/{location}/effectiveSecurityHealthAnalyticsCustomModules/{module_id}". + // * "projects/{project}/locations/{location}/effectiveSecurityHealthAnalyticsCustomModules/{module_id}". + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "securitycentermanagement.googleapis.com/EffectiveSecurityHealthAnalyticsCustomModule" + } + ]; +} + +// Represents an instance of a Security Health Analytics custom module, +// including its full module name, display name, enablement state, and last +// updated time. You can create a custom module at the organization, folder, or +// project level. Custom modules that you create at the organization or folder +// level are inherited by the child folders and projects. +message SecurityHealthAnalyticsCustomModule { + option (google.api.resource) = { + type: "securitycentermanagement.googleapis.com/SecurityHealthAnalyticsCustomModule" + pattern: "organizations/{organization}/locations/{location}/securityHealthAnalyticsCustomModules/{security_health_analytics_custom_module}" + pattern: "projects/{project}/locations/{location}/securityHealthAnalyticsCustomModules/{security_health_analytics_custom_module}" + pattern: "folders/{folder}/locations/{location}/securityHealthAnalyticsCustomModules/{security_health_analytics_custom_module}" + plural: "securityHealthAnalyticsCustomModules" + singular: "securityHealthAnalyticsCustomModule" + }; + + // Possible enablement states of a custom module. + enum EnablementState { + // Unspecified enablement state. + ENABLEMENT_STATE_UNSPECIFIED = 0; + + // The module is enabled at the given CRM resource. + ENABLED = 1; + + // The module is disabled at the given CRM resource. + DISABLED = 2; + + // State is inherited from an ancestor module. The module will either + // be effectively ENABLED or DISABLED based on its closest non-inherited + // ancestor module in the CRM hierarchy. Attempting to set a top level + // module (module with no parent) to the INHERITED state will result in an + // INVALID_ARGUMENT error. + INHERITED = 3; + } + + // Immutable. The resource name of the custom module. + // Its format is + // "organizations/{organization}/locations/{location}/securityHealthAnalyticsCustomModules/{security_health_analytics_custom_module}", + // or + // "folders/{folder}/locations/{location}/securityHealthAnalyticsCustomModules/{security_health_analytics_custom_module}", + // or + // "projects/{project}/locations/{location}/securityHealthAnalyticsCustomModules/{security_health_analytics_custom_module}" + // + // The id {customModule} is server-generated and is not user settable. + // It will be a numeric id containing 1-20 digits. + string name = 1 [(google.api.field_behavior) = IMMUTABLE]; + + // Optional. The display name of the Security Health Analytics custom module. + // This display name becomes the finding category for all findings that are + // returned by this custom module. The display name must be between 1 and + // 128 characters, start with a lowercase letter, and contain alphanumeric + // characters or underscores only. + string display_name = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The enablement state of the custom module. + EnablementState enablement_state = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Output only. The time at which the custom module was last updated. + google.protobuf.Timestamp update_time = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The editor that last updated the custom module. + string last_editor = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Specifies the organization or folder from which the custom + // module is inherited. If empty, indicates that the custom module was created + // in the organization, folder, or project in which you are viewing the custom + // module. + string ancestor_module = 6 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "securitycentermanagement.googleapis.com/SecurityHealthAnalyticsCustomModule" + } + ]; + + // Optional. The user specified custom configuration for the module. + CustomConfig custom_config = 7 [(google.api.field_behavior) = OPTIONAL]; +} + +// Defines the properties in a custom module configuration for Security +// Health Analytics. Use the custom module configuration to create custom +// detectors that generate custom findings for resources that you specify. +message CustomConfig { + // A set of optional name-value pairs that define custom source properties to + // return with each finding that is generated by the custom module. The custom + // source properties that are defined here are included in the finding JSON + // under `sourceProperties`. + message CustomOutputSpec { + // An individual name-value pair that defines a custom source property. + message Property { + // Optional. Name of the property for the custom output. + string name = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The CEL expression for the custom output. A resource property + // can be specified to return the value of the property or a text string + // enclosed in quotation marks. + google.type.Expr value_expression = 2 + [(google.api.field_behavior) = OPTIONAL]; + } + + // Optional. A list of custom output properties to add to the finding. + repeated Property properties = 1 [(google.api.field_behavior) = OPTIONAL]; + } + + // Resource for selecting resource type. + message ResourceSelector { + // Optional. The resource types to run the detector on. + repeated string resource_types = 1 [(google.api.field_behavior) = OPTIONAL]; + } + + // Defines the valid value options for the severity of a finding. + enum Severity { + // Unspecified severity. + SEVERITY_UNSPECIFIED = 0; + + // Critical severity. + CRITICAL = 1; + + // High severity. + HIGH = 2; + + // Medium severity. + MEDIUM = 3; + + // Low severity. + LOW = 4; + } + + // Optional. The CEL expression to evaluate to produce findings. When the + // expression evaluates to true against a resource, a finding is generated. + google.type.Expr predicate = 1 [(google.api.field_behavior) = OPTIONAL]; + + // 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. + ResourceSelector resource_selector = 3 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The severity to assign to findings generated by the module. + Severity severity = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Text that describes the vulnerability or misconfiguration that + // the custom module detects. This explanation is returned with each finding + // instance to help investigators understand the detected issue. The text must + // be enclosed in quotation marks. + string description = 5 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. An explanation of the recommended steps that security teams can + // take to resolve the detected issue. This explanation is returned with each + // finding generated by this module in the `nextSteps` property of the finding + // JSON. + string recommendation = 6 [(google.api.field_behavior) = OPTIONAL]; +} + +// Request message for listing Security Health Analytics custom modules. +message ListSecurityHealthAnalyticsCustomModulesRequest { + // Required. Name of parent to list custom modules. Its format is + // "organizations/{organization}/locations/{location}", + // "folders/{folder}/locations/{location}", + // or + // "projects/{project}/locations/{location}" + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "securitycentermanagement.googleapis.com/SecurityHealthAnalyticsCustomModule" + } + ]; + + // Optional. The maximum number of results to return in a single response. + // Default is 10, minimum is 1, maximum is 1000. + int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A token identifying a page of results the server should return. + string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// Response message for listing Security Health Analytics custom modules. +message ListSecurityHealthAnalyticsCustomModulesResponse { + // The list of SecurityHealthAnalyticsCustomModules + repeated SecurityHealthAnalyticsCustomModule + security_health_analytics_custom_modules = 1; + + // A token identifying a page of results the server should return. + string next_page_token = 2; +} + +// Request message for listing descendant Security Health Analytics custom +// modules. +message ListDescendantSecurityHealthAnalyticsCustomModulesRequest { + // Required. Name of parent to list custom modules. Its format is + // "organizations/{organization}/locations/{location}", + // "folders/{folder}/locations/{location}", + // or + // "projects/{project}/locations/{location}" + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "securitycentermanagement.googleapis.com/SecurityHealthAnalyticsCustomModule" + } + ]; + + // Optional. The maximum number of results to return in a single response. + // Default is 10, minimum is 1, maximum is 1000. + int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A token identifying a page of results the server should return. + string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// Response message for listing descendant Security Health Analytics custom +// modules. +message ListDescendantSecurityHealthAnalyticsCustomModulesResponse { + // The list of SecurityHealthAnalyticsCustomModules + repeated SecurityHealthAnalyticsCustomModule + security_health_analytics_custom_modules = 1; + + // A token identifying a page of results the server should return. + string next_page_token = 2; +} + +// Message for getting a SecurityHealthAnalyticsCustomModule +message GetSecurityHealthAnalyticsCustomModuleRequest { + // Required. Name of the resource + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "securitycentermanagement.googleapis.com/SecurityHealthAnalyticsCustomModule" + } + ]; +} + +// Message for creating a SecurityHealthAnalyticsCustomModule +message CreateSecurityHealthAnalyticsCustomModuleRequest { + // Required. Name of the parent for the module. Its format is + // "organizations/{organization}/locations/{location}", + // "folders/{folder}/locations/{location}", + // or + // "projects/{project}/locations/{location}" + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "securitycentermanagement.googleapis.com/SecurityHealthAnalyticsCustomModule" + } + ]; + + // Required. The resource being created + SecurityHealthAnalyticsCustomModule security_health_analytics_custom_module = + 2 [(google.api.field_behavior) = REQUIRED]; + + // Optional. When set to true, only validations (including IAM checks) will + // done for the request (no module will be created). An OK response indicates + // the request is valid while an error response indicates the request is + // invalid. Note that a subsequent request to actually create the module could + // still fail because: + // 1. the state could have changed (e.g. IAM permission lost) or + // 2. A failure occurred during creation of the module. + // Defaults to false. + bool validate_only = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// Message for updating a SecurityHealthAnalyticsCustomModule +message UpdateSecurityHealthAnalyticsCustomModuleRequest { + // Required. The list of fields to be updated. The only fields that can be + // updated are `enablement_state` and `custom_config`. If empty or set to the + // wildcard value `*`, both `enablement_state` and `custom_config` are + // updated. + google.protobuf.FieldMask update_mask = 1 + [(google.api.field_behavior) = REQUIRED]; + + // Required. The resource being updated + SecurityHealthAnalyticsCustomModule security_health_analytics_custom_module = + 2 [(google.api.field_behavior) = REQUIRED]; + + // Optional. When set to true, only validations (including IAM checks) will + // done for the request (module will not be updated). An OK response indicates + // the request is valid while an error response indicates the request is + // invalid. Note that a subsequent request to actually update the module could + // still fail because 1. the state could have changed (e.g. IAM permission + // lost) or + // 2. A failure occurred while trying to update the module. + bool validate_only = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// Message for deleting a SecurityHealthAnalyticsCustomModule +message DeleteSecurityHealthAnalyticsCustomModuleRequest { + // Required. The resource name of the SHA custom module. + // + // Its format is: + // + // * "organizations/{organization}/locations/{location}/securityHealthAnalyticsCustomModules/{security_health_analytics_custom_module}". + // * "folders/{folder}/locations/{location}/securityHealthAnalyticsCustomModules/{security_health_analytics_custom_module}". + // * "projects/{project}/locations/{location}/securityHealthAnalyticsCustomModules/{security_health_analytics_custom_module}". + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "securitycentermanagement.googleapis.com/SecurityHealthAnalyticsCustomModule" + } + ]; + + // Optional. When set to true, only validations (including IAM checks) will + // done for the request (module will not be deleted). An OK response indicates + // the request is valid while an error response indicates the request is + // invalid. Note that a subsequent request to actually delete the module could + // still fail because 1. the state could have changed (e.g. IAM permission + // lost) or + // 2. A failure occurred while trying to delete the module. + bool validate_only = 2 [(google.api.field_behavior) = OPTIONAL]; +} + +// Request message to simulate a CustomConfig against a given test resource. +// Maximum size of the request is 4 MB by default. +message SimulateSecurityHealthAnalyticsCustomModuleRequest { + // Manually constructed resource name. If the custom module evaluates against + // only the resource data, you can omit the `iam_policy_data` field. If it + // evaluates only the `iam_policy_data` field, you can omit the resource data. + message SimulatedResource { + // Required. The type of the resource, for example, + // `compute.googleapis.com/Disk`. + string resource_type = 1 [(google.api.field_behavior) = REQUIRED]; + + // Optional. A representation of the Google Cloud resource. Should match the + // Google Cloud resource JSON format. + google.protobuf.Struct resource_data = 2 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A representation of the IAM policy. + google.iam.v1.Policy iam_policy_data = 3 + [(google.api.field_behavior) = OPTIONAL]; + } + + // Required. The relative resource name of the organization, project, or + // folder. For more information about relative resource names, see [Relative + // Resource + // Name](https://cloud.google.com/apis/design/resource_names#relative_resource_name) + // Example: `organizations/{organization_id}`. + string parent = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The custom configuration that you need to test. + CustomConfig custom_config = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. Resource data to simulate custom module against. + SimulatedResource resource = 3 [(google.api.field_behavior) = REQUIRED]; +} + +// A subset of the fields of the Security Center Finding proto. The minimum set +// of fields needed to represent a simulated finding from a SHA custom module. +message SimulatedFinding { + option (google.api.resource) = { + type: "securitycenter.googleapis.com/Finding" + pattern: "organizations/{organization}/sources/{source}/findings/{finding}" + pattern: "folders/{folder}/sources/{source}/findings/{finding}" + pattern: "projects/{project}/sources/{source}/findings/{finding}" + plural: "findings" + singular: "finding" + }; + + // The state of the finding. + enum State { + // Unspecified state. + STATE_UNSPECIFIED = 0; + + // The finding requires attention and has not been addressed yet. + ACTIVE = 1; + + // The finding has been fixed, triaged as a non-issue or otherwise addressed + // and is no longer active. + INACTIVE = 2; + } + + // The severity of the finding. + enum Severity { + // This value is used for findings when a source doesn't write a severity + // value. + SEVERITY_UNSPECIFIED = 0; + + // Vulnerability: + // A critical vulnerability is easily discoverable by an external actor, + // exploitable, and results in the direct ability to execute arbitrary code, + // exfiltrate data, and otherwise gain additional access and privileges to + // cloud resources and workloads. Examples include publicly accessible + // unprotected user data and public SSH access with weak or no + // passwords. + // + // Threat: + // Indicates a threat that is able to access, modify, or delete data or + // execute unauthorized code within existing resources. + CRITICAL = 1; + + // Vulnerability: + // A high risk vulnerability can be easily discovered and exploited in + // combination with other vulnerabilities in order to gain direct access and + // the ability to execute arbitrary code, exfiltrate data, and otherwise + // gain additional access and privileges to cloud resources and workloads. + // An example is a database with weak or no passwords that is only + // accessible internally. This database could easily be compromised by an + // actor that had access to the internal network. + // + // Threat: + // Indicates a threat that is able to create new computational resources in + // an environment but not able to access data or execute code in existing + // resources. + HIGH = 2; + + // Vulnerability: + // A medium risk vulnerability could be used by an actor to gain access to + // resources or privileges that enable them to eventually (through multiple + // steps or a complex exploit) gain access and the ability to execute + // arbitrary code or exfiltrate data. An example is a service account with + // access to more projects than it should have. If an actor gains access to + // the service account, they could potentially use that access to manipulate + // a project the service account was not intended to. + // + // Threat: + // Indicates a threat that is able to cause operational impact but may not + // access data or execute unauthorized code. + MEDIUM = 3; + + // Vulnerability: + // A low risk vulnerability hampers a security organization's ability to + // detect vulnerabilities or active threats in their deployment, or prevents + // the root cause investigation of security issues. An example is monitoring + // and logs being disabled for resource configurations and access. + // + // Threat: + // Indicates a threat that has obtained minimal access to an environment but + // is not able to access data, execute code, or create resources. + LOW = 4; + } + + // Represents what kind of Finding it is. + enum FindingClass { + // Unspecified finding class. + FINDING_CLASS_UNSPECIFIED = 0; + + // Describes unwanted or malicious activity. + THREAT = 1; + + // Describes a potential weakness in software that increases risk to + // Confidentiality & Integrity & Availability. + VULNERABILITY = 2; + + // Describes a potential weakness in cloud resource/asset configuration that + // increases risk. + MISCONFIGURATION = 3; + + // Describes a security observation that is for informational purposes. + OBSERVATION = 4; + + // Describes an error that prevents some SCC functionality. + SCC_ERROR = 5; + + // Describes a potential security risk due to a change in the security + // posture. + POSTURE_VIOLATION = 6; + } + + // Identifier. The [relative resource + // name](https://cloud.google.com/apis/design/resource_names#relative_resource_name) + // of the finding. Example: + // "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}", + // "folders/{folder_id}/sources/{source_id}/findings/{finding_id}", + // "projects/{project_id}/sources/{source_id}/findings/{finding_id}". + string name = 1 [(google.api.field_behavior) = IDENTIFIER]; + + // The relative resource name of the source the finding belongs to. See: + // https://cloud.google.com/apis/design/resource_names#relative_resource_name + // This field is immutable after creation time. + // For example: + // "organizations/{organization_id}/sources/{source_id}" + string parent = 2; + + // For findings on Google Cloud resources, the full resource + // name of the Google Cloud resource this finding is for. See: + // https://cloud.google.com/apis/design/resource_names#full_resource_name + // When the finding is for a non-Google Cloud resource, the resourceName can + // be a customer or partner defined string. This field is immutable after + // creation time. + string resource_name = 3; + + // The additional taxonomy group within findings from a given source. + // This field is immutable after creation time. + // Example: "XSS_FLASH_INJECTION" + string category = 4; + + // Output only. The state of the finding. + State state = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Source specific properties. These properties are managed by the source + // that writes the finding. The key names in the source_properties map must be + // between 1 and 255 characters, and must start with a letter and contain + // alphanumeric characters or underscores only. + map source_properties = 6; + + // The time the finding was first detected. If an existing finding is updated, + // then this is the time the update occurred. + // For example, if the finding represents an open firewall, this property + // captures the time the detector believes the firewall became open. The + // accuracy is determined by the detector. If the finding is later resolved, + // then this time reflects when the finding was resolved. This must not + // be set to a value greater than the current timestamp. + google.protobuf.Timestamp event_time = 7; + + // The severity of the finding. This field is managed by the source that + // writes the finding. + Severity severity = 8; + + // The class of the finding. + FindingClass finding_class = 9; +} + +// Response message for simulating a `SecurityHealthAnalyticsCustomModule` +// against a given resource. +message SimulateSecurityHealthAnalyticsCustomModuleResponse { + // Possible test result. + message SimulatedResult { + oneof result { + // Finding that would be published for the test case, + // if a violation is detected. + SimulatedFinding finding = 1; + + // Indicates that the test case does not trigger any violation. + google.protobuf.Empty no_violation = 2; + + // Error encountered during the test. + google.rpc.Status error = 3; + } + } + + // Result for test case in the corresponding request. + SimulatedResult result = 1; +} + +// An EffectiveEventThreatDetectionCustomModule is the representation of +// EventThreatDetectionCustomModule at a given level taking hierarchy into +// account and resolving various fields accordingly. e.g. if the module is +// enabled at the ancestor level, effective modules at all descendant levels +// will have enablement_state set to ENABLED. Similarly, if module.inherited is +// set, then effective module's config will contain the ancestor's config +// details. EffectiveEventThreatDetectionCustomModule is read-only. +message EffectiveEventThreatDetectionCustomModule { + option (google.api.resource) = { + type: "securitycentermanagement.googleapis.com/EffectiveEventThreatDetectionCustomModule" + pattern: "organizations/{organization}/locations/{location}/effectiveEventThreatDetectionCustomModules/{effective_event_threat_detection_custom_module}" + pattern: "projects/{project}/locations/{location}/effectiveEventThreatDetectionCustomModules/{effective_event_threat_detection_custom_module}" + pattern: "folders/{folder}/locations/{location}/effectiveEventThreatDetectionCustomModules/{effective_event_threat_detection_custom_module}" + plural: "effectiveEventThreatDetectionCustomModules" + singular: "effectiveEventThreatDetectionCustomModule" + }; + + // The enablement state of the module. + enum EnablementState { + // Unspecified enablement state. + ENABLEMENT_STATE_UNSPECIFIED = 0; + + // The module is enabled at the given level. + ENABLED = 1; + + // The module is disabled at the given level. + DISABLED = 2; + } + + // Immutable. The resource name of the ETD custom module. + // + // Its format is: + // + // * "organizations/{organization}/locations/{location}/effectiveEventThreatDetectionCustomModules/{effective_event_threat_detection_custom_module}". + // * "folders/{folder}/locations/{location}/effectiveEventThreatDetectionCustomModules/{effective_event_threat_detection_custom_module}". + // * "projects/{project}/locations/{location}/effectiveEventThreatDetectionCustomModules/{effective_event_threat_detection_custom_module}". + string name = 1 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. Config for the effective module. + google.protobuf.Struct config = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The effective state of enablement for the module at the given + // level of the hierarchy. + EnablementState enablement_state = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Type for the module. e.g. CONFIGURABLE_BAD_IP. + string type = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The human readable name to be displayed for the module. + string display_name = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The description for the module. + string description = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Request message for listing effective Event Threat Detection custom +// modules. +message ListEffectiveEventThreatDetectionCustomModulesRequest { + // Required. Name of parent to list effective custom modules. Its format is + // "organizations/{organization}/locations/{location}", + // "folders/{folder}/locations/{location}", + // or + // "projects/{project}/locations/{location}" + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "securitycentermanagement.googleapis.com/EffectiveEventThreatDetectionCustomModule" + } + ]; + + // Optional. The maximum number of results to return in a single response. + // Default is 10, minimum is 1, maximum is 1000. + int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The value returned by the last call indicating a continuation + string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// Response message for listing effective Event Threat Detection custom +// modules. +message ListEffectiveEventThreatDetectionCustomModulesResponse { + // The list of EffectiveEventThreatDetectionCustomModules + repeated EffectiveEventThreatDetectionCustomModule + effective_event_threat_detection_custom_modules = 1; + + // A token identifying a page of results the server should return. + string next_page_token = 2; +} + +// Message for getting a EffectiveEventThreatDetectionCustomModule +message GetEffectiveEventThreatDetectionCustomModuleRequest { + // Required. The resource name of the ETD custom module. + // + // Its format is: + // + // * "organizations/{organization}/locations/{location}/effectiveEventThreatDetectionCustomModules/{effective_event_threat_detection_custom_module}". + // * "folders/{folder}/locations/{location}/effectiveEventThreatDetectionCustomModules/{effective_event_threat_detection_custom_module}". + // * "projects/{project}/locations/{location}/effectiveEventThreatDetectionCustomModules/{effective_event_threat_detection_custom_module}". + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "securitycentermanagement.googleapis.com/EffectiveEventThreatDetectionCustomModule" + } + ]; +} + +// An event threat detection custom module is a Cloud SCC resource that contains +// the configuration and enablement state of a custom module, which enables ETD +// to write certain findings to Cloud SCC. +message EventThreatDetectionCustomModule { + option (google.api.resource) = { + type: "securitycentermanagement.googleapis.com/EventThreatDetectionCustomModule" + pattern: "organizations/{organization}/locations/{location}/eventThreatDetectionCustomModules/{event_threat_detection_custom_module}" + pattern: "projects/{project}/locations/{location}/eventThreatDetectionCustomModules/{event_threat_detection_custom_module}" + pattern: "folders/{folder}/locations/{location}/eventThreatDetectionCustomModules/{event_threat_detection_custom_module}" + plural: "eventThreatDetectionCustomModules" + singular: "eventThreatDetectionCustomModule" + }; + + // The enablement state of the module. + enum EnablementState { + // Unspecified enablement state. + ENABLEMENT_STATE_UNSPECIFIED = 0; + + // The module is enabled at the given level. + ENABLED = 1; + + // The module is disabled at the given level. + DISABLED = 2; + + // State is inherited from an ancestor module. The module will either + // be effectively ENABLED or DISABLED based on its closest non-inherited + // ancestor module in the CRM hierarchy. Attempting to set a top level + // module (module with no parent) to the INHERITED state will result in an + // error. + INHERITED = 3; + } + + // Immutable. The resource name of the ETD custom module. + // + // Its format is: + // + // * "organizations/{organization}/locations/{location}/eventThreatDetectionCustomModules/{event_threat_detection_custom_module}". + // * "folders/{folder}/locations/{location}/eventThreatDetectionCustomModules/{event_threat_detection_custom_module}". + // * "projects/{project}/locations/{location}/eventThreatDetectionCustomModules/{event_threat_detection_custom_module}". + string name = 1 [(google.api.field_behavior) = IMMUTABLE]; + + // Optional. Config for the module. For the resident module, its config value + // is defined at this level. For the inherited module, its config value is + // inherited from the ancestor module. + google.protobuf.Struct config = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Output only. The closest ancestor module that this module inherits the + // enablement state from. If empty, indicates that the custom module was + // created in the requesting parent organization, folder, or project. The + // format is the same as the EventThreatDetectionCustomModule resource name. + string ancestor_module = 3 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "securitycentermanagement.googleapis.com/EventThreatDetectionCustomModule" + } + ]; + + // Optional. The state of enablement for the module at the given level of the + // hierarchy. + EnablementState enablement_state = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Type for the module. e.g. CONFIGURABLE_BAD_IP. + string type = 5 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The human readable name to be displayed for the module. + string display_name = 6 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The description for the module. + string description = 7 [(google.api.field_behavior) = OPTIONAL]; + + // Output only. The time the module was last updated. + google.protobuf.Timestamp update_time = 8 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The editor the module was last updated by. + string last_editor = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Request message for listing Event Threat Detection custom modules. +message ListEventThreatDetectionCustomModulesRequest { + // Required. Name of parent to list custom modules. Its format is + // "organizations/{organization}/locations/{location}", + // "folders/{folder}/locations/{location}", + // or + // "projects/{project}/locations/{location}" + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "securitycentermanagement.googleapis.com/EventThreatDetectionCustomModule" + } + ]; + + // Optional. The maximum number of modules to return. The service may return + // fewer than this value. If unspecified, at most 10 configs will be returned. + // The maximum value is 1000; values above 1000 will be coerced to 1000. + int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A page token, received from a previous + // `ListEventThreatDetectionCustomModules` call. Provide this to retrieve the + // subsequent page. + // + // When paginating, all other parameters provided to + // `ListEventThreatDetectionCustomModules` must match the call that provided + // the page token. + string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// Response message for listing Event Threat Detection custom modules. +message ListEventThreatDetectionCustomModulesResponse { + // The list of EventThreatDetectionCustomModules + repeated EventThreatDetectionCustomModule + event_threat_detection_custom_modules = 1; + + // A token identifying a page of results the server should return. + string next_page_token = 2; +} + +// Request message for listing descendant Event Threat Detection custom +// modules. +message ListDescendantEventThreatDetectionCustomModulesRequest { + // Required. Name of parent to list custom modules. Its format is + // "organizations/{organization}/locations/{location}", + // "folders/{folder}/locations/{location}", + // or + // "projects/{project}/locations/{location}" + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "securitycentermanagement.googleapis.com/EventThreatDetectionCustomModule" + } + ]; + + // Optional. The maximum number of modules to return. The service may return + // fewer than this value. If unspecified, at most 10 configs will be returned. + // The maximum value is 1000; values above 1000 will be coerced to 1000. + int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A token identifying a page of results the server should return. + string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// Response message for listing descendant Event Threat Detection custom +// modules. +message ListDescendantEventThreatDetectionCustomModulesResponse { + // The list of EventThreatDetectionCustomModules + repeated EventThreatDetectionCustomModule + event_threat_detection_custom_modules = 1; + + // A token identifying a page of results the server should return. + string next_page_token = 2; +} + +// Message for getting a EventThreatDetectionCustomModule +message GetEventThreatDetectionCustomModuleRequest { + // Required. The resource name of the ETD custom module. + // + // Its format is: + // + // * "organizations/{organization}/locations/{location}/eventThreatDetectionCustomModules/{event_threat_detection_custom_module}". + // * "folders/{folder}/locations/{location}/eventThreatDetectionCustomModules/{event_threat_detection_custom_module}". + // * "projects/{project}/locations/{location}/eventThreatDetectionCustomModules/{event_threat_detection_custom_module}". + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "securitycentermanagement.googleapis.com/EventThreatDetectionCustomModule" + } + ]; +} + +// Message for creating a EventThreatDetectionCustomModule +message CreateEventThreatDetectionCustomModuleRequest { + // Required. Name of parent for the module. Its format is + // "organizations/{organization}/locations/{location}", + // "folders/{folder}/locations/{location}", + // or + // "projects/{project}/locations/{location}" + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "securitycentermanagement.googleapis.com/EventThreatDetectionCustomModule" + } + ]; + + // Required. The module to create. The + // event_threat_detection_custom_module.name will be ignored and server + // generated. + EventThreatDetectionCustomModule event_threat_detection_custom_module = 3 + [(google.api.field_behavior) = REQUIRED]; + + // Optional. When set to true, only validations (including IAM checks) will + // done for the request (no module will be created). An OK response indicates + // the request is valid while an error response indicates the request is + // invalid. Note that a subsequent request to actually create the module could + // still fail because 1. the state could have changed (e.g. IAM permission + // lost) or + // 2. A failure occurred during creation of the module. + bool validate_only = 4 [(google.api.field_behavior) = OPTIONAL]; +} + +// Message for updating a EventThreatDetectionCustomModule +message UpdateEventThreatDetectionCustomModuleRequest { + // Required. Field mask is used to specify the fields to be overwritten in the + // EventThreatDetectionCustomModule resource by the update. + // The fields specified in the update_mask are relative to the resource, not + // the full request. A field will be overwritten if it is in the mask. If the + // user does not provide a mask then all fields will be overwritten. + google.protobuf.FieldMask update_mask = 1 + [(google.api.field_behavior) = REQUIRED]; + + // Required. The module being updated + EventThreatDetectionCustomModule event_threat_detection_custom_module = 2 + [(google.api.field_behavior) = REQUIRED]; + + // Optional. When set to true, only validations (including IAM checks) will + // done for the request (module will not be updated). An OK response indicates + // the request is valid while an error response indicates the request is + // invalid. Note that a subsequent request to actually update the module could + // still fail because 1. the state could have changed (e.g. IAM permission + // lost) or + // 2. A failure occurred while trying to update the module. + bool validate_only = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// Message for deleting a EventThreatDetectionCustomModule +message DeleteEventThreatDetectionCustomModuleRequest { + // Required. The resource name of the ETD custom module. + // + // Its format is: + // + // * "organizations/{organization}/locations/{location}/eventThreatDetectionCustomModules/{event_threat_detection_custom_module}". + // * "folders/{folder}/locations/{location}/eventThreatDetectionCustomModules/{event_threat_detection_custom_module}". + // * "projects/{project}/locations/{location}/eventThreatDetectionCustomModules/{event_threat_detection_custom_module}". + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "securitycentermanagement.googleapis.com/EventThreatDetectionCustomModule" + } + ]; + + // Optional. When set to true, only validations (including IAM checks) will + // done for the request (module will not be deleted). An OK response indicates + // the request is valid while an error response indicates the request is + // invalid. Note that a subsequent request to actually delete the module could + // still fail because 1. the state could have changed (e.g. IAM permission + // lost) or + // 2. A failure occurred while trying to delete the module. + bool validate_only = 2 [(google.api.field_behavior) = OPTIONAL]; +} + +// Request to validate an Event Threat Detection custom module. +message ValidateEventThreatDetectionCustomModuleRequest { + // Required. Resource name of the parent to validate the Custom Module under. + // + // Its format is: + // + // * "organizations/{organization}/locations/{location}". + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "securitycentermanagement.googleapis.com/EventThreatDetectionCustomModule" + } + ]; + + // Required. The raw text of the module's contents. Used to generate error + // messages. + string raw_text = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The type of the module (e.g. CONFIGURABLE_BAD_IP). + string type = 3 [(google.api.field_behavior) = REQUIRED]; +} + +// Response to validating an Event Threat Detection custom module. +message ValidateEventThreatDetectionCustomModuleResponse { + // An error encountered while validating the uploaded configuration of an + // Event Threat Detection Custom Module. + message CustomModuleValidationError { + // A description of the error, suitable for human consumption. Required. + string description = 1; + + // The path, in RFC 8901 JSON Pointer format, to the field that failed + // validation. This may be left empty if no specific field is affected. + string field_path = 2; + + // The initial position of the error in the uploaded text version of the + // module. This field may be omitted if no specific position applies, or if + // one could not be computed. + optional Position start = 3; + + // The end position of the error in the uploaded text version of the + // module. This field may be omitted if no specific position applies, or if + // one could not be computed.. + optional Position end = 4; + } + + // A position in the uploaded text version of a module. + message Position { + // The line position in the text + int32 line_number = 1; + + // The column position in the line + int32 column_number = 2; + } + + // A list of errors returned by the validator. If the list is empty, there + // were no errors. + repeated CustomModuleValidationError errors = 2; +} diff --git a/third_party/googleapis/google/cloud/securitycentermanagement/v1/securitycentermanagement_v1.yaml b/third_party/googleapis/google/cloud/securitycentermanagement/v1/securitycentermanagement_v1.yaml new file mode 100644 index 000000000..762130891 --- /dev/null +++ b/third_party/googleapis/google/cloud/securitycentermanagement/v1/securitycentermanagement_v1.yaml @@ -0,0 +1,87 @@ +type: google.api.Service +config_version: 3 +name: securitycentermanagement.googleapis.com +title: Security Center Management API + +apis: +- name: google.cloud.location.Locations +- name: google.cloud.securitycentermanagement.v1.SecurityCenterManagement + +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. + 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. + +http: + rules: + - selector: google.cloud.location.Locations.GetLocation + get: '/v1/{name=projects/*/locations/*}' + - selector: google.cloud.location.Locations.ListLocations + get: '/v1/{name=projects/*}/locations' + +authentication: + rules: + - 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.cloud.securitycentermanagement.v1.SecurityCenterManagement.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + +publishing: + new_issue_uri: https://issuetracker.google.com/issues/new?component=709980 + documentation_uri: https://cloud.google.com/securitycentermanagement/docs/overview + api_short_name: securitycentermanagement + github_label: 'api: securitycentermanagement' + doc_tag_prefix: securitycentermanagement + organization: CLOUD + library_settings: + - version: google.cloud.securitycentermanagement.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://cloud.google.com/securitycentermanagement/docs/reference/rpc diff --git a/third_party/googleapis/google/cloud/securitycentermanagement/v1/securitycentermanagement_v1_grpc_service_config.json b/third_party/googleapis/google/cloud/securitycentermanagement/v1/securitycentermanagement_v1_grpc_service_config.json new file mode 100644 index 000000000..b10132178 --- /dev/null +++ b/third_party/googleapis/google/cloud/securitycentermanagement/v1/securitycentermanagement_v1_grpc_service_config.json @@ -0,0 +1,40 @@ +{ + "methodConfig": [{ + "name": [ + { "service": "google.cloud.securitycentermanagement.v1.SecurityCenterManagement", "method": "ListEffectiveSecurityHealthAnalyticsCustomModules" }, + { "service": "google.cloud.securitycentermanagement.v1.SecurityCenterManagement", "method": "ListDescendantSecurityHealthAnalyticsCustomModules" }, + { "service": "google.cloud.securitycentermanagement.v1.SecurityCenterManagement", "method": "ListSecurityHealthAnalyticsCustomModules" }, + { "service": "google.cloud.securitycentermanagement.v1.SecurityCenterManagement", "method": "GetSecurityHealthAnalyticsCustomModule" }, + { "service": "google.cloud.securitycentermanagement.v1.SecurityCenterManagement", "method": "GetEffectiveSecurityHealthAnalyticsCustomModule" }, + { "service": "google.cloud.securitycentermanagement.v1.SecurityCenterManagement", "method": "SimulateSecurityHealthAnalyticsCustomModule" }, + { "service": "google.cloud.securitycentermanagement.v1.SecurityCenterManagement", "method": "ListEffectiveEventThreatDetectionCustomModules" }, + { "service": "google.cloud.securitycentermanagement.v1.SecurityCenterManagement", "method": "ListDescendantEventThreatDetectionCustomModules" }, + { "service": "google.cloud.securitycentermanagement.v1.SecurityCenterManagement", "method": "ListEventThreatDetectionCustomModules" }, + { "service": "google.cloud.securitycentermanagement.v1.SecurityCenterManagement", "method": "GetEventThreatDetectionCustomModule" }, + { "service": "google.cloud.securitycentermanagement.v1.SecurityCenterManagement", "method": "GetEffectiveEventThreatDetectionCustomModule" }, + { "service": "google.cloud.securitycentermanagement.v1.SecurityCenterManagement", "method": "ValidateEventThreatDetectionCustomModule" } + ], + "timeout": "60s", + "retryPolicy": { + "maxAttempts": 5, + "initialBackoff": "0.100s", + "maxBackoff": "60s", + "backoffMultiplier": 1.3, + "retryableStatusCodes": [ + "UNAVAILABLE", + "DEADLINE_EXCEEDED" + ] + } + }, + { + "name": [ + { "service": "google.cloud.securitycentermanagement.v1.SecurityCenterManagement", "method": "CreateSecurityHealthAnalyticsCustomModule" }, + { "service": "google.cloud.securitycentermanagement.v1.SecurityCenterManagement", "method": "UpdateSecurityHealthAnalyticsCustomModule" }, + { "service": "google.cloud.securitycentermanagement.v1.SecurityCenterManagement", "method": "DeleteSecurityHealthAnalyticsCustomModule" }, + { "service": "google.cloud.securitycentermanagement.v1.SecurityCenterManagement", "method": "CreateEventThreatDetectionCustomModule" }, + { "service": "google.cloud.securitycentermanagement.v1.SecurityCenterManagement", "method": "UpdateEventThreatDetectionCustomModule" }, + { "service": "google.cloud.securitycentermanagement.v1.SecurityCenterManagement", "method": "DeleteEventThreatDetectionCustomModule" } + ], + "timeout": "60s" + }] +} diff --git a/third_party/googleapis/google/cloud/securityposture/v1/BUILD.bazel b/third_party/googleapis/google/cloud/securityposture/v1/BUILD.bazel new file mode 100644 index 000000000..ca12eebd6 --- /dev/null +++ b/third_party/googleapis/google/cloud/securityposture/v1/BUILD.bazel @@ -0,0 +1,388 @@ +# 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 = "securityposture_proto", + srcs = [ + "org_policy_config.proto", + "org_policy_constraints.proto", + "securityposture.proto", + "sha_constraints.proto", + "sha_custom_config.proto", + ], + deps = [ + "//google/api:annotations_proto", + "//google/api:client_proto", + "//google/api:field_behavior_proto", + "//google/api:resource_proto", + "//google/longrunning:operations_proto", + "//google/type:expr_proto", + "@com_google_protobuf//:empty_proto", + "@com_google_protobuf//:field_mask_proto", + "@com_google_protobuf//:timestamp_proto", + ], +) + +proto_library_with_info( + name = "securityposture_proto_with_info", + deps = [ + ":securityposture_proto", + "//google/cloud/location:location_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 = "securityposture_java_proto", + deps = [":securityposture_proto"], +) + +java_grpc_library( + name = "securityposture_java_grpc", + srcs = [":securityposture_proto"], + deps = [":securityposture_java_proto"], +) + +java_gapic_library( + name = "securityposture_java_gapic", + srcs = [":securityposture_proto_with_info"], + gapic_yaml = None, + grpc_service_config = "securityposture_v1_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "securityposture_v1.yaml", + test_deps = [ + "//google/cloud/location:location_java_grpc", + ":securityposture_java_grpc", + ], + transport = "grpc+rest", + deps = [ + ":securityposture_java_proto", + "//google/api:api_java_proto", + "//google/cloud/location:location_java_proto", + ], +) + +java_gapic_test( + name = "securityposture_java_gapic_test_suite", + test_classes = [ + "com.google.cloud.securityposture.v1.SecurityPostureClientHttpJsonTest", + "com.google.cloud.securityposture.v1.SecurityPostureClientTest", + ], + runtime_deps = [":securityposture_java_gapic_test"], +) + +# Open Source Packages +java_gapic_assembly_gradle_pkg( + name = "google-cloud-securityposture-v1-java", + transport = "grpc+rest", + deps = [ + ":securityposture_java_gapic", + ":securityposture_java_grpc", + ":securityposture_java_proto", + ":securityposture_proto", + ], + include_samples = True, +) + +############################################################################## +# Go +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "go_gapic_assembly_pkg", + "go_gapic_library", + "go_proto_library", +) + +go_proto_library( + name = "securityposture_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "cloud.google.com/go/securityposture/apiv1/securityposturepb", + protos = [":securityposture_proto"], + deps = [ + "//google/api:annotations_go_proto", + "//google/longrunning:longrunning_go_proto", + "//google/type:expr_go_proto", + ], +) + +go_gapic_library( + name = "securityposture_go_gapic", + srcs = [":securityposture_proto_with_info"], + grpc_service_config = "securityposture_v1_grpc_service_config.json", + importpath = "cloud.google.com/go/securityposture/apiv1;securityposture", + metadata = True, + release_level = "beta", + rest_numeric_enums = True, + service_yaml = "securityposture_v1.yaml", + transport = "grpc+rest", + deps = [ + ":securityposture_go_proto", + "//google/cloud/location:location_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-securityposture-v1-go", + deps = [ + ":securityposture_go_gapic", + ":securityposture_go_gapic_srcjar-test.srcjar", + ":securityposture_go_gapic_srcjar-metadata.srcjar", + ":securityposture_go_gapic_srcjar-snippets.srcjar", + ":securityposture_go_proto", + ], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "py_gapic_assembly_pkg", + "py_gapic_library", + "py_test", +) + +py_gapic_library( + name = "securityposture_py_gapic", + srcs = [":securityposture_proto"], + grpc_service_config = "securityposture_v1_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "securityposture_v1.yaml", + transport = "grpc+rest", + deps = [], +) + +py_test( + name = "securityposture_py_gapic_test", + srcs = [ + "securityposture_py_gapic_pytest.py", + "securityposture_py_gapic_test.py", + ], + legacy_create_init = False, + deps = [":securityposture_py_gapic"], +) + +# Open Source Packages +py_gapic_assembly_pkg( + name = "securityposture-v1-py", + deps = [ + ":securityposture_py_gapic", + ], +) + +############################################################################## +# PHP +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "php_gapic_assembly_pkg", + "php_gapic_library", + "php_proto_library", +) + +php_proto_library( + name = "securityposture_php_proto", + deps = [":securityposture_proto"], +) + +php_gapic_library( + name = "securityposture_php_gapic", + srcs = [":securityposture_proto_with_info"], + grpc_service_config = "securityposture_v1_grpc_service_config.json", + rest_numeric_enums = True, + migration_mode = "NEW_SURFACE_ONLY", + service_yaml = "securityposture_v1.yaml", + transport = "grpc+rest", + deps = [ + ":securityposture_php_proto", + ], +) + +# Open Source Packages +php_gapic_assembly_pkg( + name = "google-cloud-securityposture-v1-php", + deps = [ + ":securityposture_php_gapic", + ":securityposture_php_proto", + ], +) + +############################################################################## +# Node.js +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "nodejs_gapic_assembly_pkg", + "nodejs_gapic_library", +) + +nodejs_gapic_library( + name = "securityposture_nodejs_gapic", + package_name = "@google-cloud/securityposture", + src = ":securityposture_proto_with_info", + extra_protoc_parameters = ["metadata"], + grpc_service_config = "securityposture_v1_grpc_service_config.json", + package = "google.cloud.securityposture.v1", + rest_numeric_enums = True, + service_yaml = "securityposture_v1.yaml", + transport = "grpc+rest", + deps = [], +) + +nodejs_gapic_assembly_pkg( + name = "securityposture-v1-nodejs", + deps = [ + ":securityposture_nodejs_gapic", + ":securityposture_proto", + ], +) + +############################################################################## +# Ruby +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "ruby_gapic_assembly_pkg", + "ruby_cloud_gapic_library", + "ruby_grpc_library", + "ruby_proto_library", +) + +ruby_proto_library( + name = "securityposture_ruby_proto", + deps = [":securityposture_proto"], +) + +ruby_grpc_library( + name = "securityposture_ruby_grpc", + srcs = [":securityposture_proto"], + deps = [":securityposture_ruby_proto"], +) + +ruby_cloud_gapic_library( + name = "securityposture_ruby_gapic", + srcs = [":securityposture_proto_with_info"], + extra_protoc_parameters = [ + "ruby-cloud-gem-name=google-cloud-securityposture-v1", + ], + grpc_service_config = "securityposture_v1_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "securityposture_v1.yaml", + transport = "grpc+rest", + deps = [ + ":securityposture_ruby_grpc", + ":securityposture_ruby_proto", + ], +) + +# Open Source Packages +ruby_gapic_assembly_pkg( + name = "google-cloud-securityposture-v1-ruby", + deps = [ + ":securityposture_ruby_gapic", + ":securityposture_ruby_grpc", + ":securityposture_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 = "securityposture_csharp_proto", + extra_opts = [], + deps = [":securityposture_proto"], +) + +csharp_grpc_library( + name = "securityposture_csharp_grpc", + srcs = [":securityposture_proto"], + deps = [":securityposture_csharp_proto"], +) + +csharp_gapic_library( + name = "securityposture_csharp_gapic", + srcs = [":securityposture_proto_with_info"], + common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json", + grpc_service_config = "securityposture_v1_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "securityposture_v1.yaml", + transport = "grpc+rest", + deps = [ + ":securityposture_csharp_grpc", + ":securityposture_csharp_proto", + ], +) + +# Open Source Packages +csharp_gapic_assembly_pkg( + name = "google-cloud-securityposture-v1-csharp", + deps = [ + ":securityposture_csharp_gapic", + ":securityposture_csharp_grpc", + ":securityposture_csharp_proto", + ], +) + +############################################################################## +# C++ +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "cc_grpc_library", + "cc_proto_library", +) + +cc_proto_library( + name = "securityposture_cc_proto", + deps = [":securityposture_proto"], +) + +cc_grpc_library( + name = "securityposture_cc_grpc", + srcs = [":securityposture_proto"], + grpc_only = True, + deps = [":securityposture_cc_proto"], +) diff --git a/third_party/googleapis/google/cloud/securityposture/v1/org_policy_config.proto b/third_party/googleapis/google/cloud/securityposture/v1/org_policy_config.proto new file mode 100644 index 000000000..ff30f600d --- /dev/null +++ b/third_party/googleapis/google/cloud/securityposture/v1/org_policy_config.proto @@ -0,0 +1,174 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF 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.securityposture.v1; + +import "google/api/field_behavior.proto"; +import "google/protobuf/timestamp.proto"; +import "google/type/expr.proto"; + +option go_package = "cloud.google.com/go/securityposture/apiv1/securityposturepb;securityposturepb"; +option java_multiple_files = true; +option java_outer_classname = "OrgPolicyConfigProto"; +option java_package = "com.google.cloud.securityposture.v1"; + +// A rule used to express this policy. +message PolicyRule { + // A message that holds specific allowed and denied values. + // This message can define specific values and subtrees of the Resource + // Manager resource hierarchy (`Organizations`, `Folders`, `Projects`) that + // are allowed or denied. This is achieved by using the `under:` and + // optional `is:` prefixes. + // The `under:` prefix is used to denote resource subtree values. + // The `is:` prefix is used to denote specific values, and is required only + // if the value contains a ":". Values prefixed with "is:" are treated the + // same as values with no prefix. + // Ancestry subtrees must be in one of the following formats: + // + // - `projects/` (for example, `projects/tokyo-rain-123`) + // - `folders/` (for example, `folders/1234`) + // - `organizations/` (for example, `organizations/1234`) + // + // The `supports_under` field of the associated `Constraint` defines + // whether ancestry prefixes can be used. + message StringValues { + // List of values allowed at this resource. + repeated string allowed_values = 1; + + // List of values denied at this resource. + repeated string denied_values = 2; + } + + oneof kind { + // List of values to be used for this policy rule. This field can be set + // only in policies for list constraints. + StringValues values = 1; + + // Setting this to true means that all values are allowed. This field can + // be set only in policies for list constraints. + bool allow_all = 2; + + // Setting this to true means that all values are denied. This field can + // be set only in policies for list constraints. + bool deny_all = 3; + + // If `true`, then the policy is enforced. If `false`, then any + // configuration is acceptable. + // This field can be set only in policies for boolean constraints. + bool enforce = 4; + } + + // A condition which determines whether this rule is used + // in the evaluation of the policy. When set, the `expression` field in + // the `Expr' must include from 1 to 10 subexpressions, joined by the "||" + // or "&&" operators. Each subexpression must be of the form + // "resource.matchTag('/tag_key_short_name, + // 'tag_value_short_name')" or "resource.matchTagId('tagKeys/key_id', + // 'tagValues/value_id')" where key_name and value_name are the resource + // names for Label Keys and Values. These names are available from the Tag + // Manager Service. An example expression is: + // "resource.matchTag('123456789/environment, + // 'prod')" or "resource.matchTagId('tagKeys/123', + // 'tagValues/456')". + google.type.Expr condition = 5; +} + +// A custom constraint defined by customers which can *only* be applied to the +// given resource types and organization. +// +// By creating a custom constraint, customers can apply policies of this +// custom constraint. *Creating a custom constraint itself does NOT apply any +// policy enforcement*. +message CustomConstraint { + // The operation for which this constraint will be applied. To apply this + // constraint only when creating new VMs, the `method_types` should be + // `CREATE` only. To apply this constraint when creating or deleting + // VMs, the `method_types` should be `CREATE` and `DELETE`. + // + // `UPDATE` only custom constraints are not supported. Use `CREATE` or + // `CREATE, UPDATE`. + enum MethodType { + // Unspecified. Results in an error. + METHOD_TYPE_UNSPECIFIED = 0; + + // Constraint applied when creating the resource. + CREATE = 1; + + // Constraint applied when updating the resource. + UPDATE = 2; + + // Constraint applied when deleting the resource. + // Not supported yet. + DELETE = 3; + } + + // Allow or deny type. + enum ActionType { + // Unspecified. Results in an error. + ACTION_TYPE_UNSPECIFIED = 0; + + // Allowed action type. + ALLOW = 1; + + // Deny action type. + DENY = 2; + } + + // Immutable. Name of the constraint. This is unique within the organization. + // Format of the name should be + // + // - + // `organizations/{organization_id}/customConstraints/{custom_constraint_id}` + // + // Example: `organizations/123/customConstraints/custom.createOnlyE2TypeVms` + // + // The max length is 70 characters and the minimum length is 1. Note that the + // prefix `organizations/{organization_id}/customConstraints/` is not counted. + string name = 1 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. The resource instance type on which this policy applies. Format + // will be of the form : `/` Example: + // + // - `compute.googleapis.com/Instance`. + repeated string resource_types = 2 [(google.api.field_behavior) = IMMUTABLE]; + + // All the operations being applied for this constraint. + repeated MethodType method_types = 3; + + // Org policy condition/expression. For example: + // `resource.instanceName.matches("[production|test]_.*_(\d)+")` or, + // `resource.management.auto_upgrade == true` + // + // The max length of the condition is 1000 characters. + string condition = 4; + + // Allow or deny type. + ActionType action_type = 5; + + // One line display name for the UI. + // The max length of the display_name is 200 characters. + string display_name = 6; + + // Detailed information about this custom policy constraint. + // The max length of the description is 2000 characters. + string description = 7; + + // Output only. The last time this custom constraint was updated. This + // represents the last time that the `CreateCustomConstraint` or + // `UpdateCustomConstraint` RPC was called + google.protobuf.Timestamp update_time = 8 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/cloud/securityposture/v1/org_policy_constraints.proto b/third_party/googleapis/google/cloud/securityposture/v1/org_policy_constraints.proto new file mode 100644 index 000000000..9a2ee3a9f --- /dev/null +++ b/third_party/googleapis/google/cloud/securityposture/v1/org_policy_constraints.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.cloud.securityposture.v1; + +import "google/api/field_behavior.proto"; +import "google/cloud/securityposture/v1/org_policy_config.proto"; + +option go_package = "cloud.google.com/go/securityposture/apiv1/securityposturepb;securityposturepb"; +option java_multiple_files = true; +option java_outer_classname = "OrgPolicyConstraintsProto"; +option java_package = "com.google.cloud.securityposture.v1"; + +// Message for Org Policy Canned Constraint. +message OrgPolicyConstraint { + // Required. Org Policy Canned Constraint id. + string canned_constraint_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. Org PolicySpec rules. + repeated PolicyRule policy_rules = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Message for Org Policy Custom Constraint. +message OrgPolicyConstraintCustom { + // Required. Org Policy Custom Constraint. + CustomConstraint custom_constraint = 1 + [(google.api.field_behavior) = REQUIRED]; + + // Required. Org Policyspec rules. + repeated PolicyRule policy_rules = 2 [(google.api.field_behavior) = REQUIRED]; +} diff --git a/third_party/googleapis/google/cloud/securityposture/v1/securityposture.proto b/third_party/googleapis/google/cloud/securityposture/v1/securityposture.proto new file mode 100644 index 000000000..ba96fe84a --- /dev/null +++ b/third_party/googleapis/google/cloud/securityposture/v1/securityposture.proto @@ -0,0 +1,851 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF 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.securityposture.v1; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/securityposture/v1/org_policy_constraints.proto"; +import "google/cloud/securityposture/v1/sha_constraints.proto"; +import "google/longrunning/operations.proto"; +import "google/protobuf/field_mask.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.Securityposture.V1"; +option go_package = "cloud.google.com/go/securityposture/apiv1/securityposturepb;securityposturepb"; +option java_multiple_files = true; +option java_outer_classname = "V1mainProto"; +option java_package = "com.google.cloud.securityposture.v1"; +option php_namespace = "Google\\Cloud\\Securityposture\\V1"; +option ruby_package = "Google::Cloud::Securityposture::V1"; +option (google.api.resource_definition) = { + type: "securitposture.googleapis.com/Organization" + pattern: "organizations/{organization}/locations/{location}" +}; + +// Service describing handlers for resources. +service SecurityPosture { + option (google.api.default_host) = "securityposture.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform"; + + // (-- This option restricts the visibility of the API to only projects that + // will + // (-- be labeled as `PREVIEW` or `GOOGLE_INTERNAL` by the service. + // (-- option (google.api.api_visibility).restriction = + // "PREVIEW,GOOGLE_INTERNAL"; Postures Lists Postures in a given organization + // and location. In case a posture has multiple revisions, the latest revision + // as per UpdateTime will be returned. + rpc ListPostures(ListPosturesRequest) returns (ListPosturesResponse) { + option (google.api.http) = { + get: "/v1/{parent=organizations/*/locations/*}/postures" + }; + option (google.api.method_signature) = "parent"; + } + + // Lists revisions of a Posture in a given organization and location. + rpc ListPostureRevisions(ListPostureRevisionsRequest) + returns (ListPostureRevisionsResponse) { + option (google.api.http) = { + get: "/v1/{name=organizations/*/locations/*/postures/*}:listRevisions" + }; + } + + // Gets a posture in a given organization and location. + // User must provide revision_id to retrieve a specific revision of the + // resource. + // NOT_FOUND error is returned if the revision_id or the Posture name does not + // exist. In case revision_id is not provided then the latest Posture revision + // by UpdateTime is returned. + rpc GetPosture(GetPostureRequest) returns (Posture) { + option (google.api.http) = { + get: "/v1/{name=organizations/*/locations/*/postures/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Creates a new Posture resource. + // If a Posture with the specified name already exists in the specified + // organization and location, the long running operation returns a + // [ALREADY_EXISTS][google.rpc.Code.ALREADY_EXISTS] error. + rpc CreatePosture(CreatePostureRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{parent=organizations/*/locations/*}/postures" + body: "posture" + }; + option (google.api.method_signature) = "parent,posture,posture_id"; + option (google.longrunning.operation_info) = { + response_type: "Posture" + metadata_type: "OperationMetadata" + }; + } + + // Updates an existing Posture. + // A new revision of the posture will be created if the revision to be + // updated is currently deployed on a workload. + // Returns a `google.rpc.Status` with `google.rpc.Code.NOT_FOUND` if the + // Posture does not exist. + // Returns a `google.rpc.Status` with `google.rpc.Code.ABORTED` if the etag + // supplied in the request does not match the persisted etag of the Posture. + // Updatable fields are state, description and policy_sets. + // State update operation cannot be clubbed with update of description and + // policy_sets. + // An ACTIVE posture can be updated to both DRAFT or DEPRECATED states. + // Postures in DRAFT or DEPRECATED states can only be updated to ACTIVE state. + rpc UpdatePosture(UpdatePostureRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + patch: "/v1/{posture.name=organizations/*/locations/*/postures/*}" + body: "posture" + }; + option (google.api.method_signature) = "posture,update_mask"; + option (google.longrunning.operation_info) = { + response_type: "Posture" + metadata_type: "OperationMetadata" + }; + } + + // Deletes all the revisions of a resource. + // A posture can only be deleted when none of the revisions are deployed to + // any workload. + rpc DeletePosture(DeletePostureRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1/{name=organizations/*/locations/*/postures/*}" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "OperationMetadata" + }; + } + + // Extracts existing policies on a workload as a posture. + // If a Posture on the given workload already exists, the long running + // operation returns a [ALREADY_EXISTS][google.rpc.Code.ALREADY_EXISTS] error. + rpc ExtractPosture(ExtractPostureRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{parent=organizations/*/locations/*}/postures:extract" + body: "*" + }; + option (google.api.method_signature) = "parent,posture_id,workload"; + option (google.longrunning.operation_info) = { + response_type: "Posture" + metadata_type: "OperationMetadata" + }; + } + + // PostureDeployments + // Lists PostureDeployments in a given project and location. + rpc ListPostureDeployments(ListPostureDeploymentsRequest) + returns (ListPostureDeploymentsResponse) { + option (google.api.http) = { + get: "/v1/{parent=organizations/*/locations/*}/postureDeployments" + }; + option (google.api.method_signature) = "parent"; + } + + // Gets details of a single PostureDeployment. + rpc GetPostureDeployment(GetPostureDeploymentRequest) + returns (PostureDeployment) { + option (google.api.http) = { + get: "/v1/{name=organizations/*/locations/*/postureDeployments/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Creates a new PostureDeployment in a given project and location. + rpc CreatePostureDeployment(CreatePostureDeploymentRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{parent=organizations/*/locations/*}/postureDeployments" + body: "posture_deployment" + }; + option (google.api.method_signature) = + "parent,posture_deployment,posture_deployment_id"; + option (google.longrunning.operation_info) = { + response_type: "PostureDeployment" + metadata_type: "OperationMetadata" + }; + } + + // Updates the parameters of a single PostureDeployment. + rpc UpdatePostureDeployment(UpdatePostureDeploymentRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + patch: "/v1/{posture_deployment.name=organizations/*/locations/*/postureDeployments/*}" + body: "posture_deployment" + }; + option (google.api.method_signature) = "posture_deployment,update_mask"; + option (google.longrunning.operation_info) = { + response_type: "PostureDeployment" + metadata_type: "OperationMetadata" + }; + } + + // Deletes a single PostureDeployment. + rpc DeletePostureDeployment(DeletePostureDeploymentRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1/{name=organizations/*/locations/*/postureDeployments/*}" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "OperationMetadata" + }; + } + + // PostureTemplates + // Lists all the PostureTemplates available to the user. + rpc ListPostureTemplates(ListPostureTemplatesRequest) + returns (ListPostureTemplatesResponse) { + option (google.api.http) = { + get: "/v1/{parent=organizations/*/locations/*}/postureTemplates" + }; + option (google.api.method_signature) = "parent"; + } + + // Gets a PostureTemplate. + // User must provide revision_id to retrieve a specific revision of the + // resource. + // NOT_FOUND error is returned if the revision_id or the PostureTemplate name + // does not exist. In case revision_id is not provided then the + // PostureTemplate with latest revision_id is returned. + rpc GetPostureTemplate(GetPostureTemplateRequest) returns (PostureTemplate) { + option (google.api.http) = { + get: "/v1/{name=organizations/*/locations/*/postureTemplates/*}" + }; + option (google.api.method_signature) = "name"; + } +} + +// 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_message = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Identifies whether the user has requested cancellation + // of the operation. Operations that have been cancelled successfully + // have [Operation.error][] value with a + // [google.rpc.Status.code][google.rpc.Status.code] of 1, corresponding to + // `Code.CANCELLED`. + bool requested_cancellation = 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]; + + // Output only. This is a output only optional field which will be filled only + // in cases where PostureDeployments enter failure states like UPDATE_FAILED + // or CREATE_FAILED or DELETE_FAILED. + string error_message = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Postures +// Definition of a Posture. +message Posture { + option (google.api.resource) = { + type: "securityposture.googleapis.com/Posture" + pattern: "organizations/{organization}/locations/{location}/postures/{posture}" + plural: "postures" + singular: "posture" + style: DECLARATIVE_FRIENDLY + }; + + // State of a Posture. + enum State { + // Unspecified operation state. + STATE_UNSPECIFIED = 0; + + // The Posture is marked deprecated when it is not in use by the user. + DEPRECATED = 1; + + // The Posture is created successfully but is not yet ready for usage. + DRAFT = 2; + + // The Posture state is active. Ready for use/deployments. + ACTIVE = 3; + } + + // Required. Identifier. The name of this Posture resource, in the format of + // organizations/{org_id}/locations/{location_id}/postures/{posture}. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = IDENTIFIER + ]; + + // Required. State of Posture resource. + State state = 2 [(google.api.field_behavior) = REQUIRED]; + + // Output only. Immutable. The revision ID of the posture. + // The format is an 8-character hexadecimal string. + // https://google.aip.dev/162 + string revision_id = 3 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.field_behavior) = OUTPUT_ONLY + ]; + + // Output only. The timestamp that the posture was created. + google.protobuf.Timestamp create_time = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The timestamp that the posture was updated. + google.protobuf.Timestamp update_time = 5 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Optional. User provided description of the posture. + string description = 6 [(google.api.field_behavior) = OPTIONAL]; + + // Required. List of Policy sets. + repeated PolicySet policy_sets = 7 [(google.api.field_behavior) = REQUIRED]; + + // Optional. An opaque tag indicating the current version of the Posture, used + // for concurrency control. When the `Posture` is returned from either a + // `GetPosture` or a `ListPostures` request, this `etag` indicates the version + // of the current `Posture` to use when executing a read-modify-write loop. + // + // When the `Posture` is used in a `UpdatePosture` method, use the `etag` + // value that was returned from a `GetPosture` request as part of a + // read-modify-write loop for concurrency control. Not setting the `etag` in a + // `UpdatePosture` request will result in an unconditional write of the + // `Posture`. + string etag = 8 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. User annotations. These attributes can only be set and used by + // the user, and not by Google Security Postures. + // . + map annotations = 9 [(google.api.field_behavior) = OPTIONAL]; + + // Output only. Whether or not this Posture is in the process of being + // updated. + bool reconciling = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// PolicySet representation. +message PolicySet { + // Required. ID of the Policy set. + string policy_set_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Optional. Description of the Policy set. + string description = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Required. List of policies. + repeated Policy policies = 3 [(google.api.field_behavior) = REQUIRED]; +} + +// Policy representation. +message Policy { + // Mapping for a Policy to standard and control. + message ComplianceStandard { + // Optional. The compliance standard that the Policy maps to, e.g.: CIS-2.0. + string standard = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Control mapping provided by user for this Policy. e.g.: 1.5. + string control = 2 [(google.api.field_behavior) = OPTIONAL]; + } + + // Required. ID of the Policy that is user generated, immutable and unique + // within the scope of a policy set. + string policy_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Optional. Contains list of mapping for a Policy to a standard and control. + repeated ComplianceStandard compliance_standards = 2 + [(google.api.field_behavior) = OPTIONAL]; + + // Required. Constraint details. + Constraint constraint = 3 [(google.api.field_behavior) = REQUIRED]; + + // Optional. Description of the Policy. + string description = 4 [(google.api.field_behavior) = OPTIONAL]; +} + +// Representation of a Constraint. +message Constraint { + oneof implementation { + // Optional. SHA built-in detector. + SecurityHealthAnalyticsModule security_health_analytics_module = 3 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. SHA custom detector. + SecurityHealthAnalyticsCustomModule + security_health_analytics_custom_module = 4 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Org Policy builtin constraint. + OrgPolicyConstraint org_policy_constraint = 5 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Org Policy custom constraint. + OrgPolicyConstraintCustom org_policy_constraint_custom = 6 + [(google.api.field_behavior) = OPTIONAL]; + } +} + +// Message for requesting list of Postures. +message ListPosturesRequest { + // Required. Parent value for ListPosturesRequest. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "securityposture.googleapis.com/Posture" + } + ]; + + // Requested page size. Server may return fewer items than requested. + // If unspecified, server will pick an appropriate default. + int32 page_size = 2; + + // A token identifying a page of results the server should return. + string page_token = 3; +} + +// Message for response to listing Postures. +message ListPosturesResponse { + // The list of Posture. + repeated Posture postures = 1; + + // A token identifying a page of results the server should return. + string next_page_token = 2; + + // Unreachable resources. + repeated string unreachable = 3; +} + +// Message for requesting list of Posture revisions. +message ListPostureRevisionsRequest { + // Required. Name value for ListPostureRevisionsRequest. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "securityposture.googleapis.com/Posture" + } + ]; + + // Optional. Requested page size. Server may return fewer items than + // requested. If unspecified, server will pick 100 as default. + int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A token identifying a page of results the server should return. + string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// Message for response to listing PostureRevisions. +message ListPostureRevisionsResponse { + // The list of Posture revisions. + repeated Posture revisions = 1; + + // A token identifying a page of results the server should return. + string next_page_token = 2; +} + +// Message for getting a Posture. +message GetPostureRequest { + // Required. Name of the resource. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "securityposture.googleapis.com/Posture" + } + ]; + + // Optional. Posture revision which needs to be retrieved. + string revision_id = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// Message for creating a Posture. +message CreatePostureRequest { + // Required. Value for parent. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "securityposture.googleapis.com/Posture" + } + ]; + + // Required. User provided identifier. It should be unique in scope of an + // Organization and location. + string posture_id = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The resource being created. + Posture posture = 3 [(google.api.field_behavior) = REQUIRED]; +} + +// Message for updating a Posture. +message UpdatePostureRequest { + // Required. Field mask is used to specify the fields to be overwritten in the + // Posture resource by the update. + // The fields specified in the update_mask are relative to the resource, not + // the full request. A field will be overwritten if it is in the mask. If the + // user does not provide a mask then all fields will be overwritten. + google.protobuf.FieldMask update_mask = 1 + [(google.api.field_behavior) = REQUIRED]; + + // Required. The resource being updated. + Posture posture = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. Posture revision which needs to be updated. + string revision_id = 3 [(google.api.field_behavior) = REQUIRED]; +} + +// Message for deleting a Posture. +message DeletePostureRequest { + // Required. Name of the resource. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "securityposture.googleapis.com/Posture" + } + ]; + + // Optional. Etag value of the Posture to be deleted. + string etag = 2 [(google.api.field_behavior) = OPTIONAL]; +} + +// Message for extracting existing policies on a workload as a Posture. +message ExtractPostureRequest { + // Required. The parent resource name. The format of this value is as follows: + // `organizations/{organization}/locations/{location}` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "securityposture.googleapis.com/Posture" + } + ]; + + // Required. User provided identifier. It should be unique in scope of an + // Organization and location. + string posture_id = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. Workload from which the policies are to be extracted, it should + // belong to the same organization defined in parent. The format of this value + // varies depending on the scope of the request: + // - `folder/folderNumber` + // - `project/projectNumber` + // - `organization/organizationNumber` + string workload = 3 [(google.api.field_behavior) = REQUIRED]; +} + +// ========================== PostureDeployments ========================== +// Message describing PostureDeployment resource. +message PostureDeployment { + option (google.api.resource) = { + type: "securityposture.googleapis.com/PostureDeployment" + pattern: "organizations/{organization}/locations/{location}/postureDeployments/{posture_deployment}" + plural: "postureDeployments" + singular: "postureDeployment" + style: DECLARATIVE_FRIENDLY + }; + + // State of a PostureDeployment. + enum State { + // Unspecified operation state. + STATE_UNSPECIFIED = 0; + + // The PostureDeployment is being created. + CREATING = 1; + + // The PostureDeployment is being deleted. + DELETING = 2; + + // The PostureDeployment state is being updated. + UPDATING = 3; + + // The PostureDeployment state is active and in use. + ACTIVE = 4; + + // The PostureDeployment creation failed. + CREATE_FAILED = 5; + + // The PostureDeployment update failed. + UPDATE_FAILED = 6; + + // The PostureDeployment deletion failed. + DELETE_FAILED = 7; + } + + // Required. The name of this PostureDeployment resource, in the format of + // organizations/{organization}/locations/{location_id}/postureDeployments/{postureDeployment}. + string name = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. Target resource where the Posture will be deployed. Currently + // supported resources are of types: projects/projectNumber, + // folders/folderNumber, organizations/organizationNumber. + string target_resource = 13 [(google.api.field_behavior) = REQUIRED]; + + // Output only. State of PostureDeployment resource. + State state = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. Posture that needs to be deployed. + // Format: + // organizations/{org_id}/locations/{location_id}/postures/ + // Example: + // organizations/99/locations/global/postures/les-miserables. + string posture_id = 3 [(google.api.field_behavior) = REQUIRED]; + + // Required. Revision_id of the Posture that is to be deployed. + string posture_revision_id = 4 [(google.api.field_behavior) = REQUIRED]; + + // Output only. The timestamp that the PostureDeployment was created. + google.protobuf.Timestamp create_time = 5 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The timestamp that the PostureDeployment was updated. + google.protobuf.Timestamp update_time = 6 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Optional. User provided description of the PostureDeployment. + string description = 7 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. An opaque tag indicating the current version of the + // PostureDeployment, used for concurrency control. When the + // `PostureDeployment` is returned from either a `GetPostureDeployment` or a + // `ListPostureDeployments` request, this `etag` indicates the version of the + // current `PostureDeployment` to use when executing a read-modify-write loop. + // + // When the `PostureDeployment` is used in a `UpdatePostureDeployment` method, + // use the `etag` value that was returned from a `GetPostureDeployment` + // request as part of a read-modify-write loop for concurrency control. Not + // setting the `etag` in a `UpdatePostureDeployment` request will result in an + // unconditional write of the `PostureDeployment`. + string etag = 8 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. User annotations. These attributes can only be set and used by + // the user, and not by Google Security Postures. + // . + map annotations = 9 [(google.api.field_behavior) = OPTIONAL]; + + // Output only. Whether or not this Posture is in the process of being + // updated. + bool reconciling = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. This is a output only optional field which will be filled in + // case where PostureDeployment state is UPDATE_FAILED or CREATE_FAILED or + // DELETE_FAILED. It denotes the desired Posture. + string desired_posture_id = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Output only optional field which provides revision_id of the + // desired_posture_id. + string desired_posture_revision_id = 12 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. This is a output only optional field which will be filled in + // case where PostureDeployment enters a failure state like UPDATE_FAILED or + // CREATE_FAILED or DELETE_FAILED. + string failure_message = 14 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Message for requesting list of PostureDeployments. +message ListPostureDeploymentsRequest { + // Required. Parent value for ListPostureDeploymentsRequest. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "securityposture.googleapis.com/PostureDeployment" + } + ]; + + // Optional. Requested page size. Server may return fewer items than + // requested. If unspecified, server will pick an appropriate default. + int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A token identifying a page of results the server should return. + string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Filter to be applied on the resource, defined by EBNF grammar + // https://google.aip.dev/assets/misc/ebnf-filtering.txt. + string filter = 4 [(google.api.field_behavior) = OPTIONAL]; +} + +// Message for response to listing PostureDeployments. +message ListPostureDeploymentsResponse { + // The list of PostureDeployment. + repeated PostureDeployment posture_deployments = 1; + + // A token identifying a page of results the server should return. + string next_page_token = 2; + + // Locations that could not be reached. + repeated string unreachable = 3; +} + +// Message for getting a PostureDeployment. +message GetPostureDeploymentRequest { + // Required. Name of the resource. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "securityposture.googleapis.com/PostureDeployment" + } + ]; +} + +// Message for creating a PostureDeployment. +message CreatePostureDeploymentRequest { + // Required. Value for parent. + // Format: organizations/{org_id}/locations/{location} + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "securityposture.googleapis.com/PostureDeployment" + } + ]; + + // Required. User provided identifier. It should be unique in scope of an + // Organization and location. + string posture_deployment_id = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The resource being created. + PostureDeployment posture_deployment = 3 + [(google.api.field_behavior) = REQUIRED]; +} + +// Message for updating a PostureDeployment. +message UpdatePostureDeploymentRequest { + // Required. Field mask is used to specify the fields to be overwritten in the + // PostureDeployment resource by the update. + // The fields specified in the update_mask are relative to the resource, not + // the full request. A field will be overwritten if it is in the mask. If the + // user does not provide a mask then all fields will be overwritten. + google.protobuf.FieldMask update_mask = 1 + [(google.api.field_behavior) = REQUIRED]; + + // Required. The resource being updated. + PostureDeployment posture_deployment = 2 + [(google.api.field_behavior) = REQUIRED]; +} + +// Message for deleting a PostureDeployment. +message DeletePostureDeploymentRequest { + // Required. Name of the resource. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "securityposture.googleapis.com/PostureDeployment" + } + ]; + + // Optional. Etag value of the PostureDeployment to be deleted. + string etag = 2 [(google.api.field_behavior) = OPTIONAL]; +} + +// PostureTemplates +// Message describing PostureTemplate object. +message PostureTemplate { + option (google.api.resource) = { + type: "securityposture.googleapis.com/PostureTemplate" + pattern: "organizations/{organization}/locations/{location}/postureTemplates/{posture_template}" + plural: "postureTemplates" + singular: "postureTemplate" + }; + + // State of a PostureTemplate + enum State { + // Unspecified state + STATE_UNSPECIFIED = 0; + + // If the Posture template is adhering to the latest controls and standards. + ACTIVE = 1; + + // If the Posture template controls and standards are outdated and not + // recommended for use. + DEPRECATED = 2; + } + + // Output only. Identifier. The name of the Posture template will be of the + // format + // organizations/{organization}/locations/{location}/postureTemplates/{postureTemplate} + string name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.field_behavior) = IDENTIFIER + ]; + + // Output only. The revision_id of a PostureTemplate. + string revision_id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Description of the Posture template. + string description = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. State of PostureTemplate resource. + State state = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Policy_sets to be used by the user. + repeated PolicySet policy_sets = 5 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Message for requesting list of Posture Templates. +message ListPostureTemplatesRequest { + // Required. Parent value for ListPostureTemplatesRequest. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "securityposture.googleapis.com/PostureTemplate" + } + ]; + + // Optional. Requested page size. Server may return fewer items than + // requested. If unspecified, server will pick an appropriate default. + int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A token identifying a page of results the server should return. + string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Filter to be applied on the resource, defined by EBNF grammar + // https://google.aip.dev/assets/misc/ebnf-filtering.txt. + string filter = 4 [(google.api.field_behavior) = OPTIONAL]; +} + +// Message for response to listing PostureTemplates. +message ListPostureTemplatesResponse { + // The list of PostureTemplate. + repeated PostureTemplate posture_templates = 1; + + // A token identifying a page of results the server should return. + string next_page_token = 2; +} + +// Message for getting a Posture Template. +message GetPostureTemplateRequest { + // Required. Name of the resource. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "securityposture.googleapis.com/PostureTemplate" + } + ]; + + // Optional. Specific revision_id of a Posture Template. + // PostureTemplate revision_id which needs to be retrieved. + string revision_id = 2 [(google.api.field_behavior) = OPTIONAL]; +} diff --git a/third_party/googleapis/google/cloud/securityposture/v1/securityposture_v1.yaml b/third_party/googleapis/google/cloud/securityposture/v1/securityposture_v1.yaml new file mode 100644 index 000000000..261a25be4 --- /dev/null +++ b/third_party/googleapis/google/cloud/securityposture/v1/securityposture_v1.yaml @@ -0,0 +1,101 @@ +type: google.api.Service +config_version: 3 +name: securityposture.googleapis.com +title: Security Posture API + +apis: +- name: google.cloud.location.Locations +- name: google.cloud.securityposture.v1.SecurityPosture +- name: google.longrunning.Operations + +types: +- name: google.cloud.securityposture.v1.OperationMetadata +- name: google.cloud.securityposture.v1.Posture +- name: google.cloud.securityposture.v1.PostureDeployment + +documentation: + summary: Security Posture is a comprehensive framework of policy sets that empowers organizations to define, assess early, deploy, and monitor their security measures in a unified way and helps simplify governance and reduces administrative toil. + 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. + +http: + rules: + - selector: google.cloud.location.Locations.GetLocation + get: '/v1/{name=organizations/*/locations/*}' + - selector: google.cloud.location.Locations.ListLocations + get: '/v1/{name=organizations/*}/locations' + - selector: google.longrunning.Operations.CancelOperation + post: '/v1/{name=organizations/*/locations/*/operations/*}:cancel' + body: '*' + - selector: google.longrunning.Operations.DeleteOperation + delete: '/v1/{name=organizations/*/locations/*/operations/*}' + - selector: google.longrunning.Operations.GetOperation + get: '/v1/{name=organizations/*/locations/*/operations/*}' + - selector: google.longrunning.Operations.ListOperations + get: '/v1/{name=organizations/*/locations/*}/operations' + +authentication: + rules: + - 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.cloud.securityposture.v1.SecurityPosture.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + - selector: 'google.longrunning.Operations.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + +publishing: + new_issue_uri: https://issuetracker.google.com/issues/new?component=936838&template=1502786 + api_short_name: securityposture + github_label: 'api: securityposture' + doc_tag_prefix: securityposture + organization: CLOUD + library_settings: + - version: google.cloud.securityposture.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://cloud.google.com/security-command-center/docs/security-posture-overview diff --git a/third_party/googleapis/google/cloud/securityposture/v1/securityposture_v1_grpc_service_config.json b/third_party/googleapis/google/cloud/securityposture/v1/securityposture_v1_grpc_service_config.json new file mode 100644 index 000000000..2839993b9 --- /dev/null +++ b/third_party/googleapis/google/cloud/securityposture/v1/securityposture_v1_grpc_service_config.json @@ -0,0 +1,29 @@ +{ + "methodConfig": [{ + "name": [ + { "service": "google.cloud.securityposture.v1.SecurityPosture", "method": "ListPostures" }, + { "service": "google.cloud.securityposture.v1.SecurityPosture", "method": "ListPostureRevisions" }, + { "service": "google.cloud.securityposture.v1.SecurityPosture", "method": "GetPosture" }, + { "service": "google.cloud.securityposture.v1.SecurityPosture", "method": "CreatePosture" }, + { "service": "google.cloud.securityposture.v1.SecurityPosture", "method": "UpdatePosture" }, + { "service": "google.cloud.securityposture.v1.SecurityPosture", "method": "DeletePosture" }, + { "service": "google.cloud.securityposture.v1.SecurityPosture", "method": "ExtractPosture" }, + { "service": "google.cloud.securityposture.v1.SecurityPosture", "method": "ListPostureDeployments" }, + { "service": "google.cloud.securityposture.v1.SecurityPosture", "method": "GetPostureDeployment" }, + { "service": "google.cloud.securityposture.v1.SecurityPosture", "method": "CreatePostureDeployment" }, + { "service": "google.cloud.securityposture.v1.SecurityPosture", "method": "UpdatePostureDeployment" }, + { "service": "google.cloud.securityposture.v1.SecurityPosture", "method": "DeletePostureDeployment" }, + { "service": "google.cloud.securityposture.v1.SecurityPosture", "method": "ListPostureTemplates" }, + { "service": "google.cloud.securityposture.v1.SecurityPosture", "method": "GetPostureTemplate" }, + { "service": "google.cloud.securityposture.v1.SecurityPosture", "method": "CreateIaCValidationReport" } + ], + "timeout": "60s", + "retryPolicy": { + "maxAttempts": 5, + "initialBackoff": "1s", + "maxBackoff": "10s", + "backoffMultiplier": 1.3, + "retryableStatusCodes": ["UNAVAILABLE"] + } + }] +} diff --git a/third_party/googleapis/google/cloud/securityposture/v1/sha_constraints.proto b/third_party/googleapis/google/cloud/securityposture/v1/sha_constraints.proto new file mode 100644 index 000000000..513c19905 --- /dev/null +++ b/third_party/googleapis/google/cloud/securityposture/v1/sha_constraints.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.cloud.securityposture.v1; + +import "google/api/field_behavior.proto"; +import "google/cloud/securityposture/v1/sha_custom_config.proto"; + +option go_package = "cloud.google.com/go/securityposture/apiv1/securityposturepb;securityposturepb"; +option java_multiple_files = true; +option java_outer_classname = "ShaConstraintsProto"; +option java_package = "com.google.cloud.securityposture.v1"; + +// Possible enablement states of a service or module. +enum EnablementState { + // Default value. This value is unused. + ENABLEMENT_STATE_UNSPECIFIED = 0; + + // State is enabled. + ENABLED = 1; + + // State is disabled. + DISABLED = 2; +} + +// Message for Security Health Analytics built-in detector. +message SecurityHealthAnalyticsModule { + // Required. The name of the module eg: BIGQUERY_TABLE_CMEK_DISABLED. + string module_name = 1 [(google.api.field_behavior) = REQUIRED]; + + // The state of enablement for the module at its level of the resource + // hierarchy. + EnablementState module_enablement_state = 2; +} + +// Message for SHA Custom Module +message SecurityHealthAnalyticsCustomModule { + // Output only. Immutable. The id of the custom module. + // The id is server-generated and is not user settable. + // It will be a numeric id containing 1-20 digits. + string id = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.field_behavior) = OUTPUT_ONLY + ]; + + // Optional. The display name of the Security Health Analytics custom module. + // This display name becomes the finding category for all findings that are + // returned by this custom module. The display name must be between 1 and + // 128 characters, start with a lowercase letter, and contain alphanumeric + // characters or underscores only. + string display_name = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Required. custom module details + CustomConfig config = 3 [(google.api.field_behavior) = REQUIRED]; + + // The state of enablement for the module at its level of the resource + // hierarchy. + EnablementState module_enablement_state = 4; +} diff --git a/third_party/googleapis/google/cloud/securityposture/v1/sha_custom_config.proto b/third_party/googleapis/google/cloud/securityposture/v1/sha_custom_config.proto new file mode 100644 index 000000000..1685dc61b --- /dev/null +++ b/third_party/googleapis/google/cloud/securityposture/v1/sha_custom_config.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.cloud.securityposture.v1; + +import "google/api/field_behavior.proto"; +import "google/type/expr.proto"; + +option go_package = "cloud.google.com/go/securityposture/apiv1/securityposturepb;securityposturepb"; +option java_multiple_files = true; +option java_outer_classname = "ShaCustomConfigProto"; +option java_package = "com.google.cloud.securityposture.v1"; + +// Defines the properties in a custom module configuration for Security +// Health Analytics. Use the custom module configuration to create custom +// detectors that generate custom findings for resources that you specify. +message CustomConfig { + // A set of optional name-value pairs that define custom source properties to + // return with each finding that is generated by the custom module. The custom + // source properties that are defined here are included in the finding JSON + // under `sourceProperties`. + message CustomOutputSpec { + // An individual name-value pair that defines a custom source property. + message Property { + // Required. Name of the property for the custom output. + string name = 1 [(google.api.field_behavior) = REQUIRED]; + + // Optional. The CEL expression for the custom output. A resource property + // can be specified to return the value of the property or a text string + // enclosed in quotation marks. + google.type.Expr value_expression = 2 + [(google.api.field_behavior) = OPTIONAL]; + } + + // Optional. A list of custom output properties to add to the finding. + repeated Property properties = 1 [(google.api.field_behavior) = OPTIONAL]; + } + + // Resource for selecting resource type. + message ResourceSelector { + // Required. The resource types to run the detector on. + repeated string resource_types = 1 [(google.api.field_behavior) = REQUIRED]; + } + + // Defines the valid value options for the severity of a finding. + enum Severity { + // Unspecified severity. + SEVERITY_UNSPECIFIED = 0; + + // Critical severity. + CRITICAL = 1; + + // High severity. + HIGH = 2; + + // Medium severity. + MEDIUM = 3; + + // Low severity. + LOW = 4; + } + + // Required. The CEL expression to evaluate to produce findings. When the + // expression evaluates to true against a resource, a finding is generated. + google.type.Expr predicate = 1 [(google.api.field_behavior) = REQUIRED]; + + // Optional. Custom output properties. + CustomOutputSpec custom_output = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Required. The resource types that the custom module operates on. Each + // custom module can specify up to 5 resource types. + ResourceSelector resource_selector = 3 + [(google.api.field_behavior) = REQUIRED]; + + // Required. The severity to assign to findings generated by the module. + Severity severity = 4 [(google.api.field_behavior) = REQUIRED]; + + // Optional. Text that describes the vulnerability or misconfiguration that + // the custom module detects. This explanation is returned with each finding + // instance to help investigators understand the detected issue. The text must + // be enclosed in quotation marks. + string description = 5 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. An explanation of the recommended steps that security teams can + // take to resolve the detected issue. This explanation is returned with each + // finding generated by this module in the `nextSteps` property of the finding + // JSON. + string recommendation = 6 [(google.api.field_behavior) = OPTIONAL]; +} diff --git a/third_party/googleapis/google/cloud/servicehealth/BUILD.bazel b/third_party/googleapis/google/cloud/servicehealth/BUILD.bazel new file mode 100644 index 000000000..0060a924b --- /dev/null +++ b/third_party/googleapis/google/cloud/servicehealth/BUILD.bazel @@ -0,0 +1,36 @@ +# This build file includes a target for the Ruby wrapper library for +# google-cloud-service_health. + +# 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 servicehealth. +# 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 = "servicehealth_ruby_wrapper", + srcs = ["//google/cloud/servicehealth/v1:servicehealth_proto_with_info"], + extra_protoc_parameters = [ + "ruby-cloud-gem-name=google-cloud-service_health", + "ruby-cloud-wrapper-of=v1:0.0", + ], + service_yaml = "//google/cloud/servicehealth/v1:servicehealth_v1.yaml", + transport = "grpc+rest", +) + +# Open Source package. +ruby_gapic_assembly_pkg( + name = "google-cloud-servicehealth-ruby", + deps = [ + ":servicehealth_ruby_wrapper", + ], +) diff --git a/third_party/googleapis/google/cloud/servicehealth/logging/v1/BUILD.bazel b/third_party/googleapis/google/cloud/servicehealth/logging/v1/BUILD.bazel new file mode 100644 index 000000000..7ba26081c --- /dev/null +++ b/third_party/googleapis/google/cloud/servicehealth/logging/v1/BUILD.bazel @@ -0,0 +1,175 @@ +# This file was automatically generated by BuildFileGenerator + +# 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") + +proto_library( + name = "logging_proto", + srcs = [ + "event_log.proto", + ], + deps = [ + "@com_google_protobuf//:timestamp_proto", + ], +) + +############################################################################## +# Java +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "java_grpc_library", + "java_proto_library", +) + +java_proto_library( + name = "logging_java_proto", + deps = [":logging_proto"], +) + +java_grpc_library( + name = "logging_java_grpc", + srcs = [":logging_proto"], + deps = [":logging_java_proto"], +) + +############################################################################## +# Go +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "go_gapic_assembly_pkg", + "go_proto_library", +) + +go_proto_library( + name = "logging_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "cloud.google.com/go/servicehealth/logging/apiv1/loggingpb", + protos = [":logging_proto"], + deps = [ + ], +) + +go_gapic_assembly_pkg( + name = "logging-v1-go", + deps = [ + ":logging_go_proto", + ], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "moved_proto_library", + "py_grpc_library", + "py_proto_library", +) + +moved_proto_library( + name = "logging_moved_proto", + srcs = [":logging_proto"], + deps = [ + "@com_google_protobuf//:timestamp_proto", + ], +) + +py_proto_library( + name = "logging_py_proto", + deps = [":logging_moved_proto"], +) + +py_grpc_library( + name = "logging_py_grpc", + srcs = [":logging_moved_proto"], + deps = [":logging_py_proto"], +) + +############################################################################## +# PHP +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "php_gapic_assembly_pkg", + "php_proto_library", +) + +php_proto_library( + name = "logging_php_proto", + deps = [":logging_proto"], +) + +php_gapic_assembly_pkg( + name = "logging-v1-php", + deps = [ + ":logging_php_proto", + ], +) + +############################################################################## +# Ruby +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "ruby_grpc_library", + "ruby_proto_library", +) + +ruby_proto_library( + name = "logging_ruby_proto", + deps = [":logging_proto"], +) + +ruby_grpc_library( + name = "logging_ruby_grpc", + srcs = [":logging_proto"], + deps = [":logging_ruby_proto"], +) + +############################################################################## +# C# +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "csharp_grpc_library", + "csharp_proto_library", +) + +csharp_proto_library( + name = "logging_csharp_proto", + deps = [":logging_proto"], +) + +csharp_grpc_library( + name = "logging_csharp_grpc", + srcs = [":logging_proto"], + deps = [":logging_csharp_proto"], +) + +############################################################################## +# C++ +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "cc_grpc_library", + "cc_proto_library", +) + +cc_proto_library( + name = "logging_cc_proto", + deps = [":logging_proto"], +) + +cc_grpc_library( + name = "logging_cc_grpc", + srcs = [":logging_proto"], + grpc_only = True, + deps = [":logging_cc_proto"], +) diff --git a/third_party/googleapis/google/cloud/servicehealth/logging/v1/README.md b/third_party/googleapis/google/cloud/servicehealth/logging/v1/README.md new file mode 100644 index 000000000..65af9c200 --- /dev/null +++ b/third_party/googleapis/google/cloud/servicehealth/logging/v1/README.md @@ -0,0 +1,3 @@ +# Service health API Logging Integration + +These protos represent the Service health API log entry schema. The Service Health API log schema represents updates to a service health event's information as a distinct log in Cloud Logging. This information includes description, relevance, state, impacted products, and impacted locations. diff --git a/third_party/googleapis/google/cloud/servicehealth/logging/v1/event_log.proto b/third_party/googleapis/google/cloud/servicehealth/logging/v1/event_log.proto new file mode 100644 index 000000000..b8a6dc573 --- /dev/null +++ b/third_party/googleapis/google/cloud/servicehealth/logging/v1/event_log.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.cloud.servicehealth.logging.v1; + +import "google/protobuf/timestamp.proto"; + +option go_package = "cloud.google.com/go/servicehealth/logging/apiv1/loggingpb;loggingpb"; +option java_multiple_files = true; +option java_outer_classname = "EventLogProto"; +option java_package = "com.google.cloud.servicehealth.logging.v1"; + +// Message describing the payload of service health logs. +message EventLog { + // The category of the event. This enum lists all possible categories of + // event. + enum EventCategory { + // Unspecified category. + EVENT_CATEGORY_UNSPECIFIED = 0; + + // Event category for service outage or degradation. + INCIDENT = 2; + } + + // The state of the event. This enum lists all possible states of event. + enum State { + // Unspecified state + STATE_UNSPECIFIED = 0; + + // Event is actively affecting a Google Cloud service and will continue to + // receive updates. + ACTIVE = 1; + + // Event is no longer affecting the Google Cloud service or has been merged + // with another event. + CLOSED = 2; + } + + // The detailed state of the event. This enum lists all possible detail states + // of event. + enum DetailedState { + // Unspecified detail state. + DETAILED_STATE_UNSPECIFIED = 0; + + // Google engineers are actively investigating the event to determine the + // impact. + EMERGING = 1; + + // The event is confirmed and impacting at least one Google Cloud service. + // Ongoing status updates will be provided until it is resolved. + CONFIRMED = 2; + + // The event is no longer affecting any Google Cloud service, and there will + // be no further updates. + RESOLVED = 3; + + // Event was merged into a parent event. All further updates will be + // published to the parent only. The `parent_event` field contains the name + // of the parent. + MERGED = 4; + } + + // Communicates why a given event is deemed relevant in the context of a given + // project. This enum lists all possible detailed states of relevance. + enum Relevance { + // Unspecified relevance. + RELEVANCE_UNSPECIFIED = 0; + + // The relevance of the event to the project is unknown. + UNKNOWN = 2; + + // The event does not impact the project. + NOT_IMPACTED = 6; + + // We determined that the event is linked to a product that is used by + // the project, but we have no information (either positive + // or negative) whether the project is affected. + PARTIALLY_RELATED = 7; + + // The event has a connection to your project and it may be impacted + RELATED = 8; + + // The event is impacting your project + IMPACTED = 9; + } + + // Brief description for the event. + string title = 1; + + // Free-form, human-readable description. + string description = 2; + + // Identifies the category of the event. + EventCategory category = 3; + + // The current state of the event. + State state = 4; + + // The current detailed state of the event. + DetailedState detailed_state = 14; + + // Google Cloud products known to be affected by the event, in JSON serialized + // format. List of all supported [Google Cloud + // products](../resources/products-locations.md). + // + // Example: "`['Google Cloud SQL', 'Cloud Compute Engine']`". + string impacted_products = 15; + + // Locations known to be impacted by the event, in JSON serialized format. See + // possible [values](products-locations.md), which are subject to where the + // service is running. + // + // Example: "`['us-central1', 'us-west1']`". + string impacted_locations = 6; + + // Communicates why a given event is deemed relevant in the context of a given + // project. + Relevance relevance = 7; + + // When `detailed_state`=`MERGED`, `parent_event` contains the name of the + // parent event. All further updates will be published to the parent event. + string parent_event = 8; + + // The time when the event was last modified. + google.protobuf.Timestamp update_time = 10; + + // The start time of the event, if applicable. + google.protobuf.Timestamp start_time = 11; + + // The end time of the event, if applicable. + google.protobuf.Timestamp end_time = 12; + + // Incident-only field. The time when the next update can be expected. + google.protobuf.Timestamp next_update_time = 13; +} diff --git a/third_party/googleapis/google/cloud/servicehealth/v1/BUILD.bazel b/third_party/googleapis/google/cloud/servicehealth/v1/BUILD.bazel new file mode 100644 index 000000000..3455c5922 --- /dev/null +++ b/third_party/googleapis/google/cloud/servicehealth/v1/BUILD.bazel @@ -0,0 +1,377 @@ +# 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 = "servicehealth_proto", + srcs = [ + "event_resources.proto", + "event_service.proto", + ], + deps = [ + "//google/api:annotations_proto", + "//google/api:client_proto", + "//google/api:field_behavior_proto", + "//google/api:resource_proto", + "@com_google_protobuf//:timestamp_proto", + ], +) + +proto_library_with_info( + name = "servicehealth_proto_with_info", + deps = [ + ":servicehealth_proto", + "//google/cloud:common_resources_proto", + "//google/cloud/location:location_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 = "servicehealth_java_proto", + deps = [":servicehealth_proto"], +) + +java_grpc_library( + name = "servicehealth_java_grpc", + srcs = [":servicehealth_proto"], + deps = [":servicehealth_java_proto"], +) + +java_gapic_library( + name = "servicehealth_java_gapic", + srcs = [":servicehealth_proto_with_info"], + gapic_yaml = None, + grpc_service_config = "servicehealth_v1_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "servicehealth_v1.yaml", + test_deps = [ + ":servicehealth_java_grpc", + "//google/cloud/location:location_java_grpc", + ], + transport = "grpc+rest", + deps = [ + ":servicehealth_java_proto", + "//google/api:api_java_proto", + "//google/cloud/location:location_java_proto", + ], +) + +java_gapic_test( + name = "servicehealth_java_gapic_test_suite", + test_classes = [ + "com.google.cloud.servicehealth.v1.ServiceHealthClientHttpJsonTest", + "com.google.cloud.servicehealth.v1.ServiceHealthClientTest", + ], + runtime_deps = [":servicehealth_java_gapic_test"], +) + +# Open Source Packages +java_gapic_assembly_gradle_pkg( + name = "google-cloud-servicehealth-v1-java", + include_samples = True, + transport = "grpc+rest", + deps = [ + ":servicehealth_java_gapic", + ":servicehealth_java_grpc", + ":servicehealth_java_proto", + ":servicehealth_proto", + ], +) + +############################################################################## +# Go +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "go_gapic_assembly_pkg", + "go_gapic_library", + "go_proto_library", +) + +go_proto_library( + name = "servicehealth_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "cloud.google.com/go/servicehealth/apiv1/servicehealthpb", + protos = [":servicehealth_proto"], + deps = [ + "//google/api:annotations_go_proto", + ], +) + +go_gapic_library( + name = "servicehealth_go_gapic", + srcs = [":servicehealth_proto_with_info"], + grpc_service_config = "servicehealth_v1_grpc_service_config.json", + importpath = "cloud.google.com/go/servicehealth/apiv1;servicehealth", + metadata = True, + release_level = "beta", + rest_numeric_enums = True, + service_yaml = "servicehealth_v1.yaml", + transport = "grpc+rest", + deps = [ + ":servicehealth_go_proto", + "//google/cloud/location:location_go_proto", + ], +) + +# Open Source Packages +go_gapic_assembly_pkg( + name = "gapi-cloud-servicehealth-v1-go", + deps = [ + ":servicehealth_go_gapic", + ":servicehealth_go_gapic_srcjar-metadata.srcjar", + ":servicehealth_go_gapic_srcjar-snippets.srcjar", + ":servicehealth_go_gapic_srcjar-test.srcjar", + ":servicehealth_go_proto", + ], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "py_gapic_assembly_pkg", + "py_gapic_library", + "py_test", +) + +py_gapic_library( + name = "servicehealth_py_gapic", + srcs = [":servicehealth_proto"], + grpc_service_config = "servicehealth_v1_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "servicehealth_v1.yaml", + transport = "grpc+rest", + deps = [ + ], +) + +py_test( + name = "servicehealth_py_gapic_test", + srcs = [ + "servicehealth_py_gapic_pytest.py", + "servicehealth_py_gapic_test.py", + ], + legacy_create_init = False, + deps = [":servicehealth_py_gapic"], +) + +# Open Source Packages +py_gapic_assembly_pkg( + name = "servicehealth-v1-py", + deps = [ + ":servicehealth_py_gapic", + ], +) + +############################################################################## +# PHP +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "php_gapic_assembly_pkg", + "php_gapic_library", + "php_proto_library", +) + +php_proto_library( + name = "servicehealth_php_proto", + deps = [":servicehealth_proto"], +) + +php_gapic_library( + name = "servicehealth_php_gapic", + srcs = [":servicehealth_proto_with_info"], + grpc_service_config = "servicehealth_v1_grpc_service_config.json", + migration_mode = "NEW_SURFACE_ONLY", + rest_numeric_enums = True, + service_yaml = "servicehealth_v1.yaml", + transport = "grpc+rest", + deps = [ + ":servicehealth_php_proto", + ], +) + +# Open Source Packages +php_gapic_assembly_pkg( + name = "google-cloud-servicehealth-v1-php", + deps = [ + ":servicehealth_php_gapic", + ":servicehealth_php_proto", + ], +) + +############################################################################## +# Node.js +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "nodejs_gapic_assembly_pkg", + "nodejs_gapic_library", +) + +nodejs_gapic_library( + name = "servicehealth_nodejs_gapic", + package_name = "@google-cloud/servicehealth", + src = ":servicehealth_proto_with_info", + extra_protoc_parameters = ["metadata"], + grpc_service_config = "servicehealth_v1_grpc_service_config.json", + package = "google.cloud.servicehealth.v1", + rest_numeric_enums = True, + service_yaml = "servicehealth_v1.yaml", + transport = "grpc+rest", + deps = [], +) + +nodejs_gapic_assembly_pkg( + name = "servicehealth-v1-nodejs", + deps = [ + ":servicehealth_nodejs_gapic", + ":servicehealth_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 = "servicehealth_ruby_proto", + deps = [":servicehealth_proto"], +) + +ruby_grpc_library( + name = "servicehealth_ruby_grpc", + srcs = [":servicehealth_proto"], + deps = [":servicehealth_ruby_proto"], +) + +ruby_cloud_gapic_library( + name = "servicehealth_ruby_gapic", + srcs = [":servicehealth_proto_with_info"], + extra_protoc_parameters = [ + "ruby-cloud-gem-name=google-cloud-service_health-v1", + ], + grpc_service_config = "servicehealth_v1_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "servicehealth_v1.yaml", + transport = "grpc+rest", + deps = [ + ":servicehealth_ruby_grpc", + ":servicehealth_ruby_proto", + ], +) + +# Open Source Packages +ruby_gapic_assembly_pkg( + name = "google-cloud-servicehealth-v1-ruby", + deps = [ + ":servicehealth_ruby_gapic", + ":servicehealth_ruby_grpc", + ":servicehealth_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 = "servicehealth_csharp_proto", + extra_opts = [], + deps = [":servicehealth_proto"], +) + +csharp_grpc_library( + name = "servicehealth_csharp_grpc", + srcs = [":servicehealth_proto"], + deps = [":servicehealth_csharp_proto"], +) + +csharp_gapic_library( + name = "servicehealth_csharp_gapic", + srcs = [":servicehealth_proto_with_info"], + common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json", + grpc_service_config = "servicehealth_v1_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "servicehealth_v1.yaml", + transport = "grpc+rest", + deps = [ + ":servicehealth_csharp_grpc", + ":servicehealth_csharp_proto", + ], +) + +# Open Source Packages +csharp_gapic_assembly_pkg( + name = "google-cloud-servicehealth-v1-csharp", + deps = [ + ":servicehealth_csharp_gapic", + ":servicehealth_csharp_grpc", + ":servicehealth_csharp_proto", + ], +) + +############################################################################## +# C++ +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "cc_grpc_library", + "cc_proto_library", +) + +cc_proto_library( + name = "servicehealth_cc_proto", + deps = [":servicehealth_proto"], +) + +cc_grpc_library( + name = "servicehealth_cc_grpc", + srcs = [":servicehealth_proto"], + grpc_only = True, + deps = [":servicehealth_cc_proto"], +) diff --git a/third_party/googleapis/google/cloud/servicehealth/v1/event_resources.proto b/third_party/googleapis/google/cloud/servicehealth/v1/event_resources.proto new file mode 100644 index 000000000..e8caa03a5 --- /dev/null +++ b/third_party/googleapis/google/cloud/servicehealth/v1/event_resources.proto @@ -0,0 +1,730 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF 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.servicehealth.v1; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.ServiceHealth.V1"; +option go_package = "cloud.google.com/go/servicehealth/apiv1/servicehealthpb;servicehealthpb"; +option java_multiple_files = true; +option java_outer_classname = "EventResourcesProto"; +option java_package = "com.google.cloud.servicehealth.v1"; +option php_namespace = "Google\\Cloud\\ServiceHealth\\V1"; +option ruby_package = "Google::Cloud::ServiceHealth::V1"; +option (google.api.resource_definition) = { + type: "servicehealth.googleapis.com/OrganizationLocation" + pattern: "organizations/{organization}/locations/{location}" +}; + +// Represents service health events that may affect Google Cloud products. +// Event resource is a read-only view and does not allow any modifications. All +// fields are output only. +message Event { + option (google.api.resource) = { + type: "servicehealth.googleapis.com/Event" + pattern: "projects/{project}/locations/{location}/events/{event}" + plural: "events" + singular: "event" + }; + + // The category of the event. This enum lists all possible categories of + // event. + enum EventCategory { + // Unspecified category. + EVENT_CATEGORY_UNSPECIFIED = 0; + + // Event category for service outage or degradation. + INCIDENT = 2; + } + + // The detailed category of an event. Contains all possible states for all + // event categories. + enum DetailedCategory { + // Unspecified detailed category. + DETAILED_CATEGORY_UNSPECIFIED = 0; + + // Indicates an event with category INCIDENT has a confirmed impact to at + // least one Google Cloud product. + CONFIRMED_INCIDENT = 1; + + // Indicates an event with category INCIDENT is under investigation to + // determine if it has a confirmed impact on any Google Cloud products. + EMERGING_INCIDENT = 2; + } + + // The state of the event. This enum lists all possible states of event. + enum State { + // Unspecified state. + STATE_UNSPECIFIED = 0; + + // Event is actively affecting a Google Cloud product and will continue to + // receive updates. + ACTIVE = 1; + + // Event is no longer affecting the Google Cloud product or has been merged + // with another event. + CLOSED = 2; + } + + // The detailed state of the incident. This enum lists all possible detailed + // states of an incident. + enum DetailedState { + // Unspecified detail state. + DETAILED_STATE_UNSPECIFIED = 0; + + // Google engineers are actively investigating the event to determine the + // impact. + EMERGING = 1; + + // The incident is confirmed and impacting at least one Google Cloud + // product. Ongoing status updates will be provided until it is resolved. + CONFIRMED = 2; + + // The incident is no longer affecting any Google Cloud product, and there + // will be no further updates. + RESOLVED = 3; + + // The incident was merged into a parent incident. All further updates will + // be published to the parent only. The `parent_event` field contains the + // 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. + AUTO_CLOSED = 9; + + // The incident was verified as non-impactful. No further action required. + FALSE_POSITIVE = 10; + } + + // Communicates why a given incident is deemed relevant in the context of a + // given project. This enum lists all possible detailed states of relevance. + enum Relevance { + // Unspecified relevance. + RELEVANCE_UNSPECIFIED = 0; + + // The relevance of the incident to the project is unknown. + UNKNOWN = 2; + + // The incident does not impact the project. + NOT_IMPACTED = 6; + + // The incident is associated with a Google Cloud product your project uses, + // but the incident may not be impacting your project. For example, the + // incident may be impacting a Google Cloud product that your project uses, + // but in a location that your project does not use. + PARTIALLY_RELATED = 7; + + // The incident has a direct connection with your project and impacts a + // Google Cloud product in a location your project uses. + RELATED = 8; + + // The incident is verified to be impacting your project. + IMPACTED = 9; + } + + // Output only. Identifier. Name of the event. Unique name of the event in + // this scope including project and location using the form + // `projects/{project_id}/locations/{location}/events/{event_id}`. + string name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.field_behavior) = IDENTIFIER + ]; + + // Output only. Brief description for the event. + string title = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Free-form, human-readable description. + string description = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The category of the event. + EventCategory category = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The detailed category of the event. + DetailedCategory detailed_category = 21 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The current state of the event. + State state = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The current detailed state of the incident. + DetailedState detailed_state = 19 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Google Cloud products and locations impacted by the event. + repeated EventImpact event_impacts = 20; + + // Output only. Communicates why a given event is deemed relevant in the + // context of a given project. + Relevance relevance = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Event updates are correspondence from Google. + repeated EventUpdate updates = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. When `detailed_state`=`MERGED`, `parent_event` contains the + // name of the parent event. All further updates will be published to the + // parent event. + string parent_event = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The time when the event was last modified. + google.protobuf.Timestamp update_time = 12 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The start time of the event, if applicable. + google.protobuf.Timestamp start_time = 13 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The end time of the event, if applicable. + google.protobuf.Timestamp end_time = 14 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The time when the next update can be expected. + google.protobuf.Timestamp next_update_time = 15 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Represents service health events that may affect Google Cloud products used +// across the organization. It is a read-only view and does not allow any +// modifications. +message OrganizationEvent { + option (google.api.resource) = { + type: "servicehealth.googleapis.com/OrganizationEvent" + pattern: "organizations/{organization}/locations/{location}/organizationEvents/{event}" + plural: "organizationEvents" + singular: "organizationEvent" + }; + + // The category of the event. This enum lists all possible categories of + // event. + enum EventCategory { + // Unspecified category. + EVENT_CATEGORY_UNSPECIFIED = 0; + + // Event category for service outage or degradation. + INCIDENT = 2; + } + + // The detailed category of an event. Contains all possible states for all + // event categories. + enum DetailedCategory { + // Unspecified detailed category. + DETAILED_CATEGORY_UNSPECIFIED = 0; + + // Indicates an event with category INCIDENT has a confirmed impact to at + // least one Google Cloud product. + CONFIRMED_INCIDENT = 1; + + // Indicates an event with category INCIDENT is under investigation to + // determine if it has a confirmed impact on any Google Cloud products. + EMERGING_INCIDENT = 2; + } + + // The state of the organization event. This enum lists all possible states of + // event. + enum State { + // Unspecified state. + STATE_UNSPECIFIED = 0; + + // Event is actively affecting a Google Cloud product and will continue to + // receive updates. + ACTIVE = 1; + + // Event is no longer affecting the Google Cloud product or has been merged + // with another event. + CLOSED = 2; + } + + // The detailed state of the incident. This enum lists all possible detailed + // states of an incident. + enum DetailedState { + // Unspecified detail state. + DETAILED_STATE_UNSPECIFIED = 0; + + // Google engineers are actively investigating the incident to determine the + // impact. + EMERGING = 1; + + // The incident is confirmed and impacting at least one Google Cloud + // product. Ongoing status updates will be provided until it is resolved. + CONFIRMED = 2; + + // The incident is no longer affecting any Google Cloud product, and there + // will be no further updates. + RESOLVED = 3; + + // The incident was merged into a parent event. All further updates will be + // published to the parent only. The `parent_event` contains the 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. + AUTO_CLOSED = 9; + + // The incident was verified as non-impactful. No further action required. + FALSE_POSITIVE = 10; + } + + // Output only. Identifier. Name of the event. Unique name of the event in + // this scope including organization ID and location using the form + // `organizations/{organization_id}/locations/{location}/organizationEvents/{event_id}`. + // + // `organization_id` - see [Getting your organization resource + // ID](https://cloud.google.com/resource-manager/docs/creating-managing-organization#retrieving_your_organization_id).
+ // `location` - The location to get the service health events from.
+ // `event_id` - Organization event ID to retrieve. + string name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.field_behavior) = IDENTIFIER + ]; + + // Output only. Brief description for the event. + string title = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Free-form, human-readable description. + string description = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The category of the event. + EventCategory category = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The detailed category of the event. + DetailedCategory detailed_category = 17 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The current state of the event. + State state = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The current detailed state of the incident. + DetailedState detailed_state = 16 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Represents the Google Cloud products and locations impacted by + // the event. + repeated EventImpact event_impacts = 15 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Incident-only field. Event updates are correspondence from + // Google. + repeated EventUpdate updates = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. When `detailed_state`=`MERGED`, `parent_event` contains the + // name of the parent event. All further updates will be published to the + // parent event. + string parent_event = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The time the update was posted. + google.protobuf.Timestamp update_time = 11 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The start time of the event, if applicable. + google.protobuf.Timestamp start_time = 12 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The end time of the event, if applicable. + google.protobuf.Timestamp end_time = 13 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Incident-only field. The time when the next update can be + // expected. + google.protobuf.Timestamp next_update_time = 14 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Records an update made to the event. +message EventUpdate { + // Output only. The time the update was posted. + google.protobuf.Timestamp update_time = 1 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Brief title for the event. + string title = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Free-form, human-readable description. + string description = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Symptoms of the event, if available. + string symptom = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Workaround steps to remediate the event impact, if available. + string workaround = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Represents the locations impacted by the event. +message Location { + // Location impacted by the event. Example: `"us-central1"` + string location_name = 1; +} + +// Represents the Google Cloud product impacted by the event. +message Product { + // Google Cloud product impacted by the event. Example: `"Google Cloud SQL"` + string product_name = 1; +} + +// Represents the Google Cloud products and locations impacted by the event. +message EventImpact { + // Google Cloud product impacted by the event. + Product product = 1; + + // Location impacted by the event. + Location location = 2; +} + +// Represents impact to assets at organizational level. It is a read-only view +// and does not allow any modifications. +message OrganizationImpact { + option (google.api.resource) = { + type: "servicehealth.googleapis.com/OrganizationImpact" + pattern: "organizations/{organization}/locations/{location}/organizationImpacts/{organization_impact}" + plural: "organizationImpacts" + singular: "organizationImpact" + }; + + // Output only. Identifier. Unique name of the organization impact in this + // scope including organization and location using the form + // `organizations/{organization_id}/locations/{location}/organizationImpacts/{organization_impact_id}`. + // + // `organization_id` - ID (number) of the organization that contains the + // event. To get your `organization_id`, see + // [Getting your organization resource + // ID](https://cloud.google.com/resource-manager/docs/creating-managing-organization#retrieving_your_organization_id).
+ // `organization_impact_id` - ID of the [OrganizationImpact + // resource](/service-health/docs/reference/rest/v1beta/organizations.locations.organizationImpacts#OrganizationImpact). + string name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.field_behavior) = IDENTIFIER + ]; + + // Output only. A list of event names impacting the asset. + repeated string events = 2 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "servicehealth.googleapis.com/Event" + } + ]; + + // Output only. Google Cloud asset possibly impacted by the specified events. + Asset asset = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The time when the affected project was last modified. + google.protobuf.Timestamp update_time = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Represents the asset impacted by the events. +message Asset { + // Output only. Full name of the resource as defined in + // [Resource + // Names](https://cloud.google.com/apis/design/resource_names#full_resource_name). + string asset_name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Type of the asset. Example: + // `"cloudresourcemanager.googleapis.com/Project"` + string asset_type = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +message ListEventsRequest { + // Required. Parent value using the form + // `projects/{project_id}/locations/{location}/events`. + // + // `project_id` - ID of the project for which to list service health + // events. + // `location` - The location to get the service health events from. + // To retrieve service health events of category = INCIDENT, use `location` = + // `global`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "servicehealth.googleapis.com/Event" + } + ]; + + // Optional. The maximum number of events that should be returned. Acceptable + // values are 1 to 100, inclusive. (The default value is 10.) If more results + // are available, the service returns a next_page_token that you can use to + // get the next page of results in subsequent list requests. The service may + // return fewer events than the requested page_size. + int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A token identifying a page of results the server should return. + // Provide Page token returned by a previous `ListEvents` call to retrieve the + // next page of results. When paginating, all other parameters provided to + // `ListEvents` must match the call that provided the page token. + string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A filter expression that filters resources listed in the + // response. The expression takes the following forms:
+ // * field=value for `category` and `state`
+ // * field <, >, <=, or >= value for `update_time`
+ // Examples: `category=INCIDENT`, `update_time>=2000-01-01T11:30:00-04:00` + //
+ // + // Multiple filter queries are separated by spaces. Example: + // `category=INCIDENT state=ACTIVE`. + // + // By default, each expression is an AND expression. However, you can include + // AND and OR expressions explicitly. + // + // Filter is supported for the following fields: `category`, `state`, + // `update_time` + string filter = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Event fields to include in response. + EventView view = 6 [(google.api.field_behavior) = OPTIONAL]; +} + +message ListEventsResponse { + // Output only. List of events. + repeated Event events = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The continuation token, used to page through large result + // sets. Provide this value in a subsequent request as page_token to retrieve + // the next page. + // + // If this field is not present, there are no subsequent results. + string next_page_token = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Locations that could not be reached. + repeated string unreachable = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Message for getting an event +message GetEventRequest { + // Required. Unique name of the event in this scope including project + // and location using the form + // `projects/{project_id}/locations/{location}/events/{event_id}`. + // + // `project_id` - Project ID of the project that contains the event.
+ // `location` - The location to get the service health events from.
+ // `event_id` - Event ID to retrieve. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "servicehealth.googleapis.com/Event" + } + ]; +} + +message ListOrganizationEventsRequest { + // Required. Parent value using the form + // `organizations/{organization_id}/locations/{location}/organizationEvents`. + // + // `organization_id` - ID (number) of the project that contains the event. To + // get your `organization_id`, see + // [Getting your organization resource + // ID](https://cloud.google.com/resource-manager/docs/creating-managing-organization#retrieving_your_organization_id).
+ // `location` - The location to get the service health events from. To + // retrieve service health events of category = INCIDENT, use `location` = + // `global`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "servicehealth.googleapis.com/OrganizationEvent" + } + ]; + + // Optional. The maximum number of events that should be returned. Acceptable + // values are `1` to `100`, inclusive. (The default value is `10`.) If more + // results are available, the service returns a `next_page_token` that you can + // use to get the next page of results in subsequent list requests. The + // service may return fewer events than the requested `page_size`. + int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A token identifying a page of results the server should return. + // + // Provide Page token returned by a previous `ListOrganizationEvents` call to + // retrieve the next page of results. + // + // When paginating, all other parameters provided to + // `ListOrganizationEvents` must match the call that provided the page token. + string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A filter expression that filters resources listed in the + // response. The expression takes the following forms: + // + // * field=value for `category` and `state` + // * field <, >, <=, or >= value for `update_time` + // + // Examples: `category=INCIDENT`, `update_time>=2000-01-01T11:30:00-04:00` + // + // Multiple filter queries are space-separated. Example: + // `category=INCIDENT state=ACTIVE`. + // + // By default, each expression is an AND expression. However, you can include + // AND and OR expressions explicitly. + // + // Filter is supported for the following fields: `category`, `state`, + // `update_time` + string filter = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. OrganizationEvent fields to include in response. + OrganizationEventView view = 6 [(google.api.field_behavior) = OPTIONAL]; +} + +message ListOrganizationEventsResponse { + // Output only. List of organization events affecting an organization. + repeated OrganizationEvent organization_events = 1 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The continuation token, used to page through large result + // sets. Provide this value in a subsequent request as `page_token` to + // retrieve the next page. + // + // If this field is not present, there are no subsequent results. + string next_page_token = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Locations that could not be reached. + repeated string unreachable = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +message GetOrganizationEventRequest { + // Required. Unique name of the event in this scope including organization and + // event ID using the form + // `organizations/{organization_id}/locations/locations/global/organizationEvents/{event_id}`. + // + // `organization_id` - ID (number) of the project that contains the event. To + // get your `organization_id`, see + // [Getting your organization resource + // ID](https://cloud.google.com/resource-manager/docs/creating-managing-organization#retrieving_your_organization_id).
+ // `event_id` - Organization event ID to retrieve. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "servicehealth.googleapis.com/OrganizationEvent" + } + ]; +} + +// Message for requesting list of OrganizationImpacts +message ListOrganizationImpactsRequest { + // Required. Parent value using the form + // `organizations/{organization_id}/locations/{location}/organizationImpacts`. + // + // `organization_id` - ID (number) of the project that contains the event. To + // get your `organization_id`, see + // [Getting your organization resource + // ID](https://cloud.google.com/resource-manager/docs/creating-managing-organization#retrieving_your_organization_id). + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "servicehealth.googleapis.com/OrganizationImpact" + } + ]; + + // Optional. The maximum number of events that should be returned. Acceptable + // values are `1` to `100`, inclusive. The default value is `10`. + // + // If more results are available, the service returns a + // `next_page_token` that can be used to get the next page of results in + // subsequent list requests. The service may return fewer + // [impacts](/service-health/docs/reference/rest/v1beta/organizations.locations.organizationImpacts#OrganizationImpact) + // than the requested `page_size`. + int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A token identifying a page of results the server should return. + // + // Provide `page_token` returned by a previous `ListOrganizationImpacts` call + // to retrieve the next page of results. + // + // When paginating, all other parameters provided to `ListOrganizationImpacts` + // must match the call that provided the page token. + string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A filter expression that filters resources listed in the + // response. The expression is in the form of `field:value` for checking if a + // repeated field contains a value. + // + // Example: + // `events:organizations%2F{organization_id}%2Flocations%2Fglobal%2ForganizationEvents%2Fevent-id` + // + // To get your `{organization_id}`, see + // [Getting your organization resource + // ID](https://cloud.google.com/resource-manager/docs/creating-managing-organization#retrieving_your_organization_id). + // + // Multiple filter queries are separated by spaces. + // + // By default, each expression is an AND expression. However, you can include + // AND and OR expressions explicitly. + // Filter is supported for the following fields: `events`. + string filter = 4 [(google.api.field_behavior) = OPTIONAL]; +} + +message ListOrganizationImpactsResponse { + // Output only. List of + // [impacts](/service-health/docs/reference/rest/v1beta/organizations.locations.organizationImpacts#OrganizationImpact) + // for an organization affected by service health events. + repeated OrganizationImpact organization_impacts = 1 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The continuation token, used to page through large result + // sets. Provide this value in a subsequent request as `page_token` to + // retrieve the next page. + // + // If this field is not present, there are no subsequent results. + string next_page_token = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Locations that could not be reached. + repeated string unreachable = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +message GetOrganizationImpactRequest { + // Required. Name of the resource using the form + // `organizations/{organization_id}/locations/global/organizationImpacts/{organization_impact_id}`. + // + // `organization_id` - ID (number) of the organization that contains the + // event. To get your `organization_id`, see + // [Getting your organization resource + // ID](https://cloud.google.com/resource-manager/docs/creating-managing-organization#retrieving_your_organization_id).
+ // `organization_impact_id` - ID of the [OrganizationImpact + // resource](/service-health/docs/reference/rest/v1beta/organizations.locations.organizationImpacts#OrganizationImpact). + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "servicehealth.googleapis.com/OrganizationImpact" + } + ]; +} + +// The event fields to include in ListEvents API response. This enum lists all +// possible event views. +enum EventView { + // Unspecified event view. Default to `EVENT_VIEW_BASIC`. + EVENT_VIEW_UNSPECIFIED = 0; + + // Includes all fields except `updates`. This view is the default for + // ListEvents API. + EVENT_VIEW_BASIC = 1; + + // Includes all event fields. + EVENT_VIEW_FULL = 2; +} + +// The organization event fields to include in ListOrganizationEvents API +// response. This enum lists all possible organization event views. +enum OrganizationEventView { + // Unspecified event view. Default to `ORGANIZATION_EVENT_VIEW_BASIC`. + ORGANIZATION_EVENT_VIEW_UNSPECIFIED = 0; + + // Includes all organization event fields except `updates`. This view is the + // default for ListOrganizationEvents API. + ORGANIZATION_EVENT_VIEW_BASIC = 1; + + // Includes all organization event fields. + ORGANIZATION_EVENT_VIEW_FULL = 2; +} diff --git a/third_party/googleapis/google/cloud/servicehealth/v1/event_service.proto b/third_party/googleapis/google/cloud/servicehealth/v1/event_service.proto new file mode 100644 index 000000000..8670c83a1 --- /dev/null +++ b/third_party/googleapis/google/cloud/servicehealth/v1/event_service.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.cloud.servicehealth.v1; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/cloud/servicehealth/v1/event_resources.proto"; + +option csharp_namespace = "Google.Cloud.ServiceHealth.V1"; +option go_package = "cloud.google.com/go/servicehealth/apiv1/servicehealthpb;servicehealthpb"; +option java_multiple_files = true; +option java_outer_classname = "EventServiceProto"; +option java_package = "com.google.cloud.servicehealth.v1"; +option php_namespace = "Google\\Cloud\\ServiceHealth\\V1"; +option ruby_package = "Google::Cloud::ServiceHealth::V1"; + +// Request service health events relevant to your Google Cloud project. +service ServiceHealth { + option (google.api.default_host) = "servicehealth.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform"; + + // Lists events under a given project and location. + rpc ListEvents(ListEventsRequest) returns (ListEventsResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*}/events" + }; + option (google.api.method_signature) = "parent"; + } + + // Retrieves a resource containing information about an event. + rpc GetEvent(GetEventRequest) returns (Event) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/events/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Lists organization events under a given organization and location. + rpc ListOrganizationEvents(ListOrganizationEventsRequest) + returns (ListOrganizationEventsResponse) { + option (google.api.http) = { + get: "/v1/{parent=organizations/*/locations/*}/organizationEvents" + }; + option (google.api.method_signature) = "parent"; + } + + // Retrieves a resource containing information about an event affecting an + // organization . + rpc GetOrganizationEvent(GetOrganizationEventRequest) + returns (OrganizationEvent) { + option (google.api.http) = { + get: "/v1/{name=organizations/*/locations/*/organizationEvents/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Lists assets impacted by organization events under a given organization and + // location. + rpc ListOrganizationImpacts(ListOrganizationImpactsRequest) + returns (ListOrganizationImpactsResponse) { + option (google.api.http) = { + get: "/v1/{parent=organizations/*/locations/*}/organizationImpacts" + }; + option (google.api.method_signature) = "parent"; + } + + // Retrieves a resource containing information about impact to an asset under + // an organization affected by a service health event. + rpc GetOrganizationImpact(GetOrganizationImpactRequest) + returns (OrganizationImpact) { + option (google.api.http) = { + get: "/v1/{name=organizations/*/locations/*/organizationImpacts/*}" + }; + option (google.api.method_signature) = "name"; + } +} diff --git a/third_party/googleapis/google/cloud/servicehealth/v1/servicehealth_v1.yaml b/third_party/googleapis/google/cloud/servicehealth/v1/servicehealth_v1.yaml new file mode 100644 index 000000000..ac805a77e --- /dev/null +++ b/third_party/googleapis/google/cloud/servicehealth/v1/servicehealth_v1.yaml @@ -0,0 +1,85 @@ +type: google.api.Service +config_version: 3 +name: servicehealth.googleapis.com +title: Service Health API + +apis: +- name: google.cloud.location.Locations +- name: google.cloud.servicehealth.v1.ServiceHealth + +documentation: + summary: |- + Personalized Service Health helps you gain visibility into disruptive + events impacting Google Cloud products. + 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. + +http: + rules: + - selector: google.cloud.location.Locations.GetLocation + get: '/v1/{name=projects/*/locations/*}' + - selector: google.cloud.location.Locations.ListLocations + get: '/v1/{name=projects/*}/locations' + +authentication: + rules: + - 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.cloud.servicehealth.v1.ServiceHealth.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + +publishing: + new_issue_uri: https://issuetracker.google.com/issues/new?component=1466723&template=1161103 + documentation_uri: https://cloud.google.com/service-health/docs/overview + api_short_name: servicehealth + github_label: 'api: servicehealth' + doc_tag_prefix: servicehealth + organization: CLOUD + library_settings: + - version: google.cloud.servicehealth.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://cloud.google.com/service-health/docs/reference/rpc diff --git a/third_party/googleapis/google/cloud/servicehealth/v1/servicehealth_v1_grpc_service_config.json b/third_party/googleapis/google/cloud/servicehealth/v1/servicehealth_v1_grpc_service_config.json new file mode 100644 index 000000000..c435a6892 --- /dev/null +++ b/third_party/googleapis/google/cloud/servicehealth/v1/servicehealth_v1_grpc_service_config.json @@ -0,0 +1,52 @@ +{ + "methodConfig": [ + { + "name": [ + { + "service": "google.cloud.servicehealth.v1.ServiceHealth", + "method": "GetEvent" + }, + { + "service": "google.cloud.servicehealth.v1.ServiceHealth", + "method": "GetOrganizationEvent" + }, + { + "service": "google.cloud.servicehealth.v1.ServiceHealth", + "method": "GetOrganizationImpact" + } + ], + "timeout": "60s", + "retryPolicy": { + "maxAttempts": 5, + "initialBackoff": "1s", + "maxBackoff": "10s", + "backoffMultiplier": 1.3, + "retryableStatusCodes": ["UNAVAILABLE"] + } + }, + { + "name": [ + { + "service": "google.cloud.servicehealth.v1.ServiceHealth", + "method": "ListEvents" + }, + { + "service": "google.cloud.servicehealth.v1.ServiceHealth", + "method": "ListOrganizationEvents" + }, + { + "service": "google.cloud.servicehealth.v1.ServiceHealth", + "method": "ListOrganizationImpacts" + } + ], + "timeout": "60s", + "retryPolicy": { + "maxAttempts": 5, + "initialBackoff": "1s", + "maxBackoff": "10s", + "backoffMultiplier": 1.3, + "retryableStatusCodes": ["UNAVAILABLE"] + } + } + ] +} diff --git a/third_party/googleapis/google/cloud/speech/v1/samples/README.md b/third_party/googleapis/google/cloud/speech/v1/samples/README.md new file mode 100644 index 000000000..6c27a5f88 --- /dev/null +++ b/third_party/googleapis/google/cloud/speech/v1/samples/README.md @@ -0,0 +1,88 @@ +Google Cloud Platform logo + +# Google Cloud Speech v1 – Library Samples + +Code Sample Configurations for Cloud Client Libraries for Cloud Speech + +> These code samples are published @ [cloud.google.com/speech/docs](https://cloud.google.com/speech-to-text/docs/) + +## Performing Speech Recognition + +### Transcribing short audio files [📚](https://cloud.google.com/speech-to-text/docs/sync-recognize) + +| Region Tag | Description | +|------------|-------------| +| `speech_transcribe_sync` | Transcribe a local audio file. Synchronous: immediate result. | +| `speech_transcribe_sync_gcs` | Transcribe an audio file in Cloud Storage. | + +### Transcribing long audio files [📚](https://cloud.google.com/speech-to-text/docs/async-recognize) + +| Region Tag | Description | +|------------|-------------| +| `speech_transcribe_async` | Start a long running operation to transcribe a local file. Async: wait for results. | +| `speech_transcribe_async_gcs` | Start a long running operation to transcribe a file in Cloud Storage. | + +## Configuring recognition requests + +### Transcribing audio with multiple channels [📚](https://cloud.google.com/speech-to-text/docs/multi-channel) + +| Region Tag | Description | +|------------|-------------| +| `speech_transcribe_multichannel` | Specify channels to transcribe and print result per channel (from local file) | +| `speech_transcribe_multichannel_gcs` | Specify channels to transcribe and print result per channel (from GCS) | + +### Selecting a transcription model [📚](https://cloud.google.com/speech-to-text/docs/transcription-model) + +| Region Tag | Description | +|------------|-------------| +| `speech_transcribe_model_selection` | Specify a model to use for transcribing provided audio (from local file) | +| `speech_transcribe_model_selection_gcs` | Specify a model to use for transcribing provided audio (from GCS) | + +### Using enhanced models [📚](https://cloud.google.com/speech-to-text/docs/enhanced-models) + +| Region Tag | Description | +|------------|-------------| +| `speech_transcribe_enhanced_model` | Specify an enhanced model, e.g. phone_call (available if opted-into data logging) | + +### Getting word timestamps [📚](https://cloud.google.com/speech-to-text/docs/async-time-offsets) + +| Region Tag | Description | +|------------|-------------| +| `speech_transcribe_async_word_time_offsets_gcs` | Output the start and end time of each word that was spoken. | + +## Resources + +Example files used by code samples and tests. + +All of these files are publicly available in the cloud-samples-data Cloud Storage bucket: + + - `gs://cloud-samples-data/speech/[filename]` + +> All files are formatted PCM signed 16-bit little-endian + +### Tips: + + - Passing `sample_rate_hertz` and `encoding` is optional for `WAV` and `FLAC` files + - Passing multi-channel audio files without setting `audio_channel_count` returns an error + +| Audio file | Sample Rate | Channels | Speakers | Language(s) | Transcript (excerpt) | +|--------------------------|-------------|----------|----------|------------------|----------------------| +| [brooklyn_bridge.raw][] | 16000 Hz | 1 | 1 | English | _"How old is the Brooklyn Bridge?"_ | +| [brooklyn_bridge.flac][] | 44100 Hz | 1 | 1 | English | _"How old is the Brooklyn Bridge?"_ | +| [brooklyn_bridge.wav][] | 16000 Hz | 2 * | 1 | English | _"How old is the Brooklyn Bridge?"_ | +| [hello.raw][] | 16000 Hz | 1 | 1 | English | _"Hello"_ | +| [hello.wav][] | 16000 Hz | 1 | 1 | English | _"Hello"_ | +| [multi.wav][] | 44100 Hz | 2 | 2 | English, Spanish | _"How are you doing?" "Estoy bien, y tu?"_ | +| [multi.flac][] | 44100 Hz | 1 | 2 | English, Spanish | _"How are you doing?" "Estoy bien, y tu?"_ | +| [commercial_mono.wav][] | 8000 Hz | 1 | 2 | English | _"I'd like to buy a Chromecast"_ | + +> \* _brooklyn_bridge.wav is formatted with 2 channels but only contains one channel of data_ + +[brooklyn_bridge.raw]: https://storage.googleapis.com/cloud-samples-data/speech/brooklyn_bridge.raw +[brooklyn_bridge.flac]: https://storage.googleapis.com/cloud-samples-data/speech/brooklyn_bridge.flac +[brooklyn_bridge.wav]: https://storage.googleapis.com/cloud-samples-data/speech/brooklyn_bridge.wav +[hello.raw]: https://storage.googleapis.com/cloud-samples-data/speech/hello.raw +[hello.wav]: https://storage.googleapis.com/cloud-samples-data/speech/hello.wav +[multi.wav]: https://storage.googleapis.com/cloud-samples-data/speech/multi.wav +[multi.flac]: https://storage.googleapis.com/cloud-samples-data/speech/multi.flac +[commercial_mono.wav]: https://storage.googleapis.com/cloud-samples-data/speech/commercial_mono.wav diff --git a/third_party/googleapis/google/cloud/speech/v1p1beta1/samples/README.md b/third_party/googleapis/google/cloud/speech/v1p1beta1/samples/README.md new file mode 100644 index 000000000..e550e816c --- /dev/null +++ b/third_party/googleapis/google/cloud/speech/v1p1beta1/samples/README.md @@ -0,0 +1,62 @@ +# Google Cloud Speech v1p1beta1 – Library Samples + +Code Sample Configurations for Cloud Client Libraries for Cloud Speech + +> These code samples are published @ [cloud.google.com/speech/docs](https://cloud.google.com/speech-to-text/docs/) + +## Configuring recognition requests + +### 🔬 Beta – Enabling word-level confidence [📚](https://cloud.google.com/speech-to-text/docs/word-confidence) + +| Region Tag | Description | +|------------|-------------| +| `speech_transcribe_word_level_confidence_beta` | Enable option for getting confidence per word and print confidence for each word | + +### 🔬 Beta – Separating different speakers [📚](https://cloud.google.com/speech-to-text/docs/multiple-voices) + +| Region Tag | Description | +|------------|-------------| +| `speech_transcribe_diarization_beta` | Enable option for diarization and print transcript with "who said what" | + +### 🔬 Beta – Detecting language spoken automatically [📚](https://cloud.google.com/speech-to-text/docs/multiple-languages) + +| Region Tag | Description | +|------------|-------------| +| `speech_transcribe_multilanguage_beta` | Provide list of alternative languages along with audio to be transcribed. | + +### 🔬 Beta – Adding recognition metadata [📚](https://cloud.google.com/speech-to-text/docs/recognition-metadata) + +| Region Tag | Description | +|------------|-------------| +| `speech_transcribe_recognition_metadata_beta` | Provide metadata about the audio to transcribe for improved results. | + +### 🔬 Beta – Getting punctuation [📚](https://cloud.google.com/speech-to-text/docs/automatic-punctuation) + +| Region Tag | Description | +|------------|-------------| +| `speech_transcribe_auto_punctuation_beta` | Enable option for transcription results with punctuation. | + +## Resources + +Example files used by code samples and tests. + +All of these files are publicly available in the cloud-samples-data Cloud Storage bucket: + + - `gs://cloud-samples-data/speech/[filename]` + +> All files are formatted PCM signed 16-bit little-endian + +### Tips: + + - Passing `sample_rate_hertz` and `encoding` is optional for `WAV` and `FLAC` files + - Passing multi-channel audio files without setting `audio_channel_count` returns an error + +| Audio file | Sample Rate | Channels | Speakers | Language(s) | Transcript (excerpt) | +|--------------------------|-------------|----------|----------|------------------|----------------------| +| [brooklyn_bridge.flac][] | 44100 Hz | 1 | 1 | English | _"How old is the Brooklyn Bridge?"_ | +| [multi.flac][] | 44100 Hz | 1 | 2 | English, Spanish | _"How are you doing?" "Estoy bien, y tu?"_ | +| [commercial_mono.wav][] | 8000 Hz | 1 | 2 | English | _"I'd like to buy a Chromecast"_ | + +[brooklyn_bridge.flac]: https://storage.googleapis.com/cloud-samples-data/speech/brooklyn_bridge.flac +[multi.flac]: https://storage.googleapis.com/cloud-samples-data/speech/multi.flac +[commercial_mono.wav]: https://storage.googleapis.com/cloud-samples-data/speech/commercial_mono.wav diff --git a/third_party/googleapis/google/cloud/sql/v1/cloud_sql_available_database_versions.proto b/third_party/googleapis/google/cloud/sql/v1/cloud_sql_available_database_versions.proto new file mode 100644 index 000000000..aeae9febc --- /dev/null +++ b/third_party/googleapis/google/cloud/sql/v1/cloud_sql_available_database_versions.proto @@ -0,0 +1,32 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF 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.sql.v1; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; + +option go_package = "cloud.google.com/go/sql/apiv1/sqlpb;sqlpb"; +option java_multiple_files = true; +option java_outer_classname = "CloudSqlAvailableDatabaseVersionsProto"; +option java_package = "com.google.cloud.sql.v1"; + +// Service that exposes Cloud SQL database versions information. This +// service is only used internally. +service SqlAvailableDatabaseVersionsService { + option (google.api.default_host) = "sqladmin.googleapis.com"; +} diff --git a/third_party/googleapis/google/cloud/sql/v1/cloud_sql_events.proto b/third_party/googleapis/google/cloud/sql/v1/cloud_sql_events.proto new file mode 100644 index 000000000..6695f2738 --- /dev/null +++ b/third_party/googleapis/google/cloud/sql/v1/cloud_sql_events.proto @@ -0,0 +1,32 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF 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.sql.v1; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; + +option go_package = "cloud.google.com/go/sql/apiv1/sqlpb;sqlpb"; +option java_multiple_files = true; +option java_outer_classname = "CloudSqlEventsProto"; +option java_package = "com.google.cloud.sql.v1"; + +// Service that exposes Cloud SQL event information. This +// service is only used internally. +service SqlEventsService { + option (google.api.default_host) = "sqladmin.googleapis.com"; +} diff --git a/third_party/googleapis/google/cloud/sql/v1/cloud_sql_iam_policies.proto b/third_party/googleapis/google/cloud/sql/v1/cloud_sql_iam_policies.proto new file mode 100644 index 000000000..dd2e434f1 --- /dev/null +++ b/third_party/googleapis/google/cloud/sql/v1/cloud_sql_iam_policies.proto @@ -0,0 +1,32 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF 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.sql.v1; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; + +option go_package = "cloud.google.com/go/sql/apiv1/sqlpb;sqlpb"; +option java_multiple_files = true; +option java_outer_classname = "CloudSqlIamPoliciesProto"; +option java_package = "com.google.cloud.sql.v1"; + +// LINT: LEGACY_NAMES + +// Service for providing IAM Meta APIs for Cloud SQL. +service SqlIamPoliciesService { + option (google.api.default_host) = "sqladmin.googleapis.com"; +} diff --git a/third_party/googleapis/google/cloud/sql/v1/cloud_sql_regions.proto b/third_party/googleapis/google/cloud/sql/v1/cloud_sql_regions.proto new file mode 100644 index 000000000..9e89ab6e5 --- /dev/null +++ b/third_party/googleapis/google/cloud/sql/v1/cloud_sql_regions.proto @@ -0,0 +1,32 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF 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.sql.v1; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; + +option go_package = "cloud.google.com/go/sql/apiv1/sqlpb;sqlpb"; +option java_multiple_files = true; +option java_outer_classname = "CloudSqlRegionsServiceProto"; +option java_package = "com.google.cloud.sql.v1"; + +// Service that exposes Cloud SQL region information. This service is only used +// internally and does not follow the same patterns as the other v1 RPCs. +service SqlRegionsService { + option (google.api.default_host) = "sqladmin.googleapis.com"; +} diff --git a/third_party/googleapis/google/cloud/sql/v1beta4/cloud_sql_iam_policies.proto b/third_party/googleapis/google/cloud/sql/v1beta4/cloud_sql_iam_policies.proto new file mode 100644 index 000000000..44a2b9206 --- /dev/null +++ b/third_party/googleapis/google/cloud/sql/v1beta4/cloud_sql_iam_policies.proto @@ -0,0 +1,30 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF 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.sql.v1beta4; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; + +option go_package = "cloud.google.com/go/sql/apiv1beta4/sqlpb;sqlpb"; +option java_multiple_files = true; +option java_outer_classname = "CloudSqlIamPoliciesProto"; +option java_package = "com.google.cloud.sql.v1beta4"; + +// Service for providing IAM Meta APIs for Cloud SQL. +service SqlIamPoliciesService { + option (google.api.default_host) = "sqladmin.googleapis.com"; +} diff --git a/third_party/googleapis/google/cloud/storageinsights/BUILD.bazel b/third_party/googleapis/google/cloud/storageinsights/BUILD.bazel new file mode 100644 index 000000000..9f1202c74 --- /dev/null +++ b/third_party/googleapis/google/cloud/storageinsights/BUILD.bazel @@ -0,0 +1,36 @@ +# This build file includes a target for the Ruby wrapper library for +# google-cloud-storage_insights. + +# 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 storageinsights. +# 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 = "storageinsights_ruby_wrapper", + srcs = ["//google/cloud/storageinsights/v1:storageinsights_proto_with_info"], + extra_protoc_parameters = [ + "ruby-cloud-gem-name=google-cloud-storage_insights", + "ruby-cloud-wrapper-of=v1:0.4", + ], + service_yaml = "//google/cloud/storageinsights/v1:storageinsights_v1.yaml", + transport = "grpc+rest", +) + +# Open Source package. +ruby_gapic_assembly_pkg( + name = "google-cloud-storageinsights-ruby", + deps = [ + ":storageinsights_ruby_wrapper", + ], +) diff --git a/third_party/googleapis/google/cloud/support/BUILD.bazel b/third_party/googleapis/google/cloud/support/BUILD.bazel new file mode 100644 index 000000000..97284bab3 --- /dev/null +++ b/third_party/googleapis/google/cloud/support/BUILD.bazel @@ -0,0 +1,36 @@ +# This build file includes a target for the Ruby wrapper library for +# google-cloud-support. + +# 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 support. +# Ruby wrapper clients are versionless, but are generated from source protos +# for a particular service version, v2 in this case. +ruby_cloud_gapic_library( + name = "support_ruby_wrapper", + srcs = ["//google/cloud/support/v2:support_proto_with_info"], + extra_protoc_parameters = [ + "ruby-cloud-gem-name=google-cloud-support", + "ruby-cloud-wrapper-of=v2:0.3", + ], + service_yaml = "//google/cloud/support/v2:cloudsupport_v2.yaml", +) + +# Open Source package. +ruby_gapic_assembly_pkg( + name = "google-cloud-support-ruby", + deps = [ + ":support_ruby_wrapper", + ], +) + diff --git a/third_party/googleapis/google/cloud/support/v2/BUILD.bazel b/third_party/googleapis/google/cloud/support/v2/BUILD.bazel new file mode 100644 index 000000000..0b4acd258 --- /dev/null +++ b/third_party/googleapis/google/cloud/support/v2/BUILD.bazel @@ -0,0 +1,382 @@ +# 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 = "support_proto", + srcs = [ + "actor.proto", + "attachment.proto", + "attachment_service.proto", + "case.proto", + "case_service.proto", + "comment.proto", + "comment_service.proto", + "escalation.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//:field_mask_proto", + "@com_google_protobuf//:timestamp_proto", + ], +) + +proto_library_with_info( + name = "support_proto_with_info", + deps = [ + ":support_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 = "support_java_proto", + deps = [":support_proto"], +) + +java_grpc_library( + name = "support_java_grpc", + srcs = [":support_proto"], + deps = [":support_java_proto"], +) + +java_gapic_library( + name = "support_java_gapic", + srcs = [":support_proto_with_info"], + gapic_yaml = None, + grpc_service_config = "support_v2_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "cloudsupport_v2.yaml", + test_deps = [ + ":support_java_grpc", + ], + transport = "grpc+rest", + deps = [ + ":support_java_proto", + "//google/api:api_java_proto", + ], +) + +java_gapic_test( + name = "support_java_gapic_test_suite", + test_classes = [ + "com.google.cloud.support.v2.CaseAttachmentServiceClientHttpJsonTest", + "com.google.cloud.support.v2.CaseAttachmentServiceClientTest", + "com.google.cloud.support.v2.CaseServiceClientHttpJsonTest", + "com.google.cloud.support.v2.CaseServiceClientTest", + "com.google.cloud.support.v2.CommentServiceClientHttpJsonTest", + "com.google.cloud.support.v2.CommentServiceClientTest", + ], + runtime_deps = [":support_java_gapic_test"], +) + +# Open Source Packages +java_gapic_assembly_gradle_pkg( + name = "google-cloud-support-v2-java", + include_samples = True, + transport = "grpc+rest", + deps = [ + ":support_java_gapic", + ":support_java_grpc", + ":support_java_proto", + ":support_proto", + ], +) + +############################################################################## +# Go +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "go_gapic_assembly_pkg", + "go_gapic_library", + "go_proto_library", +) + +go_proto_library( + name = "support_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "cloud.google.com/go/support/apiv2/supportpb", + protos = [":support_proto"], + deps = [ + "//google/api:annotations_go_proto", + "//google/longrunning:longrunning_go_proto", + ], +) + +go_gapic_library( + name = "support_go_gapic", + srcs = [":support_proto_with_info"], + grpc_service_config = "support_v2_grpc_service_config.json", + importpath = "cloud.google.com/go/support/apiv2;support", + metadata = True, + release_level = "ga", + rest_numeric_enums = True, + service_yaml = "cloudsupport_v2.yaml", + transport = "grpc+rest", + deps = [ + ":support_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-support-v2-go", + deps = [ + ":support_go_gapic", + ":support_go_gapic_srcjar-metadata.srcjar", + ":support_go_gapic_srcjar-snippets.srcjar", + ":support_go_gapic_srcjar-test.srcjar", + ":support_go_proto", + ], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "py_gapic_assembly_pkg", + "py_gapic_library", + "py_test", +) + +py_gapic_library( + name = "support_py_gapic", + srcs = [":support_proto"], + grpc_service_config = "support_v2_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "cloudsupport_v2.yaml", + transport = "grpc+rest", + deps = [ + ], +) + +py_test( + name = "support_py_gapic_test", + srcs = [ + "support_py_gapic_pytest.py", + "support_py_gapic_test.py", + ], + legacy_create_init = False, + deps = [":support_py_gapic"], +) + +# Open Source Packages +py_gapic_assembly_pkg( + name = "support-v2-py", + deps = [ + ":support_py_gapic", + ], +) + +############################################################################## +# PHP +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "php_gapic_assembly_pkg", + "php_gapic_library", + "php_proto_library", +) + +php_proto_library( + name = "support_php_proto", + deps = [":support_proto"], +) + +php_gapic_library( + name = "support_php_gapic", + srcs = [":support_proto_with_info"], + grpc_service_config = "support_v2_grpc_service_config.json", + migration_mode = "NEW_SURFACE_ONLY", + rest_numeric_enums = True, + service_yaml = "cloudsupport_v2.yaml", + transport = "grpc+rest", + deps = [":support_php_proto"], +) + +# Open Source Packages +php_gapic_assembly_pkg( + name = "google-cloud-support-v2-php", + deps = [ + ":support_php_gapic", + ":support_php_proto", + ], +) + +############################################################################## +# Node.js +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "nodejs_gapic_assembly_pkg", + "nodejs_gapic_library", +) + +nodejs_gapic_library( + name = "support_nodejs_gapic", + package_name = "@google-cloud/support", + src = ":support_proto_with_info", + extra_protoc_parameters = ["metadata"], + grpc_service_config = "support_v2_grpc_service_config.json", + package = "google.cloud.support.v2", + rest_numeric_enums = True, + service_yaml = "cloudsupport_v2.yaml", + transport = "grpc+rest", + deps = [], +) + +nodejs_gapic_assembly_pkg( + name = "support-v2-nodejs", + deps = [ + ":support_nodejs_gapic", + ":support_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 = "support_ruby_proto", + deps = [":support_proto"], +) + +ruby_grpc_library( + name = "support_ruby_grpc", + srcs = [":support_proto"], + deps = [":support_ruby_proto"], +) + +ruby_cloud_gapic_library( + name = "support_ruby_gapic", + srcs = [":support_proto_with_info"], + extra_protoc_parameters = ["ruby-cloud-gem-name=google-cloud-support-v2"], + grpc_service_config = "support_v2_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "cloudsupport_v2.yaml", + deps = [ + ":support_ruby_grpc", + ":support_ruby_proto", + ], +) + +# Open Source Packages +ruby_gapic_assembly_pkg( + name = "google-cloud-support-v2-ruby", + deps = [ + ":support_ruby_gapic", + ":support_ruby_grpc", + ":support_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 = "support_csharp_proto", + deps = [":support_proto"], +) + +csharp_grpc_library( + name = "support_csharp_grpc", + srcs = [":support_proto"], + deps = [":support_csharp_proto"], +) + +csharp_gapic_library( + name = "support_csharp_gapic", + srcs = [":support_proto_with_info"], + common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json", + grpc_service_config = "support_v2_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "cloudsupport_v2.yaml", + deps = [ + ":support_csharp_grpc", + ":support_csharp_proto", + ], +) + +# Open Source Packages +csharp_gapic_assembly_pkg( + name = "google-cloud-support-v2-csharp", + deps = [ + ":support_csharp_gapic", + ":support_csharp_grpc", + ":support_csharp_proto", + ], +) + +############################################################################## +# C++ +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "cc_grpc_library", + "cc_proto_library", +) + +cc_proto_library( + name = "support_cc_proto", + deps = [":support_proto"], +) + +cc_grpc_library( + name = "support_cc_grpc", + srcs = [":support_proto"], + grpc_only = True, + deps = [":support_cc_proto"], +) diff --git a/third_party/googleapis/google/cloud/support/v2/actor.proto b/third_party/googleapis/google/cloud/support/v2/actor.proto new file mode 100644 index 000000000..a15127835 --- /dev/null +++ b/third_party/googleapis/google/cloud/support/v2/actor.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.cloud.support.v2; + +import "google/api/field_behavior.proto"; + +option csharp_namespace = "Google.Cloud.Support.V2"; +option go_package = "cloud.google.com/go/support/apiv2/supportpb;supportpb"; +option java_multiple_files = true; +option java_outer_classname = "ActorProto"; +option java_package = "com.google.cloud.support.v2"; +option php_namespace = "Google\\Cloud\\Support\\V2"; +option ruby_package = "Google::Cloud::Support::V2"; + +// An object containing information about the effective user and +// authenticated principal responsible for an action. +message Actor { + // The name to display for the actor. If not provided, it is inferred from + // credentials supplied during case creation. When an email is provided, a + // display name must also be provided. This will be obfuscated if the user + // is a Google Support agent. + string display_name = 1; + + // The email address of the actor. If not provided, it is inferred from + // credentials supplied during case creation. If the authenticated principal + // does not have an email address, one must be provided. When a name is + // provided, an email must also be provided. This will be obfuscated if the + // user is a Google Support agent. + string email = 2; + + // Output only. Whether the actor is a Google support actor. + bool google_support = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/cloud/support/v2/attachment.proto b/third_party/googleapis/google/cloud/support/v2/attachment.proto new file mode 100644 index 000000000..f5894dc4b --- /dev/null +++ b/third_party/googleapis/google/cloud/support/v2/attachment.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.cloud.support.v2; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/support/v2/actor.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.Support.V2"; +option go_package = "cloud.google.com/go/support/apiv2/supportpb;supportpb"; +option java_multiple_files = true; +option java_outer_classname = "AttachmentProto"; +option java_package = "com.google.cloud.support.v2"; +option php_namespace = "Google\\Cloud\\Support\\V2"; +option ruby_package = "Google::Cloud::Support::V2"; + +// Represents a file attached to a support case. +message Attachment { + option (google.api.resource) = { + type: "cloudsupport.googleapis.com/Attachment" + pattern: "organizations/{organization}/cases/{case}/attachments/{attachment_id}" + pattern: "projects/{project}/cases/{case}/attachments/{attachment_id}" + }; + + // Output only. The resource name of the attachment. + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The time at which the attachment was created. + google.protobuf.Timestamp create_time = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The user who uploaded the attachment. Note, the name and email + // will be obfuscated if the attachment was uploaded by Google support. + Actor creator = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The filename of the attachment (e.g. `"graph.jpg"`). + string filename = 4; + + // Output only. The MIME type of the attachment (e.g. text/plain). + string mime_type = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The size of the attachment in bytes. + int64 size_bytes = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/cloud/support/v2/attachment_service.proto b/third_party/googleapis/google/cloud/support/v2/attachment_service.proto new file mode 100644 index 000000000..fd62619da --- /dev/null +++ b/third_party/googleapis/google/cloud/support/v2/attachment_service.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.cloud.support.v2; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/support/v2/attachment.proto"; + +option csharp_namespace = "Google.Cloud.Support.V2"; +option go_package = "cloud.google.com/go/support/apiv2/supportpb;supportpb"; +option java_multiple_files = true; +option java_outer_classname = "AttachmentServiceProto"; +option java_package = "com.google.cloud.support.v2"; +option php_namespace = "Google\\Cloud\\Support\\V2"; +option ruby_package = "Google::Cloud::Support::V2"; + +// A service to manage file attachment for Google Cloud support cases. +service CaseAttachmentService { + option (google.api.default_host) = "cloudsupport.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform"; + + // Retrieve all attachments associated with a support case. + rpc ListAttachments(ListAttachmentsRequest) + returns (ListAttachmentsResponse) { + option (google.api.http) = { + get: "/v2/{parent=projects/*/cases/*}/attachments" + additional_bindings { + get: "/v2/{parent=organizations/*/cases/*}/attachments" + } + }; + option (google.api.method_signature) = "parent"; + } +} + +// The request message for the ListAttachments endpoint. +message ListAttachmentsRequest { + // Required. The resource name of Case object for which attachments should be + // listed. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "cloudsupport.googleapis.com/Case" + } + ]; + + // The maximum number of attachments fetched with each request. If not + // provided, the default is 10. The maximum page size that will be returned is + // 100. + int32 page_size = 2; + + // A token identifying the page of results to return. If unspecified, the + // first page is retrieved. + string page_token = 3; +} + +// The response message for the ListAttachments endpoint. +message ListAttachmentsResponse { + // The list of attachments associated with the given case. + repeated Attachment attachments = 1; + + // A token to retrieve the next page of results. This should be set in the + // `page_token` field of subsequent `cases.attachments.list` requests. If + // unspecified, there are no more results to retrieve. + string next_page_token = 2; +} diff --git a/third_party/googleapis/google/cloud/support/v2/case.proto b/third_party/googleapis/google/cloud/support/v2/case.proto new file mode 100644 index 000000000..4d608a6e4 --- /dev/null +++ b/third_party/googleapis/google/cloud/support/v2/case.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.cloud.support.v2; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/support/v2/actor.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.Support.V2"; +option go_package = "cloud.google.com/go/support/apiv2/supportpb;supportpb"; +option java_multiple_files = true; +option java_outer_classname = "CaseProto"; +option java_package = "com.google.cloud.support.v2"; +option php_namespace = "Google\\Cloud\\Support\\V2"; +option ruby_package = "Google::Cloud::Support::V2"; + +// A support case. +message Case { + option (google.api.resource) = { + type: "cloudsupport.googleapis.com/Case" + pattern: "organizations/{organization}/cases/{case}" + pattern: "projects/{project}/cases/{case}" + }; + + // The status of a support case. + enum State { + // Case is in an unknown state. + STATE_UNSPECIFIED = 0; + + // The case has been created but no one is assigned to work on it yet. + NEW = 1; + + // The case is currently being handled by Google support. + IN_PROGRESS_GOOGLE_SUPPORT = 2; + + // Google is waiting for a response. + ACTION_REQUIRED = 3; + + // A solution has been offered for the case, but it isn't yet closed. + SOLUTION_PROVIDED = 4; + + // The case has been resolved. + CLOSED = 5; + } + + // The case Priority. P0 is most urgent and P4 the least. + enum Priority { + // Priority is undefined or has not been set yet. + PRIORITY_UNSPECIFIED = 0; + + // Extreme impact on a production service. Service is hard down. + P0 = 1; + + // Critical impact on a production service. Service is currently unusable. + P1 = 2; + + // Severe impact on a production service. Service is usable but greatly + // impaired. + P2 = 3; + + // Medium impact on a production service. Service is available, but + // moderately impaired. + P3 = 4; + + // General questions or minor issues. Production service is fully + // available. + P4 = 5; + } + + // The resource name for the case. + string name = 1; + + // The short summary of the issue reported in this case. + string display_name = 2; + + // A broad description of the issue. + string description = 3; + + // The issue classification applicable to this case. + CaseClassification classification = 4; + + // The timezone of the user who created the support case. + // It should be in a format IANA recognizes: https://www.iana.org/time-zones. + // There is no additional validation done by the API. + string time_zone = 8; + + // The email addresses to receive updates on this case. + repeated string subscriber_email_addresses = 9; + + // Output only. The current status of the support case. + State state = 12 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The time this case was created. + google.protobuf.Timestamp create_time = 13 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The time this case was last updated. + google.protobuf.Timestamp update_time = 14 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The user who created the case. + // + // Note: The name and email will be obfuscated if the case was created by + // Google Support. + Actor creator = 15; + + // A user-supplied email address to send case update notifications for. This + // should only be used in BYOID flows, where we cannot infer the user's email + // address directly from their EUCs. + string contact_email = 35; + + // Whether the case is currently escalated. + bool escalated = 17; + + // Whether this case was created for internal API testing and should not be + // acted on by the support team. + bool test_case = 19; + + // The language the user has requested to receive support in. This should be a + // BCP 47 language code (e.g., `"en"`, `"zh-CN"`, `"zh-TW"`, `"ja"`, `"ko"`). + // If no language or an unsupported language is specified, this field defaults + // to English (en). + // + // Language selection during case creation may affect your available support + // options. For a list of supported languages and their support working hours, + // see: https://cloud.google.com/support/docs/language-working-hours + string language_code = 23; + + // The priority of this case. + Priority priority = 32; +} + +// A classification object with a product type and value. +message CaseClassification { + // The unique ID for a classification. Must be specified for case creation. + // + // To retrieve valid classification IDs for case creation, use + // `caseClassifications.search`. + string id = 3; + + // The display name of the classification. + string display_name = 4; +} diff --git a/third_party/googleapis/google/cloud/support/v2/case_service.proto b/third_party/googleapis/google/cloud/support/v2/case_service.proto new file mode 100644 index 000000000..8a9a75664 --- /dev/null +++ b/third_party/googleapis/google/cloud/support/v2/case_service.proto @@ -0,0 +1,346 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF 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.support.v2; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/support/v2/case.proto"; +import "google/cloud/support/v2/escalation.proto"; +import "google/protobuf/field_mask.proto"; + +option csharp_namespace = "Google.Cloud.Support.V2"; +option go_package = "cloud.google.com/go/support/apiv2/supportpb;supportpb"; +option java_multiple_files = true; +option java_outer_classname = "CaseServiceProto"; +option java_package = "com.google.cloud.support.v2"; +option php_namespace = "Google\\Cloud\\Support\\V2"; +option ruby_package = "Google::Cloud::Support::V2"; + +// A service to manage Google Cloud support cases. +service CaseService { + option (google.api.default_host) = "cloudsupport.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform"; + + // Retrieve the specified case. + rpc GetCase(GetCaseRequest) returns (Case) { + option (google.api.http) = { + get: "/v2/{name=projects/*/cases/*}" + additional_bindings { get: "/v2/{name=organizations/*/cases/*}" } + }; + option (google.api.method_signature) = "name"; + } + + // Retrieve all cases under the specified parent. + // + // Note: Listing cases under an Organization returns only the cases directly + // parented by that organization. To retrieve all cases under an organization, + // including cases parented by projects under that organization, use + // `cases.search`. + rpc ListCases(ListCasesRequest) returns (ListCasesResponse) { + option (google.api.http) = { + get: "/v2/{parent=projects/*}/cases" + additional_bindings { get: "/v2/{parent=organizations/*}/cases" } + }; + option (google.api.method_signature) = "parent"; + } + + // Search cases using the specified query. + rpc SearchCases(SearchCasesRequest) returns (SearchCasesResponse) { + option (google.api.http) = { + get: "/v2/{parent=projects/*}/cases:search" + additional_bindings { get: "/v2/{parent=organizations/*}/cases:search" } + }; + } + + // Create a new case and associate it with the given Google Cloud Resource. + // The case object must have the following fields set: `display_name`, + // `description`, `classification`, and `priority`. + rpc CreateCase(CreateCaseRequest) returns (Case) { + option (google.api.http) = { + post: "/v2/{parent=projects/*}/cases" + body: "case" + additional_bindings { + post: "/v2/{parent=organizations/*}/cases" + body: "case" + } + }; + option (google.api.method_signature) = "parent,case"; + } + + // Update the specified case. Only a subset of fields can be updated. + rpc UpdateCase(UpdateCaseRequest) returns (Case) { + option (google.api.http) = { + patch: "/v2/{case.name=projects/*/cases/*}" + body: "case" + additional_bindings { + patch: "/v2/{case.name=organizations/*/cases/*}" + body: "case" + } + }; + option (google.api.method_signature) = "case,update_mask"; + } + + // Escalate a case. Escalating a case will initiate the Google Cloud Support + // escalation management process. + // + // This operation is only available to certain Customer Care tiers. Go to + // https://cloud.google.com/support and look for 'Technical support + // escalations' in the feature list to find out which tiers are able to + // perform escalations. + rpc EscalateCase(EscalateCaseRequest) returns (Case) { + option (google.api.http) = { + post: "/v2/{name=projects/*/cases/*}:escalate" + body: "*" + additional_bindings { + post: "/v2/{name=organizations/*/cases/*}:escalate" + body: "*" + } + }; + } + + // Close the specified case. + rpc CloseCase(CloseCaseRequest) returns (Case) { + option (google.api.http) = { + post: "/v2/{name=projects/*/cases/*}:close" + body: "*" + additional_bindings { + post: "/v2/{name=organizations/*/cases/*}:close" + body: "*" + } + }; + } + + // Retrieve valid classifications to be used when creating a support case. + // The classications are hierarchical, with each classification containing + // all levels of the hierarchy, separated by " > ". For example "Technical + // Issue > Compute > Compute Engine". + rpc SearchCaseClassifications(SearchCaseClassificationsRequest) + returns (SearchCaseClassificationsResponse) { + option (google.api.http) = { + get: "/v2/caseClassifications:search" + }; + } +} + +// The request message for the GetCase endpoint. +message GetCaseRequest { + // Required. The fully qualified name of a case to be retrieved. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "cloudsupport.googleapis.com/Case" + } + ]; +} + +// The request message for the CreateCase endpoint. +message CreateCaseRequest { + // Required. The name of the Google Cloud Resource under which the case should + // be created. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "cloudsupport.googleapis.com/Case" + } + ]; + + // Required. The case to be created. + Case case = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// The request message for the ListCases endpoint. +message ListCasesRequest { + // Required. The fully qualified name of parent resource to list cases under. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "cloudsupport.googleapis.com/Case" + } + ]; + + // An expression written in filter language. If non-empty, the query returns + // the cases that match the filter. Else, the query doesn't filter the cases. + // + // Filter expressions use the following fields with the operators equals (`=`) + // and `AND`: + // + // - `state`: The accepted values are `OPEN` or `CLOSED`. + // - `priority`: The accepted values are `P0`, `P1`, `P2`, `P3`, or `P4`. You + // can specify multiple values for priority using the `OR` operator. For + // example, `priority=P1 OR priority=P2`. + // - `creator.email`: The email address of the case creator. + // + // Examples: + // + // - `state=CLOSED` + // - `state=OPEN AND creator.email="tester@example.com"` + // - `state=OPEN AND (priority=P0 OR priority=P1)` + string filter = 2; + + // The maximum number of cases fetched with each request. Defaults to 10. + int32 page_size = 4; + + // A token identifying the page of results to return. If unspecified, the + // first page is retrieved. + string page_token = 5; +} + +// The response message for the ListCases endpoint. +message ListCasesResponse { + // The list of cases associated with the Google Cloud Resource, after any + // filters have been applied. + repeated Case cases = 1; + + // A token to retrieve the next page of results. This should be set in the + // `page_token` field of the subsequent `ListCasesRequest` message that is + // issued. If unspecified, there are no more results to retrieve. + string next_page_token = 2; +} + +// The request message for the SearchCases endpoint. +message SearchCasesRequest { + // The fully qualified name of parent resource to search cases under. + string parent = 4; + + // An expression written in filter language. + // + // A query uses the following fields with the operators equals (`=`) and + // `AND`: + // + // - `organization`: An organization name in the form + // `organizations/`. + // - `project`: A project name in the form `projects/`. + // - `state`: The accepted values are `OPEN` or `CLOSED`. + // - `priority`: The accepted values are `P0`, `P1`, `P2`, `P3`, or `P4`. You + // can specify multiple values for priority using the `OR` operator. For + // example, `priority=P1 OR priority=P2`. + // - `creator.email`: The email address of the case creator. + // - `billingAccount`: A billing account in the form + // `billingAccounts/` + // + // You must specify either `organization` or `project`. + // + // To search across `displayName`, `description`, and comments, use a global + // restriction with no keyword or operator. For example, `"my search"`. + // + // To search only cases updated after a certain date, use `update_time` + // restricted with that particular date, time, and timezone in ISO datetime + // format. For example, `update_time>"2020-01-01T00:00:00-05:00"`. + // `update_time` only supports the greater than operator (`>`). + // + // Examples: + // + // - `organization="organizations/123456789"` + // - `project="projects/my-project-id"` + // - `project="projects/123456789"` + // - `billing_account="billingAccounts/123456-A0B0C0-CUZ789"` + // - `organization="organizations/123456789" AND state=CLOSED` + // - `project="projects/my-project-id" AND creator.email="tester@example.com"` + // - `project="projects/my-project-id" AND (priority=P0 OR priority=P1)` + string query = 1; + + // The maximum number of cases fetched with each request. The default page + // size is 10. + int32 page_size = 2; + + // A token identifying the page of results to return. If unspecified, the + // first page is retrieved. + string page_token = 3; +} + +// The response message for the SearchCases endpoint. +message SearchCasesResponse { + // The list of cases associated with the Google Cloud Resource, after any + // filters have been applied. + repeated Case cases = 1; + + // A token to retrieve the next page of results. This should be set in the + // `page_token` field of subsequent `SearchCaseRequest` message that is + // issued. If unspecified, there are no more results to retrieve. + string next_page_token = 2; +} + +// The request message for the EscalateCase endpoint. +message EscalateCaseRequest { + // Required. The fully qualified name of the Case resource to be escalated. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "cloudsupport.googleapis.com/Case" + } + ]; + + // The escalation object to be sent with the escalation request. + Escalation escalation = 2; +} + +// The request message for the UpdateCase endpoint +message UpdateCaseRequest { + // Required. The case object to update. + Case case = 1 [(google.api.field_behavior) = REQUIRED]; + + // A list of attributes of the case object that should be updated + // as part of this request. Supported values are `priority`, `display_name`, + // and `subscriber_email_addresses`. If no fields are specified, all supported + // fields are updated. + // + // WARNING: If you do not provide a field mask, then you might accidentally + // clear some fields. For example, if you leave the field mask empty and do + // not provide a value for `subscriber_email_addresses`, then + // `subscriber_email_addresses` is updated to empty. + google.protobuf.FieldMask update_mask = 2; +} + +// The request message for the CloseCase endpoint. +message CloseCaseRequest { + // Required. The fully qualified name of the case resource to be closed. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "cloudsupport.googleapis.com/Case" + } + ]; +} + +// The request message for SearchCaseClassifications endpoint. +message SearchCaseClassificationsRequest { + // An expression written in the Google Cloud filter language. If non-empty, + // then only cases whose fields match the filter are returned. If empty, then + // no messages are filtered out. + string query = 1; + + // The maximum number of cases fetched with each request. + int32 page_size = 2; + + // A token identifying the page of results to return. If unspecified, the + // first page is retrieved. + string page_token = 3; +} + +// The response message for SearchCaseClassifications endpoint. +message SearchCaseClassificationsResponse { + // The classifications retrieved. + repeated CaseClassification case_classifications = 1; + + // A token to retrieve the next page of results. This should be set in the + // `page_token` field of subsequent `SearchCaseClassificationsRequest` message + // that is issued. If unspecified, there are no more results to retrieve. + string next_page_token = 2; +} diff --git a/third_party/googleapis/google/cloud/support/v2/cloudsupport_v2.yaml b/third_party/googleapis/google/cloud/support/v2/cloudsupport_v2.yaml new file mode 100644 index 000000000..4fb6a0a04 --- /dev/null +++ b/third_party/googleapis/google/cloud/support/v2/cloudsupport_v2.yaml @@ -0,0 +1,76 @@ +type: google.api.Service +config_version: 3 +name: cloudsupport.googleapis.com +title: Google Cloud Support API + +apis: +- name: google.cloud.support.v2.CaseAttachmentService +- name: google.cloud.support.v2.CaseService +- name: google.cloud.support.v2.CommentService + +documentation: + summary: |- + Manages Google Cloud technical support cases for Customer Care support + offerings. + +authentication: + rules: + - selector: google.cloud.support.v2.CaseAttachmentService.ListAttachments + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + - selector: 'google.cloud.support.v2.CaseService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + - selector: google.cloud.support.v2.CommentService.CreateComment + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + - selector: google.cloud.support.v2.CommentService.ListComments + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + +publishing: + new_issue_uri: https://issuetracker.google.com/issues/new?component=1051180 + documentation_uri: https://cloud.google.com/support/docs/reference/support-api + api_short_name: cloudsupport + github_label: 'api: cloudsupport' + doc_tag_prefix: cloudsupport + organization: CLOUD + library_settings: + - version: google.cloud.support.v2 + 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 diff --git a/third_party/googleapis/google/cloud/support/v2/comment.proto b/third_party/googleapis/google/cloud/support/v2/comment.proto new file mode 100644 index 000000000..158279e77 --- /dev/null +++ b/third_party/googleapis/google/cloud/support/v2/comment.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.cloud.support.v2; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/support/v2/actor.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.Support.V2"; +option go_package = "cloud.google.com/go/support/apiv2/supportpb;supportpb"; +option java_multiple_files = true; +option java_outer_classname = "CommentProto"; +option java_package = "com.google.cloud.support.v2"; +option php_namespace = "Google\\Cloud\\Support\\V2"; +option ruby_package = "Google::Cloud::Support::V2"; + +// A comment associated with a support case. +message Comment { + option (google.api.resource) = { + type: "cloudsupport.googleapis.com/Comment" + pattern: "organizations/{organization}/cases/{case}/comments/{comment}" + pattern: "projects/{project}/cases/{case}/comments/{comment}" + }; + + // Output only. The resource name for the comment. + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The time when this comment was created. + google.protobuf.Timestamp create_time = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The user or Google Support agent created this comment. + Actor creator = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The full comment body. Maximum of 12800 characters. This can contain rich + // text syntax. + string body = 4; + + // Output only. DEPRECATED. An automatically generated plain text version of + // body with all rich text syntax stripped. + string plain_text_body = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/cloud/support/v2/comment_service.proto b/third_party/googleapis/google/cloud/support/v2/comment_service.proto new file mode 100644 index 000000000..17846cfea --- /dev/null +++ b/third_party/googleapis/google/cloud/support/v2/comment_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.cloud.support.v2; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/support/v2/comment.proto"; + +option csharp_namespace = "Google.Cloud.Support.V2"; +option go_package = "cloud.google.com/go/support/apiv2/supportpb;supportpb"; +option java_multiple_files = true; +option java_outer_classname = "CommentServiceProto"; +option java_package = "com.google.cloud.support.v2"; +option php_namespace = "Google\\Cloud\\Support\\V2"; +option ruby_package = "Google::Cloud::Support::V2"; + +// A service to manage comments on cases. +service CommentService { + option (google.api.default_host) = "cloudsupport.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform"; + + // Retrieve all Comments associated with the Case object. + rpc ListComments(ListCommentsRequest) returns (ListCommentsResponse) { + option (google.api.http) = { + get: "/v2/{parent=projects/*/cases/*}/comments" + additional_bindings { + get: "/v2/{parent=organizations/*/cases/*}/comments" + } + }; + option (google.api.method_signature) = "parent"; + } + + // Add a new comment to the specified Case. + // The comment object must have the following fields set: body. + rpc CreateComment(CreateCommentRequest) returns (Comment) { + option (google.api.http) = { + post: "/v2/{parent=projects/*/cases/*}/comments" + body: "comment" + additional_bindings { + post: "/v2/{parent=organizations/*/cases/*}/comments" + body: "comment" + } + }; + option (google.api.method_signature) = "parent,comment"; + } +} + +// The request message for the ListComments endpoint. +message ListCommentsRequest { + // Required. The resource name of Case object for which comments should be + // listed. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "cloudsupport.googleapis.com/Case" + } + ]; + + // The maximum number of comments fetched with each request. Defaults to 10. + int32 page_size = 4; + + // A token identifying the page of results to return. If unspecified, the + // first page is retrieved. + string page_token = 5; +} + +// The response message for the ListComments endpoint. +message ListCommentsResponse { + // The list of Comments associated with the given Case. + repeated Comment comments = 1; + + // A token to retrieve the next page of results. This should be set in the + // `page_token` field of subsequent `ListCommentsRequest` message that is + // issued. If unspecified, there are no more results to retrieve. + string next_page_token = 2; +} + +// The request message for CreateComment endpoint. +message CreateCommentRequest { + // Required. The resource name of Case to which this comment should be added. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "cloudsupport.googleapis.com/Case" + } + ]; + + // Required. The Comment object to be added to this Case. + Comment comment = 2 [(google.api.field_behavior) = REQUIRED]; +} diff --git a/third_party/googleapis/google/cloud/support/v2/escalation.proto b/third_party/googleapis/google/cloud/support/v2/escalation.proto new file mode 100644 index 000000000..1972df311 --- /dev/null +++ b/third_party/googleapis/google/cloud/support/v2/escalation.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.cloud.support.v2; + +import "google/api/field_behavior.proto"; + +option csharp_namespace = "Google.Cloud.Support.V2"; +option go_package = "cloud.google.com/go/support/apiv2/supportpb;supportpb"; +option java_multiple_files = true; +option java_outer_classname = "EscalationProto"; +option java_package = "com.google.cloud.support.v2"; +option php_namespace = "Google\\Cloud\\Support\\V2"; +option ruby_package = "Google::Cloud::Support::V2"; + +// An escalation of a support case. +message Escalation { + // An enum detailing the possible reasons a case may be escalated. + enum Reason { + // The escalation reason is in an unknown state or has not been specified. + REASON_UNSPECIFIED = 0; + + // The case is taking too long to resolve. + RESOLUTION_TIME = 1; + + // The support agent does not have the expertise required to successfully + // resolve the issue. + TECHNICAL_EXPERTISE = 2; + + // The issue is having a significant business impact. + BUSINESS_IMPACT = 3; + } + + // Required. The reason why the Case is being escalated. + Reason reason = 4 [(google.api.field_behavior) = REQUIRED]; + + // Required. A free text description to accompany the `reason` field above. + // Provides additional context on why the case is being escalated. + string justification = 5 [(google.api.field_behavior) = REQUIRED]; +} diff --git a/third_party/googleapis/google/cloud/support/v2/support_v2_grpc_service_config.json b/third_party/googleapis/google/cloud/support/v2/support_v2_grpc_service_config.json new file mode 100644 index 000000000..cf838a593 --- /dev/null +++ b/third_party/googleapis/google/cloud/support/v2/support_v2_grpc_service_config.json @@ -0,0 +1,65 @@ +{ + "methodConfig": [ + { + "name": [ + { + "service": "google.cloud.support.v2.CaseAttachmentService", + "method": "ListAttachments" + }, + { + "service": "google.cloud.support.v2.CaseService", + "method": "GetCase" + }, + { + "service": "google.cloud.support.v2.CaseService", + "method": "ListCases" + }, + { + "service": "google.cloud.support.v2.CaseService", + "method": "SearchCases" + }, + { + "service": "google.cloud.support.v2.CaseService", + "method": "SearchCaseClassifications" + }, + { + "service": "google.cloud.support.v2.CommentService", + "method": "ListComments" + } + ], + "timeout": "60s", + "retryPolicy": { + "maxAttempts": 5, + "initialBackoff": "1s", + "maxBackoff": "10s", + "backoffMultiplier": 1.3, + "retryableStatusCodes": ["UNAVAILABLE"] + } + }, + { + "name": [ + { + "service": "google.cloud.support.v2.CaseService", + "method": "CloseCase" + }, + { + "service": "google.cloud.support.v2.CaseService", + "method": "CreateCase" + }, + { + "service": "google.cloud.support.v2.CaseService", + "method": "UpdateCase" + }, + { + "service": "google.cloud.support.v2.CaseService", + "method": "EscalateCase" + }, + { + "service": "google.cloud.support.v2.CommentService", + "method": "CreateComment" + } + ], + "timeout": "60s" + } + ] +} diff --git a/third_party/googleapis/google/cloud/telcoautomation/BUILD.bazel b/third_party/googleapis/google/cloud/telcoautomation/BUILD.bazel new file mode 100644 index 000000000..1e679b78c --- /dev/null +++ b/third_party/googleapis/google/cloud/telcoautomation/BUILD.bazel @@ -0,0 +1,36 @@ +# This build file includes a target for the Ruby wrapper library for +# google-cloud-telco_automation. + +# 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 telcoautomation. +# 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 = "telcoautomation_ruby_wrapper", + srcs = ["//google/cloud/telcoautomation/v1:telcoautomation_proto_with_info"], + extra_protoc_parameters = [ + "ruby-cloud-gem-name=google-cloud-telco_automation", + "ruby-cloud-wrapper-of=v1:0.2", + ], + service_yaml = "//google/cloud/telcoautomation/v1:telcoautomation_v1.yaml", + transport = "grpc+rest", +) + +# Open Source package. +ruby_gapic_assembly_pkg( + name = "google-cloud-telcoautomation-ruby", + deps = [ + ":telcoautomation_ruby_wrapper", + ], +) diff --git a/third_party/googleapis/google/cloud/telcoautomation/v1/BUILD.bazel b/third_party/googleapis/google/cloud/telcoautomation/v1/BUILD.bazel new file mode 100644 index 000000000..01d837429 --- /dev/null +++ b/third_party/googleapis/google/cloud/telcoautomation/v1/BUILD.bazel @@ -0,0 +1,383 @@ +# 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 = "telcoautomation_proto", + srcs = [ + "telcoautomation.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 = "telcoautomation_proto_with_info", + deps = [ + ":telcoautomation_proto", + "//google/cloud/location:location_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 = "telcoautomation_java_proto", + deps = [":telcoautomation_proto"], +) + +java_grpc_library( + name = "telcoautomation_java_grpc", + srcs = [":telcoautomation_proto"], + deps = [":telcoautomation_java_proto"], +) + +java_gapic_library( + name = "telcoautomation_java_gapic", + srcs = [":telcoautomation_proto_with_info"], + gapic_yaml = None, + grpc_service_config = "telcoautomation_v1_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "telcoautomation_v1.yaml", + test_deps = [ + "//google/cloud/location:location_java_grpc", + ":telcoautomation_java_grpc", + ], + transport = "grpc+rest", + deps = [ + ":telcoautomation_java_proto", + "//google/api:api_java_proto", + "//google/cloud/location:location_java_proto", + ], +) + +java_gapic_test( + name = "telcoautomation_java_gapic_test_suite", + test_classes = [ + "com.google.cloud.telcoautomation.v1.TelcoAutomationClientHttpJsonTest", + "com.google.cloud.telcoautomation.v1.TelcoAutomationClientTest", + ], + runtime_deps = [":telcoautomation_java_gapic_test"], +) + +# Open Source Packages +java_gapic_assembly_gradle_pkg( + name = "google-cloud-telcoautomation-v1-java", + transport = "grpc+rest", + deps = [ + ":telcoautomation_java_gapic", + ":telcoautomation_java_grpc", + ":telcoautomation_java_proto", + ":telcoautomation_proto", + ], + include_samples = True, +) + +############################################################################## +# Go +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "go_gapic_assembly_pkg", + "go_gapic_library", + "go_proto_library", +) + +go_proto_library( + name = "telcoautomation_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "cloud.google.com/go/telcoautomation/apiv1/telcoautomationpb", + protos = [":telcoautomation_proto"], + deps = [ + "//google/api:annotations_go_proto", + "//google/longrunning:longrunning_go_proto", + ], +) + +go_gapic_library( + name = "telcoautomation_go_gapic", + srcs = [":telcoautomation_proto_with_info"], + grpc_service_config = "telcoautomation_v1_grpc_service_config.json", + importpath = "cloud.google.com/go/telcoautomation/apiv1;telcoautomation", + metadata = True, + release_level = "beta", + rest_numeric_enums = True, + service_yaml = "telcoautomation_v1.yaml", + transport = "grpc+rest", + deps = [ + ":telcoautomation_go_proto", + "//google/cloud/location:location_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-telcoautomation-v1-go", + deps = [ + ":telcoautomation_go_gapic", + ":telcoautomation_go_gapic_srcjar-test.srcjar", + ":telcoautomation_go_gapic_srcjar-metadata.srcjar", + ":telcoautomation_go_gapic_srcjar-snippets.srcjar", + ":telcoautomation_go_proto", + ], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "py_gapic_assembly_pkg", + "py_gapic_library", + "py_test", +) + +py_gapic_library( + name = "telcoautomation_py_gapic", + srcs = [":telcoautomation_proto"], + grpc_service_config = "telcoautomation_v1_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "telcoautomation_v1.yaml", + transport = "grpc+rest", + deps = [ + + ], +) + +py_test( + name = "telcoautomation_py_gapic_test", + srcs = [ + "telcoautomation_py_gapic_pytest.py", + "telcoautomation_py_gapic_test.py", + ], + legacy_create_init = False, + deps = [":telcoautomation_py_gapic"], +) + +# Open Source Packages +py_gapic_assembly_pkg( + name = "telcoautomation-v1-py", + deps = [ + ":telcoautomation_py_gapic", + ], +) + +############################################################################## +# PHP +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "php_gapic_assembly_pkg", + "php_gapic_library", + "php_proto_library", +) + +php_proto_library( + name = "telcoautomation_php_proto", + deps = [":telcoautomation_proto"], +) + +php_gapic_library( + name = "telcoautomation_php_gapic", + srcs = [":telcoautomation_proto_with_info"], + grpc_service_config = "telcoautomation_v1_grpc_service_config.json", + rest_numeric_enums = True, + migration_mode = "NEW_SURFACE_ONLY", + service_yaml = "telcoautomation_v1.yaml", + transport = "grpc+rest", + deps = [ + ":telcoautomation_php_proto", + ], +) + +# Open Source Packages +php_gapic_assembly_pkg( + name = "google-cloud-telcoautomation-v1-php", + deps = [ + ":telcoautomation_php_gapic", + ":telcoautomation_php_proto", + ], +) + +############################################################################## +# Node.js +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "nodejs_gapic_assembly_pkg", + "nodejs_gapic_library", +) + +nodejs_gapic_library( + name = "telcoautomation_nodejs_gapic", + package_name = "@google-cloud/telcoautomation", + src = ":telcoautomation_proto_with_info", + extra_protoc_parameters = ["metadata"], + grpc_service_config = "telcoautomation_v1_grpc_service_config.json", + package = "google.cloud.telcoautomation.v1", + rest_numeric_enums = True, + service_yaml = "telcoautomation_v1.yaml", + transport = "grpc+rest", + deps = [], +) + +nodejs_gapic_assembly_pkg( + name = "telcoautomation-v1-nodejs", + deps = [ + ":telcoautomation_nodejs_gapic", + ":telcoautomation_proto", + ], +) + +############################################################################## +# Ruby +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "ruby_gapic_assembly_pkg", + "ruby_cloud_gapic_library", + "ruby_grpc_library", + "ruby_proto_library", +) + +ruby_proto_library( + name = "telcoautomation_ruby_proto", + deps = [":telcoautomation_proto"], +) + +ruby_grpc_library( + name = "telcoautomation_ruby_grpc", + srcs = [":telcoautomation_proto"], + deps = [":telcoautomation_ruby_proto"], +) + +ruby_cloud_gapic_library( + name = "telcoautomation_ruby_gapic", + srcs = [":telcoautomation_proto_with_info"], + extra_protoc_parameters = [ + "ruby-cloud-gem-name=google-cloud-telco_automation-v1", + ], + grpc_service_config = "telcoautomation_v1_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "telcoautomation_v1.yaml", + transport = "grpc+rest", + deps = [ + ":telcoautomation_ruby_grpc", + ":telcoautomation_ruby_proto", + ], +) + +# Open Source Packages +ruby_gapic_assembly_pkg( + name = "google-cloud-telcoautomation-v1-ruby", + deps = [ + ":telcoautomation_ruby_gapic", + ":telcoautomation_ruby_grpc", + ":telcoautomation_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 = "telcoautomation_csharp_proto", + extra_opts = [], + deps = [":telcoautomation_proto"], +) + +csharp_grpc_library( + name = "telcoautomation_csharp_grpc", + srcs = [":telcoautomation_proto"], + deps = [":telcoautomation_csharp_proto"], +) + +csharp_gapic_library( + name = "telcoautomation_csharp_gapic", + srcs = [":telcoautomation_proto_with_info"], + common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json", + grpc_service_config = "telcoautomation_v1_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "telcoautomation_v1.yaml", + deps = [ + ":telcoautomation_csharp_grpc", + ":telcoautomation_csharp_proto", + ], +) + +# Open Source Packages +csharp_gapic_assembly_pkg( + name = "google-cloud-telcoautomation-v1-csharp", + deps = [ + ":telcoautomation_csharp_gapic", + ":telcoautomation_csharp_grpc", + ":telcoautomation_csharp_proto", + ], +) + +############################################################################## +# C++ +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "cc_grpc_library", + "cc_proto_library", +) + +cc_proto_library( + name = "telcoautomation_cc_proto", + deps = [":telcoautomation_proto"], +) + +cc_grpc_library( + name = "telcoautomation_cc_grpc", + srcs = [":telcoautomation_proto"], + grpc_only = True, + deps = [":telcoautomation_cc_proto"], +) diff --git a/third_party/googleapis/google/cloud/telcoautomation/v1/telcoautomation.proto b/third_party/googleapis/google/cloud/telcoautomation/v1/telcoautomation.proto new file mode 100644 index 000000000..9d915a602 --- /dev/null +++ b/third_party/googleapis/google/cloud/telcoautomation/v1/telcoautomation.proto @@ -0,0 +1,1925 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF 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.telcoautomation.v1; + +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/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.TelcoAutomation.V1"; +option go_package = "cloud.google.com/go/telcoautomation/apiv1/telcoautomationpb;telcoautomationpb"; +option java_multiple_files = true; +option java_outer_classname = "TelcoautomationProto"; +option java_package = "com.google.cloud.telcoautomation.v1"; +option php_namespace = "Google\\Cloud\\TelcoAutomation\\V1"; +option ruby_package = "Google::Cloud::TelcoAutomation::V1"; + +// TelcoAutomation Service manages the control plane cluster a.k.a. +// Orchestration Cluster (GKE cluster with config controller) of TNA. It also +// exposes blueprint APIs which manages the lifecycle of blueprints that control +// the infrastructure setup (e.g GDCE clusters) and deployment of network +// functions. +service TelcoAutomation { + option (google.api.default_host) = "telcoautomation.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform"; + + // Lists OrchestrationClusters in a given project and location. + rpc ListOrchestrationClusters(ListOrchestrationClustersRequest) + returns (ListOrchestrationClustersResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*}/orchestrationClusters" + }; + option (google.api.method_signature) = "parent"; + } + + // Gets details of a single OrchestrationCluster. + rpc GetOrchestrationCluster(GetOrchestrationClusterRequest) + returns (OrchestrationCluster) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/orchestrationClusters/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Creates a new OrchestrationCluster in a given project and location. + rpc CreateOrchestrationCluster(CreateOrchestrationClusterRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*}/orchestrationClusters" + body: "orchestration_cluster" + }; + option (google.api.method_signature) = + "parent,orchestration_cluster,orchestration_cluster_id"; + option (google.longrunning.operation_info) = { + response_type: "OrchestrationCluster" + metadata_type: "OperationMetadata" + }; + } + + // Deletes a single OrchestrationCluster. + rpc DeleteOrchestrationCluster(DeleteOrchestrationClusterRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1/{name=projects/*/locations/*/orchestrationClusters/*}" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "OperationMetadata" + }; + } + + // Lists EdgeSlms in a given project and location. + rpc ListEdgeSlms(ListEdgeSlmsRequest) returns (ListEdgeSlmsResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*}/edgeSlms" + }; + option (google.api.method_signature) = "parent"; + } + + // Gets details of a single EdgeSlm. + rpc GetEdgeSlm(GetEdgeSlmRequest) returns (EdgeSlm) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/edgeSlms/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Creates a new EdgeSlm in a given project and location. + rpc CreateEdgeSlm(CreateEdgeSlmRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*}/edgeSlms" + body: "edge_slm" + }; + option (google.api.method_signature) = "parent,edge_slm,edge_slm_id"; + option (google.longrunning.operation_info) = { + response_type: "EdgeSlm" + metadata_type: "OperationMetadata" + }; + } + + // Deletes a single EdgeSlm. + rpc DeleteEdgeSlm(DeleteEdgeSlmRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1/{name=projects/*/locations/*/edgeSlms/*}" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "OperationMetadata" + }; + } + + // Creates a blueprint. + rpc CreateBlueprint(CreateBlueprintRequest) returns (Blueprint) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*/orchestrationClusters/*}/blueprints" + body: "blueprint" + }; + option (google.api.method_signature) = "parent,blueprint,blueprint_id"; + } + + // Updates a blueprint. + rpc UpdateBlueprint(UpdateBlueprintRequest) returns (Blueprint) { + option (google.api.http) = { + patch: "/v1/{blueprint.name=projects/*/locations/*/orchestrationClusters/*/blueprints/*}" + body: "blueprint" + }; + option (google.api.method_signature) = "blueprint,update_mask"; + } + + // Returns the requested blueprint. + rpc GetBlueprint(GetBlueprintRequest) returns (Blueprint) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/orchestrationClusters/*/blueprints/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Deletes a blueprint and all its revisions. + rpc DeleteBlueprint(DeleteBlueprintRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + delete: "/v1/{name=projects/*/locations/*/orchestrationClusters/*/blueprints/*}" + }; + option (google.api.method_signature) = "name"; + } + + // List all blueprints. + rpc ListBlueprints(ListBlueprintsRequest) returns (ListBlueprintsResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*/orchestrationClusters/*}/blueprints" + }; + option (google.api.method_signature) = "parent"; + } + + // Approves a blueprint and commits a new revision. + rpc ApproveBlueprint(ApproveBlueprintRequest) returns (Blueprint) { + option (google.api.http) = { + post: "/v1/{name=projects/*/locations/*/orchestrationClusters/*/blueprints/*}:approve" + body: "*" + }; + option (google.api.method_signature) = "name"; + } + + // Proposes a blueprint for approval of changes. + rpc ProposeBlueprint(ProposeBlueprintRequest) returns (Blueprint) { + option (google.api.http) = { + post: "/v1/{name=projects/*/locations/*/orchestrationClusters/*/blueprints/*}:propose" + body: "*" + }; + option (google.api.method_signature) = "name"; + } + + // Rejects a blueprint revision proposal and flips it back to Draft state. + rpc RejectBlueprint(RejectBlueprintRequest) returns (Blueprint) { + option (google.api.http) = { + post: "/v1/{name=projects/*/locations/*/orchestrationClusters/*/blueprints/*}:reject" + body: "*" + }; + option (google.api.method_signature) = "name"; + } + + // List blueprint revisions of a given blueprint. + rpc ListBlueprintRevisions(ListBlueprintRevisionsRequest) + returns (ListBlueprintRevisionsResponse) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/orchestrationClusters/*/blueprints/*}:listRevisions" + }; + option (google.api.method_signature) = "name"; + } + + // Searches across blueprint revisions. + rpc SearchBlueprintRevisions(SearchBlueprintRevisionsRequest) + returns (SearchBlueprintRevisionsResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*/orchestrationClusters/*}/blueprints:searchRevisions" + }; + option (google.api.method_signature) = "parent,query"; + } + + // Searches across deployment revisions. + rpc SearchDeploymentRevisions(SearchDeploymentRevisionsRequest) + returns (SearchDeploymentRevisionsResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*/orchestrationClusters/*}/deployments:searchRevisions" + }; + option (google.api.method_signature) = "parent,query"; + } + + // Discards the changes in a blueprint and reverts the blueprint to the last + // approved blueprint revision. No changes take place if a blueprint does not + // have revisions. + rpc DiscardBlueprintChanges(DiscardBlueprintChangesRequest) + returns (DiscardBlueprintChangesResponse) { + option (google.api.http) = { + post: "/v1/{name=projects/*/locations/*/orchestrationClusters/*/blueprints/*}:discard" + body: "*" + }; + option (google.api.method_signature) = "name"; + } + + // Lists the blueprints in TNA's public catalog. Default page size = 20, + // Max Page Size = 100. + rpc ListPublicBlueprints(ListPublicBlueprintsRequest) + returns (ListPublicBlueprintsResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*}/publicBlueprints" + }; + option (google.api.method_signature) = "parent"; + } + + // Returns the requested public blueprint. + rpc GetPublicBlueprint(GetPublicBlueprintRequest) returns (PublicBlueprint) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/publicBlueprints/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Creates a deployment. + rpc CreateDeployment(CreateDeploymentRequest) returns (Deployment) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*/orchestrationClusters/*}/deployments" + body: "deployment" + }; + option (google.api.method_signature) = "parent,deployment,deployment_id"; + } + + // Updates a deployment. + rpc UpdateDeployment(UpdateDeploymentRequest) returns (Deployment) { + option (google.api.http) = { + patch: "/v1/{deployment.name=projects/*/locations/*/orchestrationClusters/*/deployments/*}" + body: "deployment" + }; + option (google.api.method_signature) = "deployment,update_mask"; + } + + // Returns the requested deployment. + rpc GetDeployment(GetDeploymentRequest) returns (Deployment) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/orchestrationClusters/*/deployments/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Removes the deployment by marking it as DELETING. Post which deployment and + // it's revisions gets deleted. + rpc RemoveDeployment(RemoveDeploymentRequest) + returns (google.protobuf.Empty) { + option (google.api.http) = { + post: "/v1/{name=projects/*/locations/*/orchestrationClusters/*/deployments/*}:remove" + body: "*" + }; + option (google.api.method_signature) = "name"; + } + + // List all deployments. + rpc ListDeployments(ListDeploymentsRequest) + returns (ListDeploymentsResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*/orchestrationClusters/*}/deployments" + }; + option (google.api.method_signature) = "parent"; + } + + // List deployment revisions of a given deployment. + rpc ListDeploymentRevisions(ListDeploymentRevisionsRequest) + returns (ListDeploymentRevisionsResponse) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/orchestrationClusters/*/deployments/*}:listRevisions" + }; + option (google.api.method_signature) = "name"; + } + + // Discards the changes in a deployment and reverts the deployment to the last + // approved deployment revision. No changes take place if a deployment does + // not have revisions. + rpc DiscardDeploymentChanges(DiscardDeploymentChangesRequest) + returns (DiscardDeploymentChangesResponse) { + option (google.api.http) = { + post: "/v1/{name=projects/*/locations/*/orchestrationClusters/*/deployments/*}:discard" + body: "*" + }; + option (google.api.method_signature) = "name"; + } + + // Applies the deployment's YAML files to the parent orchestration cluster. + rpc ApplyDeployment(ApplyDeploymentRequest) returns (Deployment) { + option (google.api.http) = { + post: "/v1/{name=projects/*/locations/*/orchestrationClusters/*/deployments/*}:apply" + body: "*" + }; + option (google.api.method_signature) = "name"; + } + + // Returns the requested deployment status. + rpc ComputeDeploymentStatus(ComputeDeploymentStatusRequest) + returns (ComputeDeploymentStatusResponse) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/orchestrationClusters/*/deployments/*}:computeDeploymentStatus" + }; + option (google.api.method_signature) = "name"; + } + + // Rollback the active deployment to the given past approved deployment + // revision. + rpc RollbackDeployment(RollbackDeploymentRequest) returns (Deployment) { + option (google.api.http) = { + post: "/v1/{name=projects/*/locations/*/orchestrationClusters/*/deployments/*}:rollback" + body: "*" + }; + option (google.api.method_signature) = "name,revision_id"; + } + + // Returns the requested hydrated deployment. + rpc GetHydratedDeployment(GetHydratedDeploymentRequest) + returns (HydratedDeployment) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/orchestrationClusters/*/deployments/*/hydratedDeployments/*}" + }; + option (google.api.method_signature) = "name"; + } + + // List all hydrated deployments present under a deployment. + rpc ListHydratedDeployments(ListHydratedDeploymentsRequest) + returns (ListHydratedDeploymentsResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*/orchestrationClusters/*/deployments/*}/hydratedDeployments" + }; + option (google.api.method_signature) = "parent"; + } + + // Updates a hydrated deployment. + rpc UpdateHydratedDeployment(UpdateHydratedDeploymentRequest) + returns (HydratedDeployment) { + option (google.api.http) = { + patch: "/v1/{hydrated_deployment.name=projects/*/locations/*/orchestrationClusters/*/deployments/*/hydratedDeployments/*}" + body: "hydrated_deployment" + }; + option (google.api.method_signature) = "hydrated_deployment,update_mask"; + } + + // Applies a hydrated deployment to a workload cluster. + rpc ApplyHydratedDeployment(ApplyHydratedDeploymentRequest) + returns (HydratedDeployment) { + option (google.api.http) = { + post: "/v1/{name=projects/*/locations/*/orchestrationClusters/*/deployments/*/hydratedDeployments/*}:apply" + body: "*" + }; + option (google.api.method_signature) = "name"; + } +} + +// BlueprintView defines the type of view of the blueprint. +enum BlueprintView { + // Unspecified enum value. + BLUEPRINT_VIEW_UNSPECIFIED = 0; + + // View which only contains metadata. + BLUEPRINT_VIEW_BASIC = 1; + + // View which contains metadata and files it encapsulates. + BLUEPRINT_VIEW_FULL = 2; +} + +// DeploymentView defines the type of view of the deployment. +enum DeploymentView { + // Unspecified enum value. + DEPLOYMENT_VIEW_UNSPECIFIED = 0; + + // View which only contains metadata. + DEPLOYMENT_VIEW_BASIC = 1; + + // View which contains metadata and files it encapsulates. + DEPLOYMENT_VIEW_FULL = 2; +} + +// Represent type of CR. +enum ResourceType { + // Unspecified resource type. + RESOURCE_TYPE_UNSPECIFIED = 0; + + // User specified NF Deploy CR. + NF_DEPLOY_RESOURCE = 1; + + // CRs that are part of a blueprint. + DEPLOYMENT_RESOURCE = 2; +} + +// Status of an entity (resource, deployment). +enum Status { + // Unknown state. + STATUS_UNSPECIFIED = 0; + + // Under progress. + STATUS_IN_PROGRESS = 1; + + // Running and ready to serve traffic. + STATUS_ACTIVE = 2; + + // Failed or stalled. + STATUS_FAILED = 3; + + // Delete in progress. + STATUS_DELETING = 4; + + // Deleted deployment. + STATUS_DELETED = 5; + + // NFDeploy specific status. Peering in progress. + STATUS_PEERING = 10; + + // K8s objects such as NetworkAttachmentDefinition don't have a defined + // status. + STATUS_NOT_APPLICABLE = 11; +} + +// DeploymentLevel of a blueprint signifies where the blueprint will be +// applied. +enum DeploymentLevel { + // Default unspecified deployment level. + DEPLOYMENT_LEVEL_UNSPECIFIED = 0; + + // Blueprints at HYDRATION level cannot be used to create a Deployment + // (A user cannot manually initate deployment of these blueprints on + // orchestration or workload cluster). + // These blueprints stay in a user's private catalog and are configured and + // deployed by TNA automation. + HYDRATION = 1; + + // Blueprints at SINGLE_DEPLOYMENT level can be + // a) Modified in private catalog. + // b) Used to create a deployment on orchestration cluster by the user, once + // approved. + SINGLE_DEPLOYMENT = 2; + + // Blueprints at MULTI_DEPLOYMENT level can be + // a) Modified in private catalog. + // b) Used to create a deployment on orchestration cluster which will create + // further hydrated deployments. + MULTI_DEPLOYMENT = 3; + + // Blueprints at WORKLOAD_CLUSTER_DEPLOYMENT level can be + // a) Modified in private catalog. + // b) Used to create a deployment on workload cluster by the user, once + // approved. + WORKLOAD_CLUSTER_DEPLOYMENT = 4; +} + +// Orchestration cluster represents a GKE cluster with config controller and +// TNA specific components installed on it. +message OrchestrationCluster { + option (google.api.resource) = { + type: "telcoautomation.googleapis.com/OrchestrationCluster" + pattern: "projects/{project}/locations/{location}/orchestrationClusters/{orchestration_cluster}" + }; + + // Possible states that the Orchestration Cluster can be in. + enum State { + // Unspecified state. + STATE_UNSPECIFIED = 0; + + // OrchestrationCluster is being created. + CREATING = 1; + + // OrchestrationCluster has been created and is ready for use. + ACTIVE = 2; + + // OrchestrationCluster is being deleted. + DELETING = 3; + + // OrchestrationCluster encountered an error and is in an indeterministic + // state. User can still initiate a delete operation on this state. + FAILED = 4; + } + + // Name of the orchestration cluster. The name of orchestration cluster cannot + // be more than 24 characters. + string name = 1; + + // Management configuration of the underlying GKE cluster. + ManagementConfig management_config = 5; + + // Output only. [Output only] Create time stamp. + google.protobuf.Timestamp create_time = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. [Output only] Update time stamp. + google.protobuf.Timestamp update_time = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Labels as key value pairs. + map labels = 4; + + // Output only. Provides the TNA version installed on the cluster. + string tna_version = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. State of the Orchestration Cluster. + State state = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// EdgeSlm represents an SLM instance which manages the lifecycle of edge +// components installed on Workload clusters managed by an Orchestration +// Cluster. +message EdgeSlm { + option (google.api.resource) = { + type: "telcoautomation.googleapis.com/EdgeSlm" + pattern: "projects/{project}/locations/{location}/edgeSlms/{edge_slm}" + plural: "edgeSlms" + singular: "edgeSlm" + }; + + // Possible states of the resource. + enum State { + // Unspecified state. + STATE_UNSPECIFIED = 0; + + // EdgeSlm is being created. + CREATING = 1; + + // EdgeSlm has been created and is ready for use. + ACTIVE = 2; + + // EdgeSlm is being deleted. + DELETING = 3; + + // EdgeSlm encountered an error and is in an indeterministic + // state. User can still initiate a delete operation on this state. + FAILED = 4; + } + + // Workload clusters supported by TNA. New values will be added to the enum + // list as TNA adds supports for new workload clusters in future. + enum WorkloadClusterType { + // Unspecified workload cluster. + WORKLOAD_CLUSTER_TYPE_UNSPECIFIED = 0; + + // Workload cluster is a GDCE cluster. + GDCE = 1; + + // Workload cluster is a GKE cluster. + GKE = 2; + } + + // Name of the EdgeSlm resource. + string name = 1; + + // Immutable. Reference to the orchestration cluster on which templates for + // this resources will be applied. This should be of format + // projects/{project}/locations/{location}/orchestrationClusters/{orchestration_cluster}. + string orchestration_cluster = 5 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "telcoautomation.googleapis.com/OrchestrationCluster" + } + ]; + + // Output only. [Output only] Create time stamp. + google.protobuf.Timestamp create_time = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. [Output only] Update time stamp. + google.protobuf.Timestamp update_time = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Optional. Labels as key value pairs. The key and value should contain + // characters which are UTF-8 compliant and less than 50 characters. + map labels = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Output only. Provides the active TNA version for this resource. + string tna_version = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. State of the EdgeSlm resource. + State state = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Optional. Type of workload cluster for which an EdgeSLM resource is + // created. + WorkloadClusterType workload_cluster_type = 8 + [(google.api.field_behavior) = OPTIONAL]; +} + +// A Blueprint contains a collection of kubernetes resources in the form of +// YAML files. The file contents of a blueprint are collectively known as +// package. A blueprint can be +// a) imported from TNA's public catalog +// b) modified as per a user's need +// c) proposed and approved. +// On approval, a revision of blueprint is created which can be used to +// create a deployment on Orchestration or Workload Cluster. +message Blueprint { + option (google.api.resource) = { + type: "telcoautomation.googleapis.com/Blueprint" + pattern: "projects/{project}/locations/{location}/orchestrationClusters/{orchestration_cluster}/blueprints/{blueprint}" + plural: "blueprints" + singular: "blueprint" + }; + + // Approval state indicates the state of a Blueprint in its approval + // lifecycle. + enum ApprovalState { + // Unspecified state. + APPROVAL_STATE_UNSPECIFIED = 0; + + // A blueprint starts in DRAFT state once it is created. All edits are made + // to the blueprint in DRAFT state. + DRAFT = 1; + + // When the edits are ready for review, blueprint can be proposed and moves + // to PROPOSED state. Edits cannot be made to a blueprint in PROPOSED state. + PROPOSED = 2; + + // When a proposed blueprint is approved, it moves to APPROVED state. A new + // revision is committed. The latest committed revision can be used to + // create a deployment on Orchestration or Workload Cluster. Edits to an + // APPROVED blueprint changes its state back to DRAFT. The last committed + // revision of a blueprint represents its latest APPROVED state. + APPROVED = 3; + } + + // The name of the blueprint. If unspecified, the name will be autogenerated + // from server side. Name of the blueprint must not contain `@` character. + string name = 1; + + // Output only. Immutable. The revision ID of the blueprint. + // A new revision is committed whenever a blueprint is approved. + string revision_id = 2 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.field_behavior) = OUTPUT_ONLY + ]; + + // Required. Immutable. The public blueprint ID from which this blueprint was + // created. + string source_blueprint = 3 [ + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = IMMUTABLE + ]; + + // Output only. The timestamp that the revision was created. + google.protobuf.Timestamp revision_create_time = 5 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Approval state of the blueprint (DRAFT, PROPOSED, APPROVED) + ApprovalState approval_state = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Optional. Human readable name of a Blueprint. + string display_name = 7 [(google.api.field_behavior) = OPTIONAL]; + + // Output only. Name of the repository where the blueprint files are stored. + string repository = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Optional. Files present in a blueprint. + // When invoking UpdateBlueprint API, only the modified files should be + // included in this. Files that are not included in the update of a blueprint + // will not be changed. + repeated File files = 9 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Labels are key-value attributes that can be set on a blueprint + // resource by the user. + map labels = 10 [(google.api.field_behavior) = OPTIONAL]; + + // Output only. Blueprint creation time. + google.protobuf.Timestamp create_time = 11 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The timestamp when the blueprint was updated. + google.protobuf.Timestamp update_time = 12 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Source provider is the author of a public blueprint, from + // which this blueprint is created. + string source_provider = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. DeploymentLevel of a blueprint signifies where the blueprint + // will be applied. e.g. [HYDRATION, SINGLE_DEPLOYMENT, MULTI_DEPLOYMENT] + DeploymentLevel deployment_level = 14 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Indicates if the deployment created from this blueprint can be + // rolled back. + bool rollback_support = 15 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// A Blueprint contains a collection of kubernetes resources in the form of +// YAML files. The file contents of a blueprint are collectively known as +// package. +// Public blueprint is a TNA provided blueprint that in present in TNA's public +// catalog. A user can copy the public blueprint to their private catalog for +// further modifications. +message PublicBlueprint { + option (google.api.resource) = { + type: "telcoautomation.googleapis.com/PublicBlueprint" + pattern: "projects/{project}/locations/{location}/publicBlueprints/{public_lueprint}" + plural: "publicBlueprints" + singular: "publicBlueprint" + }; + + // Name of the public blueprint. + string name = 1; + + // The display name of the public blueprint. + string display_name = 2; + + // The description of the public blueprint. + string description = 3; + + // DeploymentLevel of a blueprint signifies where the blueprint will be + // applied. e.g. [HYDRATION, SINGLE_DEPLOYMENT, MULTI_DEPLOYMENT] + DeploymentLevel deployment_level = 4; + + // Source provider is the author of a public blueprint. e.g. Google, vendors + string source_provider = 5; + + // Output only. Indicates if the deployment created from this blueprint can be + // rolled back. + bool rollback_support = 15 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Deployment contains a collection of YAML files (This collection is also known +// as package) that can to applied on an orchestration cluster (GKE cluster with +// TNA addons) or a workload cluster. +message Deployment { + option (google.api.resource) = { + type: "telcoautomation.googleapis.com/Deployment" + pattern: "projects/{project}/locations/{location}/orchestrationClusters/{orchestration_cluster}/deployments/{deployment}" + plural: "deployments" + singular: "deployment" + }; + + // State defines which state the current deployment is in. + enum State { + // Unspecified state. + STATE_UNSPECIFIED = 0; + + // A deployment starts in DRAFT state. All edits are made in DRAFT state. A + // deployment opened for editing after applying will be in draft state, + // while its prevision revision will be its current applied version. + DRAFT = 1; + + // This state means that the contents (YAML files containing kubernetes + // resources) of the deployment have been applied to an Orchestration or + // Workload Cluster. A revision is created when a deployment is applied. + // This revision will represent the latest view of what is applied on the + // cluster until the deployment is modified and applied again, which will + // create a new revision. + APPLIED = 2; + + // A deployment in DELETING state has been marked for deletion. Its + // deletion status can be queried using `ComputeDeploymentStatus` API. No + // updates are allowed to a deployment in DELETING state. + DELETING = 3; + } + + // The name of the deployment. + string name = 1; + + // Output only. Immutable. The revision ID of the deployment. + // A new revision is committed whenever a change in deployment is applied. + string revision_id = 2 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.field_behavior) = OUTPUT_ONLY + ]; + + // Required. The blueprint revision from which this deployment was created. + string source_blueprint_revision = 3 [(google.api.field_behavior) = REQUIRED]; + + // Output only. The timestamp that the revision was created. + google.protobuf.Timestamp revision_create_time = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. State of the deployment (DRAFT, APPLIED, DELETING). + State state = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Optional. Human readable name of a Deployment. + string display_name = 6 [(google.api.field_behavior) = OPTIONAL]; + + // Output only. Name of the repository where the deployment package files are + // stored. + string repository = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Optional. Files present in a deployment. + // When invoking UpdateDeployment API, only the modified files should be + // included in this. Files that are not included in the update of a deployment + // will not be changed. + repeated File files = 8 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Labels are key-value attributes that can be set on a deployment + // resource by the user. + map labels = 9 [(google.api.field_behavior) = OPTIONAL]; + + // Output only. Deployment creation time. + google.protobuf.Timestamp create_time = 10 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The timestamp when the deployment was updated. + google.protobuf.Timestamp update_time = 11 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Source provider is the author of a public blueprint, from + // which this deployment is created. + string source_provider = 12 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Optional. Immutable. The WorkloadCluster on which to create the Deployment. + // This field should only be passed when the deployment_level of the source + // blueprint specifies deployments on workload clusters e.g. + // WORKLOAD_CLUSTER_DEPLOYMENT. + string workload_cluster = 13 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.field_behavior) = OPTIONAL + ]; + + // Output only. Attributes to where the deployment can inflict changes. The + // value can only be [SINGLE_DEPLOYMENT, MULTI_DEPLOYMENT]. + DeploymentLevel deployment_level = 14 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Indicates if the deployment can be rolled back, exported from + // public blueprint. + bool rollback_support = 15 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// A collection of kubernetes yaml files which are deployed on a Workload +// Cluster. Hydrated Deployments are created by TNA intent based automation. +message HydratedDeployment { + option (google.api.resource) = { + type: "telcoautomation.googleapis.com/HydratedDeployment" + pattern: "projects/{project}/locations/{location}/orchestrationClusters/{orchestration_cluster}/deployments/{deployment}/hydratedDeployments/{hydrated_deployment}" + plural: "hydratedDeployments" + singular: "hydratedDeployment" + }; + + // State defines which state the current hydrated deployment is in. + enum State { + // Unspecified state. + STATE_UNSPECIFIED = 0; + + // A hydrated deployment starts in DRAFT state. All edits are made in DRAFT + // state. + DRAFT = 1; + + // When the edit is applied, the hydrated deployment moves to APPLIED + // state. No changes can be made once a hydrated deployment is applied. + APPLIED = 2; + } + + // Output only. The name of the hydrated deployment. + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. State of the hydrated deployment (DRAFT, APPLIED). + State state = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Optional. File contents of a hydrated deployment. + // When invoking UpdateHydratedBlueprint API, only the modified files should + // be included in this. Files that are not included in the update of a + // hydrated deployment will not be changed. + repeated File files = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Output only. WorkloadCluster identifies which workload cluster will the + // hydrated deployment will be deployed on. + string workload_cluster = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Message for requesting list of OrchestrationClusters. +message ListOrchestrationClustersRequest { + // Required. Parent value for ListOrchestrationClustersRequest + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "telcoautomation.googleapis.com/OrchestrationCluster" + } + ]; + + // Requested page size. Server may return fewer items than requested. + // If unspecified, server will pick an appropriate default. + int32 page_size = 2; + + // A token identifying a page of results the server should return. + string page_token = 3; + + // Filtering results. + string filter = 4; + + // Hint for how to order the results. + string order_by = 5; +} + +// Message for response to listing OrchestrationClusters. +message ListOrchestrationClustersResponse { + // The list of OrchestrationCluster + repeated OrchestrationCluster orchestration_clusters = 1; + + // A token identifying a page of results the server should return. + string next_page_token = 2; + + // Locations that could not be reached. + repeated string unreachable = 3; +} + +// Message for getting a OrchestrationCluster. +message GetOrchestrationClusterRequest { + // Required. Name of the resource + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "telcoautomation.googleapis.com/OrchestrationCluster" + } + ]; +} + +// Message for creating a OrchestrationCluster. +message CreateOrchestrationClusterRequest { + // Required. Value for parent. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "telcoautomation.googleapis.com/OrchestrationCluster" + } + ]; + + // Required. Id of the requesting object + // If auto-generating Id server-side, remove this field and + // orchestration_cluster_id from the method_signature of Create RPC + string orchestration_cluster_id = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The resource being created + OrchestrationCluster orchestration_cluster = 3 + [(google.api.field_behavior) = REQUIRED]; + + // Optional. An optional request ID to identify requests. Specify a unique + // request ID so that if you must retry your request, the server will know to + // ignore the request if it has already been completed. The server will + // guarantee that for at least 60 minutes since the first request. + // + // For example, consider a situation where you make an initial request and + // the request times out. If you make the request again with the same request + // ID, the server can check if original operation with the same request ID + // was received, and if so, will ignore the second request. This prevents + // clients from accidentally creating duplicate commitments. + // + // The request ID must be a valid UUID with the exception that zero UUID is + // not supported (00000000-0000-0000-0000-000000000000). + string request_id = 4 [(google.api.field_behavior) = OPTIONAL]; +} + +// Message for deleting a OrchestrationCluster. +message DeleteOrchestrationClusterRequest { + // Required. Name of the resource + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "telcoautomation.googleapis.com/OrchestrationCluster" + } + ]; + + // Optional. An optional request ID to identify requests. Specify a unique + // request ID so that if you must retry your request, the server will know to + // ignore the request if it has already been completed. The server will + // guarantee that for at least 60 minutes after the first request. + // + // For example, consider a situation where you make an initial request and + // the request times out. If you make the request again with the same request + // ID, the server can check if original operation with the same request ID + // was received, and if so, will ignore the second request. This prevents + // clients from accidentally creating duplicate commitments. + // + // The request ID must be a valid UUID with the exception that zero UUID is + // not supported (00000000-0000-0000-0000-000000000000). + string request_id = 2 [(google.api.field_behavior) = OPTIONAL]; +} + +// Message for requesting list of EdgeSlms +message ListEdgeSlmsRequest { + // Required. Parent value for ListEdgeSlmsRequest + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "telcoautomation.googleapis.com/EdgeSlm" + } + ]; + + // Requested page size. Server may return fewer items than requested. + // If unspecified, server will pick an appropriate default. + int32 page_size = 2; + + // A token identifying a page of results the server should return. + string page_token = 3; + + // Filtering results + string filter = 4; + + // Hint for how to order the results + string order_by = 5; +} + +// Message for response to listing EdgeSlms. +message ListEdgeSlmsResponse { + // The list of EdgeSlm + repeated EdgeSlm edge_slms = 1; + + // A token identifying a page of results the server should return. + string next_page_token = 2; + + // Locations that could not be reached. + repeated string unreachable = 3; +} + +// Message for getting a EdgeSlm. +message GetEdgeSlmRequest { + // Required. Name of the resource + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "telcoautomation.googleapis.com/EdgeSlm" + } + ]; +} + +// Message for creating a EdgeSlm. +message CreateEdgeSlmRequest { + // Required. Value for parent. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "telcoautomation.googleapis.com/EdgeSlm" + } + ]; + + // Required. Id of the requesting object + // If auto-generating Id server-side, remove this field and + // edge_slm_id from the method_signature of Create RPC + string edge_slm_id = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The resource being created + EdgeSlm edge_slm = 3 [(google.api.field_behavior) = REQUIRED]; + + // Optional. An optional request ID to identify requests. Specify a unique + // request ID so that if you must retry your request, the server will know to + // ignore the request if it has already been completed. The server will + // guarantee that for at least 60 minutes since the first request. + // + // For example, consider a situation where you make an initial request and + // the request times out. If you make the request again with the same request + // ID, the server can check if original operation with the same request ID + // was received, and if so, will ignore the second request. This prevents + // clients from accidentally creating duplicate commitments. + // + // The request ID must be a valid UUID with the exception that zero UUID is + // not supported (00000000-0000-0000-0000-000000000000). + string request_id = 4 [(google.api.field_behavior) = OPTIONAL]; +} + +// Message for deleting a EdgeSlm. +message DeleteEdgeSlmRequest { + // Required. Name of the resource + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "telcoautomation.googleapis.com/EdgeSlm" + } + ]; + + // Optional. An optional request ID to identify requests. Specify a unique + // request ID so that if you must retry your request, the server will know to + // ignore the request if it has already been completed. The server will + // guarantee that for at least 60 minutes after the first request. + // + // For example, consider a situation where you make an initial request and + // the request times out. If you make the request again with the same request + // ID, the server can check if original operation with the same request ID + // was received, and if so, will ignore the second request. This prevents + // clients from accidentally creating duplicate commitments. + // + // The request ID must be a valid UUID with the exception that zero UUID is + // not supported (00000000-0000-0000-0000-000000000000). + string request_id = 2 [(google.api.field_behavior) = OPTIONAL]; +} + +// Request object for `CreateBlueprint`. +message CreateBlueprintRequest { + // Required. The name of parent resource. + // Format should be - + // "projects/{project_id}/locations/{location_name}/orchestrationClusters/{orchestration_cluster}". + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "telcoautomation.googleapis.com/Blueprint" + } + ]; + + // Optional. The name of the blueprint. + string blueprint_id = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Required. The `Blueprint` to create. + Blueprint blueprint = 3 [(google.api.field_behavior) = REQUIRED]; +} + +// Request object for `UpdateBlueprint`. +message UpdateBlueprintRequest { + // Required. The `blueprint` to update. + Blueprint blueprint = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. Update mask is used to specify the fields to be overwritten in + // the `blueprint` resource by the update. + google.protobuf.FieldMask update_mask = 2 + [(google.api.field_behavior) = REQUIRED]; +} + +// Request object for `GetBlueprint`. +message GetBlueprintRequest { + // Required. The name of the blueprint. + // Case 1: If the name provided in the request is + // {blueprint_id}@{revision_id}, then the revision with revision_id will be + // returned. Case 2: If the name provided in the request is {blueprint}, then + // the current state of the blueprint is returned. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "telcoautomation.googleapis.com/Blueprint" + } + ]; + + // Optional. Defines the type of view of the blueprint. + // When field is not present BLUEPRINT_VIEW_BASIC is considered as default. + BlueprintView view = 2 [(google.api.field_behavior) = OPTIONAL]; +} + +// Request object for `DeleteBlueprint`. +message DeleteBlueprintRequest { + // Required. The name of blueprint to delete. + // Blueprint name should be in the format {blueprint_id}, if + // {blueprint_id}@{revision_id} is passed then the API throws invalid + // argument. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "telcoautomation.googleapis.com/Blueprint" + } + ]; +} + +// Request object for `ListBlueprints`. +message ListBlueprintsRequest { + // Required. The name of parent orchestration cluster resource. + // Format should be - + // "projects/{project_id}/locations/{location_name}/orchestrationClusters/{orchestration_cluster}". + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "telcoautomation.googleapis.com/Blueprint" + } + ]; + + // Optional. Filtering only supports equality on blueprint state. + // It should be in the form: "state = DRAFT". `OR` operator can be used to + // get response for multiple states. e.g. "state = DRAFT OR state = PROPOSED". + string filter = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The maximum number of blueprints to return per page. + int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The page token, received from a previous ListBlueprints call. + // It can be provided to retrieve the subsequent page. + string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// Response object for `ListBlueprints`. +message ListBlueprintsResponse { + // The list of requested blueprints. + repeated Blueprint blueprints = 1; + + // A token that can be sent as `page_token` to retrieve the next page. + // If this field is omitted, there are no subsequent pages. + string next_page_token = 2; +} + +// Request object for `ApproveBlueprint`. +message ApproveBlueprintRequest { + // Required. The name of the blueprint to approve. The blueprint must be in + // Proposed state. A new revision is committed on approval. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "telcoautomation.googleapis.com/Blueprint" + } + ]; +} + +// Request object for `ProposeBlueprint`. +message ProposeBlueprintRequest { + // Required. The name of the blueprint being proposed. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "telcoautomation.googleapis.com/Blueprint" + } + ]; +} + +// Request object for `RejectBlueprint`. +message RejectBlueprintRequest { + // Required. The name of the blueprint being rejected. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "telcoautomation.googleapis.com/Blueprint" + } + ]; +} + +// Request object for `ListBlueprintRevisions`. +message ListBlueprintRevisionsRequest { + // Required. The name of the blueprint to list revisions for. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "telcoautomation.googleapis.com/Blueprint" + } + ]; + + // The maximum number of revisions to return per page. + int32 page_size = 2; + + // The page token, received from a previous ListBlueprintRevisions call + // It can be provided to retrieve the subsequent page. + string page_token = 3; +} + +// Response object for `ListBlueprintRevisions`. +message ListBlueprintRevisionsResponse { + // The revisions of the blueprint. + repeated Blueprint blueprints = 1; + + // A token that can be sent as `page_token` to retrieve the next page. + // If this field is omitted, there are no subsequent pages. + string next_page_token = 2; +} + +// Request object for `SearchBlueprintRevisions`. +message SearchBlueprintRevisionsRequest { + // Required. The name of parent orchestration cluster resource. + // Format should be - + // "projects/{project_id}/locations/{location_name}/orchestrationClusters/{orchestration_cluster}". + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "telcoautomation.googleapis.com/Blueprint" + } + ]; + + // Required. Supported queries: + // 1. "" : Lists all revisions across all blueprints. + // 2. "latest=true" : Lists latest revisions across all blueprints. + // 3. "name={name}" : Lists all revisions of blueprint with name + // {name}. + // 4. "name={name} latest=true": Lists latest revision of blueprint with name + // {name} + string query = 2 [(google.api.field_behavior) = REQUIRED]; + + // Optional. The maximum number of blueprints revisions to return per page. + // max page size = 100, default page size = 20. + int32 page_size = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The page token, received from a previous search call. + // It can be provided to retrieve the subsequent page. + string page_token = 4 [(google.api.field_behavior) = OPTIONAL]; +} + +// Response object for `SearchBlueprintRevisions`. +message SearchBlueprintRevisionsResponse { + // The list of requested blueprint revisions. + repeated Blueprint blueprints = 1; + + // A token that can be sent as `page_token` to retrieve the next page. + // If this field is omitted, there are no subsequent pages. + string next_page_token = 2; +} + +// Request object for `DiscardBlueprintChanges`. +message DiscardBlueprintChangesRequest { + // Required. The name of the blueprint of which changes are being discarded. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "telcoautomation.googleapis.com/Blueprint" + } + ]; +} + +// Response object for `DiscardBlueprintChanges`. +message DiscardBlueprintChangesResponse {} + +// Request object for `ListPublicBlueprints`. +message ListPublicBlueprintsRequest { + // Required. Parent value of public blueprint. + // Format should be - + // "projects/{project_id}/locations/{location_name}". + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "telcoautomation.googleapis.com/PublicBlueprint" + } + ]; + + // Optional. Requested page size. Server may return fewer items than + // requested. If unspecified, server will pick an appropriate default. + int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A token identifying a page of results the server should return. + string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// Response object for `ListPublicBlueprints`. +message ListPublicBlueprintsResponse { + // The list of public blueprints to return. + repeated PublicBlueprint public_blueprints = 1; + + // Output only. A token identifying a page of results the server should + // return. + string next_page_token = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Request object for `GetPublicBlueprint`. +message GetPublicBlueprintRequest { + // Required. The name of the public blueprint. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "telcoautomation.googleapis.com/PublicBlueprint" + } + ]; +} + +// Request object for `CreateDeployment`. +message CreateDeploymentRequest { + // Required. The name of parent resource. + // Format should be - + // "projects/{project_id}/locations/{location_name}/orchestrationClusters/{orchestration_cluster}". + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "telcoautomation.googleapis.com/Deployment" + } + ]; + + // Optional. The name of the deployment. + string deployment_id = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Required. The `Deployment` to create. + Deployment deployment = 3 [(google.api.field_behavior) = REQUIRED]; +} + +// Request object for `UpdateDeployment`. +message UpdateDeploymentRequest { + // Required. The `deployment` to update. + Deployment deployment = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. Update mask is used to specify the fields to be overwritten in + // the `deployment` resource by the update. + google.protobuf.FieldMask update_mask = 2 + [(google.api.field_behavior) = REQUIRED]; +} + +// Request object for `GetDeployment`. +message GetDeploymentRequest { + // Required. The name of the deployment. + // Case 1: If the name provided in the request is + // {deployment_id}@{revision_id}, then the revision with revision_id will be + // returned. + // Case 2: If the name provided in the request is {deployment}, then + // the current state of the deployment is returned. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "telcoautomation.googleapis.com/Deployment" + } + ]; + + // Optional. Defines the type of view of the deployment. + // When field is not present VIEW_BASIC is considered as default. + DeploymentView view = 2 [(google.api.field_behavior) = OPTIONAL]; +} + +// Request object for `RemoveDeployment`. +message RemoveDeploymentRequest { + // Required. The name of deployment to initiate delete. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "telcoautomation.googleapis.com/Deployment" + } + ]; +} + +// Request object for `ListDeployments`. +message ListDeploymentsRequest { + // Required. The name of parent orchestration cluster resource. + // Format should be - + // "projects/{project_id}/locations/{location_name}/orchestrationClusters/{orchestration_cluster}". + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "telcoautomation.googleapis.com/Deployment" + } + ]; + + // Optional. Filtering only supports equality on deployment state. + // It should be in the form: "state = DRAFT". `OR` operator can be used to + // get response for multiple states. e.g. "state = DRAFT OR state = APPLIED". + string filter = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The maximum number of deployments to return per page. + int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The page token, received from a previous ListDeployments call. + // It can be provided to retrieve the subsequent page. + string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// Response object for `ListDeployments`. +message ListDeploymentsResponse { + // The list of requested deployments. + repeated Deployment deployments = 1; + + // A token that can be sent as `page_token` to retrieve the next page. + // If this field is omitted, there are no subsequent pages. + string next_page_token = 2; +} + +// Request for listing all revisions of a deployment. +message ListDeploymentRevisionsRequest { + // Required. The name of the deployment to list revisions for. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "telcoautomation.googleapis.com/Deployment" + } + ]; + + // Optional. The maximum number of revisions to return per page. + int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The page token, received from a previous ListDeploymentRevisions + // call Provide this to retrieve the subsequent page. + string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// List of deployment revisions for a given deployment. +message ListDeploymentRevisionsResponse { + // The revisions of the deployment. + repeated Deployment deployments = 1; + + // A token that can be sent as `page_token` to retrieve the next page. + // If this field is omitted, there are no subsequent pages. + string next_page_token = 2; +} + +// Request object for `SearchDeploymentRevisions`. +message SearchDeploymentRevisionsRequest { + // Required. The name of parent orchestration cluster resource. + // Format should be - + // "projects/{project_id}/locations/{location_name}/orchestrationClusters/{orchestration_cluster}". + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "telcoautomation.googleapis.com/Blueprint" + } + ]; + + // Required. Supported queries: + // 1. "" : Lists all revisions across all deployments. + // 2. "latest=true" : Lists latest revisions across all + // deployments. + // 3. "name={name}" : Lists all revisions of deployment with name + // {name}. + // 4. "name={name} latest=true": Lists latest revision of deployment with name + // {name} + string query = 2 [(google.api.field_behavior) = REQUIRED]; + + // Optional. The maximum number of deployment revisions to return per page. + // max page size = 100, default page size = 20. + int32 page_size = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The page token, received from a previous search call. + // It can be provided to retrieve the subsequent page. + string page_token = 4 [(google.api.field_behavior) = OPTIONAL]; +} + +// Response object for `SearchDeploymentRevisions`. +message SearchDeploymentRevisionsResponse { + // The list of requested deployment revisions. + repeated Deployment deployments = 1; + + // A token that can be sent as `page_token` to retrieve the next page. + // If this field is omitted, there are no subsequent pages. + string next_page_token = 2; +} + +// Request object for `DiscardDeploymentChanges`. +message DiscardDeploymentChangesRequest { + // Required. The name of the deployment of which changes are being discarded. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "telcoautomation.googleapis.com/Deployment" + } + ]; +} + +// Response object for `DiscardDeploymentChanges`. +message DiscardDeploymentChangesResponse {} + +// Request object for `ApplyDeployment`. The resources in given deployment +// gets applied to Orchestration Cluster. A new revision is created when a +// deployment is applied. +message ApplyDeploymentRequest { + // Required. The name of the deployment to apply to orchestration cluster. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "telcoautomation.googleapis.com/Deployment" + } + ]; +} + +// Request object for `ComputeDeploymentStatus`. +message ComputeDeploymentStatusRequest { + // Required. The name of the deployment without revisionID. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "telcoautomation.googleapis.com/Deployment" + } + ]; +} + +// Response object for `ComputeDeploymentStatus`. +message ComputeDeploymentStatusResponse { + // The name of the deployment. + string name = 1; + + // Output only. Aggregated status of a deployment. + Status aggregated_status = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Resource level status details in deployments. + repeated ResourceStatus resource_statuses = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Request object for `RollbackDeployment`. +message RollbackDeploymentRequest { + // Required. Name of the deployment. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "telcoautomation.googleapis.com/Deployment" + } + ]; + + // Required. The revision id of deployment to roll back to. + string revision_id = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// 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_message = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Identifies whether the user has requested cancellation + // of the operation. Operations that have been cancelled successfully + // have [Operation.error][] value with a + // [google.rpc.Status.code][google.rpc.Status.code] of 1, corresponding to + // `Code.CANCELLED`. + bool requested_cancellation = 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]; +} + +// Request object for `GetHydratedDeployment`. +message GetHydratedDeploymentRequest { + // Required. Name of the hydrated deployment. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "telcoautomation.googleapis.com/HydratedDeployment" + } + ]; +} + +// Request object for `ListHydratedDeployments`. +message ListHydratedDeploymentsRequest { + // Required. The deployment managing the hydrated deployments. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "telcoautomation.googleapis.com/HydratedDeployment" + } + ]; + + // Optional. The maximum number of hydrated deployments to return. The service + // may return fewer than this value. If unspecified, at most 50 hydrated + // deployments will be returned. The maximum value is 1000. Values above 1000 + // will be set to 1000. + int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The page token, received from a previous ListHydratedDeployments + // call. Provide this to retrieve the subsequent page. + string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// Response object for `ListHydratedDeployments`. +message ListHydratedDeploymentsResponse { + // The list of hydrated deployments. + repeated HydratedDeployment hydrated_deployments = 1; + + // A token that can be sent as `page_token` to retrieve the next page. + // If this field is omitted, there are no subsequent pages. + string next_page_token = 2; +} + +// Request object for `UpdateHydratedDeployment`. +message UpdateHydratedDeploymentRequest { + // Required. The hydrated deployment to update. + HydratedDeployment hydrated_deployment = 1 + [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of fields to update. Update mask supports a special + // value `*` which fully replaces (equivalent to PUT) the resource provided. + google.protobuf.FieldMask update_mask = 2 + [(google.api.field_behavior) = REQUIRED]; +} + +// Request for applying a hydrated deployment. +message ApplyHydratedDeploymentRequest { + // Required. The name of the hydrated deployment to apply. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "telcoautomation.googleapis.com/HydratedDeployment" + } + ]; +} + +// Configuration of the cluster management +message ManagementConfig { + // The configuration can be one of StandardManagementConfig + // and FullManagementConfig + oneof oneof_config { + // Configuration of the standard (GKE) cluster management + StandardManagementConfig standard_management_config = 1; + + // Configuration of the full (Autopilot) cluster management. Full cluster + // management is a preview feature. + FullManagementConfig full_management_config = 2; + } +} + +// Configuration of the standard (GKE) cluster management. +message StandardManagementConfig { + // Optional. Name of the VPC Network to put the GKE cluster and nodes in. The + // VPC will be created if it doesn't exist. + string network = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Specifies the subnet that the interface will be part of. Network + // key must be specified and the subnet must be a subnetwork of the specified + // network. + string subnet = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The /28 network that the masters will use. It should be free + // within the network. + string master_ipv4_cidr_block = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The IP address range for the cluster pod IPs. Set to blank to + // have a range chosen with the default size. Set to /netmask (e.g. /14) to + // have a range chosen with a specific netmask. Set to a CIDR notation + // (e.g. 10.96.0.0/14) from the RFC-1918 private networks (e.g. 10.0.0.0/8, + // 172.16.0.0/12, 192.168.0.0/16) to pick a specific range to use. + string cluster_cidr_block = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The IP address range for the cluster service IPs. Set to blank to + // have a range chosen with the default size. Set to /netmask (e.g. /14) to + // have a range chosen with a specific netmask. Set to a CIDR notation (e.g. + // 10.96.0.0/14) from the RFC-1918 private networks (e.g. 10.0.0.0/8, + // 172.16.0.0/12, 192.168.0.0/16) to pick a specific range to use. + string services_cidr_block = 5 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The name of the existing secondary range in the cluster's + // subnetwork to use for pod IP addresses. Alternatively, cluster_cidr_block + // can be used to automatically create a GKE-managed one. + string cluster_named_range = 6 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The name of the existing secondary range in the cluster's + // subnetwork to use for service ClusterIPs. Alternatively, + // services_cidr_block can be used to automatically create a GKE-managed one. + string services_named_range = 7 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Master Authorized Network that supports multiple CIDR blocks. + // Allows access to the k8s master from multiple blocks. It cannot be set at + // the same time with the field man_block. + MasterAuthorizedNetworksConfig master_authorized_networks_config = 8 + [(google.api.field_behavior) = OPTIONAL]; +} + +// Configuration of the full (Autopilot) cluster management +message FullManagementConfig { + // Optional. Name of the VPC Network to put the GKE cluster and nodes in. The + // VPC will be created if it doesn't exist. + string network = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Specifies the subnet that the interface will be part of. Network + // key must be specified and the subnet must be a subnetwork of the specified + // network. + string subnet = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The /28 network that the masters will use. + string master_ipv4_cidr_block = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The IP address range for the cluster pod IPs. Set to blank to + // have a range chosen with the default size. Set to /netmask (e.g. /14) to + // have a range chosen with a specific netmask. Set to a CIDR notation + // (e.g. 10.96.0.0/14) from the RFC-1918 private networks (e.g. 10.0.0.0/8, + // 172.16.0.0/12, 192.168.0.0/16) to pick a specific range to use. + string cluster_cidr_block = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The IP address range for the cluster service IPs. Set to blank to + // have a range chosen with the default size. Set to /netmask (e.g. /14) to + // have a range chosen with a specific netmask. Set to a CIDR notation (e.g. + // 10.96.0.0/14) from the RFC-1918 private networks (e.g. 10.0.0.0/8, + // 172.16.0.0/12, 192.168.0.0/16) to pick a specific range to use. + string services_cidr_block = 5 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The name of the existing secondary range in the cluster's + // subnetwork to use for pod IP addresses. Alternatively, cluster_cidr_block + // can be used to automatically create a GKE-managed one. + string cluster_named_range = 6 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The name of the existing secondary range in the cluster's + // subnetwork to use for service ClusterIPs. Alternatively, + // services_cidr_block can be used to automatically create a GKE-managed one. + string services_named_range = 7 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Master Authorized Network that supports multiple CIDR blocks. + // Allows access to the k8s master from multiple blocks. It cannot be set at + // the same time with the field man_block. + MasterAuthorizedNetworksConfig master_authorized_networks_config = 8 + [(google.api.field_behavior) = OPTIONAL]; +} + +// Configuration of the Master Authorized Network that support multiple CIDRs +message MasterAuthorizedNetworksConfig { + // CidrBlock contains an optional name and one CIDR block. + message CidrBlock { + // Optional. display_name is an optional field for users to identify CIDR + // blocks. + string display_name = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. cidr_block must be specified in CIDR notation when using + // master_authorized_networks_config. Currently, the user could still use + // the deprecated man_block field, so this field is currently optional, but + // will be required in the future. + string cidr_block = 2 [(google.api.field_behavior) = OPTIONAL]; + } + + // Optional. cidr_blocks define up to 50 external networks that could access + // Kubernetes master through HTTPS. + repeated CidrBlock cidr_blocks = 1 [(google.api.field_behavior) = OPTIONAL]; +} + +// File represents a yaml file present in a blueprint's package. +message File { + // Required. Path of the file in package. + // e.g. `gdce/v1/cluster.yaml` + string path = 1 [(google.api.field_behavior) = REQUIRED]; + + // Optional. The contents of a file in string format. + string content = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Signifies whether a file is marked for deletion. + bool deleted = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Indicates whether changes are allowed to a file. If the field is + // not set, the file cannot be edited. + bool editable = 4 [(google.api.field_behavior) = OPTIONAL]; +} + +// Status of a deployment resource. +message ResourceStatus { + // Name of the resource. + string name = 1; + + // Namespace of the resource. + string resource_namespace = 2; + + // Group to which the resource belongs to. + string group = 3; + + // Version of the resource. + string version = 4; + + // Kind of the resource. + string kind = 5; + + // Output only. Resource type. + ResourceType resource_type = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Status of the resource. + Status status = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Detailed status of NFDeploy. + NFDeployStatus nf_deploy_status = 8 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Deployment status of NFDeploy. +message NFDeployStatus { + // Output only. Total number of NFs targeted by this deployment + int32 targeted_nfs = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Total number of NFs targeted by this deployment with a Ready + // Condition set. + int32 ready_nfs = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Per-Site Status. + repeated NFDeploySiteStatus sites = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Per-Site Status. +message NFDeploySiteStatus { + // Output only. Site id. + string site = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. If true, the Site Deletion is in progress. + bool pending_deletion = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Hydration status. + HydrationStatus hydration = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Workload status. + WorkloadStatus workload = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Hydration status. +message HydrationStatus { + // Output only. SiteVersion Hydration is targeting. + SiteVersion site_version = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Status. + string status = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// SiteVersion Hydration is targeting. +message SiteVersion { + // Output only. NF vendor. + string nf_vendor = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. NF vendor type. + string nf_type = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. NF version. + string nf_version = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Workload status. +message WorkloadStatus { + // Output only. SiteVersion running in the workload cluster. + SiteVersion site_version = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Status. + string status = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/cloud/telcoautomation/v1/telcoautomation_v1.yaml b/third_party/googleapis/google/cloud/telcoautomation/v1/telcoautomation_v1.yaml new file mode 100644 index 000000000..d1bd0a815 --- /dev/null +++ b/third_party/googleapis/google/cloud/telcoautomation/v1/telcoautomation_v1.yaml @@ -0,0 +1,99 @@ +type: google.api.Service +config_version: 3 +name: telcoautomation.googleapis.com +title: Telco Automation API + +apis: +- name: google.cloud.location.Locations +- name: google.cloud.telcoautomation.v1.TelcoAutomation +- name: google.longrunning.Operations + +types: +- name: google.cloud.telcoautomation.v1.OperationMetadata + +documentation: + summary: APIs to automate management of cloud infrastructure for network functions. + 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. + +http: + rules: + - selector: google.cloud.location.Locations.GetLocation + get: '/v1/{name=projects/*/locations/*}' + - selector: google.cloud.location.Locations.ListLocations + get: '/v1/{name=projects/*/locations}' + - selector: google.longrunning.Operations.CancelOperation + post: '/v1/{name=projects/*/locations/*/operations/*}:cancel' + body: '*' + - selector: google.longrunning.Operations.DeleteOperation + delete: '/v1/{name=projects/*/locations/*/operations/*}' + - selector: google.longrunning.Operations.GetOperation + get: '/v1/{name=projects/*/locations/*/operations/*}' + - selector: google.longrunning.Operations.ListOperations + get: '/v1/{name=projects/*/locations/*/operations}' + +authentication: + rules: + - 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.cloud.telcoautomation.v1.TelcoAutomation.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + - selector: 'google.longrunning.Operations.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + +publishing: + new_issue_uri: https://issuetracker.google.com/issues/new?component=190865&template=1161103 + documentation_uri: https://cloud.google.com/telecom-network-automation + api_short_name: telcoautomation + github_label: 'api: telcoautomation' + doc_tag_prefix: telcoautomation + organization: CLOUD + library_settings: + - version: google.cloud.telcoautomation.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 diff --git a/third_party/googleapis/google/cloud/telcoautomation/v1/telcoautomation_v1_grpc_service_config.json b/third_party/googleapis/google/cloud/telcoautomation/v1/telcoautomation_v1_grpc_service_config.json new file mode 100644 index 000000000..8b668f1ac --- /dev/null +++ b/third_party/googleapis/google/cloud/telcoautomation/v1/telcoautomation_v1_grpc_service_config.json @@ -0,0 +1,50 @@ +{ + "methodConfig": [{ + "name": [ + { "service": "google.cloud.library.v1.LibraryService", "method": "ListOrchestrationClusters" }, + { "service": "google.cloud.library.v1.LibraryService", "method": "GetOrchestrationCluster" }, + { "service": "google.cloud.library.v1.LibraryService", "method": "GetBlueprint" }, + { "service": "google.cloud.library.v1.LibraryService", "method": "ListBlueprints" }, + { "service": "google.cloud.library.v1.LibraryService", "method": "ListBlueprintRevisions" }, + { "service": "google.cloud.library.v1.LibraryService", "method": "ListDeploymentRevisions" }, + { "service": "google.cloud.library.v1.LibraryService", "method": "SearchBlueprintRevisions" }, + { "service": "google.cloud.library.v1.LibraryService", "method": "SearchDeploymentRevisions" }, + { "service": "google.cloud.library.v1.LibraryService", "method": "ListPublicBlueprints" }, + { "service": "google.cloud.library.v1.LibraryService", "method": "GetPublicBlueprint" }, + { "service": "google.cloud.library.v1.LibraryService", "method": "GetDeployment" }, + { "service": "google.cloud.library.v1.LibraryService", "method": "ListDeployments" }, + { "service": "google.cloud.library.v1.LibraryService", "method": "ComputeDeploymentStatus" }, + { "service": "google.cloud.library.v1.LibraryService", "method": "GetHydratedDeployment" }, + { "service": "google.cloud.library.v1.LibraryService", "method": "ListHydratedDeployments" } + ], + "timeout": "60s", + "retryPolicy": { + "maxAttempts": 5, + "initialBackoff": "1s", + "maxBackoff": "10s", + "backoffMultiplier": 1.3, + "retryableStatusCodes": ["UNAVAILABLE"] + } + }, + { + "name": [ + { "service": "google.cloud.library.v1.LibraryService", "method": "CreateOrchestrationCluster" }, + { "service": "google.cloud.library.v1.LibraryService", "method": "DeleteOrchestrationCluster" }, + { "service": "google.cloud.library.v1.LibraryService", "method": "CreateBlueprint" }, + { "service": "google.cloud.library.v1.LibraryService", "method": "UpdateBlueprint" }, + { "service": "google.cloud.library.v1.LibraryService", "method": "DeleteBlueprint" }, + { "service": "google.cloud.library.v1.LibraryService", "method": "ApproveBlueprint" }, + { "service": "google.cloud.library.v1.LibraryService", "method": "ProposeBlueprint" }, + { "service": "google.cloud.library.v1.LibraryService", "method": "RejectBlueprint" }, + { "service": "google.cloud.library.v1.LibraryService", "method": "DiscardBlueprintChanges" }, + { "service": "google.cloud.library.v1.LibraryService", "method": "CreateDeployment" }, + { "service": "google.cloud.library.v1.LibraryService", "method": "UpdateDeployment" }, + { "service": "google.cloud.library.v1.LibraryService", "method": "RemoveDeployment" }, + { "service": "google.cloud.library.v1.LibraryService", "method": "ApplyDeployment" }, + { "service": "google.cloud.library.v1.LibraryService", "method": "RollbackDeployment" }, + { "service": "google.cloud.library.v1.LibraryService", "method": "UpdateHydratedDeployment" }, + { "service": "google.cloud.library.v1.LibraryService", "method": "ApplyHydratedDeployment" } + ], + "timeout": "60s" + }] +} \ No newline at end of file diff --git a/third_party/googleapis/google/cloud/telcoautomation/v1alpha1/BUILD.bazel b/third_party/googleapis/google/cloud/telcoautomation/v1alpha1/BUILD.bazel new file mode 100644 index 000000000..7132e0720 --- /dev/null +++ b/third_party/googleapis/google/cloud/telcoautomation/v1alpha1/BUILD.bazel @@ -0,0 +1,330 @@ +# 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. + +load( + "@com_google_googleapis_imports//:imports.bzl", + "cc_grpc_library", + "cc_proto_library", + "csharp_gapic_assembly_pkg", + "csharp_gapic_library", + "csharp_grpc_library", + "csharp_proto_library", + "go_gapic_assembly_pkg", + "go_gapic_library", + "go_proto_library", + "java_gapic_assembly_gradle_pkg", + "java_gapic_library", + "java_gapic_test", + "java_grpc_library", + "java_proto_library", + "nodejs_gapic_assembly_pkg", + "nodejs_gapic_library", + "php_gapic_assembly_pkg", + "php_gapic_library", + "php_proto_library", + "proto_library_with_info", + "py_gapic_assembly_pkg", + "py_gapic_library", + "py_test", + "ruby_cloud_gapic_library", + "ruby_gapic_assembly_pkg", + "ruby_grpc_library", + "ruby_proto_library", +) + +############################################################################## +# Common +############################################################################## +load("@rules_proto//proto:defs.bzl", "proto_library") + +# This is an API workspace, having public visibility by default makes perfect sense. +package(default_visibility = ["//visibility:public"]) + +proto_library( + name = "telcoautomation_proto", + srcs = [ + "telcoautomation.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 = "telcoautomation_proto_with_info", + deps = [ + ":telcoautomation_proto", + "//google/cloud:common_resources_proto", + "//google/cloud/location:location_proto", + ], +) + +java_proto_library( + name = "telcoautomation_java_proto", + deps = [":telcoautomation_proto"], +) + +java_grpc_library( + name = "telcoautomation_java_grpc", + srcs = [":telcoautomation_proto"], + deps = [":telcoautomation_java_proto"], +) + +java_gapic_library( + name = "telcoautomation_java_gapic", + srcs = [":telcoautomation_proto_with_info"], + gapic_yaml = None, + grpc_service_config = "telcoautomation_v1alpha1_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "telcoautomation_v1alpha1.yaml", + test_deps = [ + ":telcoautomation_java_grpc", + "//google/cloud/location:location_java_grpc", + ], + transport = "grpc+rest", + deps = [ + ":telcoautomation_java_proto", + "//google/api:api_java_proto", + "//google/cloud/location:location_java_proto", + ], +) + +java_gapic_test( + name = "telcoautomation_java_gapic_test_suite", + test_classes = [ + "com.google.cloud.telcoautomation.v1alpha1.TelcoAutomationClientHttpJsonTest", + "com.google.cloud.telcoautomation.v1alpha1.TelcoAutomationClientTest", + ], + runtime_deps = [":telcoautomation_java_gapic_test"], +) + +# Open Source Packages +java_gapic_assembly_gradle_pkg( + name = "google-cloud-telcoautomation-v1alpha1-java", + include_samples = True, + transport = "grpc+rest", + deps = [ + ":telcoautomation_java_gapic", + ":telcoautomation_java_grpc", + ":telcoautomation_java_proto", + ":telcoautomation_proto", + ], +) + +go_proto_library( + name = "telcoautomation_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "cloud.google.com/go/telcoautomation/apiv1alpha1/telcoautomationpb", + protos = [":telcoautomation_proto"], + deps = [ + "//google/api:annotations_go_proto", + "//google/longrunning:longrunning_go_proto", + ], +) + +go_gapic_library( + name = "telcoautomation_go_gapic", + srcs = [":telcoautomation_proto_with_info"], + grpc_service_config = "telcoautomation_v1alpha1_grpc_service_config.json", + importpath = "cloud.google.com/go/telcoautomation/apiv1alpha1;telcoautomation", + metadata = True, + release_level = "beta", + rest_numeric_enums = True, + service_yaml = "telcoautomation_v1alpha1.yaml", + transport = "grpc+rest", + deps = [ + ":telcoautomation_go_proto", + "//google/cloud/location:location_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-telcoautomation-v1alpha1-go", + deps = [ + ":telcoautomation_go_gapic", + ":telcoautomation_go_gapic_srcjar-metadata.srcjar", + ":telcoautomation_go_gapic_srcjar-snippets.srcjar", + ":telcoautomation_go_gapic_srcjar-test.srcjar", + ":telcoautomation_go_proto", + ], +) + +py_gapic_library( + name = "telcoautomation_py_gapic", + srcs = [":telcoautomation_proto"], + grpc_service_config = "telcoautomation_v1alpha1_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "telcoautomation_v1alpha1.yaml", + transport = "grpc+rest", + deps = [ + ], +) + +py_test( + name = "telcoautomation_py_gapic_test", + srcs = [ + "telcoautomation_py_gapic_pytest.py", + "telcoautomation_py_gapic_test.py", + ], + legacy_create_init = False, + deps = [":telcoautomation_py_gapic"], +) + +# Open Source Packages +py_gapic_assembly_pkg( + name = "telcoautomation-v1alpha1-py", + deps = [ + ":telcoautomation_py_gapic", + ], +) + +php_proto_library( + name = "telcoautomation_php_proto", + deps = [":telcoautomation_proto"], +) + +php_gapic_library( + name = "telcoautomation_php_gapic", + srcs = [":telcoautomation_proto_with_info"], + grpc_service_config = "telcoautomation_v1alpha1_grpc_service_config.json", + migration_mode = "NEW_SURFACE_ONLY", + rest_numeric_enums = True, + service_yaml = "telcoautomation_v1alpha1.yaml", + transport = "grpc+rest", + deps = [ + ":telcoautomation_php_proto", + ], +) + +# Open Source Packages +php_gapic_assembly_pkg( + name = "google-cloud-telcoautomation-v1alpha1-php", + deps = [ + ":telcoautomation_php_gapic", + ":telcoautomation_php_proto", + ], +) + +nodejs_gapic_library( + name = "telcoautomation_nodejs_gapic", + package_name = "@google-cloud/telcoautomation", + src = ":telcoautomation_proto_with_info", + extra_protoc_parameters = ["metadata"], + grpc_service_config = "telcoautomation_v1alpha1_grpc_service_config.json", + package = "google.cloud.telcoautomation.v1alpha1", + rest_numeric_enums = True, + service_yaml = "telcoautomation_v1alpha1.yaml", + transport = "grpc+rest", + deps = [], +) + +nodejs_gapic_assembly_pkg( + name = "telcoautomation-v1alpha1-nodejs", + deps = [ + ":telcoautomation_nodejs_gapic", + ":telcoautomation_proto", + ], +) + +ruby_proto_library( + name = "telcoautomation_ruby_proto", + deps = [":telcoautomation_proto"], +) + +ruby_grpc_library( + name = "telcoautomation_ruby_grpc", + srcs = [":telcoautomation_proto"], + deps = [":telcoautomation_ruby_proto"], +) + +ruby_cloud_gapic_library( + name = "telcoautomation_ruby_gapic", + srcs = [":telcoautomation_proto_with_info"], + extra_protoc_parameters = [ + "ruby-cloud-gem-name=google-cloud-telcoautomation-v1alpha1", + ], + grpc_service_config = "telcoautomation_v1alpha1_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "telcoautomation_v1alpha1.yaml", + transport = "grpc+rest", + deps = [ + ":telcoautomation_ruby_grpc", + ":telcoautomation_ruby_proto", + ], +) + +# Open Source Packages +ruby_gapic_assembly_pkg( + name = "google-cloud-telcoautomation-v1alpha1-ruby", + deps = [ + ":telcoautomation_ruby_gapic", + ":telcoautomation_ruby_grpc", + ":telcoautomation_ruby_proto", + ], +) + +csharp_proto_library( + name = "telcoautomation_csharp_proto", + extra_opts = [], + deps = [":telcoautomation_proto"], +) + +csharp_grpc_library( + name = "telcoautomation_csharp_grpc", + srcs = [":telcoautomation_proto"], + deps = [":telcoautomation_csharp_proto"], +) + +csharp_gapic_library( + name = "telcoautomation_csharp_gapic", + srcs = [":telcoautomation_proto_with_info"], + common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json", + grpc_service_config = "telcoautomation_v1alpha1_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "telcoautomation_v1alpha1.yaml", + deps = [ + ":telcoautomation_csharp_grpc", + ":telcoautomation_csharp_proto", + ], +) + +# Open Source Packages +csharp_gapic_assembly_pkg( + name = "google-cloud-telcoautomation-v1alpha1-csharp", + deps = [ + ":telcoautomation_csharp_gapic", + ":telcoautomation_csharp_grpc", + ":telcoautomation_csharp_proto", + ], +) + +cc_proto_library( + name = "telcoautomation_cc_proto", + deps = [":telcoautomation_proto"], +) + +cc_grpc_library( + name = "telcoautomation_cc_grpc", + srcs = [":telcoautomation_proto"], + grpc_only = True, + deps = [":telcoautomation_cc_proto"], +) diff --git a/third_party/googleapis/google/cloud/telcoautomation/v1alpha1/telcoautomation.proto b/third_party/googleapis/google/cloud/telcoautomation/v1alpha1/telcoautomation.proto new file mode 100644 index 000000000..80f94a3b1 --- /dev/null +++ b/third_party/googleapis/google/cloud/telcoautomation/v1alpha1/telcoautomation.proto @@ -0,0 +1,1925 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF 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.telcoautomation.v1alpha1; + +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/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.TelcoAutomation.V1"; +option go_package = "cloud.google.com/go/telcoautomation/apiv1alpha1/telcoautomationpb;telcoautomationpb"; +option java_multiple_files = true; +option java_outer_classname = "TelcoautomationProto"; +option java_package = "com.google.cloud.telcoautomation.v1alpha1"; +option php_namespace = "Google\\Cloud\\TelcoAutomation\\V1"; +option ruby_package = "Google::Cloud::TelcoAutomation::V1"; + +// TelcoAutomation Service manages the control plane cluster a.k.a. +// Orchestration Cluster (GKE cluster with config controller) of TNA. It also +// exposes blueprint APIs which manages the lifecycle of blueprints that control +// the infrastructure setup (e.g GDCE clusters) and deployment of network +// functions. +service TelcoAutomation { + option (google.api.default_host) = "telcoautomation.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform"; + + // Lists OrchestrationClusters in a given project and location. + rpc ListOrchestrationClusters(ListOrchestrationClustersRequest) + returns (ListOrchestrationClustersResponse) { + option (google.api.http) = { + get: "/v1alpha1/{parent=projects/*/locations/*}/orchestrationClusters" + }; + option (google.api.method_signature) = "parent"; + } + + // Gets details of a single OrchestrationCluster. + rpc GetOrchestrationCluster(GetOrchestrationClusterRequest) + returns (OrchestrationCluster) { + option (google.api.http) = { + get: "/v1alpha1/{name=projects/*/locations/*/orchestrationClusters/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Creates a new OrchestrationCluster in a given project and location. + rpc CreateOrchestrationCluster(CreateOrchestrationClusterRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1alpha1/{parent=projects/*/locations/*}/orchestrationClusters" + body: "orchestration_cluster" + }; + option (google.api.method_signature) = + "parent,orchestration_cluster,orchestration_cluster_id"; + option (google.longrunning.operation_info) = { + response_type: "OrchestrationCluster" + metadata_type: "OperationMetadata" + }; + } + + // Deletes a single OrchestrationCluster. + rpc DeleteOrchestrationCluster(DeleteOrchestrationClusterRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1alpha1/{name=projects/*/locations/*/orchestrationClusters/*}" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "OperationMetadata" + }; + } + + // Lists EdgeSlms in a given project and location. + rpc ListEdgeSlms(ListEdgeSlmsRequest) returns (ListEdgeSlmsResponse) { + option (google.api.http) = { + get: "/v1alpha1/{parent=projects/*/locations/*}/edgeSlms" + }; + option (google.api.method_signature) = "parent"; + } + + // Gets details of a single EdgeSlm. + rpc GetEdgeSlm(GetEdgeSlmRequest) returns (EdgeSlm) { + option (google.api.http) = { + get: "/v1alpha1/{name=projects/*/locations/*/edgeSlms/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Creates a new EdgeSlm in a given project and location. + rpc CreateEdgeSlm(CreateEdgeSlmRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1alpha1/{parent=projects/*/locations/*}/edgeSlms" + body: "edge_slm" + }; + option (google.api.method_signature) = "parent,edge_slm,edge_slm_id"; + option (google.longrunning.operation_info) = { + response_type: "EdgeSlm" + metadata_type: "OperationMetadata" + }; + } + + // Deletes a single EdgeSlm. + rpc DeleteEdgeSlm(DeleteEdgeSlmRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1alpha1/{name=projects/*/locations/*/edgeSlms/*}" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "OperationMetadata" + }; + } + + // Creates a blueprint. + rpc CreateBlueprint(CreateBlueprintRequest) returns (Blueprint) { + option (google.api.http) = { + post: "/v1alpha1/{parent=projects/*/locations/*/orchestrationClusters/*}/blueprints" + body: "blueprint" + }; + option (google.api.method_signature) = "parent,blueprint,blueprint_id"; + } + + // Updates a blueprint. + rpc UpdateBlueprint(UpdateBlueprintRequest) returns (Blueprint) { + option (google.api.http) = { + patch: "/v1alpha1/{blueprint.name=projects/*/locations/*/orchestrationClusters/*/blueprints/*}" + body: "blueprint" + }; + option (google.api.method_signature) = "blueprint,update_mask"; + } + + // Returns the requested blueprint. + rpc GetBlueprint(GetBlueprintRequest) returns (Blueprint) { + option (google.api.http) = { + get: "/v1alpha1/{name=projects/*/locations/*/orchestrationClusters/*/blueprints/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Deletes a blueprint and all its revisions. + rpc DeleteBlueprint(DeleteBlueprintRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + delete: "/v1alpha1/{name=projects/*/locations/*/orchestrationClusters/*/blueprints/*}" + }; + option (google.api.method_signature) = "name"; + } + + // List all blueprints. + rpc ListBlueprints(ListBlueprintsRequest) returns (ListBlueprintsResponse) { + option (google.api.http) = { + get: "/v1alpha1/{parent=projects/*/locations/*/orchestrationClusters/*}/blueprints" + }; + option (google.api.method_signature) = "parent"; + } + + // Approves a blueprint and commits a new revision. + rpc ApproveBlueprint(ApproveBlueprintRequest) returns (Blueprint) { + option (google.api.http) = { + post: "/v1alpha1/{name=projects/*/locations/*/orchestrationClusters/*/blueprints/*}:approve" + body: "*" + }; + option (google.api.method_signature) = "name"; + } + + // Proposes a blueprint for approval of changes. + rpc ProposeBlueprint(ProposeBlueprintRequest) returns (Blueprint) { + option (google.api.http) = { + post: "/v1alpha1/{name=projects/*/locations/*/orchestrationClusters/*/blueprints/*}:propose" + body: "*" + }; + option (google.api.method_signature) = "name"; + } + + // Rejects a blueprint revision proposal and flips it back to Draft state. + rpc RejectBlueprint(RejectBlueprintRequest) returns (Blueprint) { + option (google.api.http) = { + post: "/v1alpha1/{name=projects/*/locations/*/orchestrationClusters/*/blueprints/*}:reject" + body: "*" + }; + option (google.api.method_signature) = "name"; + } + + // List blueprint revisions of a given blueprint. + rpc ListBlueprintRevisions(ListBlueprintRevisionsRequest) + returns (ListBlueprintRevisionsResponse) { + option (google.api.http) = { + get: "/v1alpha1/{name=projects/*/locations/*/orchestrationClusters/*/blueprints/*}:listRevisions" + }; + option (google.api.method_signature) = "name"; + } + + // Searches across blueprint revisions. + rpc SearchBlueprintRevisions(SearchBlueprintRevisionsRequest) + returns (SearchBlueprintRevisionsResponse) { + option (google.api.http) = { + get: "/v1alpha1/{parent=projects/*/locations/*/orchestrationClusters/*}/blueprints:searchRevisions" + }; + option (google.api.method_signature) = "parent,query"; + } + + // Searches across deployment revisions. + rpc SearchDeploymentRevisions(SearchDeploymentRevisionsRequest) + returns (SearchDeploymentRevisionsResponse) { + option (google.api.http) = { + get: "/v1alpha1/{parent=projects/*/locations/*/orchestrationClusters/*}/deployments:searchRevisions" + }; + option (google.api.method_signature) = "parent,query"; + } + + // Discards the changes in a blueprint and reverts the blueprint to the last + // approved blueprint revision. No changes take place if a blueprint does not + // have revisions. + rpc DiscardBlueprintChanges(DiscardBlueprintChangesRequest) + returns (DiscardBlueprintChangesResponse) { + option (google.api.http) = { + post: "/v1alpha1/{name=projects/*/locations/*/orchestrationClusters/*/blueprints/*}:discard" + body: "*" + }; + option (google.api.method_signature) = "name"; + } + + // Lists the blueprints in TNA's public catalog. Default page size = 20, + // Max Page Size = 100. + rpc ListPublicBlueprints(ListPublicBlueprintsRequest) + returns (ListPublicBlueprintsResponse) { + option (google.api.http) = { + get: "/v1alpha1/{parent=projects/*/locations/*}/publicBlueprints" + }; + option (google.api.method_signature) = "parent"; + } + + // Returns the requested public blueprint. + rpc GetPublicBlueprint(GetPublicBlueprintRequest) returns (PublicBlueprint) { + option (google.api.http) = { + get: "/v1alpha1/{name=projects/*/locations/*/publicBlueprints/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Creates a deployment. + rpc CreateDeployment(CreateDeploymentRequest) returns (Deployment) { + option (google.api.http) = { + post: "/v1alpha1/{parent=projects/*/locations/*/orchestrationClusters/*}/deployments" + body: "deployment" + }; + option (google.api.method_signature) = "parent,deployment,deployment_id"; + } + + // Updates a deployment. + rpc UpdateDeployment(UpdateDeploymentRequest) returns (Deployment) { + option (google.api.http) = { + patch: "/v1alpha1/{deployment.name=projects/*/locations/*/orchestrationClusters/*/deployments/*}" + body: "deployment" + }; + option (google.api.method_signature) = "deployment,update_mask"; + } + + // Returns the requested deployment. + rpc GetDeployment(GetDeploymentRequest) returns (Deployment) { + option (google.api.http) = { + get: "/v1alpha1/{name=projects/*/locations/*/orchestrationClusters/*/deployments/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Removes the deployment by marking it as DELETING. Post which deployment and + // it's revisions gets deleted. + rpc RemoveDeployment(RemoveDeploymentRequest) + returns (google.protobuf.Empty) { + option (google.api.http) = { + post: "/v1alpha1/{name=projects/*/locations/*/orchestrationClusters/*/deployments/*}:remove" + body: "*" + }; + option (google.api.method_signature) = "name"; + } + + // List all deployments. + rpc ListDeployments(ListDeploymentsRequest) + returns (ListDeploymentsResponse) { + option (google.api.http) = { + get: "/v1alpha1/{parent=projects/*/locations/*/orchestrationClusters/*}/deployments" + }; + option (google.api.method_signature) = "parent"; + } + + // List deployment revisions of a given deployment. + rpc ListDeploymentRevisions(ListDeploymentRevisionsRequest) + returns (ListDeploymentRevisionsResponse) { + option (google.api.http) = { + get: "/v1alpha1/{name=projects/*/locations/*/orchestrationClusters/*/deployments/*}:listRevisions" + }; + option (google.api.method_signature) = "name"; + } + + // Discards the changes in a deployment and reverts the deployment to the last + // approved deployment revision. No changes take place if a deployment does + // not have revisions. + rpc DiscardDeploymentChanges(DiscardDeploymentChangesRequest) + returns (DiscardDeploymentChangesResponse) { + option (google.api.http) = { + post: "/v1alpha1/{name=projects/*/locations/*/orchestrationClusters/*/deployments/*}:discard" + body: "*" + }; + option (google.api.method_signature) = "name"; + } + + // Applies the deployment's YAML files to the parent orchestration cluster. + rpc ApplyDeployment(ApplyDeploymentRequest) returns (Deployment) { + option (google.api.http) = { + post: "/v1alpha1/{name=projects/*/locations/*/orchestrationClusters/*/deployments/*}:apply" + body: "*" + }; + option (google.api.method_signature) = "name"; + } + + // Returns the requested deployment status. + rpc ComputeDeploymentStatus(ComputeDeploymentStatusRequest) + returns (ComputeDeploymentStatusResponse) { + option (google.api.http) = { + get: "/v1alpha1/{name=projects/*/locations/*/orchestrationClusters/*/deployments/*}:computeDeploymentStatus" + }; + option (google.api.method_signature) = "name"; + } + + // Rollback the active deployment to the given past approved deployment + // revision. + rpc RollbackDeployment(RollbackDeploymentRequest) returns (Deployment) { + option (google.api.http) = { + post: "/v1alpha1/{name=projects/*/locations/*/orchestrationClusters/*/deployments/*}:rollback" + body: "*" + }; + option (google.api.method_signature) = "name,revision_id"; + } + + // Returns the requested hydrated deployment. + rpc GetHydratedDeployment(GetHydratedDeploymentRequest) + returns (HydratedDeployment) { + option (google.api.http) = { + get: "/v1alpha1/{name=projects/*/locations/*/orchestrationClusters/*/deployments/*/hydratedDeployments/*}" + }; + option (google.api.method_signature) = "name"; + } + + // List all hydrated deployments present under a deployment. + rpc ListHydratedDeployments(ListHydratedDeploymentsRequest) + returns (ListHydratedDeploymentsResponse) { + option (google.api.http) = { + get: "/v1alpha1/{parent=projects/*/locations/*/orchestrationClusters/*/deployments/*}/hydratedDeployments" + }; + option (google.api.method_signature) = "parent"; + } + + // Updates a hydrated deployment. + rpc UpdateHydratedDeployment(UpdateHydratedDeploymentRequest) + returns (HydratedDeployment) { + option (google.api.http) = { + patch: "/v1alpha1/{hydrated_deployment.name=projects/*/locations/*/orchestrationClusters/*/deployments/*/hydratedDeployments/*}" + body: "hydrated_deployment" + }; + option (google.api.method_signature) = "hydrated_deployment,update_mask"; + } + + // Applies a hydrated deployment to a workload cluster. + rpc ApplyHydratedDeployment(ApplyHydratedDeploymentRequest) + returns (HydratedDeployment) { + option (google.api.http) = { + post: "/v1alpha1/{name=projects/*/locations/*/orchestrationClusters/*/deployments/*/hydratedDeployments/*}:apply" + body: "*" + }; + option (google.api.method_signature) = "name"; + } +} + +// BlueprintView defines the type of view of the blueprint. +enum BlueprintView { + // Unspecified enum value. + BLUEPRINT_VIEW_UNSPECIFIED = 0; + + // View which only contains metadata. + BLUEPRINT_VIEW_BASIC = 1; + + // View which contains metadata and files it encapsulates. + BLUEPRINT_VIEW_FULL = 2; +} + +// DeploymentView defines the type of view of the deployment. +enum DeploymentView { + // Unspecified enum value. + DEPLOYMENT_VIEW_UNSPECIFIED = 0; + + // View which only contains metadata. + DEPLOYMENT_VIEW_BASIC = 1; + + // View which contains metadata and files it encapsulates. + DEPLOYMENT_VIEW_FULL = 2; +} + +// Represent type of CR. +enum ResourceType { + // Unspecified resource type. + RESOURCE_TYPE_UNSPECIFIED = 0; + + // User specified NF Deploy CR. + NF_DEPLOY_RESOURCE = 1; + + // CRs that are part of a blueprint. + DEPLOYMENT_RESOURCE = 2; +} + +// Status of an entity (resource, deployment). +enum Status { + // Unknown state. + STATUS_UNSPECIFIED = 0; + + // Under progress. + STATUS_IN_PROGRESS = 1; + + // Running and ready to serve traffic. + STATUS_ACTIVE = 2; + + // Failed or stalled. + STATUS_FAILED = 3; + + // Delete in progress. + STATUS_DELETING = 4; + + // Deleted deployment. + STATUS_DELETED = 5; + + // NFDeploy specific status. Peering in progress. + STATUS_PEERING = 10; + + // K8s objects such as NetworkAttachmentDefinition don't have a defined + // status. + STATUS_NOT_APPLICABLE = 11; +} + +// DeploymentLevel of a blueprint signifies where the blueprint will be +// applied. +enum DeploymentLevel { + // Default unspecified deployment level. + DEPLOYMENT_LEVEL_UNSPECIFIED = 0; + + // Blueprints at HYDRATION level cannot be used to create a Deployment + // (A user cannot manually initate deployment of these blueprints on + // orchestration or workload cluster). + // These blueprints stay in a user's private catalog and are configured and + // deployed by TNA automation. + HYDRATION = 1; + + // Blueprints at SINGLE_DEPLOYMENT level can be + // a) Modified in private catalog. + // b) Used to create a deployment on orchestration cluster by the user, once + // approved. + SINGLE_DEPLOYMENT = 2; + + // Blueprints at MULTI_DEPLOYMENT level can be + // a) Modified in private catalog. + // b) Used to create a deployment on orchestration cluster which will create + // further hydrated deployments. + MULTI_DEPLOYMENT = 3; + + // Blueprints at WORKLOAD_CLUSTER_DEPLOYMENT level can be + // a) Modified in private catalog. + // b) Used to create a deployment on workload cluster by the user, once + // approved. + WORKLOAD_CLUSTER_DEPLOYMENT = 4; +} + +// Orchestration cluster represents a GKE cluster with config controller and +// TNA specific components installed on it. +message OrchestrationCluster { + option (google.api.resource) = { + type: "telcoautomation.googleapis.com/OrchestrationCluster" + pattern: "projects/{project}/locations/{location}/orchestrationClusters/{orchestration_cluster}" + }; + + // Possible states that the Orchestration Cluster can be in. + enum State { + // Unspecified state. + STATE_UNSPECIFIED = 0; + + // OrchestrationCluster is being created. + CREATING = 1; + + // OrchestrationCluster has been created and is ready for use. + ACTIVE = 2; + + // OrchestrationCluster is being deleted. + DELETING = 3; + + // OrchestrationCluster encountered an error and is in an indeterministic + // state. User can still initiate a delete operation on this state. + FAILED = 4; + } + + // Name of the orchestration cluster. The name of orchestration cluster cannot + // be more than 24 characters. + string name = 1; + + // Management configuration of the underlying GKE cluster. + ManagementConfig management_config = 5; + + // Output only. [Output only] Create time stamp. + google.protobuf.Timestamp create_time = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. [Output only] Update time stamp. + google.protobuf.Timestamp update_time = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Labels as key value pairs. + map labels = 4; + + // Output only. Provides the TNA version installed on the cluster. + string tna_version = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. State of the Orchestration Cluster. + State state = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// EdgeSlm represents an SLM instance which manages the lifecycle of edge +// components installed on Workload clusters managed by an Orchestration +// Cluster. +message EdgeSlm { + option (google.api.resource) = { + type: "telcoautomation.googleapis.com/EdgeSlm" + pattern: "projects/{project}/locations/{location}/edgeSlms/{edge_slm}" + plural: "edgeSlms" + singular: "edgeSlm" + }; + + // Possible states of the resource. + enum State { + // Unspecified state. + STATE_UNSPECIFIED = 0; + + // EdgeSlm is being created. + CREATING = 1; + + // EdgeSlm has been created and is ready for use. + ACTIVE = 2; + + // EdgeSlm is being deleted. + DELETING = 3; + + // EdgeSlm encountered an error and is in an indeterministic + // state. User can still initiate a delete operation on this state. + FAILED = 4; + } + + // Workload clusters supported by TNA. New values will be added to the enum + // list as TNA adds supports for new workload clusters in future. + enum WorkloadClusterType { + // Unspecified workload cluster. + WORKLOAD_CLUSTER_TYPE_UNSPECIFIED = 0; + + // Workload cluster is a GDCE cluster. + GDCE = 1; + + // Workload cluster is a GKE cluster. + GKE = 2; + } + + // Name of the EdgeSlm resource. + string name = 1; + + // Immutable. Reference to the orchestration cluster on which templates for + // this resources will be applied. This should be of format + // projects/{project}/locations/{location}/orchestrationClusters/{orchestration_cluster}. + string orchestration_cluster = 5 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "telcoautomation.googleapis.com/OrchestrationCluster" + } + ]; + + // Output only. [Output only] Create time stamp. + google.protobuf.Timestamp create_time = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. [Output only] Update time stamp. + google.protobuf.Timestamp update_time = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Optional. Labels as key value pairs. The key and value should contain + // characters which are UTF-8 compliant and less than 50 characters. + map labels = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Output only. Provides the active TNA version for this resource. + string tna_version = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. State of the EdgeSlm resource. + State state = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Optional. Type of workload cluster for which an EdgeSLM resource is + // created. + WorkloadClusterType workload_cluster_type = 8 + [(google.api.field_behavior) = OPTIONAL]; +} + +// A Blueprint contains a collection of kubernetes resources in the form of +// YAML files. The file contents of a blueprint are collectively known as +// package. A blueprint can be +// a) imported from TNA's public catalog +// b) modified as per a user's need +// c) proposed and approved. +// On approval, a revision of blueprint is created which can be used to +// create a deployment on Orchestration or Workload Cluster. +message Blueprint { + option (google.api.resource) = { + type: "telcoautomation.googleapis.com/Blueprint" + pattern: "projects/{project}/locations/{location}/orchestrationClusters/{orchestration_cluster}/blueprints/{blueprint}" + plural: "blueprints" + singular: "blueprint" + }; + + // Approval state indicates the state of a Blueprint in its approval + // lifecycle. + enum ApprovalState { + // Unspecified state. + APPROVAL_STATE_UNSPECIFIED = 0; + + // A blueprint starts in DRAFT state once it is created. All edits are made + // to the blueprint in DRAFT state. + DRAFT = 1; + + // When the edits are ready for review, blueprint can be proposed and moves + // to PROPOSED state. Edits cannot be made to a blueprint in PROPOSED state. + PROPOSED = 2; + + // When a proposed blueprint is approved, it moves to APPROVED state. A new + // revision is committed. The latest committed revision can be used to + // create a deployment on Orchestration or Workload Cluster. Edits to an + // APPROVED blueprint changes its state back to DRAFT. The last committed + // revision of a blueprint represents its latest APPROVED state. + APPROVED = 3; + } + + // The name of the blueprint. If unspecified, the name will be autogenerated + // from server side. Name of the blueprint must not contain `@` character. + string name = 1; + + // Output only. Immutable. The revision ID of the blueprint. + // A new revision is committed whenever a blueprint is approved. + string revision_id = 2 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.field_behavior) = OUTPUT_ONLY + ]; + + // Required. Immutable. The public blueprint ID from which this blueprint was + // created. + string source_blueprint = 3 [ + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = IMMUTABLE + ]; + + // Output only. The timestamp that the revision was created. + google.protobuf.Timestamp revision_create_time = 5 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Approval state of the blueprint (DRAFT, PROPOSED, APPROVED) + ApprovalState approval_state = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Optional. Human readable name of a Blueprint. + string display_name = 7 [(google.api.field_behavior) = OPTIONAL]; + + // Output only. Name of the repository where the blueprint files are stored. + string repository = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Optional. Files present in a blueprint. + // When invoking UpdateBlueprint API, only the modified files should be + // included in this. Files that are not included in the update of a blueprint + // will not be changed. + repeated File files = 9 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Labels are key-value attributes that can be set on a blueprint + // resource by the user. + map labels = 10 [(google.api.field_behavior) = OPTIONAL]; + + // Output only. Blueprint creation time. + google.protobuf.Timestamp create_time = 11 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The timestamp when the blueprint was updated. + google.protobuf.Timestamp update_time = 12 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Source provider is the author of a public blueprint, from + // which this blueprint is created. + string source_provider = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. DeploymentLevel of a blueprint signifies where the blueprint + // will be applied. e.g. [HYDRATION, SINGLE_DEPLOYMENT, MULTI_DEPLOYMENT] + DeploymentLevel deployment_level = 14 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Indicates if the deployment created from this blueprint can be + // rolled back. + bool rollback_support = 15 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// A Blueprint contains a collection of kubernetes resources in the form of +// YAML files. The file contents of a blueprint are collectively known as +// package. +// Public blueprint is a TNA provided blueprint that in present in TNA's public +// catalog. A user can copy the public blueprint to their private catalog for +// further modifications. +message PublicBlueprint { + option (google.api.resource) = { + type: "telcoautomation.googleapis.com/PublicBlueprint" + pattern: "projects/{project}/locations/{location}/publicBlueprints/{public_lueprint}" + plural: "publicBlueprints" + singular: "publicBlueprint" + }; + + // Name of the public blueprint. + string name = 1; + + // The display name of the public blueprint. + string display_name = 2; + + // The description of the public blueprint. + string description = 3; + + // DeploymentLevel of a blueprint signifies where the blueprint will be + // applied. e.g. [HYDRATION, SINGLE_DEPLOYMENT, MULTI_DEPLOYMENT] + DeploymentLevel deployment_level = 4; + + // Source provider is the author of a public blueprint. e.g. Google, vendors + string source_provider = 5; + + // Output only. Indicates if the deployment created from this blueprint can be + // rolled back. + bool rollback_support = 15 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Deployment contains a collection of YAML files (This collection is also known +// as package) that can to applied on an orchestration cluster (GKE cluster with +// TNA addons) or a workload cluster. +message Deployment { + option (google.api.resource) = { + type: "telcoautomation.googleapis.com/Deployment" + pattern: "projects/{project}/locations/{location}/orchestrationClusters/{orchestration_cluster}/deployments/{deployment}" + plural: "deployments" + singular: "deployment" + }; + + // State defines which state the current deployment is in. + enum State { + // Unspecified state. + STATE_UNSPECIFIED = 0; + + // A deployment starts in DRAFT state. All edits are made in DRAFT state. A + // deployment opened for editing after applying will be in draft state, + // while its prevision revision will be its current applied version. + DRAFT = 1; + + // This state means that the contents (YAML files containing kubernetes + // resources) of the deployment have been applied to an Orchestration or + // Workload Cluster. A revision is created when a deployment is applied. + // This revision will represent the latest view of what is applied on the + // cluster until the deployment is modified and applied again, which will + // create a new revision. + APPLIED = 2; + + // A deployment in DELETING state has been marked for deletion. Its + // deletion status can be queried using `ComputeDeploymentStatus` API. No + // updates are allowed to a deployment in DELETING state. + DELETING = 3; + } + + // The name of the deployment. + string name = 1; + + // Output only. Immutable. The revision ID of the deployment. + // A new revision is committed whenever a change in deployment is applied. + string revision_id = 2 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.field_behavior) = OUTPUT_ONLY + ]; + + // Required. The blueprint revision from which this deployment was created. + string source_blueprint_revision = 3 [(google.api.field_behavior) = REQUIRED]; + + // Output only. The timestamp that the revision was created. + google.protobuf.Timestamp revision_create_time = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. State of the deployment (DRAFT, APPLIED, DELETING). + State state = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Optional. Human readable name of a Deployment. + string display_name = 6 [(google.api.field_behavior) = OPTIONAL]; + + // Output only. Name of the repository where the deployment package files are + // stored. + string repository = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Optional. Files present in a deployment. + // When invoking UpdateDeployment API, only the modified files should be + // included in this. Files that are not included in the update of a deployment + // will not be changed. + repeated File files = 8 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Labels are key-value attributes that can be set on a deployment + // resource by the user. + map labels = 9 [(google.api.field_behavior) = OPTIONAL]; + + // Output only. Deployment creation time. + google.protobuf.Timestamp create_time = 10 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The timestamp when the deployment was updated. + google.protobuf.Timestamp update_time = 11 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Source provider is the author of a public blueprint, from + // which this deployment is created. + string source_provider = 12 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Optional. Immutable. The WorkloadCluster on which to create the Deployment. + // This field should only be passed when the deployment_level of the source + // blueprint specifies deployments on workload clusters e.g. + // WORKLOAD_CLUSTER_DEPLOYMENT. + string workload_cluster = 13 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.field_behavior) = OPTIONAL + ]; + + // Output only. Attributes to where the deployment can inflict changes. The + // value can only be [SINGLE_DEPLOYMENT, MULTI_DEPLOYMENT]. + DeploymentLevel deployment_level = 14 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Indicates if the deployment can be rolled back, exported from + // public blueprint. + bool rollback_support = 15 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// A collection of kubernetes yaml files which are deployed on a Workload +// Cluster. Hydrated Deployments are created by TNA intent based automation. +message HydratedDeployment { + option (google.api.resource) = { + type: "telcoautomation.googleapis.com/HydratedDeployment" + pattern: "projects/{project}/locations/{location}/orchestrationClusters/{orchestration_cluster}/deployments/{deployment}/hydratedDeployments/{hydrated_deployment}" + plural: "hydratedDeployments" + singular: "hydratedDeployment" + }; + + // State defines which state the current hydrated deployment is in. + enum State { + // Unspecified state. + STATE_UNSPECIFIED = 0; + + // A hydrated deployment starts in DRAFT state. All edits are made in DRAFT + // state. + DRAFT = 1; + + // When the edit is applied, the hydrated deployment moves to APPLIED + // state. No changes can be made once a hydrated deployment is applied. + APPLIED = 2; + } + + // Output only. The name of the hydrated deployment. + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. State of the hydrated deployment (DRAFT, APPLIED). + State state = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Optional. File contents of a hydrated deployment. + // When invoking UpdateHydratedBlueprint API, only the modified files should + // be included in this. Files that are not included in the update of a + // hydrated deployment will not be changed. + repeated File files = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Output only. WorkloadCluster identifies which workload cluster will the + // hydrated deployment will be deployed on. + string workload_cluster = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Message for requesting list of OrchestrationClusters. +message ListOrchestrationClustersRequest { + // Required. Parent value for ListOrchestrationClustersRequest + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "telcoautomation.googleapis.com/OrchestrationCluster" + } + ]; + + // Requested page size. Server may return fewer items than requested. + // If unspecified, server will pick an appropriate default. + int32 page_size = 2; + + // A token identifying a page of results the server should return. + string page_token = 3; + + // Filtering results. + string filter = 4; + + // Hint for how to order the results. + string order_by = 5; +} + +// Message for response to listing OrchestrationClusters. +message ListOrchestrationClustersResponse { + // The list of OrchestrationCluster + repeated OrchestrationCluster orchestration_clusters = 1; + + // A token identifying a page of results the server should return. + string next_page_token = 2; + + // Locations that could not be reached. + repeated string unreachable = 3; +} + +// Message for getting a OrchestrationCluster. +message GetOrchestrationClusterRequest { + // Required. Name of the resource + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "telcoautomation.googleapis.com/OrchestrationCluster" + } + ]; +} + +// Message for creating a OrchestrationCluster. +message CreateOrchestrationClusterRequest { + // Required. Value for parent. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "telcoautomation.googleapis.com/OrchestrationCluster" + } + ]; + + // Required. Id of the requesting object + // If auto-generating Id server-side, remove this field and + // orchestration_cluster_id from the method_signature of Create RPC + string orchestration_cluster_id = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The resource being created + OrchestrationCluster orchestration_cluster = 3 + [(google.api.field_behavior) = REQUIRED]; + + // Optional. An optional request ID to identify requests. Specify a unique + // request ID so that if you must retry your request, the server will know to + // ignore the request if it has already been completed. The server will + // guarantee that for at least 60 minutes since the first request. + // + // For example, consider a situation where you make an initial request and + // the request times out. If you make the request again with the same request + // ID, the server can check if original operation with the same request ID + // was received, and if so, will ignore the second request. This prevents + // clients from accidentally creating duplicate commitments. + // + // The request ID must be a valid UUID with the exception that zero UUID is + // not supported (00000000-0000-0000-0000-000000000000). + string request_id = 4 [(google.api.field_behavior) = OPTIONAL]; +} + +// Message for deleting a OrchestrationCluster. +message DeleteOrchestrationClusterRequest { + // Required. Name of the resource + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "telcoautomation.googleapis.com/OrchestrationCluster" + } + ]; + + // Optional. An optional request ID to identify requests. Specify a unique + // request ID so that if you must retry your request, the server will know to + // ignore the request if it has already been completed. The server will + // guarantee that for at least 60 minutes after the first request. + // + // For example, consider a situation where you make an initial request and + // the request times out. If you make the request again with the same request + // ID, the server can check if original operation with the same request ID + // was received, and if so, will ignore the second request. This prevents + // clients from accidentally creating duplicate commitments. + // + // The request ID must be a valid UUID with the exception that zero UUID is + // not supported (00000000-0000-0000-0000-000000000000). + string request_id = 2 [(google.api.field_behavior) = OPTIONAL]; +} + +// Message for requesting list of EdgeSlms +message ListEdgeSlmsRequest { + // Required. Parent value for ListEdgeSlmsRequest + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "telcoautomation.googleapis.com/EdgeSlm" + } + ]; + + // Requested page size. Server may return fewer items than requested. + // If unspecified, server will pick an appropriate default. + int32 page_size = 2; + + // A token identifying a page of results the server should return. + string page_token = 3; + + // Filtering results + string filter = 4; + + // Hint for how to order the results + string order_by = 5; +} + +// Message for response to listing EdgeSlms. +message ListEdgeSlmsResponse { + // The list of EdgeSlm + repeated EdgeSlm edge_slms = 1; + + // A token identifying a page of results the server should return. + string next_page_token = 2; + + // Locations that could not be reached. + repeated string unreachable = 3; +} + +// Message for getting a EdgeSlm. +message GetEdgeSlmRequest { + // Required. Name of the resource + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "telcoautomation.googleapis.com/EdgeSlm" + } + ]; +} + +// Message for creating a EdgeSlm. +message CreateEdgeSlmRequest { + // Required. Value for parent. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "telcoautomation.googleapis.com/EdgeSlm" + } + ]; + + // Required. Id of the requesting object + // If auto-generating Id server-side, remove this field and + // edge_slm_id from the method_signature of Create RPC + string edge_slm_id = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The resource being created + EdgeSlm edge_slm = 3 [(google.api.field_behavior) = REQUIRED]; + + // Optional. An optional request ID to identify requests. Specify a unique + // request ID so that if you must retry your request, the server will know to + // ignore the request if it has already been completed. The server will + // guarantee that for at least 60 minutes since the first request. + // + // For example, consider a situation where you make an initial request and + // the request times out. If you make the request again with the same request + // ID, the server can check if original operation with the same request ID + // was received, and if so, will ignore the second request. This prevents + // clients from accidentally creating duplicate commitments. + // + // The request ID must be a valid UUID with the exception that zero UUID is + // not supported (00000000-0000-0000-0000-000000000000). + string request_id = 4 [(google.api.field_behavior) = OPTIONAL]; +} + +// Message for deleting a EdgeSlm. +message DeleteEdgeSlmRequest { + // Required. Name of the resource + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "telcoautomation.googleapis.com/EdgeSlm" + } + ]; + + // Optional. An optional request ID to identify requests. Specify a unique + // request ID so that if you must retry your request, the server will know to + // ignore the request if it has already been completed. The server will + // guarantee that for at least 60 minutes after the first request. + // + // For example, consider a situation where you make an initial request and + // the request times out. If you make the request again with the same request + // ID, the server can check if original operation with the same request ID + // was received, and if so, will ignore the second request. This prevents + // clients from accidentally creating duplicate commitments. + // + // The request ID must be a valid UUID with the exception that zero UUID is + // not supported (00000000-0000-0000-0000-000000000000). + string request_id = 2 [(google.api.field_behavior) = OPTIONAL]; +} + +// Request object for `CreateBlueprint`. +message CreateBlueprintRequest { + // Required. The name of parent resource. + // Format should be - + // "projects/{project_id}/locations/{location_name}/orchestrationClusters/{orchestration_cluster}". + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "telcoautomation.googleapis.com/Blueprint" + } + ]; + + // Optional. The name of the blueprint. + string blueprint_id = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Required. The `Blueprint` to create. + Blueprint blueprint = 3 [(google.api.field_behavior) = REQUIRED]; +} + +// Request object for `UpdateBlueprint`. +message UpdateBlueprintRequest { + // Required. The `blueprint` to update. + Blueprint blueprint = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. Update mask is used to specify the fields to be overwritten in + // the `blueprint` resource by the update. + google.protobuf.FieldMask update_mask = 2 + [(google.api.field_behavior) = REQUIRED]; +} + +// Request object for `GetBlueprint`. +message GetBlueprintRequest { + // Required. The name of the blueprint. + // Case 1: If the name provided in the request is + // {blueprint_id}@{revision_id}, then the revision with revision_id will be + // returned. Case 2: If the name provided in the request is {blueprint}, then + // the current state of the blueprint is returned. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "telcoautomation.googleapis.com/Blueprint" + } + ]; + + // Optional. Defines the type of view of the blueprint. + // When field is not present BLUEPRINT_VIEW_BASIC is considered as default. + BlueprintView view = 2 [(google.api.field_behavior) = OPTIONAL]; +} + +// Request object for `DeleteBlueprint`. +message DeleteBlueprintRequest { + // Required. The name of blueprint to delete. + // Blueprint name should be in the format {blueprint_id}, if + // {blueprint_id}@{revision_id} is passed then the API throws invalid + // argument. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "telcoautomation.googleapis.com/Blueprint" + } + ]; +} + +// Request object for `ListBlueprints`. +message ListBlueprintsRequest { + // Required. The name of parent orchestration cluster resource. + // Format should be - + // "projects/{project_id}/locations/{location_name}/orchestrationClusters/{orchestration_cluster}". + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "telcoautomation.googleapis.com/Blueprint" + } + ]; + + // Optional. Filtering only supports equality on blueprint state. + // It should be in the form: "state = DRAFT". `OR` operator can be used to + // get response for multiple states. e.g. "state = DRAFT OR state = PROPOSED". + string filter = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The maximum number of blueprints to return per page. + int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The page token, received from a previous ListBlueprints call. + // It can be provided to retrieve the subsequent page. + string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// Response object for `ListBlueprints`. +message ListBlueprintsResponse { + // The list of requested blueprints. + repeated Blueprint blueprints = 1; + + // A token that can be sent as `page_token` to retrieve the next page. + // If this field is omitted, there are no subsequent pages. + string next_page_token = 2; +} + +// Request object for `ApproveBlueprint`. +message ApproveBlueprintRequest { + // Required. The name of the blueprint to approve. The blueprint must be in + // Proposed state. A new revision is committed on approval. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "telcoautomation.googleapis.com/Blueprint" + } + ]; +} + +// Request object for `ProposeBlueprint`. +message ProposeBlueprintRequest { + // Required. The name of the blueprint being proposed. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "telcoautomation.googleapis.com/Blueprint" + } + ]; +} + +// Request object for `RejectBlueprint`. +message RejectBlueprintRequest { + // Required. The name of the blueprint being rejected. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "telcoautomation.googleapis.com/Blueprint" + } + ]; +} + +// Request object for `ListBlueprintRevisions`. +message ListBlueprintRevisionsRequest { + // Required. The name of the blueprint to list revisions for. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "telcoautomation.googleapis.com/Blueprint" + } + ]; + + // The maximum number of revisions to return per page. + int32 page_size = 2; + + // The page token, received from a previous ListBlueprintRevisions call + // It can be provided to retrieve the subsequent page. + string page_token = 3; +} + +// Response object for `ListBlueprintRevisions`. +message ListBlueprintRevisionsResponse { + // The revisions of the blueprint. + repeated Blueprint blueprints = 1; + + // A token that can be sent as `page_token` to retrieve the next page. + // If this field is omitted, there are no subsequent pages. + string next_page_token = 2; +} + +// Request object for `SearchBlueprintRevisions`. +message SearchBlueprintRevisionsRequest { + // Required. The name of parent orchestration cluster resource. + // Format should be - + // "projects/{project_id}/locations/{location_name}/orchestrationClusters/{orchestration_cluster}". + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "telcoautomation.googleapis.com/Blueprint" + } + ]; + + // Required. Supported queries: + // 1. "" : Lists all revisions across all blueprints. + // 2. "latest=true" : Lists latest revisions across all blueprints. + // 3. "name={name}" : Lists all revisions of blueprint with name + // {name}. + // 4. "name={name} latest=true": Lists latest revision of blueprint with name + // {name} + string query = 2 [(google.api.field_behavior) = REQUIRED]; + + // Optional. The maximum number of blueprints revisions to return per page. + // max page size = 100, default page size = 20. + int32 page_size = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The page token, received from a previous search call. + // It can be provided to retrieve the subsequent page. + string page_token = 4 [(google.api.field_behavior) = OPTIONAL]; +} + +// Response object for `SearchBlueprintRevisions`. +message SearchBlueprintRevisionsResponse { + // The list of requested blueprint revisions. + repeated Blueprint blueprints = 1; + + // A token that can be sent as `page_token` to retrieve the next page. + // If this field is omitted, there are no subsequent pages. + string next_page_token = 2; +} + +// Request object for `DiscardBlueprintChanges`. +message DiscardBlueprintChangesRequest { + // Required. The name of the blueprint of which changes are being discarded. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "telcoautomation.googleapis.com/Blueprint" + } + ]; +} + +// Response object for `DiscardBlueprintChanges`. +message DiscardBlueprintChangesResponse {} + +// Request object for `ListPublicBlueprints`. +message ListPublicBlueprintsRequest { + // Required. Parent value of public blueprint. + // Format should be - + // "projects/{project_id}/locations/{location_name}". + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "telcoautomation.googleapis.com/PublicBlueprint" + } + ]; + + // Optional. Requested page size. Server may return fewer items than + // requested. If unspecified, server will pick an appropriate default. + int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A token identifying a page of results the server should return. + string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// Response object for `ListPublicBlueprints`. +message ListPublicBlueprintsResponse { + // The list of public blueprints to return. + repeated PublicBlueprint public_blueprints = 1; + + // Output only. A token identifying a page of results the server should + // return. + string next_page_token = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Request object for `GetPublicBlueprint`. +message GetPublicBlueprintRequest { + // Required. The name of the public blueprint. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "telcoautomation.googleapis.com/PublicBlueprint" + } + ]; +} + +// Request object for `CreateDeployment`. +message CreateDeploymentRequest { + // Required. The name of parent resource. + // Format should be - + // "projects/{project_id}/locations/{location_name}/orchestrationClusters/{orchestration_cluster}". + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "telcoautomation.googleapis.com/Deployment" + } + ]; + + // Optional. The name of the deployment. + string deployment_id = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Required. The `Deployment` to create. + Deployment deployment = 3 [(google.api.field_behavior) = REQUIRED]; +} + +// Request object for `UpdateDeployment`. +message UpdateDeploymentRequest { + // Required. The `deployment` to update. + Deployment deployment = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. Update mask is used to specify the fields to be overwritten in + // the `deployment` resource by the update. + google.protobuf.FieldMask update_mask = 2 + [(google.api.field_behavior) = REQUIRED]; +} + +// Request object for `GetDeployment`. +message GetDeploymentRequest { + // Required. The name of the deployment. + // Case 1: If the name provided in the request is + // {deployment_id}@{revision_id}, then the revision with revision_id will be + // returned. + // Case 2: If the name provided in the request is {deployment}, then + // the current state of the deployment is returned. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "telcoautomation.googleapis.com/Deployment" + } + ]; + + // Optional. Defines the type of view of the deployment. + // When field is not present VIEW_BASIC is considered as default. + DeploymentView view = 2 [(google.api.field_behavior) = OPTIONAL]; +} + +// Request object for `RemoveDeployment`. +message RemoveDeploymentRequest { + // Required. The name of deployment to initiate delete. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "telcoautomation.googleapis.com/Deployment" + } + ]; +} + +// Request object for `ListDeployments`. +message ListDeploymentsRequest { + // Required. The name of parent orchestration cluster resource. + // Format should be - + // "projects/{project_id}/locations/{location_name}/orchestrationClusters/{orchestration_cluster}". + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "telcoautomation.googleapis.com/Deployment" + } + ]; + + // Optional. Filtering only supports equality on deployment state. + // It should be in the form: "state = DRAFT". `OR` operator can be used to + // get response for multiple states. e.g. "state = DRAFT OR state = APPLIED". + string filter = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The maximum number of deployments to return per page. + int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The page token, received from a previous ListDeployments call. + // It can be provided to retrieve the subsequent page. + string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// Response object for `ListDeployments`. +message ListDeploymentsResponse { + // The list of requested deployments. + repeated Deployment deployments = 1; + + // A token that can be sent as `page_token` to retrieve the next page. + // If this field is omitted, there are no subsequent pages. + string next_page_token = 2; +} + +// Request for listing all revisions of a deployment. +message ListDeploymentRevisionsRequest { + // Required. The name of the deployment to list revisions for. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "telcoautomation.googleapis.com/Deployment" + } + ]; + + // Optional. The maximum number of revisions to return per page. + int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The page token, received from a previous ListDeploymentRevisions + // call Provide this to retrieve the subsequent page. + string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// List of deployment revisions for a given deployment. +message ListDeploymentRevisionsResponse { + // The revisions of the deployment. + repeated Deployment deployments = 1; + + // A token that can be sent as `page_token` to retrieve the next page. + // If this field is omitted, there are no subsequent pages. + string next_page_token = 2; +} + +// Request object for `SearchDeploymentRevisions`. +message SearchDeploymentRevisionsRequest { + // Required. The name of parent orchestration cluster resource. + // Format should be - + // "projects/{project_id}/locations/{location_name}/orchestrationClusters/{orchestration_cluster}". + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "telcoautomation.googleapis.com/Blueprint" + } + ]; + + // Required. Supported queries: + // 1. "" : Lists all revisions across all deployments. + // 2. "latest=true" : Lists latest revisions across all + // deployments. + // 3. "name={name}" : Lists all revisions of deployment with name + // {name}. + // 4. "name={name} latest=true": Lists latest revision of deployment with name + // {name} + string query = 2 [(google.api.field_behavior) = REQUIRED]; + + // Optional. The maximum number of deployment revisions to return per page. + // max page size = 100, default page size = 20. + int32 page_size = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The page token, received from a previous search call. + // It can be provided to retrieve the subsequent page. + string page_token = 4 [(google.api.field_behavior) = OPTIONAL]; +} + +// Response object for `SearchDeploymentRevisions`. +message SearchDeploymentRevisionsResponse { + // The list of requested deployment revisions. + repeated Deployment deployments = 1; + + // A token that can be sent as `page_token` to retrieve the next page. + // If this field is omitted, there are no subsequent pages. + string next_page_token = 2; +} + +// Request object for `DiscardDeploymentChanges`. +message DiscardDeploymentChangesRequest { + // Required. The name of the deployment of which changes are being discarded. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "telcoautomation.googleapis.com/Deployment" + } + ]; +} + +// Response object for `DiscardDeploymentChanges`. +message DiscardDeploymentChangesResponse {} + +// Request object for `ApplyDeployment`. The resources in given deployment +// gets applied to Orchestration Cluster. A new revision is created when a +// deployment is applied. +message ApplyDeploymentRequest { + // Required. The name of the deployment to apply to orchestration cluster. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "telcoautomation.googleapis.com/Deployment" + } + ]; +} + +// Request object for `ComputeDeploymentStatus`. +message ComputeDeploymentStatusRequest { + // Required. The name of the deployment without revisionID. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "telcoautomation.googleapis.com/Deployment" + } + ]; +} + +// Response object for `ComputeDeploymentStatus`. +message ComputeDeploymentStatusResponse { + // The name of the deployment. + string name = 1; + + // Output only. Aggregated status of a deployment. + Status aggregated_status = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Resource level status details in deployments. + repeated ResourceStatus resource_statuses = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Request object for `RollbackDeployment`. +message RollbackDeploymentRequest { + // Required. Name of the deployment. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "telcoautomation.googleapis.com/Deployment" + } + ]; + + // Required. The revision id of deployment to roll back to. + string revision_id = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// 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_message = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Identifies whether the user has requested cancellation + // of the operation. Operations that have been cancelled successfully + // have [Operation.error][] value with a + // [google.rpc.Status.code][google.rpc.Status.code] of 1, corresponding to + // `Code.CANCELLED`. + bool requested_cancellation = 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]; +} + +// Request object for `GetHydratedDeployment`. +message GetHydratedDeploymentRequest { + // Required. Name of the hydrated deployment. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "telcoautomation.googleapis.com/HydratedDeployment" + } + ]; +} + +// Request object for `ListHydratedDeployments`. +message ListHydratedDeploymentsRequest { + // Required. The deployment managing the hydrated deployments. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "telcoautomation.googleapis.com/HydratedDeployment" + } + ]; + + // Optional. The maximum number of hydrated deployments to return. The service + // may return fewer than this value. If unspecified, at most 50 hydrated + // deployments will be returned. The maximum value is 1000. Values above 1000 + // will be set to 1000. + int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The page token, received from a previous ListHydratedDeployments + // call. Provide this to retrieve the subsequent page. + string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// Response object for `ListHydratedDeployments`. +message ListHydratedDeploymentsResponse { + // The list of hydrated deployments. + repeated HydratedDeployment hydrated_deployments = 1; + + // A token that can be sent as `page_token` to retrieve the next page. + // If this field is omitted, there are no subsequent pages. + string next_page_token = 2; +} + +// Request object for `UpdateHydratedDeployment`. +message UpdateHydratedDeploymentRequest { + // Required. The hydrated deployment to update. + HydratedDeployment hydrated_deployment = 1 + [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of fields to update. Update mask supports a special + // value `*` which fully replaces (equivalent to PUT) the resource provided. + google.protobuf.FieldMask update_mask = 2 + [(google.api.field_behavior) = REQUIRED]; +} + +// Request for applying a hydrated deployment. +message ApplyHydratedDeploymentRequest { + // Required. The name of the hydrated deployment to apply. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "telcoautomation.googleapis.com/HydratedDeployment" + } + ]; +} + +// Configuration of the cluster management +message ManagementConfig { + // The configuration can be one of StandardManagementConfig + // and FullManagementConfig + oneof oneof_config { + // Configuration of the standard (GKE) cluster management + StandardManagementConfig standard_management_config = 1; + + // Configuration of the full (Autopilot) cluster management. Full cluster + // management is a preview feature. + FullManagementConfig full_management_config = 2; + } +} + +// Configuration of the standard (GKE) cluster management. +message StandardManagementConfig { + // Optional. Name of the VPC Network to put the GKE cluster and nodes in. The + // VPC will be created if it doesn't exist. + string network = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Specifies the subnet that the interface will be part of. Network + // key must be specified and the subnet must be a subnetwork of the specified + // network. + string subnet = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The /28 network that the masters will use. It should be free + // within the network. + string master_ipv4_cidr_block = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The IP address range for the cluster pod IPs. Set to blank to + // have a range chosen with the default size. Set to /netmask (e.g. /14) to + // have a range chosen with a specific netmask. Set to a CIDR notation + // (e.g. 10.96.0.0/14) from the RFC-1918 private networks (e.g. 10.0.0.0/8, + // 172.16.0.0/12, 192.168.0.0/16) to pick a specific range to use. + string cluster_cidr_block = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The IP address range for the cluster service IPs. Set to blank to + // have a range chosen with the default size. Set to /netmask (e.g. /14) to + // have a range chosen with a specific netmask. Set to a CIDR notation (e.g. + // 10.96.0.0/14) from the RFC-1918 private networks (e.g. 10.0.0.0/8, + // 172.16.0.0/12, 192.168.0.0/16) to pick a specific range to use. + string services_cidr_block = 5 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The name of the existing secondary range in the cluster's + // subnetwork to use for pod IP addresses. Alternatively, cluster_cidr_block + // can be used to automatically create a GKE-managed one. + string cluster_named_range = 6 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The name of the existing secondary range in the cluster's + // subnetwork to use for service ClusterIPs. Alternatively, + // services_cidr_block can be used to automatically create a GKE-managed one. + string services_named_range = 7 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Master Authorized Network that supports multiple CIDR blocks. + // Allows access to the k8s master from multiple blocks. It cannot be set at + // the same time with the field man_block. + MasterAuthorizedNetworksConfig master_authorized_networks_config = 8 + [(google.api.field_behavior) = OPTIONAL]; +} + +// Configuration of the full (Autopilot) cluster management +message FullManagementConfig { + // Optional. Name of the VPC Network to put the GKE cluster and nodes in. The + // VPC will be created if it doesn't exist. + string network = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Specifies the subnet that the interface will be part of. Network + // key must be specified and the subnet must be a subnetwork of the specified + // network. + string subnet = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The /28 network that the masters will use. + string master_ipv4_cidr_block = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The IP address range for the cluster pod IPs. Set to blank to + // have a range chosen with the default size. Set to /netmask (e.g. /14) to + // have a range chosen with a specific netmask. Set to a CIDR notation + // (e.g. 10.96.0.0/14) from the RFC-1918 private networks (e.g. 10.0.0.0/8, + // 172.16.0.0/12, 192.168.0.0/16) to pick a specific range to use. + string cluster_cidr_block = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The IP address range for the cluster service IPs. Set to blank to + // have a range chosen with the default size. Set to /netmask (e.g. /14) to + // have a range chosen with a specific netmask. Set to a CIDR notation (e.g. + // 10.96.0.0/14) from the RFC-1918 private networks (e.g. 10.0.0.0/8, + // 172.16.0.0/12, 192.168.0.0/16) to pick a specific range to use. + string services_cidr_block = 5 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The name of the existing secondary range in the cluster's + // subnetwork to use for pod IP addresses. Alternatively, cluster_cidr_block + // can be used to automatically create a GKE-managed one. + string cluster_named_range = 6 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The name of the existing secondary range in the cluster's + // subnetwork to use for service ClusterIPs. Alternatively, + // services_cidr_block can be used to automatically create a GKE-managed one. + string services_named_range = 7 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Master Authorized Network that supports multiple CIDR blocks. + // Allows access to the k8s master from multiple blocks. It cannot be set at + // the same time with the field man_block. + MasterAuthorizedNetworksConfig master_authorized_networks_config = 8 + [(google.api.field_behavior) = OPTIONAL]; +} + +// Configuration of the Master Authorized Network that support multiple CIDRs +message MasterAuthorizedNetworksConfig { + // CidrBlock contains an optional name and one CIDR block. + message CidrBlock { + // Optional. display_name is an optional field for users to identify CIDR + // blocks. + string display_name = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. cidr_block must be specified in CIDR notation when using + // master_authorized_networks_config. Currently, the user could still use + // the deprecated man_block field, so this field is currently optional, but + // will be required in the future. + string cidr_block = 2 [(google.api.field_behavior) = OPTIONAL]; + } + + // Optional. cidr_blocks define up to 50 external networks that could access + // Kubernetes master through HTTPS. + repeated CidrBlock cidr_blocks = 1 [(google.api.field_behavior) = OPTIONAL]; +} + +// File represents a yaml file present in a blueprint's package. +message File { + // Required. Path of the file in package. + // e.g. `gdce/v1/cluster.yaml` + string path = 1 [(google.api.field_behavior) = REQUIRED]; + + // Optional. The contents of a file in string format. + string content = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Signifies whether a file is marked for deletion. + bool deleted = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Indicates whether changes are allowed to a file. If the field is + // not set, the file cannot be edited. + bool editable = 4 [(google.api.field_behavior) = OPTIONAL]; +} + +// Status of a deployment resource. +message ResourceStatus { + // Name of the resource. + string name = 1; + + // Namespace of the resource. + string resource_namespace = 2; + + // Group to which the resource belongs to. + string group = 3; + + // Version of the resource. + string version = 4; + + // Kind of the resource. + string kind = 5; + + // Output only. Resource type. + ResourceType resource_type = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Status of the resource. + Status status = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Detailed status of NFDeploy. + NFDeployStatus nf_deploy_status = 8 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Deployment status of NFDeploy. +message NFDeployStatus { + // Output only. Total number of NFs targeted by this deployment + int32 targeted_nfs = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Total number of NFs targeted by this deployment with a Ready + // Condition set. + int32 ready_nfs = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Per-Site Status. + repeated NFDeploySiteStatus sites = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Per-Site Status. +message NFDeploySiteStatus { + // Output only. Site id. + string site = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. If true, the Site Deletion is in progress. + bool pending_deletion = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Hydration status. + HydrationStatus hydration = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Workload status. + WorkloadStatus workload = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Hydration status. +message HydrationStatus { + // Output only. SiteVersion Hydration is targeting. + SiteVersion site_version = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Status. + string status = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// SiteVersion Hydration is targeting. +message SiteVersion { + // Output only. NF vendor. + string nf_vendor = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. NF vendor type. + string nf_type = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. NF version. + string nf_version = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Workload status. +message WorkloadStatus { + // Output only. SiteVersion running in the workload cluster. + SiteVersion site_version = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Status. + string status = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/cloud/telcoautomation/v1alpha1/telcoautomation_v1alpha1.yaml b/third_party/googleapis/google/cloud/telcoautomation/v1alpha1/telcoautomation_v1alpha1.yaml new file mode 100644 index 000000000..bfb6a700e --- /dev/null +++ b/third_party/googleapis/google/cloud/telcoautomation/v1alpha1/telcoautomation_v1alpha1.yaml @@ -0,0 +1,121 @@ +type: google.api.Service +config_version: 3 +name: telcoautomation.googleapis.com +title: Telco Automation API + +apis: +- name: google.cloud.location.Locations +<<<<<<<< HEAD:third_party/googleapis/google/cloud/tpu/v2alpha1/tpu_v2alpha1.yaml +- name: google.cloud.tpu.v2alpha1.Tpu +- name: google.longrunning.Operations + +types: +- name: google.cloud.tpu.v2alpha1.OperationMetadata +======== +- name: google.cloud.telcoautomation.v1alpha1.TelcoAutomation +- name: google.longrunning.Operations + +types: +- name: google.cloud.telcoautomation.v1alpha1.OperationMetadata +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/cloud/telcoautomation/v1alpha1/telcoautomation_v1alpha1.yaml + +documentation: + summary: APIs to automate management of cloud infrastructure for network functions. + 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. + +http: + rules: + - selector: google.cloud.location.Locations.GetLocation +<<<<<<<< HEAD:third_party/googleapis/google/cloud/tpu/v2alpha1/tpu_v2alpha1.yaml + get: '/v2alpha1/{name=projects/*/locations/*}' + - selector: google.cloud.location.Locations.ListLocations + get: '/v2alpha1/{name=projects/*}/locations' + - selector: google.longrunning.Operations.CancelOperation + post: '/v2alpha1/{name=projects/*/locations/*/operations/*}:cancel' + - selector: google.longrunning.Operations.DeleteOperation + delete: '/v2alpha1/{name=projects/*/locations/*/operations/*}' + - selector: google.longrunning.Operations.GetOperation + get: '/v2alpha1/{name=projects/*/locations/*/operations/*}' + - selector: google.longrunning.Operations.ListOperations + get: '/v2alpha1/{name=projects/*/locations/*}/operations' +======== + get: '/v1alpha1/{name=projects/*/locations/*}' + - selector: google.cloud.location.Locations.ListLocations + get: '/v1alpha1/{name=projects/*}/locations' + - selector: google.longrunning.Operations.CancelOperation + post: '/v1alpha1/{name=projects/*/locations/*/operations/*}:cancel' + body: '*' + - selector: google.longrunning.Operations.DeleteOperation + delete: '/v1alpha1/{name=projects/*/locations/*/operations/*}' + - selector: google.longrunning.Operations.GetOperation + get: '/v1alpha1/{name=projects/*/locations/*/operations/*}' + - selector: google.longrunning.Operations.ListOperations + get: '/v1alpha1/{name=projects/*/locations/*}/operations' +>>>>>>>> 046687af63d391fd9e6a7e25dc7f4fcda6d9aa90:third_party/googleapis/google/cloud/telcoautomation/v1alpha1/telcoautomation_v1alpha1.yaml + +authentication: + rules: + - 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.cloud.telcoautomation.v1alpha1.TelcoAutomation.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + - selector: 'google.longrunning.Operations.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + +publishing: + new_issue_uri: https://issuetracker.google.com/issues/new?component=190865&template=1161103 + documentation_uri: https://cloud.google.com/telecom-network-automation + api_short_name: telcoautomation + github_label: 'api: telcoautomation' + doc_tag_prefix: telcoautomation + organization: CLOUD + library_settings: + - version: google.cloud.telcoautomation.v1alpha1 + launch_stage: EARLY_ACCESS + 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/telcoautomation/v1alpha1/telcoautomation_v1alpha1_grpc_service_config.json b/third_party/googleapis/google/cloud/telcoautomation/v1alpha1/telcoautomation_v1alpha1_grpc_service_config.json new file mode 100644 index 000000000..62f3fc0e0 --- /dev/null +++ b/third_party/googleapis/google/cloud/telcoautomation/v1alpha1/telcoautomation_v1alpha1_grpc_service_config.json @@ -0,0 +1,26 @@ +{ + "methodConfig": [{ + "name": [ + { "service": "google.cloud.telcoautomation.v1alpha1.TelcoAutomation", "method": "ComputeDeploymentStatus" }, + { "service": "google.cloud.telcoautomation.v1alpha1.TelcoAutomation", "method": "ListBlueprints" }, + { "service": "google.cloud.telcoautomation.v1alpha1.TelcoAutomation", "method": "GetOrchestrationCluster" } + ], + "timeout": "60s", + "retryPolicy": { + "maxAttempts": 5, + "initialBackoff": "1s", + "maxBackoff": "10s", + "backoffMultiplier": 1.3, + "retryableStatusCodes": ["UNAVAILABLE"] + } + }, + { + "name": [ + { "service": "google.cloud.telcoautomation.v1alpha1.TelcoAutomation", "method": "CreateDeployment" }, + { "service": "google.cloud.telcoautomation.v1alpha1.TelcoAutomation", "method": "UpdateDeployment" }, + { "service": "google.cloud.telcoautomation.v1alpha1.TelcoAutomation", "method": "ApplyDeployment" }, + { "service": "google.cloud.telcoautomation.v1alpha1.TelcoAutomation", "method": "DeleteDeployment" } + ], + "timeout": "60s" + }] +} \ No newline at end of file diff --git a/third_party/googleapis/google/cloud/translate/v3/adaptive_mt.proto b/third_party/googleapis/google/cloud/translate/v3/adaptive_mt.proto new file mode 100644 index 000000000..341fb3820 --- /dev/null +++ b/third_party/googleapis/google/cloud/translate/v3/adaptive_mt.proto @@ -0,0 +1,375 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF 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.translation.v3; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/translate/v3/common.proto"; +import "google/protobuf/timestamp.proto"; + +option cc_enable_arenas = true; +option csharp_namespace = "Google.Cloud.Translate.V3"; +option go_package = "cloud.google.com/go/translate/apiv3/translatepb;translatepb"; +option java_multiple_files = true; +option java_outer_classname = "AdaptiveMtProto"; +option java_package = "com.google.cloud.translate.v3"; +option php_namespace = "Google\\Cloud\\Translate\\V3"; +option ruby_package = "Google::Cloud::Translate::V3"; + +// An Adaptive MT Dataset. +message AdaptiveMtDataset { + option (google.api.resource) = { + type: "translate.googleapis.com/AdaptiveMtDataset" + pattern: "projects/{project}/locations/{location}/adaptiveMtDatasets/{dataset}" + }; + + // Required. The resource name of the dataset, in form of + // `projects/{project-number-or-id}/locations/{location_id}/adaptiveMtDatasets/{dataset_id}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "translate.googleapis.com/AdaptiveMtDataset" + } + ]; + + // The name of the dataset to show in the interface. The name can be + // up to 32 characters long and can consist only of ASCII Latin letters A-Z + // and a-z, underscores (_), and ASCII digits 0-9. + string display_name = 2; + + // The BCP-47 language code of the source language. + string source_language_code = 3; + + // The BCP-47 language code of the target language. + string target_language_code = 4; + + // The number of examples in the dataset. + int32 example_count = 5; + + // Output only. Timestamp when this dataset was created. + google.protobuf.Timestamp create_time = 9 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Timestamp when this dataset was last updated. + google.protobuf.Timestamp update_time = 10 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +//  Request message for creating an AdaptiveMtDataset. +message CreateAdaptiveMtDatasetRequest { + // Required. Name of the parent project. In form of + // `projects/{project-number-or-id}/locations/{location-id}` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "locations.googleapis.com/Location" + } + ]; + + // Required. The AdaptiveMtDataset to be created. + AdaptiveMtDataset adaptive_mt_dataset = 2 + [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for deleting an AdaptiveMtDataset. +message DeleteAdaptiveMtDatasetRequest { + // Required. Name of the dataset. In the form of + // `projects/{project-number-or-id}/locations/{location-id}/adaptiveMtDatasets/{adaptive-mt-dataset-id}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "translate.googleapis.com/AdaptiveMtDataset" + } + ]; +} + +// Request message for getting an Adaptive MT dataset. +message GetAdaptiveMtDatasetRequest { + // Required. Name of the dataset. In the form of + // `projects/{project-number-or-id}/locations/{location-id}/adaptiveMtDatasets/{adaptive-mt-dataset-id}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "translate.googleapis.com/AdaptiveMtDataset" + } + ]; +} + +// Request message for listing all Adaptive MT datasets that the requestor has +// access to. +message ListAdaptiveMtDatasetsRequest { + // Required. The resource name of the project from which to list the Adaptive + // MT datasets. `projects/{project-number-or-id}/locations/{location-id}` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "locations.googleapis.com/Location" + } + ]; + + // Optional. Requested page size. The server may return fewer results than + // requested. If unspecified, the server picks an appropriate default. + int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A token identifying a page of results the server should return. + // Typically, this is the value of + // ListAdaptiveMtDatasetsResponse.next_page_token returned from the + // previous call to `ListAdaptiveMtDatasets` method. The first page is + // returned if `page_token`is empty or missing. + string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. An expression for filtering the results of the request. + // Filter is not supported yet. + string filter = 4 [(google.api.field_behavior) = OPTIONAL]; +} + +// A list of AdaptiveMtDatasets. +message ListAdaptiveMtDatasetsResponse { + // Output only. A list of Adaptive MT datasets. + repeated AdaptiveMtDataset adaptive_mt_datasets = 1 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Optional. A token to retrieve a page of results. Pass this value in the + // [ListAdaptiveMtDatasetsRequest.page_token] field in the subsequent call to + // `ListAdaptiveMtDatasets` method to retrieve the next page of results. + string next_page_token = 2 [(google.api.field_behavior) = OPTIONAL]; +} + +// The request for sending an AdaptiveMt translation query. +message AdaptiveMtTranslateRequest { + // Required. Location to make a regional call. + // + // Format: `projects/{project-number-or-id}/locations/{location-id}`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "locations.googleapis.com/Location" + } + ]; + + // Required. The resource name for the dataset to use for adaptive MT. + // `projects/{project}/locations/{location-id}/adaptiveMtDatasets/{dataset}` + string dataset = 2 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "translate.googleapis.com/AdaptiveMtDataset" + } + ]; + + // Required. The content of the input in string format. + // For now only one sentence per request is supported. + repeated string content = 3 [(google.api.field_behavior) = REQUIRED]; +} + +// An AdaptiveMt translation. +message AdaptiveMtTranslation { + // Output only. The translated text. + string translated_text = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// An AdaptiveMtTranslate response. +message AdaptiveMtTranslateResponse { + // Output only. The translation. + repeated AdaptiveMtTranslation translations = 1 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The translation's language code. + string language_code = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// An AdaptiveMtFile. +message AdaptiveMtFile { + option (google.api.resource) = { + type: "translate.googleapis.com/AdaptiveMtFile" + pattern: "projects/{project}/locations/{location}/adaptiveMtDatasets/{dataset}/adaptiveMtFiles/{file}" + }; + + // Required. The resource name of the file, in form of + // `projects/{project-number-or-id}/locations/{location_id}/adaptiveMtDatasets/{dataset}/adaptiveMtFiles/{file}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "translate.googleapis.com/AdaptiveMtFile" + } + ]; + + // The file's display name. + string display_name = 2; + + // The number of entries that the file contains. + int32 entry_count = 3; + + // Output only. Timestamp when this file was created. + google.protobuf.Timestamp create_time = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Timestamp when this file was last updated. + google.protobuf.Timestamp update_time = 5 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// The request for getting an AdaptiveMtFile. +message GetAdaptiveMtFileRequest { + // Required. The resource name of the file, in form of + // `projects/{project-number-or-id}/locations/{location_id}/adaptiveMtDatasets/{dataset}/adaptiveMtFiles/{file}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "translate.googleapis.com/AdaptiveMtFile" + } + ]; +} + +// The request for deleting an AdaptiveMt file. +message DeleteAdaptiveMtFileRequest { + // Required. The resource name of the file to delete, in form of + // `projects/{project-number-or-id}/locations/{location_id}/adaptiveMtDatasets/{dataset}/adaptiveMtFiles/{file}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "translate.googleapis.com/AdaptiveMtFile" + } + ]; +} + +// The request for importing an AdaptiveMt file along with its sentences. +message ImportAdaptiveMtFileRequest { + // Required. The resource name of the file, in form of + // `projects/{project-number-or-id}/locations/{location_id}/adaptiveMtDatasets/{dataset}` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "translate.googleapis.com/AdaptiveMtDataset" + } + ]; + + // The source for the document. + oneof source { + // Inline file source. + FileInputSource file_input_source = 2; + + // Google Cloud Storage file source. + GcsInputSource gcs_input_source = 3; + } +} + +// The response for importing an AdaptiveMtFile +message ImportAdaptiveMtFileResponse { + // Output only. The Adaptive MT file that was imported. + AdaptiveMtFile adaptive_mt_file = 1 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// The request to list all AdaptiveMt files under a given dataset. +message ListAdaptiveMtFilesRequest { + // Required. The resource name of the project from which to list the Adaptive + // MT files. + // `projects/{project}/locations/{location}/adaptiveMtDatasets/{dataset}` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "translate.googleapis.com/AdaptiveMtDataset" + } + ]; + + // Optional. + int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A token identifying a page of results the server should return. + // Typically, this is the value of + // ListAdaptiveMtFilesResponse.next_page_token returned from the + // previous call to `ListAdaptiveMtFiles` method. The first page is + // returned if `page_token`is empty or missing. + string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// The response for listing all AdaptiveMt files under a given dataset. +message ListAdaptiveMtFilesResponse { + // Output only. The Adaptive MT files. + repeated AdaptiveMtFile adaptive_mt_files = 1 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Optional. A token to retrieve a page of results. Pass this value in the + // ListAdaptiveMtFilesRequest.page_token field in the subsequent call to + // `ListAdaptiveMtFiles` method to retrieve the next page of results. + string next_page_token = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// An AdaptiveMt sentence entry. +message AdaptiveMtSentence { + option (google.api.resource) = { + type: "translate.googleapis.com/AdaptiveMtSentence" + pattern: "projects/{project}/locations/{location}/adaptiveMtDatasets/{dataset}/adaptiveMtFiles/{file}/adaptiveMtSentences/{sentence}" + }; + + // Required. The resource name of the file, in form of + // `projects/{project-number-or-id}/locations/{location_id}/adaptiveMtDatasets/{dataset}/adaptiveMtFiles/{file}/adaptiveMtSentences/{sentence}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "translate.googleapis.com/AdaptiveMtSentence" + } + ]; + + // Required. The source sentence. + string source_sentence = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The target sentence. + string target_sentence = 3 [(google.api.field_behavior) = REQUIRED]; + + // Output only. Timestamp when this sentence was created. + google.protobuf.Timestamp create_time = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Timestamp when this sentence was last updated. + google.protobuf.Timestamp update_time = 5 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// The request for listing Adaptive MT sentences from a Dataset/File. +message ListAdaptiveMtSentencesRequest { + // Required. The resource name of the project from which to list the Adaptive + // MT files. The following format lists all sentences under a file. + // `projects/{project}/locations/{location}/adaptiveMtDatasets/{dataset}/adaptiveMtFiles/{file}` + // The following format lists all sentences within a dataset. + // `projects/{project}/locations/{location}/adaptiveMtDatasets/{dataset}` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "translate.googleapis.com/AdaptiveMtFile" + } + ]; + + int32 page_size = 2; + + // A token identifying a page of results the server should return. + // Typically, this is the value of + // ListAdaptiveMtSentencesRequest.next_page_token returned from the + // previous call to `ListTranslationMemories` method. The first page is + // returned if `page_token` is empty or missing. + string page_token = 3; +} + +// List AdaptiveMt sentences response. +message ListAdaptiveMtSentencesResponse { + // Output only. The list of AdaptiveMtSentences. + repeated AdaptiveMtSentence adaptive_mt_sentences = 1 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Optional. + string next_page_token = 2 [(google.api.field_behavior) = OPTIONAL]; +} diff --git a/third_party/googleapis/google/cloud/translate/v3/common.proto b/third_party/googleapis/google/cloud/translate/v3/common.proto new file mode 100644 index 000000000..d254d911f --- /dev/null +++ b/third_party/googleapis/google/cloud/translate/v3/common.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.cloud.translation.v3; + +import "google/api/field_behavior.proto"; + +option cc_enable_arenas = true; +option csharp_namespace = "Google.Cloud.Translate.V3"; +option go_package = "cloud.google.com/go/translate/apiv3/translatepb;translatepb"; +option java_multiple_files = true; +option java_outer_classname = "CommonProto"; +option java_package = "com.google.cloud.translate.v3"; +option php_namespace = "Google\\Cloud\\Translate\\V3"; +option ruby_package = "Google::Cloud::Translate::V3"; + +// The Google Cloud Storage location for the input content. +message GcsInputSource { + // Required. Source data URI. For example, `gs://my_bucket/my_object`. + string input_uri = 1 [(google.api.field_behavior) = REQUIRED]; +} + +// An inlined file. +message FileInputSource { + // Required. The file's mime type. + string mime_type = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The file's byte contents. + bytes content = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The file's display name. + string display_name = 3 [(google.api.field_behavior) = REQUIRED]; +} + +// The Google Cloud Storage location for the output content. +message GcsOutputDestination { + // Required. Google Cloud Storage URI to output directory. For example, + // `gs://bucket/directory`. The requesting user must have write permission to + // the bucket. The directory will be created if it doesn't exist. + string output_uri_prefix = 1 [(google.api.field_behavior) = REQUIRED]; +} diff --git a/third_party/googleapis/google/cloud/video/stitcher/v1/live_configs.proto b/third_party/googleapis/google/cloud/video/stitcher/v1/live_configs.proto new file mode 100644 index 000000000..1b0192ab3 --- /dev/null +++ b/third_party/googleapis/google/cloud/video/stitcher/v1/live_configs.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.cloud.video.stitcher.v1; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/duration.proto"; + +option go_package = "cloud.google.com/go/video/stitcher/apiv1/stitcherpb;stitcherpb"; +option java_multiple_files = true; +option java_outer_classname = "LiveConfigsProto"; +option java_package = "com.google.cloud.video.stitcher.v1"; + +// Determines the ad tracking policy. +enum AdTracking { + // The ad tracking policy is not specified. + AD_TRACKING_UNSPECIFIED = 0; + + // Client-side ad tracking is specified. The client player is expected to + // trigger playback and activity events itself. + CLIENT = 1; + + // The Video Stitcher API will trigger playback events on behalf of + // the client player. + SERVER = 2; +} + +// Metadata for used to register live configs. +message LiveConfig { + option (google.api.resource) = { + type: "videostitcher.googleapis.com/LiveConfig" + pattern: "projects/{project}/locations/{location}/liveConfigs/{live_config}" + }; + + // State of the live config. + enum State { + // State is not specified. + STATE_UNSPECIFIED = 0; + + // Live config is being created. + CREATING = 1; + + // Live config is ready for use. + READY = 2; + + // Live config is queued up for deletion. + DELETING = 3; + } + + // Defines the ad stitching behavior in case the ad duration does not align + // exactly with the ad break boundaries. If not specified, the default is + // `CUT_CURRENT`. + enum StitchingPolicy { + // Stitching policy is not specified. + STITCHING_POLICY_UNSPECIFIED = 0; + + // Cuts an ad short and returns to content in the middle of the ad. + CUT_CURRENT = 1; + + // Finishes stitching the current ad before returning to content. + COMPLETE_AD = 2; + } + + // Output only. The resource name of the live config, in the form of + // `projects/{project}/locations/{location}/liveConfigs/{id}`. + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. Source URI for the live stream manifest. + string source_uri = 2 [(google.api.field_behavior) = REQUIRED]; + + // The default ad tag associated with this live stream config. + string ad_tag_uri = 3; + + // Additional metadata used to register a live stream with Google Ad Manager + // (GAM) + GamLiveConfig gam_live_config = 4; + + // Output only. State of the live config. + State state = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. Determines how the ads are tracked. If + // [gam_live_config][google.cloud.video.stitcher.v1.LiveConfig.gam_live_config] + // is set, the value must be `CLIENT` because the IMA SDK handles ad tracking. + AdTracking ad_tracking = 6 [(google.api.field_behavior) = REQUIRED]; + + // This must refer to a slate in the same + // project. If Google Ad Manager (GAM) is used for ads, this string sets the + // value of `slateCreativeId` in + // https://developers.google.com/ad-manager/api/reference/v202211/LiveStreamEventService.LiveStreamEvent#slateCreativeId + string default_slate = 7 [(google.api.resource_reference) = { + type: "videostitcher.googleapis.com/Slate" + }]; + + // Defines the stitcher behavior in case an ad does not align exactly with + // the ad break boundaries. If not specified, the default is `CUT_CURRENT`. + StitchingPolicy stitching_policy = 8; + + // The configuration for prefetching ads. + PrefetchConfig prefetch_config = 10; +} + +// The configuration for prefetch ads. +message PrefetchConfig { + // Required. Indicates whether the option to prefetch ad requests is enabled. + bool enabled = 1 [(google.api.field_behavior) = REQUIRED]; + + // The duration in seconds of the part of the break to be prefetched. + // This field is only relevant if prefetch is enabled. + // You should set this duration to as long as possible to increase the + // benefits of prefetching, but not longer than the shortest ad break + // expected. For example, for a live event with 30s and 60s ad breaks, the + // initial duration should be set to 30s. + google.protobuf.Duration initial_ad_request_duration = 2; +} + +// Metadata used to register a live stream with Google Ad Manager (GAM) +message GamLiveConfig { + // Required. Ad Manager network code to associate with the live config. + string network_code = 1 [(google.api.field_behavior) = REQUIRED]; + + // Output only. The asset key identifier generated for the live config. + string asset_key = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The custom asset key identifier generated for the live config. + string custom_asset_key = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/cloud/visionai/v1/health_service.proto b/third_party/googleapis/google/cloud/visionai/v1/health_service.proto new file mode 100644 index 000000000..94880e709 --- /dev/null +++ b/third_party/googleapis/google/cloud/visionai/v1/health_service.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.cloud.visionai.v1; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Cloud.VisionAI.V1"; +option go_package = "cloud.google.com/go/visionai/apiv1/visionaipb;visionaipb"; +option java_multiple_files = true; +option java_outer_classname = "HealthCheckServiceProto"; +option java_package = "com.google.cloud.visionai.v1"; +option php_namespace = "Google\\Cloud\\VisionAI\\V1"; +option ruby_package = "Google::Cloud::VisionAI::V1"; + +// HealthCheckService provides an interface for Vertex AI Vision Cluster Health +// Check. +service HealthCheckService { + option (google.api.default_host) = "visionai.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform"; + + // HealthCheck method checks the health status of the cluster. + rpc HealthCheck(HealthCheckRequest) returns (HealthCheckResponse) { + option (google.api.http) = { + get: "/v1/{cluster=projects/*/locations/*/clusters/*}:healthCheck" + }; + } +} + +// HealthCheckRequest is the request message for Check. +message HealthCheckRequest { + // The parent of the resource. + string cluster = 1 [(google.api.resource_reference) = { + type: "visionai.googleapis.com/Cluster" + }]; +} + +// HealthCheckResponse is the response message for Check. +message HealthCheckResponse { + // Indicates whether the cluster is in healthy state or not. + bool healthy = 1; + + // Reason of why the cluster is in unhealthy state. + string reason = 2; + + // Other information of the cluster client may be interested. + ClusterInfo cluster_info = 3; +} + +message ClusterInfo { + // The number of active streams in the cluster. + int32 streams_count = 1; + + // The number of active processes in the cluster. + int32 processes_count = 2; +} diff --git a/third_party/googleapis/google/cloud/visionai/v1/prediction.proto b/third_party/googleapis/google/cloud/visionai/v1/prediction.proto new file mode 100644 index 000000000..f590ca66b --- /dev/null +++ b/third_party/googleapis/google/cloud/visionai/v1/prediction.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.cloud.visionai.v1; + +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.Cloud.VisionAi.V1"; +option go_package = "cloud.google.com/go/visionai/apiv1/visionaipb;visionaipb"; +option java_multiple_files = true; +option java_outer_classname = "PredictionServiceProto"; +option java_package = "com.google.cloud.visionai.v1"; +option php_namespace = "Google\\Cloud\\VisionAI\\V1"; +option ruby_package = "Google::Cloud::VisionAI::V1"; + +// A service for online prediction. +service PredictionService { + option (google.api.default_host) = "visionai.googleapis.com"; +} diff --git a/third_party/googleapis/google/cloud/workstations/BUILD.bazel b/third_party/googleapis/google/cloud/workstations/BUILD.bazel new file mode 100644 index 000000000..baace3c52 --- /dev/null +++ b/third_party/googleapis/google/cloud/workstations/BUILD.bazel @@ -0,0 +1,36 @@ +# This build file includes a target for the Ruby wrapper library for +# google-cloud-workstations. + +# 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 workstations. +# 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 = "workstations_ruby_wrapper", + srcs = ["//google/cloud/workstations/v1:workstations_proto_with_info"], + extra_protoc_parameters = [ + "ruby-cloud-gem-name=google-cloud-workstations", + "ruby-cloud-wrapper-of=v1:0.0;v1beta:0.0", + ], + service_yaml = "//google/cloud/workstations/v1:workstations_v1.yaml", + transport = "grpc+rest", +) + +# Open Source package. +ruby_gapic_assembly_pkg( + name = "google-cloud-workstations-ruby", + deps = [ + ":workstations_ruby_wrapper", + ], +) diff --git a/third_party/googleapis/google/cloud/workstations/logging/v1/BUILD.bazel b/third_party/googleapis/google/cloud/workstations/logging/v1/BUILD.bazel new file mode 100644 index 000000000..3c59a6997 --- /dev/null +++ b/third_party/googleapis/google/cloud/workstations/logging/v1/BUILD.bazel @@ -0,0 +1,174 @@ +# This file was automatically generated by BuildFileGenerator + +# 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") + +proto_library( + name = "logging_proto", + srcs = [ + "platform_logs.proto", + ], + deps = [], +) + +############################################################################## +# Java +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "java_grpc_library", + "java_proto_library", +) + +java_proto_library( + name = "logging_java_proto", + deps = [":logging_proto"], +) + +java_grpc_library( + name = "logging_java_grpc", + srcs = [":logging_proto"], + deps = [":logging_java_proto"], +) + +############################################################################## +# Go +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "go_gapic_assembly_pkg", + "go_proto_library", +) + +go_proto_library( + name = "logging_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "cloud.google.com/go/workstations/logging/apiv1/loggingpb", + protos = [":logging_proto"], + deps = [], +) + +go_gapic_assembly_pkg( + name = "logging-v1-go", + deps = [ + ":logging_go_proto", + ], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "moved_proto_library", + "py_grpc_library", + "py_proto_library", +) + +moved_proto_library( + name = "logging_moved_proto", + srcs = [":logging_proto"], + deps = [], +) + +py_proto_library( + name = "logging_py_proto", + deps = [":logging_moved_proto"], +) + +py_grpc_library( + name = "logging_py_grpc", + srcs = [":logging_moved_proto"], + deps = [":logging_py_proto"], +) + +############################################################################## +# PHP +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "php_gapic_assembly_pkg", + "php_proto_library", +) + +php_proto_library( + name = "logging_php_proto", + deps = [":logging_proto"], +) + +php_gapic_assembly_pkg( + name = "logging-v1-php", + deps = [ + ":logging_php_proto", + ], +) + +############################################################################## +# Node.js +############################################################################## + +############################################################################## +# Ruby +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "ruby_grpc_library", + "ruby_proto_library", +) + +ruby_proto_library( + name = "logging_ruby_proto", + deps = [":logging_proto"], +) + +ruby_grpc_library( + name = "logging_ruby_grpc", + srcs = [":logging_proto"], + deps = [":logging_ruby_proto"], +) + +############################################################################## +# C# +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "csharp_grpc_library", + "csharp_proto_library", +) + +csharp_proto_library( + name = "logging_csharp_proto", + deps = [":logging_proto"], +) + +csharp_grpc_library( + name = "logging_csharp_grpc", + srcs = [":logging_proto"], + deps = [":logging_csharp_proto"], +) + +############################################################################## +# C++ +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "cc_grpc_library", + "cc_proto_library", +) + +cc_proto_library( + name = "logging_cc_proto", + deps = [":logging_proto"], +) + +cc_grpc_library( + name = "logging_cc_grpc", + srcs = [":logging_proto"], + grpc_only = True, + deps = [":logging_cc_proto"], +) diff --git a/third_party/googleapis/google/cloud/workstations/logging/v1/README.md b/third_party/googleapis/google/cloud/workstations/logging/v1/README.md new file mode 100644 index 000000000..2846990fa --- /dev/null +++ b/third_party/googleapis/google/cloud/workstations/logging/v1/README.md @@ -0,0 +1,3 @@ +# Workstations API Logging Integration + +These protos represent the Workstations API log entry schema. diff --git a/third_party/googleapis/google/cloud/workstations/logging/v1/platform_logs.proto b/third_party/googleapis/google/cloud/workstations/logging/v1/platform_logs.proto new file mode 100644 index 000000000..64290f06e --- /dev/null +++ b/third_party/googleapis/google/cloud/workstations/logging/v1/platform_logs.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.cloud.workstations.logging.v1; + +option go_package = "cloud.google.com/go/workstations/logging/apiv1/loggingpb;loggingpb"; +option java_multiple_files = true; +option java_outer_classname = "PlatformLogsProto"; +option java_package = "com.google.cloud.workstations.logging.v1"; + +// JSON payload for the Cloud Logging event: +// `workstations.googleapis.com%2Fworkstation_events` +message WorkstationEvent { + oneof event_type { + // Vm assignment event. + VmAssignmentEvent vm_assignment_event = 1; + + // Disk assignment event. + DiskAssignmentEvent disk_assignment_event = 2; + } +} + +// Vm assignment event. +message VmAssignmentEvent { + // Name of the VM assigned to this workstation. + string vm = 1; +} + +// Disk assignment event. +message DiskAssignmentEvent { + // Name of the disk assigned to this workstation. + string disk = 1; +} diff --git a/third_party/googleapis/google/cloud/workstations/v1/BUILD.bazel b/third_party/googleapis/google/cloud/workstations/v1/BUILD.bazel new file mode 100644 index 000000000..806754bd9 --- /dev/null +++ b/third_party/googleapis/google/cloud/workstations/v1/BUILD.bazel @@ -0,0 +1,385 @@ +# 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 = "workstations_proto", + srcs = [ + "workstations.proto", + ], + deps = [ + "//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//:duration_proto", + "@com_google_protobuf//:field_mask_proto", + "@com_google_protobuf//:timestamp_proto", + ], +) + +proto_library_with_info( + name = "workstations_proto_with_info", + deps = [ + ":workstations_proto", + "//google/cloud:common_resources_proto", + "//google/cloud/location:location_proto", + "//google/iam/v1:iam_policy_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 = "workstations_java_proto", + deps = [":workstations_proto"], +) + +java_grpc_library( + name = "workstations_java_grpc", + srcs = [":workstations_proto"], + deps = [":workstations_java_proto"], +) + +java_gapic_library( + name = "workstations_java_gapic", + srcs = [":workstations_proto_with_info"], + gapic_yaml = None, + grpc_service_config = "workstations_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "workstations_v1.yaml", + test_deps = [ + ":workstations_java_grpc", + "//google/cloud/location:location_java_grpc", + "//google/iam/v1:iam_java_grpc", + ], + transport = "grpc+rest", + deps = [ + ":workstations_java_proto", + "//google/api:api_java_proto", + "//google/cloud/location:location_java_proto", + "//google/iam/v1:iam_java_proto", + ], +) + +java_gapic_test( + name = "workstations_java_gapic_test_suite", + test_classes = [ + "com.google.cloud.workstations.v1.WorkstationsClientHttpJsonTest", + "com.google.cloud.workstations.v1.WorkstationsClientTest", + ], + runtime_deps = [":workstations_java_gapic_test"], +) + +# Open Source Packages +java_gapic_assembly_gradle_pkg( + name = "google-cloud-workstations-v1-java", + include_samples = True, + transport = "grpc+rest", + deps = [ + ":workstations_java_gapic", + ":workstations_java_grpc", + ":workstations_java_proto", + ":workstations_proto", + ], +) + +############################################################################## +# Go +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "go_gapic_assembly_pkg", + "go_gapic_library", + "go_proto_library", +) + +go_proto_library( + name = "workstations_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "cloud.google.com/go/workstations/apiv1/workstationspb", + protos = [":workstations_proto"], + deps = [ + "//google/api:annotations_go_proto", + "//google/longrunning:longrunning_go_proto", + "//google/rpc:status_go_proto", + ], +) + +go_gapic_library( + name = "workstations_go_gapic", + srcs = [":workstations_proto_with_info"], + grpc_service_config = "workstations_grpc_service_config.json", + importpath = "cloud.google.com/go/workstations/apiv1;workstations", + metadata = True, + release_level = "beta", + rest_numeric_enums = True, + service_yaml = "workstations_v1.yaml", + transport = "grpc+rest", + deps = [ + ":workstations_go_proto", + "//google/cloud/location:location_go_proto", + "//google/iam/v1:iam_go_proto", + "//google/longrunning:longrunning_go_proto", + "@com_google_cloud_go_longrunning//:go_default_library", + "@com_google_cloud_go_longrunning//autogen:go_default_library", + "@io_bazel_rules_go//proto/wkt:duration_go_proto", + ], +) + +# Open Source Packages +go_gapic_assembly_pkg( + name = "gapi-cloud-workstations-v1-go", + deps = [ + ":workstations_go_gapic", + ":workstations_go_gapic_srcjar-metadata.srcjar", + ":workstations_go_gapic_srcjar-snippets.srcjar", + ":workstations_go_gapic_srcjar-test.srcjar", + ":workstations_go_proto", + ], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "py_gapic_assembly_pkg", + "py_gapic_library", + "py_test", +) + +py_gapic_library( + name = "workstations_py_gapic", + srcs = [":workstations_proto"], + grpc_service_config = "workstations_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "workstations_v1.yaml", + transport = "grpc+rest", + deps = [ + "//google/iam/v1:iam_policy_py_proto", + ], +) + +py_test( + name = "workstations_py_gapic_test", + srcs = [ + "workstations_py_gapic_pytest.py", + "workstations_py_gapic_test.py", + ], + legacy_create_init = False, + deps = [":workstations_py_gapic"], +) + +# Open Source Packages +py_gapic_assembly_pkg( + name = "workstations-v1-py", + deps = [ + ":workstations_py_gapic", + ], +) + +############################################################################## +# PHP +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "php_gapic_assembly_pkg", + "php_gapic_library", + "php_proto_library", +) + +php_proto_library( + name = "workstations_php_proto", + deps = [":workstations_proto"], +) + +php_gapic_library( + name = "workstations_php_gapic", + srcs = [":workstations_proto_with_info"], + grpc_service_config = "workstations_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "workstations_v1.yaml", + transport = "grpc+rest", + deps = [":workstations_php_proto"], +) + +# Open Source Packages +php_gapic_assembly_pkg( + name = "google-cloud-workstations-v1-php", + deps = [ + ":workstations_php_gapic", + ":workstations_php_proto", + ], +) + +############################################################################## +# Node.js +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "nodejs_gapic_assembly_pkg", + "nodejs_gapic_library", +) + +nodejs_gapic_library( + name = "workstations_nodejs_gapic", + package_name = "@google-cloud/workstations", + src = ":workstations_proto_with_info", + extra_protoc_parameters = ["metadata"], + grpc_service_config = "workstations_grpc_service_config.json", + package = "google.cloud.workstations.v1", + rest_numeric_enums = True, + service_yaml = "workstations_v1.yaml", + transport = "grpc+rest", + deps = [], +) + +nodejs_gapic_assembly_pkg( + name = "workstations-v1-nodejs", + deps = [ + ":workstations_nodejs_gapic", + ":workstations_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 = "workstations_ruby_proto", + deps = [":workstations_proto"], +) + +ruby_grpc_library( + name = "workstations_ruby_grpc", + srcs = [":workstations_proto"], + deps = [":workstations_ruby_proto"], +) + +ruby_cloud_gapic_library( + name = "workstations_ruby_gapic", + srcs = [":workstations_proto_with_info"], + extra_protoc_parameters = [ + "ruby-cloud-gem-name=google-cloud-workstations-v1", + ], + grpc_service_config = "workstations_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "workstations_v1.yaml", + deps = [ + ":workstations_ruby_grpc", + ":workstations_ruby_proto", + ], +) + +# Open Source Packages +ruby_gapic_assembly_pkg( + name = "google-cloud-workstations-v1-ruby", + deps = [ + ":workstations_ruby_gapic", + ":workstations_ruby_grpc", + ":workstations_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 = "workstations_csharp_proto", + deps = [":workstations_proto"], +) + +csharp_grpc_library( + name = "workstations_csharp_grpc", + srcs = [":workstations_proto"], + deps = [":workstations_csharp_proto"], +) + +csharp_gapic_library( + name = "workstations_csharp_gapic", + srcs = [":workstations_proto_with_info"], + common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json", + grpc_service_config = "workstations_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "workstations_v1.yaml", + deps = [ + ":workstations_csharp_grpc", + ":workstations_csharp_proto", + ], +) + +# Open Source Packages +csharp_gapic_assembly_pkg( + name = "google-cloud-workstations-v1-csharp", + deps = [ + ":workstations_csharp_gapic", + ":workstations_csharp_grpc", + ":workstations_csharp_proto", + ], +) + +############################################################################## +# C++ +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "cc_grpc_library", + "cc_proto_library", +) + +cc_proto_library( + name = "workstations_cc_proto", + deps = [":workstations_proto"], +) + +cc_grpc_library( + name = "workstations_cc_grpc", + srcs = [":workstations_proto"], + grpc_only = True, + deps = [":workstations_cc_proto"], +) diff --git a/third_party/googleapis/google/cloud/workstations/v1/workstations.proto b/third_party/googleapis/google/cloud/workstations/v1/workstations.proto new file mode 100644 index 000000000..7bc9b5241 --- /dev/null +++ b/third_party/googleapis/google/cloud/workstations/v1/workstations.proto @@ -0,0 +1,1398 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF 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.workstations.v1; + +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/duration.proto"; +import "google/protobuf/field_mask.proto"; +import "google/protobuf/timestamp.proto"; +import "google/rpc/status.proto"; + +option go_package = "cloud.google.com/go/workstations/apiv1/workstationspb;workstationspb"; +option java_multiple_files = true; +option java_outer_classname = "WorkstationsProto"; +option java_package = "com.google.cloud.workstations.v1"; + +// Service for interacting with Cloud Workstations. +service Workstations { + option (google.api.default_host) = "workstations.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform"; + + // Returns the requested workstation cluster. + rpc GetWorkstationCluster(GetWorkstationClusterRequest) + returns (WorkstationCluster) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/workstationClusters/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Returns all workstation clusters in the specified location. + rpc ListWorkstationClusters(ListWorkstationClustersRequest) + returns (ListWorkstationClustersResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*}/workstationClusters" + }; + option (google.api.method_signature) = "parent"; + } + + // Creates a new workstation cluster. + rpc CreateWorkstationCluster(CreateWorkstationClusterRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*}/workstationClusters" + body: "workstation_cluster" + }; + option (google.api.method_signature) = + "parent,workstation_cluster,workstation_cluster_id"; + option (google.longrunning.operation_info) = { + response_type: "WorkstationCluster" + metadata_type: "OperationMetadata" + }; + } + + // Updates an existing workstation cluster. + rpc UpdateWorkstationCluster(UpdateWorkstationClusterRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + patch: "/v1/{workstation_cluster.name=projects/*/locations/*/workstationClusters/*}" + body: "workstation_cluster" + }; + option (google.api.method_signature) = "workstation_cluster,update_mask"; + option (google.longrunning.operation_info) = { + response_type: "WorkstationCluster" + metadata_type: "OperationMetadata" + }; + } + + // Deletes the specified workstation cluster. + rpc DeleteWorkstationCluster(DeleteWorkstationClusterRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1/{name=projects/*/locations/*/workstationClusters/*}" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "WorkstationCluster" + metadata_type: "OperationMetadata" + }; + } + + // Returns the requested workstation configuration. + rpc GetWorkstationConfig(GetWorkstationConfigRequest) + returns (WorkstationConfig) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/workstationClusters/*/workstationConfigs/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Returns all workstation configurations in the specified cluster. + rpc ListWorkstationConfigs(ListWorkstationConfigsRequest) + returns (ListWorkstationConfigsResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*/workstationClusters/*}/workstationConfigs" + }; + option (google.api.method_signature) = "parent"; + } + + // Returns all workstation configurations in the specified cluster on which + // the caller has the "workstations.workstation.create" permission. + rpc ListUsableWorkstationConfigs(ListUsableWorkstationConfigsRequest) + returns (ListUsableWorkstationConfigsResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*/workstationClusters/*}/workstationConfigs:listUsable" + }; + option (google.api.method_signature) = "parent"; + } + + // Creates a new workstation configuration. + rpc CreateWorkstationConfig(CreateWorkstationConfigRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*/workstationClusters/*}/workstationConfigs" + body: "workstation_config" + }; + option (google.api.method_signature) = + "parent,workstation_config,workstation_config_id"; + option (google.longrunning.operation_info) = { + response_type: "WorkstationConfig" + metadata_type: "OperationMetadata" + }; + } + + // Updates an existing workstation configuration. + rpc UpdateWorkstationConfig(UpdateWorkstationConfigRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + patch: "/v1/{workstation_config.name=projects/*/locations/*/workstationClusters/*/workstationConfigs/*}" + body: "workstation_config" + }; + option (google.api.method_signature) = "workstation_config,update_mask"; + option (google.longrunning.operation_info) = { + response_type: "WorkstationConfig" + metadata_type: "OperationMetadata" + }; + } + + // Deletes the specified workstation configuration. + rpc DeleteWorkstationConfig(DeleteWorkstationConfigRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1/{name=projects/*/locations/*/workstationClusters/*/workstationConfigs/*}" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "WorkstationConfig" + metadata_type: "OperationMetadata" + }; + } + + // Returns the requested workstation. + rpc GetWorkstation(GetWorkstationRequest) returns (Workstation) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/workstationClusters/*/workstationConfigs/*/workstations/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Returns all Workstations using the specified workstation configuration. + rpc ListWorkstations(ListWorkstationsRequest) + returns (ListWorkstationsResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*/workstationClusters/*/workstationConfigs/*}/workstations" + }; + option (google.api.method_signature) = "parent"; + } + + // Returns all workstations using the specified workstation configuration + // on which the caller has the "workstations.workstations.use" permission. + rpc ListUsableWorkstations(ListUsableWorkstationsRequest) + returns (ListUsableWorkstationsResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*/workstationClusters/*/workstationConfigs/*}/workstations:listUsable" + }; + option (google.api.method_signature) = "parent"; + } + + // Creates a new workstation. + rpc CreateWorkstation(CreateWorkstationRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*/workstationClusters/*/workstationConfigs/*}/workstations" + body: "workstation" + }; + option (google.api.method_signature) = "parent,workstation,workstation_id"; + option (google.longrunning.operation_info) = { + response_type: "Workstation" + metadata_type: "OperationMetadata" + }; + } + + // Updates an existing workstation. + rpc UpdateWorkstation(UpdateWorkstationRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + patch: "/v1/{workstation.name=projects/*/locations/*/workstationClusters/*/workstationConfigs/*/workstations/*}" + body: "workstation" + }; + option (google.api.method_signature) = "workstation,update_mask"; + option (google.longrunning.operation_info) = { + response_type: "Workstation" + metadata_type: "OperationMetadata" + }; + } + + // Deletes the specified workstation. + rpc DeleteWorkstation(DeleteWorkstationRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1/{name=projects/*/locations/*/workstationClusters/*/workstationConfigs/*/workstations/*}" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "Workstation" + metadata_type: "OperationMetadata" + }; + } + + // Starts running a workstation so that users can connect to it. + rpc StartWorkstation(StartWorkstationRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{name=projects/*/locations/*/workstationClusters/*/workstationConfigs/*/workstations/*}:start" + body: "*" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "Workstation" + metadata_type: "OperationMetadata" + }; + } + + // Stops running a workstation, reducing costs. + rpc StopWorkstation(StopWorkstationRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{name=projects/*/locations/*/workstationClusters/*/workstationConfigs/*/workstations/*}:stop" + body: "*" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "Workstation" + metadata_type: "OperationMetadata" + }; + } + + // Returns a short-lived credential that can be used to send authenticated and + // authorized traffic to a workstation. + rpc GenerateAccessToken(GenerateAccessTokenRequest) + returns (GenerateAccessTokenResponse) { + option (google.api.http) = { + post: "/v1/{workstation=projects/*/locations/*/workstationClusters/*/workstationConfigs/*/workstations/*}:generateAccessToken" + body: "*" + }; + option (google.api.method_signature) = "workstation"; + } +} + +// A workstation cluster resource in the Cloud Workstations API. +// +// Defines a group of workstations in a particular region and the +// VPC network they're attached to. +message WorkstationCluster { + option (google.api.resource) = { + type: "workstations.googleapis.com/WorkstationCluster" + pattern: "projects/{project}/locations/{location}/workstationClusters/{workstation_cluster}" + plural: "workstationClusters" + singular: "workstationCluster" + style: DECLARATIVE_FRIENDLY + }; + + // Configuration options for private workstation clusters. + message PrivateClusterConfig { + // Immutable. Whether Workstations endpoint is private. + bool enable_private_endpoint = 1 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. Hostname for the workstation cluster. This field will be + // populated only when private endpoint is enabled. To access workstations + // in the workstation cluster, create a new DNS zone mapping this domain + // name to an internal IP address and a forwarding rule mapping that address + // to the service attachment. + string cluster_hostname = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Service attachment URI for the workstation cluster. The + // service attachemnt is created when private endpoint is enabled. To access + // workstations in the workstation cluster, configure access to the managed + // service using [Private Service + // Connect](https://cloud.google.com/vpc/docs/configure-private-service-connect-services). + string service_attachment_uri = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Optional. Additional projects that are allowed to attach to the + // workstation cluster's service attachment. By default, the workstation + // cluster's project and the VPC host project (if different) are allowed. + repeated string allowed_projects = 4 + [(google.api.field_behavior) = OPTIONAL]; + } + + // Full name of this workstation cluster. + string name = 1; + + // Optional. Human-readable name for this workstation cluster. + string display_name = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Output only. A system-assigned unique identifier for this workstation + // cluster. + string uid = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Indicates whether this workstation cluster is currently being + // updated to match its intended state. + bool reconciling = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Optional. Client-specified annotations. + map annotations = 5 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. + // [Labels](https://cloud.google.com/workstations/docs/label-resources) that + // are applied to the workstation cluster and that are also propagated to the + // underlying Compute Engine resources. + map labels = 15 [(google.api.field_behavior) = OPTIONAL]; + + // Output only. Time when this workstation cluster was created. + google.protobuf.Timestamp create_time = 6 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Time when this workstation cluster was most recently updated. + google.protobuf.Timestamp update_time = 7 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Time when this workstation cluster was soft-deleted. + google.protobuf.Timestamp delete_time = 8 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Optional. Checksum computed by the server. May be sent on update and delete + // requests to make sure that the client has an up-to-date value before + // proceeding. + string etag = 9 [(google.api.field_behavior) = OPTIONAL]; + + // Immutable. Name of the Compute Engine network in which instances associated + // with this workstation cluster will be created. + string network = 10 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Name of the Compute Engine subnetwork in which instances + // associated with this workstation cluster will be created. Must be part of + // the subnetwork specified for this workstation cluster. + string subnetwork = 11 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. The private IP address of the control plane for this + // workstation cluster. Workstation VMs need access to this IP address to work + // with the service, so make sure that your firewall rules allow egress from + // the workstation VMs to this address. + string control_plane_ip = 16 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Optional. Configuration for private workstation cluster. + PrivateClusterConfig private_cluster_config = 12 + [(google.api.field_behavior) = OPTIONAL]; + + // Output only. Whether this workstation cluster is in degraded mode, in which + // case it may require user action to restore full functionality. Details can + // be found in + // [conditions][google.cloud.workstations.v1.WorkstationCluster.conditions]. + bool degraded = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Status conditions describing the workstation cluster's current + // state. + repeated google.rpc.Status conditions = 14 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// A workstation configuration resource in the Cloud Workstations API. +// +// Workstation configurations act as templates for workstations. The workstation +// configuration defines details such as the workstation virtual machine (VM) +// instance type, persistent storage, container image defining environment, +// which IDE or Code Editor to use, and more. Administrators and platform teams +// can also use [Identity and Access Management +// (IAM)](https://cloud.google.com/iam/docs/overview) rules to grant access to +// teams or to individual developers. +message WorkstationConfig { + option (google.api.resource) = { + type: "workstations.googleapis.com/WorkstationConfig" + pattern: "projects/{project}/locations/{location}/workstationClusters/{workstation_cluster}/workstationConfigs/{workstation_config}" + plural: "workstationConfigs" + singular: "workstationConfig" + style: DECLARATIVE_FRIENDLY + }; + + // Runtime host for a workstation. + message Host { + // A runtime using a Compute Engine instance. + message GceInstance { + // A set of Compute Engine Shielded instance options. + message GceShieldedInstanceConfig { + // Optional. Whether the instance has Secure Boot enabled. + bool enable_secure_boot = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Whether the instance has the vTPM enabled. + bool enable_vtpm = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Whether the instance has integrity monitoring enabled. + bool enable_integrity_monitoring = 3 + [(google.api.field_behavior) = OPTIONAL]; + } + + // A set of Compute Engine Confidential VM instance options. + message GceConfidentialInstanceConfig { + // Optional. Whether the instance has confidential compute enabled. + bool enable_confidential_compute = 1 + [(google.api.field_behavior) = OPTIONAL]; + } + + // Optional. The type of machine to use for VM instances—for example, + // `"e2-standard-4"`. For more information about machine types that + // Cloud Workstations supports, see the list of + // [available machine + // types](https://cloud.google.com/workstations/docs/available-machine-types). + string machine_type = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The email address of the service account for Cloud + // Workstations VMs created with this configuration. When specified, be + // sure that the service account has `logginglogEntries.create` permission + // on the project so it can write logs out to Cloud Logging. If using a + // custom container image, the service account must have permissions to + // pull the specified image. + // + // If you as the administrator want to be able to `ssh` into the + // underlying VM, you need to set this value to a service account + // for which you have the `iam.serviceAccounts.actAs` permission. + // Conversely, if you don't want anyone to be able to `ssh` into the + // underlying VM, use a service account where no one has that + // permission. + // + // If not set, VMs run with a service account provided by the + // Cloud Workstations service, and the image must be publicly + // accessible. + string service_account = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Scopes to grant to the + // [service_account][google.cloud.workstations.v1.WorkstationConfig.Host.GceInstance.service_account]. + // Various scopes are automatically added based on feature usage. When + // specified, users of workstations under this configuration must have + // `iam.serviceAccounts.actAs` on the service account. + repeated string service_account_scopes = 3 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Network tags to add to the Compute Engine VMs backing the + // workstations. This option applies + // [network + // tags](https://cloud.google.com/vpc/docs/add-remove-network-tags) to VMs + // created with this configuration. These network tags enable the creation + // of [firewall + // rules](https://cloud.google.com/workstations/docs/configure-firewall-rules). + repeated string tags = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The number of VMs that the system should keep idle so that + // new workstations can be started quickly for new users. Defaults to `0` + // in the API. + int32 pool_size = 5 [(google.api.field_behavior) = OPTIONAL]; + + // Output only. Number of instances currently available in the pool for + // faster workstation startup. + int32 pooled_instances = 12 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Optional. When set to true, disables public IP addresses for VMs. If + // you disable public IP addresses, you must set up Private Google Access + // or Cloud NAT on your network. If you use Private Google Access and you + // use `private.googleapis.com` or `restricted.googleapis.com` for + // Container Registry and Artifact Registry, make sure that you set + // up DNS records for domains `*.gcr.io` and `*.pkg.dev`. + // Defaults to false (VMs have public IP addresses). + bool disable_public_ip_addresses = 6 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Whether to enable nested virtualization on Cloud Workstations + // VMs created under this workstation configuration. + // + // Nested virtualization lets you run virtual machine (VM) instances + // inside your workstation. Before enabling nested virtualization, + // consider the following important considerations. Cloud Workstations + // instances are subject to the [same restrictions as Compute Engine + // instances](https://cloud.google.com/compute/docs/instances/nested-virtualization/overview#restrictions): + // + // * **Organization policy**: projects, folders, or + // organizations may be restricted from creating nested VMs if the + // **Disable VM nested virtualization** constraint is enforced in + // the organization policy. For more information, see the + // Compute Engine section, + // [Checking whether nested virtualization is + // allowed](https://cloud.google.com/compute/docs/instances/nested-virtualization/managing-constraint#checking_whether_nested_virtualization_is_allowed). + // * **Performance**: nested VMs might experience a 10% or greater + // decrease in performance for workloads that are CPU-bound and + // possibly greater than a 10% decrease for workloads that are + // input/output bound. + // * **Machine Type**: nested virtualization can only be enabled on + // workstation configurations that specify a + // [machine_type][google.cloud.workstations.v1.WorkstationConfig.Host.GceInstance.machine_type] + // in the N1 or N2 machine series. + // * **GPUs**: nested virtualization may not be enabled on workstation + // configurations with accelerators. + // * **Operating System**: Because + // [Container-Optimized + // OS](https://cloud.google.com/compute/docs/images/os-details#container-optimized_os_cos) + // does not support nested virtualization, when nested virtualization is + // enabled, the underlying Compute Engine VM instances boot from an + // [Ubuntu + // LTS](https://cloud.google.com/compute/docs/images/os-details#ubuntu_lts) + // image. + bool enable_nested_virtualization = 7 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A set of Compute Engine Shielded instance options. + GceShieldedInstanceConfig shielded_instance_config = 8 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A set of Compute Engine Confidential VM instance options. + GceConfidentialInstanceConfig confidential_instance_config = 10 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The size of the boot disk for the VM in gigabytes (GB). + // The minimum boot disk size is `30` GB. Defaults to `50` GB. + int32 boot_disk_size_gb = 9 [(google.api.field_behavior) = OPTIONAL]; + } + + // Type of host that will be used for the workstation's runtime. + oneof config { + // Specifies a Compute Engine instance as the host. + GceInstance gce_instance = 1; + } + } + + // A directory to persist across workstation sessions. + message PersistentDirectory { + // A PersistentDirectory backed by a Compute Engine regional persistent + // disk. The + // [persistent_directories][google.cloud.workstations.v1.WorkstationConfig.persistent_directories] + // field is repeated, but it may contain only one entry. It creates a + // [persistent + // disk](https://cloud.google.com/compute/docs/disks/persistent-disks) that + // mounts to the workstation VM at `/home` when the session starts and + // detaches when the session ends. If this field is empty, workstations + // created with this configuration do not have a persistent home + // directory. + message GceRegionalPersistentDisk { + // Value representing what should happen to the disk after the workstation + // is deleted. + enum ReclaimPolicy { + // Do not use. + RECLAIM_POLICY_UNSPECIFIED = 0; + + // Delete the persistent disk when deleting the workstation. + DELETE = 1; + + // Keep the persistent disk when deleting the workstation. + // An administrator must manually delete the disk. + RETAIN = 2; + } + + // Optional. The GB capacity of a persistent home directory for each + // workstation created with this configuration. Must be empty if + // [source_snapshot][google.cloud.workstations.v1.WorkstationConfig.PersistentDirectory.GceRegionalPersistentDisk.source_snapshot] + // is set. + // + // Valid values are `10`, `50`, `100`, `200`, `500`, or `1000`. + // Defaults to `200`. If less than `200` GB, the + // [disk_type][google.cloud.workstations.v1.WorkstationConfig.PersistentDirectory.GceRegionalPersistentDisk.disk_type] + // must be + // `"pd-balanced"` or `"pd-ssd"`. + int32 size_gb = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Type of file system that the disk should be formatted with. + // The workstation image must support this file system type. Must be empty + // if + // [source_snapshot][google.cloud.workstations.v1.WorkstationConfig.PersistentDirectory.GceRegionalPersistentDisk.source_snapshot] + // is set. Defaults to `"ext4"`. + string fs_type = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The [type of the persistent + // disk](https://cloud.google.com/compute/docs/disks#disk-types) for the + // home directory. Defaults to `"pd-standard"`. + string disk_type = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Name of the snapshot to use as the source for the disk. If + // set, + // [size_gb][google.cloud.workstations.v1.WorkstationConfig.PersistentDirectory.GceRegionalPersistentDisk.size_gb] + // and + // [fs_type][google.cloud.workstations.v1.WorkstationConfig.PersistentDirectory.GceRegionalPersistentDisk.fs_type] + // must be empty. + string source_snapshot = 5 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Whether the persistent disk should be deleted when the + // workstation is deleted. Valid values are `DELETE` and `RETAIN`. + // Defaults to `DELETE`. + ReclaimPolicy reclaim_policy = 4 [(google.api.field_behavior) = OPTIONAL]; + } + + // How a persistent directory should be implemented. + oneof directory_type { + // A PersistentDirectory backed by a Compute Engine persistent disk. + GceRegionalPersistentDisk gce_pd = 2; + } + + // Optional. Location of this directory in the running workstation. + string mount_path = 1 [(google.api.field_behavior) = OPTIONAL]; + } + + // A Docker container. + message Container { + // Optional. A Docker container image that defines a custom environment. + // + // Cloud Workstations provides a number of + // [preconfigured + // images](https://cloud.google.com/workstations/docs/preconfigured-base-images), + // but you can create your own + // [custom container + // images](https://cloud.google.com/workstations/docs/custom-container-images). + // If using a private image, the `host.gceInstance.serviceAccount` field + // must be specified in the workstation configuration and must have + // permission to pull the specified image. Otherwise, the image must be + // publicly accessible. + string image = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. If set, overrides the default ENTRYPOINT specified by the + // image. + repeated string command = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Arguments passed to the entrypoint. + repeated string args = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Environment variables passed to the container's entrypoint. + map env = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. If set, overrides the default DIR specified by the image. + string working_dir = 5 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. If set, overrides the USER specified in the image with the + // given uid. + int32 run_as_user = 6 [(google.api.field_behavior) = OPTIONAL]; + } + + // A customer-managed encryption key (CMEK) for the Compute Engine + // resources of the associated workstation configuration. Specify the name of + // your Cloud KMS encryption key and the default service account. + // We recommend that you use a separate service account and follow + // [Cloud KMS best + // practices](https://cloud.google.com/kms/docs/separation-of-duties). + message CustomerEncryptionKey { + // Immutable. The name of the Google Cloud KMS encryption key. For example, + // `"projects/PROJECT_ID/locations/REGION/keyRings/KEY_RING/cryptoKeys/KEY_NAME"`. + // The key must be in the same region as the workstation configuration. + string kms_key = 1 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. The service account to use with the specified + // KMS key. We recommend that you use a separate service account + // and follow KMS best practices. For more information, see + // [Separation of + // duties](https://cloud.google.com/kms/docs/separation-of-duties) and + // `gcloud kms keys add-iam-policy-binding` + // [`--member`](https://cloud.google.com/sdk/gcloud/reference/kms/keys/add-iam-policy-binding#--member). + string kms_key_service_account = 2 + [(google.api.field_behavior) = IMMUTABLE]; + } + + // A readiness check to be performed on a workstation. + message ReadinessCheck { + // Optional. Path to which the request should be sent. + string path = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Port to which the request should be sent. + int32 port = 2 [(google.api.field_behavior) = OPTIONAL]; + } + + // Full name of this workstation configuration. + string name = 1; + + // Optional. Human-readable name for this workstation configuration. + string display_name = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Output only. A system-assigned unique identifier for this workstation + // configuration. + string uid = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Indicates whether this workstation configuration is currently + // being updated to match its intended state. + bool reconciling = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Optional. Client-specified annotations. + map annotations = 5 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. + // [Labels](https://cloud.google.com/workstations/docs/label-resources) that + // are applied to the workstation configuration and that are also propagated + // to the underlying Compute Engine resources. + map labels = 18 [(google.api.field_behavior) = OPTIONAL]; + + // Output only. Time when this workstation configuration was created. + google.protobuf.Timestamp create_time = 6 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Time when this workstation configuration was most recently + // updated. + google.protobuf.Timestamp update_time = 7 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Time when this workstation configuration was soft-deleted. + google.protobuf.Timestamp delete_time = 8 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Optional. Checksum computed by the server. May be sent on update and delete + // requests to make sure that the client has an up-to-date value before + // proceeding. + string etag = 9 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Number of seconds to wait before automatically stopping a + // workstation after it last received user traffic. + // + // A value of `"0s"` indicates that Cloud Workstations VMs created with this + // configuration should never time out due to idleness. + // Provide + // [duration](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#duration) + // terminated by `s` for seconds—for example, `"7200s"` (2 hours). + // The default is `"1200s"` (20 minutes). + google.protobuf.Duration idle_timeout = 10 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Number of seconds that a workstation can run until it is + // automatically shut down. We recommend that workstations be shut down daily + // to reduce costs and so that security updates can be applied upon restart. + // The + // [idle_timeout][google.cloud.workstations.v1.WorkstationConfig.idle_timeout] + // and + // [running_timeout][google.cloud.workstations.v1.WorkstationConfig.running_timeout] + // fields are independent of each other. Note that the + // [running_timeout][google.cloud.workstations.v1.WorkstationConfig.running_timeout] + // field shuts down VMs after the specified time, regardless of whether or not + // the VMs are idle. + // + // Provide duration terminated by `s` for seconds—for example, `"54000s"` + // (15 hours). Defaults to `"43200s"` (12 hours). A value of `"0s"` indicates + // that workstations using this configuration should never time out. If + // [encryption_key][google.cloud.workstations.v1.WorkstationConfig.encryption_key] + // is set, it must be greater than `"0s"` and less than + // `"86400s"` (24 hours). + // + // Warning: A value of `"0s"` indicates that Cloud Workstations VMs created + // with this configuration have no maximum running time. This is strongly + // discouraged because you incur costs and will not pick up security updates. + google.protobuf.Duration running_timeout = 11 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Runtime host for the workstation. + Host host = 12 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Directories to persist across workstation sessions. + repeated PersistentDirectory persistent_directories = 13 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Container that runs upon startup for each workstation using this + // workstation configuration. + Container container = 14 [(google.api.field_behavior) = OPTIONAL]; + + // Immutable. Encrypts resources of this workstation configuration using a + // customer-managed encryption key (CMEK). + // + // If specified, the boot disk of the Compute Engine instance and the + // persistent disk are encrypted using this encryption key. If + // this field is not set, the disks are encrypted using a generated + // key. Customer-managed encryption keys do not protect disk metadata. + // + // If the customer-managed encryption key is rotated, when the workstation + // instance is stopped, the system attempts to recreate the + // persistent disk with the new version of the key. Be sure to keep + // older versions of the key until the persistent disk is recreated. + // Otherwise, data on the persistent disk might be lost. + // + // If the encryption key is revoked, the workstation session automatically + // stops within 7 hours. + // + // Immutable after the workstation configuration is created. + CustomerEncryptionKey encryption_key = 17 + [(google.api.field_behavior) = IMMUTABLE]; + + // Optional. Readiness checks to perform when starting a workstation using + // this workstation configuration. Mark a workstation as running only after + // all specified readiness checks return 200 status codes. + repeated ReadinessCheck readiness_checks = 19 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Immutable. Specifies the zones used to replicate the VM and disk + // resources within the region. If set, exactly two zones within the + // workstation cluster's region must be specified—for example, + // `['us-central1-a', 'us-central1-f']`. If this field is empty, two default + // zones within the region are used. + // + // Immutable after the workstation configuration is created. + repeated string replica_zones = 23 [ + (google.api.field_behavior) = OPTIONAL, + (google.api.field_behavior) = IMMUTABLE + ]; + + // Output only. Whether this resource is degraded, in which case it may + // require user action to restore full functionality. See also the + // [conditions][google.cloud.workstations.v1.WorkstationConfig.conditions] + // field. + bool degraded = 15 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Status conditions describing the current resource state. + repeated google.rpc.Status conditions = 16 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// A single instance of a developer workstation with its own persistent storage. +message Workstation { + option (google.api.resource) = { + type: "workstations.googleapis.com/Workstation" + pattern: "projects/{project}/locations/{location}/workstationClusters/{workstation_cluster}/workstationConfigs/{workstation_config}/workstations/{workstation}" + plural: "workstations" + singular: "workstation" + style: DECLARATIVE_FRIENDLY + }; + + // Whether a workstation is running and ready to receive user requests. + enum State { + // Do not use. + STATE_UNSPECIFIED = 0; + + // The workstation is not yet ready to accept requests from users but will + // be soon. + STATE_STARTING = 1; + + // The workstation is ready to accept requests from users. + STATE_RUNNING = 2; + + // The workstation is being stopped. + STATE_STOPPING = 3; + + // The workstation is stopped and will not be able to receive requests until + // it is started. + STATE_STOPPED = 4; + } + + // Full name of this workstation. + string name = 1; + + // Optional. Human-readable name for this workstation. + string display_name = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Output only. A system-assigned unique identifier for this workstation. + string uid = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Indicates whether this workstation is currently being updated + // to match its intended state. + bool reconciling = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Optional. Client-specified annotations. + map annotations = 5 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. + // [Labels](https://cloud.google.com/workstations/docs/label-resources) that + // are applied to the workstation and that are also propagated to the + // underlying Compute Engine resources. + map labels = 13 [(google.api.field_behavior) = OPTIONAL]; + + // Output only. Time when this workstation was created. + google.protobuf.Timestamp create_time = 6 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Time when this workstation was most recently updated. + google.protobuf.Timestamp update_time = 7 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Time when this workstation was most recently successfully + // started, regardless of the workstation's initial state. + google.protobuf.Timestamp start_time = 14 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Time when this workstation was soft-deleted. + google.protobuf.Timestamp delete_time = 8 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Optional. Checksum computed by the server. May be sent on update and delete + // requests to make sure that the client has an up-to-date value before + // proceeding. + string etag = 9 [(google.api.field_behavior) = OPTIONAL]; + + // Output only. Current state of the workstation. + State state = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Host to which clients can send HTTPS traffic that will be + // received by the workstation. Authorized traffic will be received to the + // workstation as HTTP on port 80. To send traffic to a different port, + // clients may prefix the host with the destination port in the format + // `{port}-{host}`. + string host = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Request message for GetWorkstationCluster. +message GetWorkstationClusterRequest { + // Required. Name of the requested resource. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "workstations.googleapis.com/WorkstationCluster" + } + ]; +} + +// Request message for ListWorkstationClusters. +message ListWorkstationClustersRequest { + // Required. Parent resource name. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "workstations.googleapis.com/WorkstationCluster" + } + ]; + + // Optional. Maximum number of items to return. + int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. next_page_token value returned from a previous List request, if + // any. + string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// Response message for ListWorkstationClusters. +message ListWorkstationClustersResponse { + // The requested workstation clusters. + repeated WorkstationCluster workstation_clusters = 1; + + // Token to retrieve the next page of results, or empty if there are no more + // results in the list. + string next_page_token = 2; + + // Unreachable resources. + repeated string unreachable = 3; +} + +// Message for creating a CreateWorkstationCluster. +message CreateWorkstationClusterRequest { + // Required. Parent resource name. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "workstations.googleapis.com/WorkstationCluster" + } + ]; + + // Required. ID to use for the workstation cluster. + string workstation_cluster_id = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. Workstation cluster to create. + WorkstationCluster workstation_cluster = 3 + [(google.api.field_behavior) = REQUIRED]; + + // Optional. If set, validate the request and preview the review, but do not + // actually apply it. + bool validate_only = 4 [(google.api.field_behavior) = OPTIONAL]; +} + +// Request message for UpdateWorkstationCluster. +message UpdateWorkstationClusterRequest { + // Required. Workstation cluster to update. + WorkstationCluster workstation_cluster = 1 + [(google.api.field_behavior) = REQUIRED]; + + // Required. Mask that specifies which fields in the workstation cluster + // should be updated. + google.protobuf.FieldMask update_mask = 2 + [(google.api.field_behavior) = REQUIRED]; + + // Optional. If set, validate the request and preview the review, but do not + // actually apply it. + bool validate_only = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. If set, and the workstation cluster is not found, a new + // workstation cluster will be created. In this situation, update_mask is + // ignored. + bool allow_missing = 4 [(google.api.field_behavior) = OPTIONAL]; +} + +// Message for deleting a workstation cluster. +message DeleteWorkstationClusterRequest { + // Required. Name of the workstation cluster to delete. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "workstations.googleapis.com/WorkstationCluster" + } + ]; + + // Optional. If set, validate the request and preview the review, but do not + // apply it. + bool validate_only = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. If set, the request will be rejected if the latest version of the + // workstation cluster on the server does not have this ETag. + string etag = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. If set, any workstation configurations and workstations in the + // workstation cluster are also deleted. Otherwise, the request only + // works if the workstation cluster has no configurations or workstations. + bool force = 4 [(google.api.field_behavior) = OPTIONAL]; +} + +// Request message for GetWorkstationConfig. +message GetWorkstationConfigRequest { + // Required. Name of the requested resource. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "workstations.googleapis.com/WorkstationConfig" + } + ]; +} + +// Request message for ListWorkstationConfigs. +message ListWorkstationConfigsRequest { + // Required. Parent resource name. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "workstations.googleapis.com/WorkstationCluster" + } + ]; + + // Optional. Maximum number of items to return. + int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. next_page_token value returned from a previous List request, if + // any. + string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// Response message for ListWorkstationConfigs. +message ListWorkstationConfigsResponse { + // The requested configs. + repeated WorkstationConfig workstation_configs = 1; + + // Token to retrieve the next page of results, or empty if there are no more + // results in the list. + string next_page_token = 2; + + // Unreachable resources. + repeated string unreachable = 3; +} + +// Request message for ListUsableWorkstationConfigs. +message ListUsableWorkstationConfigsRequest { + // Required. Parent resource name. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "workstations.googleapis.com/WorkstationCluster" + } + ]; + + // Optional. Maximum number of items to return. + int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. next_page_token value returned from a previous List request, if + // any. + string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// Response message for ListUsableWorkstationConfigs. +message ListUsableWorkstationConfigsResponse { + // The requested configs. + repeated WorkstationConfig workstation_configs = 1; + + // Token to retrieve the next page of results, or empty if there are no more + // results in the list. + string next_page_token = 2; + + // Unreachable resources. + repeated string unreachable = 3; +} + +// Message for creating a CreateWorkstationConfig. +message CreateWorkstationConfigRequest { + // Required. Parent resource name. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "workstations.googleapis.com/WorkstationCluster" + } + ]; + + // Required. ID to use for the workstation configuration. + string workstation_config_id = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. Config to create. + WorkstationConfig workstation_config = 3 + [(google.api.field_behavior) = REQUIRED]; + + // Optional. If set, validate the request and preview the review, but do not + // actually apply it. + bool validate_only = 4 [(google.api.field_behavior) = OPTIONAL]; +} + +// Request message for UpdateWorkstationConfig. +message UpdateWorkstationConfigRequest { + // Required. Config to update. + WorkstationConfig workstation_config = 1 + [(google.api.field_behavior) = REQUIRED]; + + // Required. Mask specifying which fields in the workstation configuration + // should be updated. + google.protobuf.FieldMask update_mask = 2 + [(google.api.field_behavior) = REQUIRED]; + + // Optional. If set, validate the request and preview the review, but do not + // actually apply it. + bool validate_only = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. If set and the workstation configuration is not found, a new + // workstation configuration will be created. In this situation, + // update_mask is ignored. + bool allow_missing = 4 [(google.api.field_behavior) = OPTIONAL]; +} + +// Message for deleting a workstation configuration. +message DeleteWorkstationConfigRequest { + // Required. Name of the workstation configuration to delete. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "workstations.googleapis.com/WorkstationConfig" + } + ]; + + // Optional. If set, validate the request and preview the review, but do not + // actually apply it. + bool validate_only = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. If set, the request is rejected if the latest version of the + // workstation configuration on the server does not have this ETag. + string etag = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. If set, any workstations in the workstation configuration are + // also deleted. Otherwise, the request works only if the workstation + // configuration has no workstations. + bool force = 4 [(google.api.field_behavior) = OPTIONAL]; +} + +// Request message for GetWorkstation. +message GetWorkstationRequest { + // Required. Name of the requested resource. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "workstations.googleapis.com/Workstation" + } + ]; +} + +// Request message for ListWorkstations. +message ListWorkstationsRequest { + // Required. Parent resource name. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "workstations.googleapis.com/WorkstationConfig" + } + ]; + + // Optional. Maximum number of items to return. + int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. next_page_token value returned from a previous List request, if + // any. + string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// Response message for ListWorkstations. +message ListWorkstationsResponse { + // The requested workstations. + repeated Workstation workstations = 1; + + // Optional. Token to retrieve the next page of results, or empty if there are + // no more results in the list. + string next_page_token = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Unreachable resources. + repeated string unreachable = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// Request message for ListUsableWorkstations. +message ListUsableWorkstationsRequest { + // Required. Parent resource name. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "workstations.googleapis.com/WorkstationConfig" + } + ]; + + // Optional. Maximum number of items to return. + int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. next_page_token value returned from a previous List request, if + // any. + string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// Response message for ListUsableWorkstations. +message ListUsableWorkstationsResponse { + // The requested workstations. + repeated Workstation workstations = 1; + + // Token to retrieve the next page of results, or empty if there are no more + // results in the list. + string next_page_token = 2; + + // Unreachable resources. + repeated string unreachable = 3; +} + +// Message for creating a CreateWorkstation. +message CreateWorkstationRequest { + // Required. Parent resource name. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "workstations.googleapis.com/WorkstationConfig" + } + ]; + + // Required. ID to use for the workstation. + string workstation_id = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. Workstation to create. + Workstation workstation = 3 [(google.api.field_behavior) = REQUIRED]; + + // Optional. If set, validate the request and preview the review, but do not + // actually apply it. + bool validate_only = 4 [(google.api.field_behavior) = OPTIONAL]; +} + +// Request message for UpdateWorkstation. +message UpdateWorkstationRequest { + // Required. Workstation to update. + Workstation workstation = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. Mask specifying which fields in the workstation configuration + // should be updated. + google.protobuf.FieldMask update_mask = 2 + [(google.api.field_behavior) = REQUIRED]; + + // Optional. If set, validate the request and preview the review, but do not + // actually apply it. + bool validate_only = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. If set and the workstation configuration is not found, a new + // workstation configuration is created. In this situation, update_mask + // is ignored. + bool allow_missing = 4 [(google.api.field_behavior) = OPTIONAL]; +} + +// Request message for DeleteWorkstation. +message DeleteWorkstationRequest { + // Required. Name of the workstation to delete. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "workstations.googleapis.com/Workstation" + } + ]; + + // Optional. If set, validate the request and preview the review, but do not + // actually apply it. + bool validate_only = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. If set, the request will be rejected if the latest version of the + // workstation on the server does not have this ETag. + string etag = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// Request message for StartWorkstation. +message StartWorkstationRequest { + // Required. Name of the workstation to start. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "workstations.googleapis.com/Workstation" + } + ]; + + // Optional. If set, validate the request and preview the review, but do not + // actually apply it. + bool validate_only = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. If set, the request will be rejected if the latest version of the + // workstation on the server does not have this ETag. + string etag = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// Request message for StopWorkstation. +message StopWorkstationRequest { + // Required. Name of the workstation to stop. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "workstations.googleapis.com/Workstation" + } + ]; + + // Optional. If set, validate the request and preview the review, but do not + // actually apply it. + bool validate_only = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. If set, the request will be rejected if the latest version of the + // workstation on the server does not have this ETag. + string etag = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// Request message for GenerateAccessToken. +message GenerateAccessTokenRequest { + // Desired expiration or lifetime of the access token. + oneof expiration { + // Desired expiration time of the access token. This value must + // be at most 24 hours in the future. If a value is not specified, the + // token's expiration time will be set to a default value of 1 hour in the + // future. + google.protobuf.Timestamp expire_time = 2; + + // Desired lifetime duration of the access token. This value must + // be at most 24 hours. If a value is not specified, the token's lifetime + // will be set to a default value of 1 hour. + google.protobuf.Duration ttl = 3; + } + + // Required. Name of the workstation for which the access token should be + // generated. + string workstation = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "workstations.googleapis.com/Workstation" + } + ]; +} + +// Response message for GenerateAccessToken. +message GenerateAccessTokenResponse { + // The generated bearer access token. To use this token, include it in an + // Authorization header of an HTTP request sent to the associated + // workstation's hostname—for example, `Authorization: Bearer + // `. + string access_token = 1; + + // Time at which the generated token will expire. + google.protobuf.Timestamp expire_time = 2; +} + +// Metadata for long-running operations. +message OperationMetadata { + // Output only. Time that the operation was created. + google.protobuf.Timestamp create_time = 1 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Time that 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_message = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Identifies whether the user has requested cancellation + // of the operation. + bool requested_cancellation = 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/workstations/v1/workstations_grpc_service_config.json b/third_party/googleapis/google/cloud/workstations/v1/workstations_grpc_service_config.json new file mode 100644 index 000000000..5adca5c1d --- /dev/null +++ b/third_party/googleapis/google/cloud/workstations/v1/workstations_grpc_service_config.json @@ -0,0 +1,59 @@ +{ + "methodConfig": [{ + "name": [ + { "service": "google.cloud.workstations.v1beta.Workstations", "method": "GenerateAccessToken" }, + { "service": "google.cloud.workstations.v1beta.Workstations", "method": "GetWorkstation" }, + { "service": "google.cloud.workstations.v1beta.Workstations", "method": "GetWorkstationCluster" }, + { "service": "google.cloud.workstations.v1beta.Workstations", "method": "GetWorkstationConfig" }, + { "service": "google.cloud.workstations.v1beta.Workstations", "method": "ListUsableWorkstationConfigs" }, + { "service": "google.cloud.workstations.v1beta.Workstations", "method": "ListUsableWorkstations" }, + { "service": "google.cloud.workstations.v1beta.Workstations", "method": "ListWorkstationClusters" }, + { "service": "google.cloud.workstations.v1beta.Workstations", "method": "ListWorkstationConfigs" }, + { "service": "google.cloud.workstations.v1beta.Workstations", "method": "ListWorkstations" }, + { "service": "google.cloud.workstations.v1.Workstations", "method": "GenerateAccessToken" }, + { "service": "google.cloud.workstations.v1.Workstations", "method": "GetWorkstation" }, + { "service": "google.cloud.workstations.v1.Workstations", "method": "GetWorkstationCluster" }, + { "service": "google.cloud.workstations.v1.Workstations", "method": "GetWorkstationConfig" }, + { "service": "google.cloud.workstations.v1.Workstations", "method": "ListUsableWorkstationConfigs" }, + { "service": "google.cloud.workstations.v1.Workstations", "method": "ListUsableWorkstations" }, + { "service": "google.cloud.workstations.v1.Workstations", "method": "ListWorkstationClusters" }, + { "service": "google.cloud.workstations.v1.Workstations", "method": "ListWorkstationConfigs" }, + { "service": "google.cloud.workstations.v1.Workstations", "method": "ListWorkstations" } + ], + "timeout": "60s", + "retryPolicy": { + "maxAttempts": 5, + "initialBackoff": "1s", + "maxBackoff": "10s", + "backoffMultiplier": 1.3, + "retryableStatusCodes": ["UNAVAILABLE"] + } + }, + { + "name": [ + { "service": "google.cloud.workstations.v1beta.Workstations", "method": "CreateWorkstation" }, + { "service": "google.cloud.workstations.v1beta.Workstations", "method": "CreateWorkstationCluster" }, + { "service": "google.cloud.workstations.v1beta.Workstations", "method": "CreateWorkstationConfig" }, + { "service": "google.cloud.workstations.v1beta.Workstations", "method": "DeleteWorkstation" }, + { "service": "google.cloud.workstations.v1beta.Workstations", "method": "DeleteWorkstationCluster" }, + { "service": "google.cloud.workstations.v1beta.Workstations", "method": "DeleteWorkstationConfig" }, + { "service": "google.cloud.workstations.v1beta.Workstations", "method": "StartWorkstation" }, + { "service": "google.cloud.workstations.v1beta.Workstations", "method": "StopWorkstation" }, + { "service": "google.cloud.workstations.v1beta.Workstations", "method": "UpdateWorkstation" }, + { "service": "google.cloud.workstations.v1beta.Workstations", "method": "UpdateWorkstationCluster" }, + { "service": "google.cloud.workstations.v1beta.Workstations", "method": "UpdateWorkstationConfig" }, + { "service": "google.cloud.workstations.v1.Workstations", "method": "CreateWorkstation" }, + { "service": "google.cloud.workstations.v1.Workstations", "method": "CreateWorkstationCluster" }, + { "service": "google.cloud.workstations.v1.Workstations", "method": "CreateWorkstationConfig" }, + { "service": "google.cloud.workstations.v1.Workstations", "method": "DeleteWorkstation" }, + { "service": "google.cloud.workstations.v1.Workstations", "method": "DeleteWorkstationCluster" }, + { "service": "google.cloud.workstations.v1.Workstations", "method": "DeleteWorkstationConfig" }, + { "service": "google.cloud.workstations.v1.Workstations", "method": "StartWorkstation" }, + { "service": "google.cloud.workstations.v1.Workstations", "method": "StopWorkstation" }, + { "service": "google.cloud.workstations.v1.Workstations", "method": "UpdateWorkstation" }, + { "service": "google.cloud.workstations.v1.Workstations", "method": "UpdateWorkstationCluster" }, + { "service": "google.cloud.workstations.v1.Workstations", "method": "UpdateWorkstationConfig" } + ], + "timeout": "60s" + }] +} diff --git a/third_party/googleapis/google/cloud/workstations/v1/workstations_v1.yaml b/third_party/googleapis/google/cloud/workstations/v1/workstations_v1.yaml new file mode 100644 index 000000000..faee0c3ee --- /dev/null +++ b/third_party/googleapis/google/cloud/workstations/v1/workstations_v1.yaml @@ -0,0 +1,140 @@ +type: google.api.Service +config_version: 3 +name: workstations.googleapis.com +title: Cloud Workstations API + +apis: +- name: google.cloud.location.Locations +- name: google.cloud.workstations.v1.Workstations +- name: google.iam.v1.IAMPolicy +- name: google.longrunning.Operations + +types: +- name: google.cloud.workstations.v1.OperationMetadata + +documentation: + summary: Allows administrators to create managed developer environments in the cloud. + 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.location.Locations.GetLocation + deadline: 30.0 + - selector: google.cloud.location.Locations.ListLocations + deadline: 30.0 + - selector: 'google.cloud.workstations.v1.Workstations.*' + deadline: 30.0 + - selector: 'google.iam.v1.IAMPolicy.*' + deadline: 30.0 + - selector: 'google.longrunning.Operations.*' + deadline: 30.0 + +http: + rules: + - selector: google.iam.v1.IAMPolicy.GetIamPolicy + get: '/v1/{resource=projects/*/locations/*/workstationClusters/*/workstationConfigs/*}:getIamPolicy' + additional_bindings: + - get: '/v1/{resource=projects/*/locations/*/workstationClusters/*/workstationConfigs/*/workstations/*}:getIamPolicy' + - selector: google.iam.v1.IAMPolicy.SetIamPolicy + post: '/v1/{resource=projects/*/locations/*/workstationClusters/*/workstationConfigs/*}:setIamPolicy' + body: '*' + additional_bindings: + - post: '/v1/{resource=projects/*/locations/*/workstationClusters/*/workstationConfigs/*/workstations/*}:setIamPolicy' + body: '*' + - selector: google.iam.v1.IAMPolicy.TestIamPermissions + post: '/v1/{resource=projects/*/locations/*/workstationClusters/*/workstationConfigs/*}:testIamPermissions' + body: '*' + additional_bindings: + - post: '/v1/{resource=projects/*/locations/*/workstationClusters/*/workstationConfigs/*/workstations/*}:testIamPermissions' + body: '*' + - selector: google.longrunning.Operations.CancelOperation + post: '/v1/{name=projects/*/locations/*/operations/*}:cancel' + body: '*' + - selector: google.longrunning.Operations.DeleteOperation + delete: '/v1/{name=projects/*/locations/*/operations/*}' + - selector: google.longrunning.Operations.GetOperation + get: '/v1/{name=projects/*/locations/*/operations/*}' + - selector: google.longrunning.Operations.ListOperations + get: '/v1/{name=projects/*/locations/*}/operations' + +authentication: + rules: + - 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.cloud.workstations.v1.Workstations.*' + 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 + +publishing: + new_issue_uri: https://issuetracker.google.com/issues/new?component=1328344 + documentation_uri: https://cloud.google.com/workstations/docs + api_short_name: workstations + github_label: 'api: workstations' + doc_tag_prefix: workstations + organization: CLOUD + library_settings: + - version: google.cloud.workstations.v1 + launch_stage: GA + java_settings: + common: + destinations: + - PACKAGE_MANAGER + cpp_settings: + common: + destinations: + - PACKAGE_MANAGER + python_settings: + common: + destinations: + - PACKAGE_MANAGER + node_settings: + common: + destinations: + - PACKAGE_MANAGER + go_settings: + common: + destinations: + - PACKAGE_MANAGER diff --git a/third_party/googleapis/google/compute/logging/dr/v1/BUILD.bazel b/third_party/googleapis/google/compute/logging/dr/v1/BUILD.bazel new file mode 100644 index 000000000..dd82749f4 --- /dev/null +++ b/third_party/googleapis/google/compute/logging/dr/v1/BUILD.bazel @@ -0,0 +1,138 @@ +# This file was automatically generated by BuildFileGenerator + +############################################################################## +# Common +############################################################################## +load("@rules_proto//proto:defs.bzl", "proto_library") + +############################################################################## +# Java +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "cc_grpc_library", + "cc_proto_library", + "csharp_gapic_assembly_pkg", + "csharp_proto_library", + "go_gapic_assembly_pkg", + "go_proto_library", + "java_gapic_assembly_gradle_pkg", + "java_proto_library", + "moved_proto_library", + "php_gapic_assembly_pkg", + "php_proto_library", + "py_grpc_library", + "py_proto_library", + "ruby_grpc_library", + "ruby_proto_library", +) + +# This is an API workspace, having public visibility by default makes perfect sense. +package(default_visibility = ["//visibility:public"]) + +proto_library( + name = "dr_proto", + srcs = [ + "disaster_recovery_event.proto", + ], + deps = [ + ], +) + +java_proto_library( + name = "dr_java_proto", + deps = [":dr_proto"], +) + +# Open Source Packages +java_gapic_assembly_gradle_pkg( + name = "google-compute-logging-dr-v1-java", + deps = [ + ":dr_java_proto", + ":dr_proto", + ], +) + +go_proto_library( + name = "dr_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "google.golang.org/genproto/googleapis/compute/logging/dr/v1", + protos = [":dr_proto"], + deps = [ + ], +) + +go_gapic_assembly_pkg( + name = "google-compute-logging-dr-v1-go", + deps = [ + ":dr_go_proto", + ], +) + +moved_proto_library( + name = "dr_moved_proto", + srcs = [":dr_proto"], + deps = [ + ], +) + +py_proto_library( + name = "dr_py_proto", + deps = [":dr_moved_proto"], +) + +py_grpc_library( + name = "dr_py_grpc", + srcs = [":dr_moved_proto"], + deps = [":dr_py_proto"], +) + +php_proto_library( + name = "dr_php_proto", + deps = [":dr_proto"], +) + +php_gapic_assembly_pkg( + name = "google-compute-logging-dr-v1-php", + deps = [ + ":dr_php_proto", + ], +) + +ruby_proto_library( + name = "dr_ruby_proto", + deps = [":dr_proto"], +) + +ruby_grpc_library( + name = "dr_ruby_grpc", + srcs = [":dr_proto"], + deps = [":dr_ruby_proto"], +) + +csharp_proto_library( + name = "dr_csharp_proto", + deps = [":dr_proto"], +) + +# Open Source Packages +csharp_gapic_assembly_pkg( + name = "google-compute-logging-dr-v1-csharp", + package_name = "Google.Compute.Logging.Dr.V1", + generate_nongapic_package = True, + deps = [ + ":dr_csharp_proto", + ], +) + +cc_proto_library( + name = "dr_cc_proto", + deps = [":dr_proto"], +) + +cc_grpc_library( + name = "dr_cc_grpc", + srcs = [":dr_proto"], + grpc_only = True, + deps = [":dr_cc_proto"], +) diff --git a/third_party/googleapis/google/compute/logging/dr/v1/README.md b/third_party/googleapis/google/compute/logging/dr/v1/README.md new file mode 100644 index 000000000..c00cdc742 --- /dev/null +++ b/third_party/googleapis/google/compute/logging/dr/v1/README.md @@ -0,0 +1,3 @@ +# GCE Disaster Recovery Event Logging + +The proto represents the GCE Disaster Recovery Event Logs log entry schema. diff --git a/third_party/googleapis/google/compute/logging/dr/v1/disaster_recovery_event.proto b/third_party/googleapis/google/compute/logging/dr/v1/disaster_recovery_event.proto new file mode 100644 index 000000000..7611b89fd --- /dev/null +++ b/third_party/googleapis/google/compute/logging/dr/v1/disaster_recovery_event.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.compute.logging.dr.v1; + +option go_package = "google.golang.org/genproto/googleapis/compute/logging/dr/v1;dr"; +option java_multiple_files = true; +option java_outer_classname = "DisasterRecoveryEventProto"; +option java_package = "com.google.compute.logging.dr.v1"; +option csharp_namespace = "Google.Compute.Logging.Dr.V1"; +option php_namespace = "Google\\Compute\\Logging\\Dr\\V1"; +option ruby_package = "Google::Compute::Logging::Dr::V1"; + +// An event signifying a Compute Engine resource is impacted by the disaster +// recovery. +message DisasterRecoveryEvent { + // The severity of the disaster recovery event. + enum Severity { + // Unspecified. + SEVERITY_UNSPECIFIED = 0; + + // The Compute Engine resource is broken. A person must take an action. + ACTION_REQUIRED = 1; + + // The Compute Engine resource is functioning. A change was applied to the + // resource during disaster recovery. Please take action to review + // the change to avoid unexpected problems. + ACTION_SUGGESTED = 2; + + // Normal maintenance opeartions during disaster recovery, such as start up, + // shut down. + NOTICE = 3; + } + + // The severity level. + optional Severity severity = 1; + + // Details about the impact on the Compute Engine resource, e.g. "the resource + // is deleted during the disaster recovery". + optional string details = 2; +} diff --git a/third_party/googleapis/google/compute/logging/gdnsusage/v1/BUILD.bazel b/third_party/googleapis/google/compute/logging/gdnsusage/v1/BUILD.bazel new file mode 100644 index 000000000..6f4a1c068 --- /dev/null +++ b/third_party/googleapis/google/compute/logging/gdnsusage/v1/BUILD.bazel @@ -0,0 +1,173 @@ +# This file was automatically generated by BuildFileGenerator + +# 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") + +proto_library( + name = "gdnsusage_proto", + srcs = [ + "gdns_vm_usage.proto", + ], + deps = [ + ], +) + +############################################################################## +# Java +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "java_grpc_library", + "java_proto_library", +) + +java_proto_library( + name = "gdnsusage_java_proto", + deps = [":gdnsusage_proto"], +) + +java_grpc_library( + name = "gdnsusage_java_grpc", + srcs = [":gdnsusage_proto"], + deps = [":gdnsusage_java_proto"], +) + +############################################################################## +# Go +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "go_gapic_assembly_pkg", + "go_proto_library", +) + +go_proto_library( + name = "gdnsusage_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "google.golang.org/genproto/googleapis/compute/logging/gdnsusage/v1", + protos = [":gdnsusage_proto"], + deps = [ + ], +) + +go_gapic_assembly_pkg( + name = "gdnsusage-v1-go", + deps = [ + ":gdnsusage_go_proto", + ], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "moved_proto_library", + "py_grpc_library", + "py_proto_library", +) + +moved_proto_library( + name = "gdnsusage_moved_proto", + srcs = [":gdnsusage_proto"], + deps = [ + ], +) + +py_proto_library( + name = "gdnsusage_py_proto", + deps = [":gdnsusage_moved_proto"], +) + +py_grpc_library( + name = "gdnsusage_py_grpc", + srcs = [":gdnsusage_moved_proto"], + deps = [":gdnsusage_py_proto"], +) + +############################################################################## +# PHP +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "php_gapic_assembly_pkg", + "php_proto_library", +) + +php_proto_library( + name = "gdnsusage_php_proto", + deps = [":gdnsusage_proto"], +) + +php_gapic_assembly_pkg( + name = "gdnsusage-v1-php", + deps = [ + ":gdnsusage_php_proto", + ], +) + +############################################################################## +# Ruby +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "ruby_grpc_library", + "ruby_proto_library", +) + +ruby_proto_library( + name = "gdnsusage_ruby_proto", + deps = [":gdnsusage_proto"], +) + +ruby_grpc_library( + name = "gdnsusage_ruby_grpc", + srcs = [":gdnsusage_proto"], + deps = [":gdnsusage_ruby_proto"], +) + +############################################################################## +# C# +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "csharp_grpc_library", + "csharp_proto_library", +) + +csharp_proto_library( + name = "gdnsusage_csharp_proto", + deps = [":gdnsusage_proto"], +) + +csharp_grpc_library( + name = "gdnsusage_csharp_grpc", + srcs = [":gdnsusage_proto"], + deps = [":gdnsusage_csharp_proto"], +) + +############################################################################## +# C++ +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "cc_grpc_library", + "cc_proto_library", +) + +cc_proto_library( + name = "gdnsusage_cc_proto", + deps = [":gdnsusage_proto"], +) + +cc_grpc_library( + name = "gdnsusage_cc_grpc", + srcs = [":gdnsusage_proto"], + grpc_only = True, + deps = [":gdnsusage_cc_proto"], +) diff --git a/third_party/googleapis/google/compute/logging/gdnsusage/v1/README.md b/third_party/googleapis/google/compute/logging/gdnsusage/v1/README.md new file mode 100644 index 000000000..b0e17ae52 --- /dev/null +++ b/third_party/googleapis/google/compute/logging/gdnsusage/v1/README.md @@ -0,0 +1,3 @@ +# Global DNS Usage Logging + +These protos represent the Global DNS Usage Platform Logs log entry schema. diff --git a/third_party/googleapis/google/compute/logging/gdnsusage/v1/gdns_vm_usage.proto b/third_party/googleapis/google/compute/logging/gdnsusage/v1/gdns_vm_usage.proto new file mode 100644 index 000000000..bf70aa39b --- /dev/null +++ b/third_party/googleapis/google/compute/logging/gdnsusage/v1/gdns_vm_usage.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.compute.logging.gdnsusage.v1; + +option go_package = "google.golang.org/genproto/googleapis/compute/logging/gdnsusage/v1;gdnsusage"; +option java_multiple_files = true; +option java_outer_classname = "GdnsVmUsageProto"; +option java_package = "google.compute.logging.gdnsusage.v1"; +option csharp_namespace = "Google.Compute.Logging.GdnsUsage.V1"; +option php_namespace = "Google\\Compute\\Logging\\GdnsUsage\\V1"; +option ruby_package = "Google::Compute::Logging::GdnsUsage::V1"; + +// gdns_vm_usage.proto +// Definition of json_payload of Global Dns usage per-vm level for +// Platform Logs. + +// Used for structured payload for reporting Platform Logs +message GdnsVmUsagePlatformLog { + // source vm's information + optional VmInfo source_vm = 1; + + // destination vm's information + optional VmInfo destination_vm = 2; + + // message that informs users on how to fix the global DNS query that is + // blocking the zonal DNS migration + optional string debug_message = 3; + + // number of zDNS migration blocking queries sent from source_vm to + // destination_vm + optional int32 query_count = 5; +} + +// VM details +message VmInfo { + // project id of the vm + optional string project_id = 1; + + // name of the vm + optional string vm = 2; + + // zone of the vm + optional string zone = 3; +} diff --git a/third_party/googleapis/google/devtools/cloudbuild/v2/cloudbuild_gapic.yaml b/third_party/googleapis/google/devtools/cloudbuild/v2/cloudbuild_gapic.yaml new file mode 100644 index 000000000..b7221ec6c --- /dev/null +++ b/third_party/googleapis/google/devtools/cloudbuild/v2/cloudbuild_gapic.yaml @@ -0,0 +1,6 @@ +type: com.google.api.codegen.ConfigProto +config_schema_version: 2.0.0 +# The settings of generated code in a specific language. +language_settings: + java: + package_name: com.google.cloud.devtools.cloudbuild.v2 diff --git a/third_party/googleapis/google/devtools/testing/v1/adb_service.proto b/third_party/googleapis/google/devtools/testing/v1/adb_service.proto new file mode 100644 index 000000000..5608d0ce8 --- /dev/null +++ b/third_party/googleapis/google/devtools/testing/v1/adb_service.proto @@ -0,0 +1,150 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.devtools.testing.v1; + +option go_package = "google.golang.org/genproto/googleapis/devtools/testing/v1;testing"; +option java_multiple_files = true; +option java_outer_classname = "AdbServiceProto"; +option java_package = "com.google.devtools.testing.v1"; + +// API-facing proto equivalent to the internal ADB Service proto. In general, +// this proto should be equivalent of the messages defined in the internal +// ADB Device Forwarder, with the caveat that these support a self-sufficient +// API, which is the best practice at the time of writing. + +// A message returned from a device. +message DeviceMessage { + oneof contents { + // Information about the device's state. + StatusUpdate status_update = 1; + + // The result of a device stream from ADB. + StreamStatus stream_status = 2; + + // Data from an open stream. + StreamData stream_data = 3; + } +} + +// A message to an ADB server. +message AdbMessage { + oneof contents { + // Open a new stream. + Open open = 1; + + // Send data to a stream. + StreamData stream_data = 2; + } +} + +// A StatusUpdate message given over the ADB protocol for the device state. +message StatusUpdate { + // The state displayed with the ADB Device when running "adb devices" + enum DeviceState { + // The device state is unknown. + DEVICE_STATE_UNSPECIFIED = 0; + + // The ADB device is in the "device" status. + DEVICE = 1; + + // The ADB device is in the "recovery" status. + RECOVERY = 2; + + // The ADB device is in the "rescue" status. + RESCUE = 3; + + // The ADB device is in the "sideload" status. + SIDELOAD = 4; + + // The ADB device is in the "missing" status. + MISSING = 10; + + // The ADB device is in the "offline" status. + OFFLINE = 11; + + // The ADB device is in the "unauthorized" status. + UNAUTHORIZED = 12; + + // The ADB device is in the "authorizing" status. + AUTHORIZING = 13; + + // The ADB device is in the "connecting" status. + CONNECTING = 14; + } + + // The device's state + DeviceState state = 1; + + // A map of properties with information about this device. + map properties = 2; + + // A comma-separated list of "features" that this device supports. + string features = 3; +} + +// The result of a stream. +message StreamStatus { + // The unique ID of this stream, assigned by the client. + int32 stream_id = 1; + + // The result of the stream. Either "Okay" for success or "Fail" for failure. + oneof status { + // Okay for success. + Okay okay = 2; + + // Fail for failure. + Fail fail = 3; + } +} + +// Message for opening a new stream. +message Open { + // The unique ID that will be used to talk to this stream. This should + // probably just be a number that increments for each new Open request. + int32 stream_id = 1; + + // An ADB service to use in the new stream. + string service = 2; +} + +// Data for a stream. +message StreamData { + // The unique ID of this stream, assigned by the client. + int32 stream_id = 1; + + // The data of the stream, either bytes or "Close", indicating that the stream + // is done. + oneof contents { + // Data in the stream. + bytes data = 2; + + // The stream is closing. EOF. + Close close = 3; + } +} + +// Message signifying that the stream is open +message Okay {} + +// Message signifying that the stream failed to open +message Fail { + // A user-displayable failure reason. + string reason = 1; +} + +// Message signifying that the stream closed. +message Close {} diff --git a/third_party/googleapis/google/devtools/testing/v1/direct_access_service.proto b/third_party/googleapis/google/devtools/testing/v1/direct_access_service.proto new file mode 100644 index 000000000..8fb12da7e --- /dev/null +++ b/third_party/googleapis/google/devtools/testing/v1/direct_access_service.proto @@ -0,0 +1,301 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.devtools.testing.v1; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/devtools/testing/v1/adb_service.proto"; +import "google/devtools/testing/v1/test_execution.proto"; +import "google/protobuf/duration.proto"; +import "google/protobuf/empty.proto"; +import "google/protobuf/field_mask.proto"; +import "google/protobuf/timestamp.proto"; + +option go_package = "google.golang.org/genproto/googleapis/devtools/testing/v1;testing"; +option java_multiple_files = true; +option java_outer_classname = "DirectAccessServiceProto"; +option java_package = "com.google.devtools.testing.v1"; + +// A service for allocating devices and interacting with the live-allocated +// devices. +// +// This service is part of Firebase Test Lab. To learn about how to use the +// product, and how to integrate it with your system, +// visit https://firebase.google.com/docs/test-lab. +// +// Each Session will wait for available capacity, at a higher +// priority over Test Execution. When allocated, the session will be exposed +// through a stream for integration. +// +// DirectAccessService is currently available as a preview to select developers. +// You can register today on behalf of you and your team at +// https://developer.android.com/studio/preview/android-device-streaming +service DirectAccessService { + option (google.api.default_host) = "testing.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform"; + + // POST /v1/projects/{project_id}/deviceSessions + rpc CreateDeviceSession(CreateDeviceSessionRequest) returns (DeviceSession) { + option (google.api.http) = { + post: "/v1/{parent=projects/*}/deviceSessions" + body: "device_session" + }; + option (google.api.method_signature) = "parent,device_session"; + } + + // GET /v1/projects/{project_id}/deviceSessions + // Lists device Sessions owned by the project user. + rpc ListDeviceSessions(ListDeviceSessionsRequest) + returns (ListDeviceSessionsResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*}/deviceSessions" + }; + option (google.api.method_signature) = "parent"; + } + + // GET /v1/projects/{project_id}/deviceSessions/{device_session_id} + // Return a DeviceSession, which documents the allocation status and + // whether the device is allocated. Clients making requests from this API + // must poll GetDeviceSession. + rpc GetDeviceSession(GetDeviceSessionRequest) returns (DeviceSession) { + option (google.api.http) = { + get: "/v1/{name=projects/*/deviceSessions/*}" + }; + option (google.api.method_signature) = "name"; + } + + // POST + // /v1/projects/{project_id}/deviceSessions/{device_session_id}:cancel + // Changes the DeviceSession to state FINISHED and terminates all connections. + // Canceled sessions are not deleted and can be retrieved or + // listed by the user until they expire based on the 28 day deletion policy. + rpc CancelDeviceSession(CancelDeviceSessionRequest) + returns (google.protobuf.Empty) { + option (google.api.http) = { + post: "/v1/{name=projects/*/deviceSessions/*}:cancel" + body: "*" + }; + } + + // PATCH + // /v1/projects/{projectId}/deviceSessions/deviceSessionId}:updateDeviceSession + // Updates the current device session to the fields described by the + // update_mask. + rpc UpdateDeviceSession(UpdateDeviceSessionRequest) returns (DeviceSession) { + option (google.api.http) = { + patch: "/v1/{device_session.name=projects/*/deviceSessions/*}" + body: "device_session" + }; + option (google.api.method_signature) = "device_session,update_mask"; + } + + // Exposes ADB connection for use with the Adb Device Forwarder project + // if the reserved device supports ADB. + // gRPC headers are used to authenticate the Connect RPC, as well as + // associate to a particular device session. + // In particular, the user must specify the "X-FTL-Session-Name" header. + rpc AdbConnect(stream AdbMessage) returns (stream DeviceMessage) {} +} + +// A Request for the device session from the session service. +message CreateDeviceSessionRequest { + // Required. The Compute Engine project under which this device will be + // allocated. "projects/{project_id}" + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "cloudresourcemanager.googleapis.com/Project" + } + ]; + + // Required. A device session to create. + DeviceSession device_session = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Request a list of device sessions in the provided parent matching the given +// filter. +message ListDeviceSessionsRequest { + // Required. The name of the parent to request, e.g. "projects/{project_id}" + string parent = 4 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "cloudresourcemanager.googleapis.com/Project" + } + ]; + + // Optional. The maximum number of DeviceSessions to return. + int32 page_size = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A continuation token for paging. + string page_token = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. If specified, responses will be filtered by the given filter. + // Allowed fields are: session_state. + string filter = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// A list of device sessions. +message ListDeviceSessionsResponse { + // The sessions matching the specified filter in the given cloud project. + repeated DeviceSession device_sessions = 1; + + // A token, which can be sent as `page_token` to retrieve the next page. + // If this field is omitted, there are no subsequent pages. + string next_page_token = 2; +} + +// The request object for a Device Session. +message GetDeviceSessionRequest { + // Required. Name of the DeviceSession, e.g. + // "projects/{project_id}/deviceSessions/{session_id}" + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "testing.googleapis.com/DeviceSession" + } + ]; +} + +// The request object for cancelling a Device Session. +message CancelDeviceSessionRequest { + // Required. Name of the DeviceSession, e.g. + // "projects/{project_id}/deviceSessions/{session_id}" + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "testing.googleapis.com/DeviceSession" + } + ]; +} + +// The request object for the UpdateDeviceSession RPC. +message UpdateDeviceSessionRequest { + // Required. DeviceSession to update. + // The device session's `name` field is used to identify the session to update + // "projects/{project_id}/deviceSessions/{session_id}" + DeviceSession device_session = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of fields to update. + google.protobuf.FieldMask update_mask = 2 + [(google.api.field_behavior) = REQUIRED]; +} + +// Protobuf message describing the device message, used from several RPCs. +message DeviceSession { + option (google.api.resource) = { + type: "testing.googleapis.com/DeviceSession" + pattern: "projects/{project}/deviceSessions/{session}" + }; + + // The state that the device session resides. + enum SessionState { + // Default value. This value is unused. + SESSION_STATE_UNSPECIFIED = 0; + + // Initial state of a session request. The session is being validated for + // correctness and a device is not yet requested. + REQUESTED = 1; + + // The session has been validated and is in the queue for a device. + PENDING = 2; + + // The session has been granted and the device is accepting + // connections. + ACTIVE = 3; + + // The session duration exceeded the device’s reservation time period and + // timed out automatically. + EXPIRED = 4; + + // The user is finished with the session and it was canceled by the user + // while the request was still getting allocated or after allocation and + // during device usage period. + FINISHED = 5; + + // Unable to complete the session because the device was unavailable and + // it failed to allocate through the scheduler. For example, a device not + // in the catalog was requested or the request expired in the allocation + // queue. + UNAVAILABLE = 6; + + // Unable to complete the session for an internal reason, such as an + // infrastructure failure. + ERROR = 7; + } + + // A message encapsulating a series of Session states and the time that the + // DeviceSession first entered those states. + message SessionStateEvent { + // Output only. The session_state tracked by this event + SessionState session_state = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The time that the session_state first encountered that + // state. + google.protobuf.Timestamp event_time = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. A human-readable message to explain the state. + string state_message = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Optional. Name of the DeviceSession, e.g. + // "projects/{project_id}/deviceSessions/{session_id}" + string name = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Output only. The title of the DeviceSession to be presented in the UI. + string display_name = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Current state of the DeviceSession. + SessionState state = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The historical state transitions of the session_state message + // including the current session state. + repeated SessionStateEvent state_histories = 14 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + oneof expiration { + // Optional. The amount of time that a device will be initially allocated + // for. This can eventually be extended with the UpdateDeviceSession RPC. + // Default: 30 minutes. + google.protobuf.Duration ttl = 13 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. If the device is still in use at this time, any connections + // will be ended and the SessionState will transition from ACTIVE to + // FINISHED. + google.protobuf.Timestamp expire_time = 5 + [(google.api.field_behavior) = OPTIONAL]; + } + + // Output only. The interval of time that this device must be interacted with + // before it transitions from ACTIVE to TIMEOUT_INACTIVITY. + google.protobuf.Duration inactivity_timeout = 7 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The time that the Session was created. + google.protobuf.Timestamp create_time = 8 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The timestamp that the session first became ACTIVE. + google.protobuf.Timestamp active_start_time = 9 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. The requested device + AndroidDevice android_device = 15 [(google.api.field_behavior) = REQUIRED]; +} diff --git a/third_party/googleapis/google/firestore/v1/bloom_filter.proto b/third_party/googleapis/google/firestore/v1/bloom_filter.proto new file mode 100644 index 000000000..c00bb9c17 --- /dev/null +++ b/third_party/googleapis/google/firestore/v1/bloom_filter.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.firestore.v1; + +option csharp_namespace = "Google.Cloud.Firestore.V1"; +option go_package = "cloud.google.com/go/firestore/apiv1/firestorepb;firestorepb"; +option java_multiple_files = true; +option java_outer_classname = "BloomFilterProto"; +option java_package = "com.google.firestore.v1"; +option objc_class_prefix = "GCFS"; +option php_namespace = "Google\\Cloud\\Firestore\\V1"; +option ruby_package = "Google::Cloud::Firestore::V1"; + +// A sequence of bits, encoded in a byte array. +// +// Each byte in the `bitmap` byte array stores 8 bits of the sequence. The only +// exception is the last byte, which may store 8 _or fewer_ bits. The `padding` +// defines the number of bits of the last byte to be ignored as "padding". The +// values of these "padding" bits are unspecified and must be ignored. +// +// To retrieve the first bit, bit 0, calculate: `(bitmap[0] & 0x01) != 0`. +// To retrieve the second bit, bit 1, calculate: `(bitmap[0] & 0x02) != 0`. +// To retrieve the third bit, bit 2, calculate: `(bitmap[0] & 0x04) != 0`. +// To retrieve the fourth bit, bit 3, calculate: `(bitmap[0] & 0x08) != 0`. +// To retrieve bit n, calculate: `(bitmap[n / 8] & (0x01 << (n % 8))) != 0`. +// +// The "size" of a `BitSequence` (the number of bits it contains) is calculated +// by this formula: `(bitmap.length * 8) - padding`. +message BitSequence { + // The bytes that encode the bit sequence. + // May have a length of zero. + bytes bitmap = 1; + + // The number of bits of the last byte in `bitmap` to ignore as "padding". + // If the length of `bitmap` is zero, then this value must be `0`. + // Otherwise, this value must be between 0 and 7, inclusive. + int32 padding = 2; +} + +// A bloom filter (https://en.wikipedia.org/wiki/Bloom_filter). +// +// The bloom filter hashes the entries with MD5 and treats the resulting 128-bit +// hash as 2 distinct 64-bit hash values, interpreted as unsigned integers +// using 2's complement encoding. +// +// These two hash values, named `h1` and `h2`, are then used to compute the +// `hash_count` hash values using the formula, starting at `i=0`: +// +// h(i) = h1 + (i * h2) +// +// These resulting values are then taken modulo the number of bits in the bloom +// filter to get the bits of the bloom filter to test for the given entry. +message BloomFilter { + // The bloom filter data. + BitSequence bits = 1; + + // The number of hashes used by the algorithm. + int32 hash_count = 2; +} diff --git a/third_party/googleapis/google/firestore/v1beta1/undeliverable_first_gen_event.proto b/third_party/googleapis/google/firestore/v1beta1/undeliverable_first_gen_event.proto new file mode 100644 index 000000000..fd3bf1f49 --- /dev/null +++ b/third_party/googleapis/google/firestore/v1beta1/undeliverable_first_gen_event.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.firestore.v1beta1; + +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.Firestore.V1Beta1"; +option go_package = "cloud.google.com/go/firestore/apiv1beta1/firestorepb;firestorepb"; +option java_multiple_files = true; +option java_outer_classname = "UndeliverableFirstGenEventProto"; +option java_package = "com.google.firestore.v1beta1"; +option php_namespace = "Google\\Cloud\\Firestore\\V1beta1"; +option ruby_package = "Google::Cloud::Firestore::V1beta1"; + +// A message signifying an event that cannot be delivered to Cloud Functions +// from Firestore using [Cloud Firestore triggers 1st +// gen](https://cloud.google.com/functions/docs/calling/cloud-firestore) +message UndeliverableFirstGenEvent { + // Reason for events being undeliverable. + enum Reason { + // Unspecified. + REASON_UNSPECIFIED = 0; + + // Exceeding maximum event size limit + EXCEEDING_SIZE_LIMIT = 1; + } + + // Document change type. + enum DocumentChangeType { + // Unspecified. + DOCUMENT_CHANGE_TYPE_UNSPECIFIED = 0; + + // Represent creation operation. + CREATE = 1; + + // Represent delete operation. + DELETE = 2; + + // Represent update operation. + UPDATE = 3; + } + + // Error message for events being undeliverable. + string message = 1; + + // Reason for events being undeliverable. + Reason reason = 2; + + // The resource name of the changed document, in the format of + // `projects/{projectId}/databases/{databaseId}/documents/{document_path}`. + string document_name = 3; + + // The type of the document change. + DocumentChangeType document_change_type = 4; + + // The names of the functions that were supposed to be triggered. + repeated string function_name = 5; + + // The commit time of triggered write operation. + google.protobuf.Timestamp triggered_time = 6; +} diff --git a/third_party/googleapis/google/logging/type/README.md b/third_party/googleapis/google/logging/type/README.md new file mode 100644 index 000000000..227dc8c4c --- /dev/null +++ b/third_party/googleapis/google/logging/type/README.md @@ -0,0 +1,12 @@ +## Logging types + +This package contains shared [protocol buffer][protobuf] types that are populated +by the Cloud Logging API and consumed by other APIs. + +### Key Concepts + +- **HttpRequest**: Contains the complete set of information about a particular + HTTP request, such as HTTP method, request URL, status code, and other things. +- **LogSeverity**: The severity of a log entry (e.g. `DEBUG`, `INFO`, `WARNING`). + +[protobuf]: https://developers.google.com/protocol-buffers/ diff --git a/third_party/googleapis/google/maps/aerialview/v1/BUILD.bazel b/third_party/googleapis/google/maps/aerialview/v1/BUILD.bazel new file mode 100644 index 000000000..bed080af2 --- /dev/null +++ b/third_party/googleapis/google/maps/aerialview/v1/BUILD.bazel @@ -0,0 +1,320 @@ +# 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. + +############################################################################## +# Common +############################################################################## +load("@rules_proto//proto:defs.bzl", "proto_library") +load( + "@com_google_googleapis_imports//:imports.bzl", + "cc_grpc_library", + "cc_proto_library", + "csharp_gapic_assembly_pkg", + "csharp_gapic_library", + "csharp_grpc_library", + "csharp_proto_library", + "go_gapic_assembly_pkg", + "go_gapic_library", + "go_proto_library", + "java_gapic_assembly_gradle_pkg", + "java_gapic_library", + "java_gapic_test", + "java_grpc_library", + "java_proto_library", + "nodejs_gapic_assembly_pkg", + "nodejs_gapic_library", + "php_gapic_assembly_pkg", + "php_gapic_library", + "php_proto_library", + "proto_library_with_info", + "py_gapic_assembly_pkg", + "py_gapic_library", + "py_test", + "ruby_cloud_gapic_library", + "ruby_gapic_assembly_pkg", + "ruby_grpc_library", + "ruby_proto_library", +) + +# This is an API workspace, having public visibility by default makes perfect sense. +package(default_visibility = ["//visibility:public"]) + +proto_library( + name = "aerialview_proto", + srcs = [ + "aerial_view.proto", + ], + deps = [ + "//google/api:annotations_proto", + "//google/api:client_proto", + "//google/api:field_behavior_proto", + "//google/type:date_proto", + "@com_google_protobuf//:duration_proto", + ], +) + +proto_library_with_info( + name = "aerialview_proto_with_info", + deps = [ + ":aerialview_proto", + "//google/cloud:common_resources_proto", + ], +) + +java_proto_library( + name = "aerialview_java_proto", + deps = [":aerialview_proto"], +) + +java_grpc_library( + name = "aerialview_java_grpc", + srcs = [":aerialview_proto"], + deps = [":aerialview_java_proto"], +) + +java_gapic_library( + name = "aerialview_java_gapic", + srcs = [":aerialview_proto_with_info"], + gapic_yaml = None, + grpc_service_config = "aerialview_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "aerialview_v1.yaml", + test_deps = [ + ":aerialview_java_grpc", + ], + transport = "grpc+rest", + deps = [ + ":aerialview_java_proto", + "//google/api:api_java_proto", + ], +) + +java_gapic_test( + name = "aerialview_java_gapic_test_suite", + test_classes = [ + "com.google.maps.aerialview.v1.AerialViewClientHttpJsonTest", + "com.google.maps.aerialview.v1.AerialViewClientTest", + ], + runtime_deps = [":aerialview_java_gapic_test"], +) + +# Open Source Packages +java_gapic_assembly_gradle_pkg( + name = "google-cloud-maps-aerialview-v1-java", + include_samples = True, + transport = "grpc+rest", + deps = [ + ":aerialview_java_gapic", + ":aerialview_java_grpc", + ":aerialview_java_proto", + ":aerialview_proto", + ], +) + +go_proto_library( + name = "aerialview_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "cloud.google.com/go/maps/aerialview/apiv1/aerialviewpb", + protos = [":aerialview_proto"], + deps = [ + "//google/api:annotations_go_proto", + "//google/type:date_go_proto", + ], +) + +go_gapic_library( + name = "aerialview_go_gapic", + srcs = [":aerialview_proto_with_info"], + grpc_service_config = "aerialview_grpc_service_config.json", + importpath = "cloud.google.com/go/maps/aerialview/apiv1;aerialview", + metadata = True, + release_level = "beta", + rest_numeric_enums = True, + service_yaml = "aerialview_v1.yaml", + transport = "grpc+rest", + deps = [ + ":aerialview_go_proto", + "@io_bazel_rules_go//proto/wkt:duration_go_proto", + ], +) + +# Open Source Packages +go_gapic_assembly_pkg( + name = "gapi-cloud-maps-aerialview-v1-go", + deps = [ + ":aerialview_go_gapic", + ":aerialview_go_gapic_srcjar-metadata.srcjar", + ":aerialview_go_gapic_srcjar-snippets.srcjar", + ":aerialview_go_gapic_srcjar-test.srcjar", + ":aerialview_go_proto", + ], +) + +py_gapic_library( + name = "aerialview_py_gapic", + srcs = [":aerialview_proto"], + grpc_service_config = "aerialview_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "aerialview_v1.yaml", + transport = "grpc+rest", + deps = [ + ], +) + +py_test( + name = "aerialview_py_gapic_test", + srcs = [ + "aerialview_py_gapic_pytest.py", + "aerialview_py_gapic_test.py", + ], + legacy_create_init = False, + deps = [":aerialview_py_gapic"], +) + +# Open Source Packages +py_gapic_assembly_pkg( + name = "maps-aerialview-v1-py", + deps = [ + ":aerialview_py_gapic", + ], +) + +php_proto_library( + name = "aerialview_php_proto", + deps = [":aerialview_proto"], +) + +php_gapic_library( + name = "aerialview_php_gapic", + srcs = [":aerialview_proto_with_info"], + grpc_service_config = "aerialview_grpc_service_config.json", + migration_mode = "NEW_SURFACE_ONLY", + rest_numeric_enums = True, + service_yaml = "aerialview_v1.yaml", + transport = "grpc+rest", + deps = [ + ":aerialview_php_proto", + ], +) + +# Open Source Packages +php_gapic_assembly_pkg( + name = "google-cloud-maps-aerialview-v1-php", + deps = [ + ":aerialview_php_gapic", + ":aerialview_php_proto", + ], +) + +nodejs_gapic_library( + name = "aerialview_nodejs_gapic", + package_name = "@google-cloud/aerialview", + src = ":aerialview_proto_with_info", + extra_protoc_parameters = ["metadata"], + grpc_service_config = "aerialview_grpc_service_config.json", + package = "google.maps.aerialview.v1", + rest_numeric_enums = True, + service_yaml = "aerialview_v1.yaml", + transport = "grpc+rest", + deps = [], +) + +nodejs_gapic_assembly_pkg( + name = "maps-aerialview-v1-nodejs", + deps = [ + ":aerialview_nodejs_gapic", + ":aerialview_proto", + ], +) + +ruby_proto_library( + name = "aerialview_ruby_proto", + deps = [":aerialview_proto"], +) + +ruby_grpc_library( + name = "aerialview_ruby_grpc", + srcs = [":aerialview_proto"], + deps = [":aerialview_ruby_proto"], +) + +ruby_cloud_gapic_library( + name = "aerialview_ruby_gapic", + srcs = [":aerialview_proto_with_info"], + extra_protoc_parameters = [ + "ruby-cloud-gem-name=google-cloud-maps-aerialview-v1", + ], + grpc_service_config = "aerialview_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "aerialview_v1.yaml", + transport = "grpc+rest", + deps = [ + ":aerialview_ruby_grpc", + ":aerialview_ruby_proto", + ], +) + +# Open Source Packages +ruby_gapic_assembly_pkg( + name = "google-cloud-maps-aerialview-v1-ruby", + deps = [ + ":aerialview_ruby_gapic", + ":aerialview_ruby_grpc", + ":aerialview_ruby_proto", + ], +) + +csharp_proto_library( + name = "aerialview_csharp_proto", + extra_opts = [], + deps = [":aerialview_proto"], +) + +csharp_grpc_library( + name = "aerialview_csharp_grpc", + srcs = [":aerialview_proto"], + deps = [":aerialview_csharp_proto"], +) + +csharp_gapic_library( + name = "aerialview_csharp_gapic", + srcs = [":aerialview_proto_with_info"], + common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json", + grpc_service_config = "aerialview_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "aerialview_v1.yaml", + deps = [ + ":aerialview_csharp_grpc", + ":aerialview_csharp_proto", + ], +) + +# Open Source Packages +csharp_gapic_assembly_pkg( + name = "google-cloud-maps-aerialview-v1-csharp", + deps = [ + ":aerialview_csharp_gapic", + ":aerialview_csharp_grpc", + ":aerialview_csharp_proto", + ], +) + +cc_proto_library( + name = "aerialview_cc_proto", + deps = [":aerialview_proto"], +) + +cc_grpc_library( + name = "aerialview_cc_grpc", + srcs = [":aerialview_proto"], + grpc_only = True, + deps = [":aerialview_cc_proto"], +) diff --git a/third_party/googleapis/google/maps/aerialview/v1/aerial_view.proto b/third_party/googleapis/google/maps/aerialview/v1/aerial_view.proto new file mode 100644 index 000000000..ac952f1f6 --- /dev/null +++ b/third_party/googleapis/google/maps/aerialview/v1/aerial_view.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.maps.aerialview.v1; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/protobuf/duration.proto"; +import "google/type/date.proto"; + +option csharp_namespace = "Google.Maps.AerialView.V1"; +option go_package = "cloud.google.com/go/maps/aerialview/apiv1/aerialviewpb;aerialviewpb"; +option java_multiple_files = true; +option java_outer_classname = "AerialViewProto"; +option java_package = "com.google.maps.aerialview.v1"; +option objc_class_prefix = "GGMPV1B"; +option php_namespace = "Google\\Maps\\AerialView\\V1"; +option ruby_package = "Google::Maps::AerialView::V1"; + +// Service definition for the Aerial View API. +service AerialView { + option (google.api.default_host) = "aerialview.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform"; + + // Adds an address to the renderer's queue if a video hasn't already been + // rendered. Otherwise, returns metadata about the video. + rpc RenderVideo(RenderVideoRequest) returns (RenderVideoResponse) { + option (google.api.http) = { + post: "/v1/videos:renderVideo" + body: "*" + }; + option (google.api.method_signature) = "address"; + } + + // Fetches a video given its address or videoId. The response will either be + // a video with a set of playback URIs for ACTIVE videos, a PROCESSING state + // for pending videos, or a 404 error if the video does not exist. Receiving a + // video is a billable event, so callers of this method should be ready to use + // the returned URIs at the time of request. + rpc LookupVideo(LookupVideoRequest) returns (Video) { + option (google.api.http) = { + get: "/v1/videos:lookupVideo" + }; + } +} + +// An object that encapsulates all of the data about a video. +message Video { + // The different states a video can be in. + enum State { + // Default value. This value is unused. + STATE_UNSPECIFIED = 0; + + // The video is currently processing. + PROCESSING = 1; + + // The video has finished rendering, and can be viewed through + // `LookupVideo`. + ACTIVE = 2; + + // The video has failed to render. + FAILED = 3; + } + + // A mapping of media types to their URIs. + // This field is only included for `ACTIVE` videos. + // The key is an enum value from `MediaFormat`. + map uris = 1; + + // Current state of the render request. + State state = 2; + + // Contains the video's metadata, only set if the state is `ACTIVE`. + VideoMetadata metadata = 3; +} + +// Contains all the uris for a given video format. +message Uris { + // A signed short-lived URI for the media in a landscape orientation. + string landscape_uri = 1; + + // A signed short-lived URI for the media in a portrait orientation. + string portrait_uri = 2; +} + +// Contains metadata about a video, such as its videoId and duration. +message VideoMetadata { + // An ID for the video, and the recommended way to retrieve a video. + string video_id = 1; + + // The date at which the imagery used in the video was captured. + // This will be at a month-level granularity. + google.type.Date capture_date = 2; + + // The length of the video. + google.protobuf.Duration duration = 3; +} + +// Request message for `AerialView.RenderVideo`. +message RenderVideoRequest { + // Required. A US postal address for the location to be rendered in the video. + string address = 1 [(google.api.field_behavior) = REQUIRED]; +} + +// Response message for `AerialView.RenderVideo`. +message RenderVideoResponse { + // Current state of the render request. + Video.State state = 1; + + // Contains the video's metadata, only set if the state is `ACTIVE`. + VideoMetadata metadata = 2; +} + +// Request message for `AerialView.LookupVideo`. +message LookupVideoRequest { + // Required. + // A key used to look-up a video. + oneof key { + // An ID returned from `RenderVideo`. + string video_id = 1; + + // A US postal address. + string address = 2; + } +} diff --git a/third_party/googleapis/google/maps/aerialview/v1/aerialview_grpc_service_config.json b/third_party/googleapis/google/maps/aerialview/v1/aerialview_grpc_service_config.json new file mode 100644 index 000000000..e2fa0bd7c --- /dev/null +++ b/third_party/googleapis/google/maps/aerialview/v1/aerialview_grpc_service_config.json @@ -0,0 +1,16 @@ +{ + "methodConfig": [{ + "name": [ + { "service": "google.maps.aerialview.v1.AerialView", "method": "RenderVideo" }, + { "service": "google.maps.aerialview.v1.AerialView", "method": "LookupVideo" } + ], + "timeout": "60s", + "retryPolicy": { + "maxAttempts": 5, + "initialBackoff": "1s", + "maxBackoff": "10s", + "backoffMultiplier": 1.3, + "retryableStatusCodes": ["UNAVAILABLE"] + } + }] +} diff --git a/third_party/googleapis/google/maps/aerialview/v1/aerialview_v1.yaml b/third_party/googleapis/google/maps/aerialview/v1/aerialview_v1.yaml new file mode 100644 index 000000000..c583501fc --- /dev/null +++ b/third_party/googleapis/google/maps/aerialview/v1/aerialview_v1.yaml @@ -0,0 +1,54 @@ +type: google.api.Service +config_version: 3 +name: aerialview.googleapis.com +title: Aerial View API + +apis: +- name: google.maps.aerialview.v1.AerialView + +documentation: + summary: The Maps Aerial View API. + overview: '' + +authentication: + rules: + - selector: google.maps.aerialview.v1.AerialView.LookupVideo + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + - selector: google.maps.aerialview.v1.AerialView.RenderVideo + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + +publishing: + new_issue_uri: https://issuetracker.google.com/issues/new?component=1347175 + documentation_uri: https://developers.google.com/maps/documentation/aerial-view + api_short_name: aerialview + github_label: 'api: aerialview' + doc_tag_prefix: aerialview + organization: GEO + library_settings: + - version: google.maps.aerialview.v1 + launch_stage: GA + java_settings: + common: + destinations: + - PACKAGE_MANAGER + python_settings: + common: + destinations: + - PACKAGE_MANAGER + node_settings: + common: + destinations: + - PACKAGE_MANAGER + dotnet_settings: + common: + destinations: + - PACKAGE_MANAGER + go_settings: + common: + destinations: + - PACKAGE_MANAGER + proto_reference_documentation_uri: https://developers.google.com/maps/documentation/aerial-view/reference/rpc diff --git a/third_party/googleapis/google/maps/fleetengine/delivery/v1/fleetengine_delivery_grpc_service_config.json b/third_party/googleapis/google/maps/fleetengine/delivery/v1/fleetengine_delivery_grpc_service_config.json new file mode 100644 index 000000000..c5cb06b77 --- /dev/null +++ b/third_party/googleapis/google/maps/fleetengine/delivery/v1/fleetengine_delivery_grpc_service_config.json @@ -0,0 +1,26 @@ +{ + "methodConfig": [{ + "name": [ + { "service": "maps.fleetengine.delivery.v1.DeliveryService", "method": "CreateDeliveryVehicle" }, + { "service": "maps.fleetengine.delivery.v1.DeliveryService", "method": "GetDeliveryVehicle" }, + { "service": "maps.fleetengine.delivery.v1.DeliveryService", "method": "BatchCreateTasks" }, + { "service": "maps.fleetengine.delivery.v1.DeliveryService", "method": "CreateTask" }, + { "service": "maps.fleetengine.delivery.v1.DeliveryService", "method": "GetTask" }, + { "service": "maps.fleetengine.delivery.v1.DeliveryService", "method": "UpdateTask" }, + { "service": "maps.fleetengine.delivery.v1.DeliveryService", "method": "UpdateDeliveryVehicle" }, + { "service": "maps.fleetengine.delivery.v1.DeliveryService", "method": "ListDeliveryVehicles" }, + { "service": "maps.fleetengine.delivery.v1.DeliveryService", "method": "SearchTasks" }, + { "service": "maps.fleetengine.delivery.v1.DeliveryService", "method": "ListTasks" }, + { "service": "maps.fleetengine.delivery.v1.DeliveryService", "method": "GetTaskTrackingInfo" } + ], + "timeout": "60s", + "retryPolicy": { + "maxAttempts": 5, + "initialBackoff": "1s", + "maxBackoff": "10s", + "backoffMultiplier": 1.3, + "retryableStatusCodes": ["UNAVAILABLE"] + } + }] +} + diff --git a/third_party/googleapis/google/maps/fleetengine/delivery/v1/fleetengine_v1.yaml b/third_party/googleapis/google/maps/fleetengine/delivery/v1/fleetengine_v1.yaml new file mode 100644 index 000000000..c2b9848db --- /dev/null +++ b/third_party/googleapis/google/maps/fleetengine/delivery/v1/fleetengine_v1.yaml @@ -0,0 +1,56 @@ +type: google.api.Service +config_version: 3 +name: fleetengine.googleapis.com +title: Last Mile Fleet Solution Delivery API + +apis: +- name: maps.fleetengine.delivery.v1.DeliveryService + +documentation: + summary: |- + Enables Fleet Engine for access to the On Demand Rides and Deliveries and + Last Mile Fleet Solution APIs. Customer's use of Google Maps Content in + the Cloud Logging Services is subject to the Google Maps Platform Terms of + Service located at https://cloud.google.com/maps-platform/terms. + +authentication: + rules: + - selector: 'maps.fleetengine.delivery.v1.DeliveryService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + +publishing: + new_issue_uri: https://issuetracker.google.com/issues/new?component=1180397&template=1812135 + documentation_uri: https://developers.google.com/maps/documentation/transportation-logistics/mobility + api_short_name: fleetengine-delivery + github_label: 'api: fleetengine-delivery' + doc_tag_prefix: fleetengine-delivery + organization: GEO + library_settings: + - version: maps.fleetengine.delivery.v1 + launch_stage: GA + java_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/maps/fleetengine/v1/fleetengine_v1.yaml b/third_party/googleapis/google/maps/fleetengine/v1/fleetengine_v1.yaml new file mode 100644 index 000000000..d67e13f75 --- /dev/null +++ b/third_party/googleapis/google/maps/fleetengine/v1/fleetengine_v1.yaml @@ -0,0 +1,61 @@ +type: google.api.Service +config_version: 3 +name: fleetengine.googleapis.com +title: Local Rides and Deliveries API + +apis: +- name: maps.fleetengine.v1.TripService +- name: maps.fleetengine.v1.VehicleService + +documentation: + summary: |- + Enables Fleet Engine for access to the On Demand Rides and Deliveries and + Last Mile Fleet Solution APIs. Customer's use of Google Maps Content in + the Cloud Logging Services is subject to the Google Maps Platform Terms of + Service located at https://cloud.google.com/maps-platform/terms. + +authentication: + rules: + - selector: 'maps.fleetengine.v1.TripService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + - selector: 'maps.fleetengine.v1.VehicleService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + +publishing: + new_issue_uri: https://issuetracker.google.com/issues/new?component=1180397&template=1812135 + documentation_uri: https://developers.google.com/maps/documentation/transportation-logistics/mobility + api_short_name: fleetengine + github_label: 'api: fleetengine' + doc_tag_prefix: fleetengine + organization: GEO + library_settings: + - version: maps.fleetengine.v1 + launch_stage: GA + java_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/maps/mapsplatformdatasets/v1/BUILD.bazel b/third_party/googleapis/google/maps/mapsplatformdatasets/v1/BUILD.bazel new file mode 100644 index 000000000..494b1a4f1 --- /dev/null +++ b/third_party/googleapis/google/maps/mapsplatformdatasets/v1/BUILD.bazel @@ -0,0 +1,376 @@ +# 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 = "mapsplatformdatasets_proto", + srcs = [ + "data_source.proto", + "dataset.proto", + "maps_platform_datasets.proto", + "maps_platform_datasets_service.proto", + ], + deps = [ + "//google/api:annotations_proto", + "//google/api:client_proto", + "//google/api:field_behavior_proto", + "//google/api:resource_proto", + "@com_google_protobuf//:empty_proto", + "@com_google_protobuf//:field_mask_proto", + "@com_google_protobuf//:timestamp_proto", + ], +) + +proto_library_with_info( + name = "mapsplatformdatasets_proto_with_info", + deps = [ + ":mapsplatformdatasets_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 = "mapsplatformdatasets_java_proto", + deps = [":mapsplatformdatasets_proto"], +) + +java_grpc_library( + name = "mapsplatformdatasets_java_grpc", + srcs = [":mapsplatformdatasets_proto"], + deps = [":mapsplatformdatasets_java_proto"], +) + +java_gapic_library( + name = "mapsplatformdatasets_java_gapic", + srcs = [":mapsplatformdatasets_proto_with_info"], + gapic_yaml = None, + grpc_service_config = "mapsplatformdatasets_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "mapsplatformdatasets_v1.yaml", + test_deps = [ + ":mapsplatformdatasets_java_grpc", + ], + transport = "grpc+rest", + deps = [ + ":mapsplatformdatasets_java_proto", + "//google/api:api_java_proto", + ], +) + +java_gapic_test( + name = "mapsplatformdatasets_java_gapic_test_suite", + test_classes = [ + "com.google.maps.mapsplatformdatasets.v1.MapsPlatformDatasetsClientHttpJsonTest", + "com.google.maps.mapsplatformdatasets.v1.MapsPlatformDatasetsClientTest", + ], + runtime_deps = [":mapsplatformdatasets_java_gapic_test"], +) + +# Open Source Packages +java_gapic_assembly_gradle_pkg( + name = "google-cloud-maps-mapsplatformdatasets-v1-java", + include_samples = True, + transport = "grpc+rest", + deps = [ + ":mapsplatformdatasets_java_gapic", + ":mapsplatformdatasets_java_grpc", + ":mapsplatformdatasets_java_proto", + ":mapsplatformdatasets_proto", + ], +) + +############################################################################## +# Go +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "go_gapic_assembly_pkg", + "go_gapic_library", + "go_proto_library", +) + +go_proto_library( + name = "mapsplatformdatasets_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "cloud.google.com/go/maps/mapsplatformdatasets/apiv1/mapsplatformdatasetspb", + protos = [":mapsplatformdatasets_proto"], + deps = [ + "//google/api:annotations_go_proto", + ], +) + +go_gapic_library( + name = "mapsplatformdatasets_go_gapic", + srcs = [":mapsplatformdatasets_proto_with_info"], + grpc_service_config = "mapsplatformdatasets_grpc_service_config.json", + importpath = "cloud.google.com/go/maps/mapsplatformdatasets/apiv1;mapsplatformdatasets", + metadata = True, + release_level = "beta", + rest_numeric_enums = True, + service_yaml = "mapsplatformdatasets_v1.yaml", + transport = "grpc+rest", + deps = [ + ":mapsplatformdatasets_go_proto", + ], +) + +# Open Source Packages +go_gapic_assembly_pkg( + name = "gapi-cloud-maps-mapsplatformdatasets-v1-go", + deps = [ + ":mapsplatformdatasets_go_gapic", + ":mapsplatformdatasets_go_gapic_srcjar-metadata.srcjar", + ":mapsplatformdatasets_go_gapic_srcjar-snippets.srcjar", + ":mapsplatformdatasets_go_gapic_srcjar-test.srcjar", + ":mapsplatformdatasets_go_proto", + ], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "py_gapic_assembly_pkg", + "py_gapic_library", + "py_test", +) + +py_gapic_library( + name = "mapsplatformdatasets_py_gapic", + srcs = [":mapsplatformdatasets_proto"], + grpc_service_config = "mapsplatformdatasets_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "mapsplatformdatasets_v1.yaml", + transport = "grpc+rest", + deps = [ + ], +) + +py_test( + name = "mapsplatformdatasets_py_gapic_test", + srcs = [ + "mapsplatformdatasets_py_gapic_pytest.py", + "mapsplatformdatasets_py_gapic_test.py", + ], + legacy_create_init = False, + deps = [":mapsplatformdatasets_py_gapic"], +) + +# Open Source Packages +py_gapic_assembly_pkg( + name = "maps-mapsplatformdatasets-v1-py", + deps = [ + ":mapsplatformdatasets_py_gapic", + ], +) + +############################################################################## +# PHP +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "php_gapic_assembly_pkg", + "php_gapic_library", + "php_proto_library", +) + +php_proto_library( + name = "mapsplatformdatasets_php_proto", + deps = [":mapsplatformdatasets_proto"], +) + +php_gapic_library( + name = "mapsplatformdatasets_php_gapic", + srcs = [":mapsplatformdatasets_proto_with_info"], + grpc_service_config = "mapsplatformdatasets_grpc_service_config.json", + migration_mode = "NEW_SURFACE_ONLY", + rest_numeric_enums = True, + service_yaml = "mapsplatformdatasets_v1.yaml", + transport = "grpc+rest", + deps = [ + ":mapsplatformdatasets_php_proto", + ], +) + +# Open Source Packages +php_gapic_assembly_pkg( + name = "google-cloud-maps-mapsplatformdatasets-v1-php", + deps = [ + ":mapsplatformdatasets_php_gapic", + ":mapsplatformdatasets_php_proto", + ], +) + +############################################################################## +# Node.js +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "nodejs_gapic_assembly_pkg", + "nodejs_gapic_library", +) + +nodejs_gapic_library( + name = "mapsplatformdatasets_nodejs_gapic", + package_name = "@googlemaps/maps-platform-datasets", + src = ":mapsplatformdatasets_proto_with_info", + extra_protoc_parameters = ["metadata"], + grpc_service_config = "mapsplatformdatasets_grpc_service_config.json", + package = "google.maps.mapsplatformdatasets.v1", + rest_numeric_enums = True, + service_yaml = "mapsplatformdatasets_v1.yaml", + transport = "grpc+rest", + deps = [], +) + +nodejs_gapic_assembly_pkg( + name = "maps-mapsplatformdatasets-v1-nodejs", + deps = [ + ":mapsplatformdatasets_nodejs_gapic", + ":mapsplatformdatasets_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 = "mapsplatformdatasets_ruby_proto", + deps = [":mapsplatformdatasets_proto"], +) + +ruby_grpc_library( + name = "mapsplatformdatasets_ruby_grpc", + srcs = [":mapsplatformdatasets_proto"], + deps = [":mapsplatformdatasets_ruby_proto"], +) + +ruby_cloud_gapic_library( + name = "mapsplatformdatasets_ruby_gapic", + srcs = [":mapsplatformdatasets_proto_with_info"], + extra_protoc_parameters = [ + "ruby-cloud-gem-name=google-cloud-maps-mapsplatformdatasets-v1", + ], + grpc_service_config = "mapsplatformdatasets_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "mapsplatformdatasets_v1.yaml", + transport = "grpc+rest", + deps = [ + ":mapsplatformdatasets_ruby_grpc", + ":mapsplatformdatasets_ruby_proto", + ], +) + +# Open Source Packages +ruby_gapic_assembly_pkg( + name = "google-cloud-maps-mapsplatformdatasets-v1-ruby", + deps = [ + ":mapsplatformdatasets_ruby_gapic", + ":mapsplatformdatasets_ruby_grpc", + ":mapsplatformdatasets_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 = "mapsplatformdatasets_csharp_proto", + extra_opts = [], + deps = [":mapsplatformdatasets_proto"], +) + +csharp_grpc_library( + name = "mapsplatformdatasets_csharp_grpc", + srcs = [":mapsplatformdatasets_proto"], + deps = [":mapsplatformdatasets_csharp_proto"], +) + +csharp_gapic_library( + name = "mapsplatformdatasets_csharp_gapic", + srcs = [":mapsplatformdatasets_proto_with_info"], + common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json", + grpc_service_config = "mapsplatformdatasets_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "mapsplatformdatasets_v1.yaml", + deps = [ + ":mapsplatformdatasets_csharp_grpc", + ":mapsplatformdatasets_csharp_proto", + ], +) + +# Open Source Packages +csharp_gapic_assembly_pkg( + name = "google-cloud-maps-mapsplatformdatasets-v1-csharp", + deps = [ + ":mapsplatformdatasets_csharp_gapic", + ":mapsplatformdatasets_csharp_grpc", + ":mapsplatformdatasets_csharp_proto", + ], +) + +############################################################################## +# C++ +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "cc_grpc_library", + "cc_proto_library", +) + +cc_proto_library( + name = "mapsplatformdatasets_cc_proto", + deps = [":mapsplatformdatasets_proto"], +) + +cc_grpc_library( + name = "mapsplatformdatasets_cc_grpc", + srcs = [":mapsplatformdatasets_proto"], + grpc_only = True, + deps = [":mapsplatformdatasets_cc_proto"], +) diff --git a/third_party/googleapis/google/maps/mapsplatformdatasets/v1/data_source.proto b/third_party/googleapis/google/maps/mapsplatformdatasets/v1/data_source.proto new file mode 100644 index 000000000..fc92a0c83 --- /dev/null +++ b/third_party/googleapis/google/maps/mapsplatformdatasets/v1/data_source.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.maps.mapsplatformdatasets.v1; + +option csharp_namespace = "Google.Maps.MapsPlatformDatasets.V1"; +option go_package = "cloud.google.com/go/maps/mapsplatformdatasets/apiv1/mapsplatformdatasetspb;mapsplatformdatasetspb"; +option java_multiple_files = true; +option java_outer_classname = "DataSourceProto"; +option java_package = "com.google.maps.mapsplatformdatasets.v1"; +option objc_class_prefix = "MDV1"; +option php_namespace = "Google\\Maps\\MapsPlatformDatasets\\V1"; + +// The details about the data source when it is a local file. +message LocalFileSource { + // The file name of the uploaded file. + string filename = 1; + + // The format of the file that is being uploaded. + FileFormat file_format = 2; +} + +// The details about the data source when it is in Google Cloud Storage. +message GcsSource { + // Source data URI. For example, `gs://my_bucket/my_object`. + string input_uri = 1; + + // The file format of the Google Cloud Storage object. This is used mainly for + // validation. + FileFormat file_format = 2; +} + +// The format of the file being uploaded. +enum FileFormat { + // Unspecified file format. + FILE_FORMAT_UNSPECIFIED = 0; + + // GeoJson file. + FILE_FORMAT_GEOJSON = 1; + + // KML file. + FILE_FORMAT_KML = 2; + + // CSV file. + FILE_FORMAT_CSV = 3; +} diff --git a/third_party/googleapis/google/maps/mapsplatformdatasets/v1/dataset.proto b/third_party/googleapis/google/maps/mapsplatformdatasets/v1/dataset.proto new file mode 100644 index 000000000..0c9bda178 --- /dev/null +++ b/third_party/googleapis/google/maps/mapsplatformdatasets/v1/dataset.proto @@ -0,0 +1,146 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.maps.mapsplatformdatasets.v1; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/maps/mapsplatformdatasets/v1/data_source.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Maps.MapsPlatformDatasets.V1"; +option go_package = "cloud.google.com/go/maps/mapsplatformdatasets/apiv1/mapsplatformdatasetspb;mapsplatformdatasetspb"; +option java_multiple_files = true; +option java_outer_classname = "DatasetProto"; +option java_package = "com.google.maps.mapsplatformdatasets.v1"; +option objc_class_prefix = "MDV1"; +option php_namespace = "Google\\Maps\\MapsPlatformDatasets\\V1"; + +// A representation of a Maps Dataset resource. +message Dataset { + option (google.api.resource) = { + type: "mapsplatformdatasets.googleapis.com/Dataset" + pattern: "projects/{project}/datasets/{dataset}" + }; + + // Resource name, + // projects/{project}/datasets/{dataset_id} + string name = 1; + + // Human readable name, shown in the console UI . + string display_name = 2; + + // A description of this dataset . + string description = 3; + + // The version ID of the dataset. + string version_id = 4; + + // Specified use case for this dataset. + repeated Usage usage = 5; + + // Details about the source of the data for the dataset. + oneof data_source { + // A local file source for the dataset for a single upload. + LocalFileSource local_file_source = 6; + + // A Google Cloud Storage file source for the dataset for a single upload. + GcsSource gcs_source = 7; + } + + // Output only. The status of this dataset version. + Status status = 12 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Time when the dataset was first created. + google.protobuf.Timestamp create_time = 8 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Time when the dataset metadata was last updated. + google.protobuf.Timestamp update_time = 9 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Time when the data was uploaded. + google.protobuf.Timestamp version_create_time = 10 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The description for this version of dataset. It is provided + // when importing data to the dataset. + string version_description = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Status of the dataset. +message Status { + // A list of states for the dataset. + enum State { + // The state of this dataset is not set. + STATE_UNSPECIFIED = 0; + + // Data is being imported to a dataset. + STATE_IMPORTING = 1; + + // Importing data to a dataset succeeded. + STATE_IMPORT_SUCCEEDED = 2; + + // Importing data to a dataset failed. + STATE_IMPORT_FAILED = 3; + + // The dataset is in the process of getting deleted. + STATE_DELETING = 4; + + // The deletion failed state. This state represents that dataset deletion + // has failed. Deletion may be retried. + STATE_DELETION_FAILED = 5; + + // Data is being processed. + STATE_PROCESSING = 6; + + // The processing failed state. This state represents that processing has + // failed and may report errors. + STATE_PROCESSING_FAILED = 7; + + // This state is currently not used. + STATE_NEEDS_REVIEW = 8; + + // The publishing state. This state represents the publishing is in + // progress. + STATE_PUBLISHING = 9; + + // The publishing failed states. This state represents that the + // publishing failed. Publishing may be retried. + STATE_PUBLISHING_FAILED = 10; + + // The completed state. This state represents the dataset being + // available for its specific usage. + STATE_COMPLETED = 11; + } + + // State enum for status. + State state = 1; + + // Error message indicating reason of failure. It is empty if the datasets is + // not in a failed state. + string error_message = 2; +} + +// Usage specifies where the data is intended to be used to inform how to +// process the data. +enum Usage { + // The usage of this dataset is not set. + USAGE_UNSPECIFIED = 0; + + // This dataset will be used for data driven styling. + USAGE_DATA_DRIVEN_STYLING = 1; +} diff --git a/third_party/googleapis/google/maps/mapsplatformdatasets/v1/maps_platform_datasets.proto b/third_party/googleapis/google/maps/mapsplatformdatasets/v1/maps_platform_datasets.proto new file mode 100644 index 000000000..4202decb0 --- /dev/null +++ b/third_party/googleapis/google/maps/mapsplatformdatasets/v1/maps_platform_datasets.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.maps.mapsplatformdatasets.v1; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/maps/mapsplatformdatasets/v1/data_source.proto"; +import "google/maps/mapsplatformdatasets/v1/dataset.proto"; +import "google/protobuf/field_mask.proto"; + +option csharp_namespace = "Google.Maps.MapsPlatformDatasets.V1"; +option go_package = "cloud.google.com/go/maps/mapsplatformdatasets/apiv1/mapsplatformdatasetspb;mapsplatformdatasetspb"; +option java_multiple_files = true; +option java_outer_classname = "MapsPlatformDatasetsProto"; +option java_package = "com.google.maps.mapsplatformdatasets.v1"; +option objc_class_prefix = "MDV1"; +option php_namespace = "Google\\Maps\\MapsPlatformDatasets\\V1"; + +// Request to create a maps dataset. +message CreateDatasetRequest { + // Required. Parent project that will own the dataset. + // Format: projects/{$project} + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "cloudresourcemanager.googleapis.com/Project" + } + ]; + + // Required. The dataset version to create. + Dataset dataset = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Request to update the metadata fields of the dataset. +message UpdateDatasetMetadataRequest { + // Required. The dataset to update. The dataset's name is used to identify the + // dataset to be updated. The name has the format: + // projects/{project}/datasets/{dataset_id} + Dataset dataset = 1 [(google.api.field_behavior) = REQUIRED]; + + // The list of fields to be updated. Support the value "*" for full + // replacement. + google.protobuf.FieldMask update_mask = 2; +} + +// Request to get the specified dataset. +message GetDatasetRequest { + // Required. Resource name. projects/{project}/datasets/{dataset_id} + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "mapsplatformdatasets.googleapis.com/Dataset" + } + ]; +} + +// Request to list datasets for the project. +message ListDatasetsRequest { + // Required. The name of the project to list all the datasets for. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "cloudresourcemanager.googleapis.com/Project" + } + ]; + + // The maximum number of versions to return per page. + // If unspecified (or zero), all datasets will be returned. + int32 page_size = 2; + + // The page token, received from a previous ListDatasets call. + // Provide this to retrieve the subsequent page. + string page_token = 3; +} + +// Response to list datasets for the project. +message ListDatasetsResponse { + // All the datasets for the project. + repeated Dataset datasets = 1; + + // A token that can be sent as `page_token` to retrieve the next page. + // If this field is omitted, there are no subsequent pages. + string next_page_token = 2; +} + +// Request to delete a dataset. +// +// The dataset to be deleted. +message DeleteDatasetRequest { + // Required. Format: projects/${project}/datasets/{dataset_id} + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "mapsplatformdatasets.googleapis.com/Dataset" + } + ]; +} diff --git a/third_party/googleapis/google/maps/mapsplatformdatasets/v1/maps_platform_datasets_service.proto b/third_party/googleapis/google/maps/mapsplatformdatasets/v1/maps_platform_datasets_service.proto new file mode 100644 index 000000000..1ae92a7c4 --- /dev/null +++ b/third_party/googleapis/google/maps/mapsplatformdatasets/v1/maps_platform_datasets_service.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.maps.mapsplatformdatasets.v1; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/maps/mapsplatformdatasets/v1/dataset.proto"; +import "google/maps/mapsplatformdatasets/v1/maps_platform_datasets.proto"; +import "google/protobuf/empty.proto"; + +option cc_enable_arenas = true; +option csharp_namespace = "Google.Maps.MapsPlatformDatasets.V1"; +option go_package = "cloud.google.com/go/maps/mapsplatformdatasets/apiv1/mapsplatformdatasetspb;mapsplatformdatasetspb"; +option java_multiple_files = true; +option java_outer_classname = "MapsPlatformDatasetsServiceProto"; +option java_package = "com.google.maps.mapsplatformdatasets.v1"; +option objc_class_prefix = "MDV1"; +option php_namespace = "Google\\Maps\\MapsPlatformDatasets\\V1"; + +// Service definition for the Maps Platform Datasets API. +service MapsPlatformDatasets { + option (google.api.default_host) = "mapsplatformdatasets.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform"; + + // Create a new dataset for the specified project. + rpc CreateDataset(CreateDatasetRequest) returns (Dataset) { + option (google.api.http) = { + post: "/v1/{parent=projects/*}/datasets" + body: "dataset" + }; + option (google.api.method_signature) = "parent,dataset"; + } + + // Update the metadata for the dataset. + rpc UpdateDatasetMetadata(UpdateDatasetMetadataRequest) returns (Dataset) { + option (google.api.http) = { + patch: "/v1/{dataset.name=projects/*/datasets/*}" + body: "dataset" + }; + option (google.api.method_signature) = "dataset,update_mask"; + } + + // Get the dataset. + rpc GetDataset(GetDatasetRequest) returns (Dataset) { + option (google.api.http) = { + get: "/v1/{name=projects/*/datasets/*}" + }; + option (google.api.method_signature) = "name"; + } + + // List all the datasets for the specified project. + rpc ListDatasets(ListDatasetsRequest) returns (ListDatasetsResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*}/datasets" + }; + option (google.api.method_signature) = "parent"; + } + + // Delete the specified dataset . + rpc DeleteDataset(DeleteDatasetRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + delete: "/v1/{name=projects/*/datasets/*}" + }; + option (google.api.method_signature) = "name"; + } +} diff --git a/third_party/googleapis/google/maps/mapsplatformdatasets/v1/mapsplatformdatasets_grpc_service_config.json b/third_party/googleapis/google/maps/mapsplatformdatasets/v1/mapsplatformdatasets_grpc_service_config.json new file mode 100644 index 000000000..c820e42a7 --- /dev/null +++ b/third_party/googleapis/google/maps/mapsplatformdatasets/v1/mapsplatformdatasets_grpc_service_config.json @@ -0,0 +1,53 @@ +{ + "methodConfig": [ + { + "name": [ + { + "service": "google.maps.mapsplatformdatasets.v1.MapsPlatformDatasets", + "method": "CreateDataset" + }, + { + "service": "google.maps.mapsplatformdatasets.v1.MapsPlatformDatasets", + "method": "ImportDataset" + }, + { + "service": "google.maps.mapsplatformdatasets.v1.MapsPlatformDatasets", + "method": "UpdateDatasetMetadata" + }, + { + "service": "google.maps.mapsplatformdatasets.v1.MapsPlatformDatasets", + "method": "DeleteDataset" + } + ], + "timeout": "60s" + }, + { + "name": [ + { + "service": "google.maps.mapsplatformdatasets.v1.MapsPlatformDatasets", + "method": "DownloadDataset" + }, + { + "service": "google.maps.mapsplatformdatasets.v1.MapsPlatformDatasets", + "method": "GetDataset" + }, + { + "service": "google.maps.mapsplatformdatasets.v1.MapsPlatformDatasets", + "method": "ListDatasets" + }, + { + "service": "google.maps.mapsplatformdatasets.v1.MapsPlatformDatasets", + "method": "ListDatasetVersions" + } + ], + "timeout": "60s", + "retryPolicy": { + "maxAttempts": 5, + "initialBackoff": "1s", + "maxBackoff": "10s", + "backoffMultiplier": 1.3, + "retryableStatusCodes": ["UNAVAILABLE"] + } + } + ] +} diff --git a/third_party/googleapis/google/maps/mapsplatformdatasets/v1/mapsplatformdatasets_v1.yaml b/third_party/googleapis/google/maps/mapsplatformdatasets/v1/mapsplatformdatasets_v1.yaml new file mode 100644 index 000000000..77635395f --- /dev/null +++ b/third_party/googleapis/google/maps/mapsplatformdatasets/v1/mapsplatformdatasets_v1.yaml @@ -0,0 +1,22 @@ +type: google.api.Service +config_version: 3 +name: mapsplatformdatasets.googleapis.com +title: Maps Platform Datasets API + +apis: +- name: google.maps.mapsplatformdatasets.v1.MapsPlatformDatasets + +documentation: + summary: mapsplatformdatasets.googleapis.com API. + +backend: + rules: + - selector: 'google.maps.mapsplatformdatasets.v1.MapsPlatformDatasets.*' + deadline: 10.0 + +authentication: + rules: + - selector: 'google.maps.mapsplatformdatasets.v1.MapsPlatformDatasets.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform diff --git a/third_party/googleapis/google/maps/mobilitybilling/logs/v1/BUILD.bazel b/third_party/googleapis/google/maps/mobilitybilling/logs/v1/BUILD.bazel new file mode 100644 index 000000000..a750889c0 --- /dev/null +++ b/third_party/googleapis/google/maps/mobilitybilling/logs/v1/BUILD.bazel @@ -0,0 +1,155 @@ +# This file was automatically generated by BuildFileGenerator + +############################################################################## +# Java +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "cc_grpc_library", + "cc_proto_library", + "csharp_gapic_assembly_pkg", + "csharp_proto_library", + "go_gapic_assembly_pkg", + "go_proto_library", + "java_gapic_assembly_gradle_pkg", + "java_proto_library", + "moved_proto_library", + "php_gapic_assembly_pkg", + "php_proto_library", + "py_gapic_assembly_pkg", + "py_gapic_library", + "py_grpc_library", + "py_proto_library", + "ruby_grpc_library", + "ruby_proto_library", +) + +############################################################################## +# Common +############################################################################## +load("@rules_proto//proto:defs.bzl", "proto_library") + +# This is an API workspace, having public visibility by default makes perfect sense. +package(default_visibility = ["//visibility:public"]) + +proto_library( + name = "logs_proto", + srcs = [ + "mobility_billing_cloud_logging.proto", + ], + deps = [ + ], +) + +java_proto_library( + name = "logs_java_proto", + deps = [":logs_proto"], +) + +# Open Source Packages +java_gapic_assembly_gradle_pkg( + name = "google-maps-mobilitybilling-logs-v1-java", + deps = [ + ":logs_java_proto", + ":logs_proto", + ], +) + +go_proto_library( + name = "logs_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "cloud.google.com/go/maps/mobilitybilling/logs/apiv1/logspb", + protos = [":logs_proto"], + deps = [ + ], +) + +go_gapic_assembly_pkg( + name = "google-maps-mobilitybilling-logs-v1-go", + deps = [ + ":logs_go_proto", + ], +) + +moved_proto_library( + name = "logs_moved_proto", + srcs = [":logs_proto"], + deps = [ + ], +) + +py_proto_library( + name = "logs_py_proto", + deps = [":logs_moved_proto"], +) + +py_grpc_library( + name = "logs_py_grpc", + srcs = [":logs_moved_proto"], + deps = [":logs_py_proto"], +) + +py_gapic_library( + name = "logs_py_gapic", + srcs = [":logs_proto"], + rest_numeric_enums = False, + transport = "grpc+rest", +) + +# Open Source Packages +py_gapic_assembly_pkg( + name = "google-maps-mobilitybilling-logs-v1-py", + deps = [ + ":logs_py_gapic", + ], +) + +php_proto_library( + name = "logs_php_proto", + deps = [":logs_proto"], +) + +php_gapic_assembly_pkg( + name = "google-maps-mobilitybilling-logs-v1-php", + deps = [ + ":logs_php_proto", + ], +) + +ruby_proto_library( + name = "logs_ruby_proto", + deps = [":logs_proto"], +) + +ruby_grpc_library( + name = "logs_ruby_grpc", + srcs = [":logs_proto"], + deps = [":logs_ruby_proto"], +) + +csharp_proto_library( + name = "logs_csharp_proto", + deps = [":logs_proto"], +) + +# Open Source Packages +csharp_gapic_assembly_pkg( + name = "google-maps-mobilitybilling-logs-v1-csharp", + package_name = "Google.Maps.MobilityBilling.Logs.V1", + generate_nongapic_package = True, + deps = [ + ":logs_csharp_proto", + ], +) + +cc_proto_library( + name = "logs_cc_proto", + deps = [":logs_proto"], +) + +cc_grpc_library( + name = "logs_cc_grpc", + srcs = [":logs_proto"], + grpc_only = True, + deps = [":logs_cc_proto"], +) diff --git a/third_party/googleapis/google/maps/mobilitybilling/logs/v1/mobility_billing_cloud_logging.proto b/third_party/googleapis/google/maps/mobilitybilling/logs/v1/mobility_billing_cloud_logging.proto new file mode 100644 index 000000000..68e6c0d44 --- /dev/null +++ b/third_party/googleapis/google/maps/mobilitybilling/logs/v1/mobility_billing_cloud_logging.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.maps.mobilitybilling.logs.v1; + +option csharp_namespace = "Google.Maps.MobilityBilling.Logs.V1"; +option go_package = "cloud.google.com/go/maps/mobilitybilling/logs/apiv1/logspb;logspb"; +option java_multiple_files = true; +option java_outer_classname = "MobilityBillingCloudLoggingProto"; +option java_package = "com.google.maps.mobilitybilling.logs.v1"; + +// Details on ReportBillableEvent request. +message ReportBillableEventLog { + // The id of the billable event. + // Subject to the following restrictions: + // + // 1. IDs must be valid Unicode strings. + // 2. IDs are limited to a maximum length of 64 characters. + // 3. IDs must be normalized according to Unicode Normalization Form C + // (http://www.unicode.org/reports/tr15/ ). + // 4. IDs must not contain any of the following ASCII characters: '/', ':', + // '?', ',', or '#'. + string billable_event_id = 1; + + // Two-letter region code of the country or region where the event takes + // place. A list of valid region codes can be found here: + // https://developers.google.com/maps/coverage + string region_code = 2; + + // The identifiers that are directly related to the event being reported. + // The customer defines the meaning of these IDs. + repeated string related_ids = 3; +} diff --git a/third_party/googleapis/google/maps/places/v1/BUILD.bazel b/third_party/googleapis/google/maps/places/v1/BUILD.bazel new file mode 100644 index 000000000..97fc0165b --- /dev/null +++ b/third_party/googleapis/google/maps/places/v1/BUILD.bazel @@ -0,0 +1,428 @@ +# 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") +load( + "@com_google_googleapis_imports//:imports.bzl", + "cc_grpc_library", + "cc_proto_library", + "csharp_gapic_assembly_pkg", + "csharp_gapic_library", + "csharp_grpc_library", + "csharp_proto_library", + "go_gapic_assembly_pkg", + "go_gapic_library", + "go_proto_library", + "java_gapic_assembly_gradle_pkg", + "java_gapic_library", + "java_gapic_test", + "java_grpc_library", + "java_proto_library", + "nodejs_gapic_assembly_pkg", + "nodejs_gapic_library", + "php_gapic_assembly_pkg", + "php_gapic_library", + "php_proto_library", + "proto_library_with_info", + "py_gapic_assembly_pkg", + "py_gapic_library", + "py_import", + "py_test", + "ruby_cloud_gapic_library", + "ruby_gapic_assembly_pkg", + "ruby_grpc_library", + "ruby_proto_library", +) + +proto_library( + name = "places_proto", + srcs = [ + "attribution.proto", + "ev_charging.proto", + "fuel_options.proto", + "geometry.proto", + "photo.proto", + "place.proto", + "places_service.proto", + "review.proto", + ], + deps = [ + "//google/api:annotations_proto", + "//google/api:client_proto", + "//google/api:field_behavior_proto", + "//google/api:resource_proto", + "//google/geo/type:viewport_proto", + "//google/type:date_proto", + "//google/type:latlng_proto", + "//google/type:localized_text_proto", + "//google/type:money_proto", + "@com_google_protobuf//:timestamp_proto", + ], +) + +proto_library_with_info( + name = "places_proto_with_info", + deps = [ + ":places_proto", + "//google/cloud:common_resources_proto", + ], +) + +py_import( + name = "viewport", + srcs = [ + "//google/geo/type:viewport_py_gapic", + ], +) + +############################################################################## +# 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 = "places_java_proto", + deps = [":places_proto"], +) + +java_grpc_library( + name = "places_java_grpc", + srcs = [":places_proto"], + deps = [":places_java_proto"], +) + +java_gapic_library( + name = "places_java_gapic", + srcs = [":places_proto_with_info"], + gapic_yaml = None, + grpc_service_config = "places_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "places_v1.yaml", + test_deps = [ + ":places_java_grpc", + ], + transport = "grpc+rest", + deps = [ + ":places_java_proto", + "//google/api:api_java_proto", + ], +) + +java_gapic_test( + name = "places_java_gapic_test_suite", + test_classes = [ + "com.google.maps.places.v1.PlacesClientHttpJsonTest", + "com.google.maps.places.v1.PlacesClientTest", + ], + runtime_deps = [":places_java_gapic_test"], +) + +# Open Source Packages +java_gapic_assembly_gradle_pkg( + name = "google-cloud-maps-places-v1-java", + include_samples = True, + transport = "grpc+rest", + deps = [ + ":places_java_gapic", + ":places_java_grpc", + ":places_java_proto", + ":places_proto", + ], +) + +############################################################################## +# Go +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "go_gapic_assembly_pkg", + "go_gapic_library", + "go_proto_library", +) + +go_proto_library( + name = "places_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "cloud.google.com/go/maps/places/apiv1/placespb", + protos = [":places_proto"], + deps = [ + "//google/api:annotations_go_proto", + "//google/geo/type:viewport_go_proto", + "//google/type:date_go_proto", + "//google/type:latlng_go_proto", + "//google/type:localized_text_go_proto", + "//google/type:money_go_proto", + ], +) + +go_gapic_library( + name = "places_go_gapic", + srcs = [":places_proto_with_info"], + grpc_service_config = "places_grpc_service_config.json", + importpath = "cloud.google.com/go/maps/places/apiv1;places", + metadata = True, + release_level = "ga", + rest_numeric_enums = True, + service_yaml = "places_v1.yaml", + transport = "grpc+rest", + deps = [ + ":places_go_proto", + ], +) + +# Open Source Packages +go_gapic_assembly_pkg( + name = "gapi-cloud-maps-places-v1-go", + deps = [ + ":places_go_gapic", + ":places_go_gapic_srcjar-metadata.srcjar", + ":places_go_gapic_srcjar-snippets.srcjar", + ":places_go_gapic_srcjar-test.srcjar", + ":places_go_proto", + ], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "py_gapic_assembly_pkg", + "py_gapic_library", + "py_test", +) + +py_gapic_library( + name = "places_py_gapic", + srcs = [":places_proto"], + grpc_service_config = "places_grpc_service_config.json", + opt_args = ["proto-plus-deps=google.geo.type"], + rest_numeric_enums = True, + service_yaml = "places_v1.yaml", + transport = "grpc+rest", + deps = [ + ":viewport" + ], +) + +py_test( + name = "places_py_gapic_test", + srcs = [ + "places_py_gapic_pytest.py", + "places_py_gapic_test.py", + ], + legacy_create_init = False, + deps = [":places_py_gapic"], +) + +# Open Source Packages +py_gapic_assembly_pkg( + name = "maps-places-v1-py", + deps = [ + ":places_py_gapic", + ], +) + +############################################################################## +# PHP +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "php_gapic_assembly_pkg", + "php_gapic_library", + "php_proto_library", +) + +php_proto_library( + name = "places_php_proto", + deps = [":places_proto"], +) + +php_gapic_library( + name = "places_php_gapic", + srcs = [":places_proto_with_info"], + grpc_service_config = "places_grpc_service_config.json", + migration_mode = "PRE_MIGRATION_SURFACE_ONLY", + rest_numeric_enums = True, + service_yaml = "places_v1.yaml", + transport = "grpc+rest", + deps = [ + ":places_php_proto", + ], +) + +# Open Source Packages +php_gapic_assembly_pkg( + name = "google-cloud-maps-places-v1-php", + deps = [ + ":places_php_gapic", + ":places_php_proto", + ], +) + +############################################################################## +# Node.js +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "nodejs_gapic_assembly_pkg", + "nodejs_gapic_library", +) + +nodejs_gapic_library( + name = "places_nodejs_gapic", + package_name = "@googlemaps/places", + src = ":places_proto_with_info", + extra_protoc_parameters = ["metadata"], + grpc_service_config = "places_grpc_service_config.json", + package = "google.maps.places.v1", + rest_numeric_enums = True, + service_yaml = "places_v1.yaml", + transport = "grpc+rest", + deps = [], +) + +nodejs_gapic_assembly_pkg( + name = "maps-places-v1-nodejs", + deps = [ + ":places_nodejs_gapic", + ":places_proto", + "//google/geo/type:viewport_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 = "places_ruby_proto", + deps = [":places_proto"], +) + +ruby_grpc_library( + name = "places_ruby_grpc", + srcs = [":places_proto"], + deps = [":places_ruby_proto"], +) + +ruby_cloud_gapic_library( + name = "places_ruby_gapic", + srcs = [":places_proto_with_info"], + extra_protoc_parameters = ["ruby-cloud-gem-name=google-maps-places-v1"], + grpc_service_config = "places_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "places_v1.yaml", + transport = "grpc+rest", + deps = [ + ":places_ruby_grpc", + ":places_ruby_proto", + ], +) + +# Open Source Packages +ruby_gapic_assembly_pkg( + name = "google-cloud-maps-places-v1-ruby", + deps = [ + ":places_ruby_gapic", + ":places_ruby_grpc", + ":places_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 = "places_csharp_proto", + extra_opts = [], + deps = [":places_proto"], +) + +csharp_grpc_library( + name = "places_csharp_grpc", + srcs = [":places_proto"], + deps = [":places_csharp_proto"], +) + +csharp_gapic_library( + name = "places_csharp_gapic", + srcs = [":places_proto_with_info"], + common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json", + grpc_service_config = "places_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "places_v1.yaml", + transport = "grpc+rest", + deps = [ + ":places_csharp_grpc", + ":places_csharp_proto", + ], +) + +# Open Source Packages +csharp_gapic_assembly_pkg( + name = "google-cloud-maps-places-v1-csharp", + deps = [ + ":places_csharp_gapic", + ":places_csharp_grpc", + ":places_csharp_proto", + ], +) + +############################################################################## +# C++ +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "cc_grpc_library", + "cc_proto_library", +) + +cc_proto_library( + name = "places_cc_proto", + deps = [":places_proto"], +) + +cc_grpc_library( + name = "places_cc_grpc", + srcs = [":places_proto"], + grpc_only = True, + deps = [":places_cc_proto"], +) diff --git a/third_party/googleapis/google/maps/places/v1/attribution.proto b/third_party/googleapis/google/maps/places/v1/attribution.proto new file mode 100644 index 000000000..d982dd06d --- /dev/null +++ b/third_party/googleapis/google/maps/places/v1/attribution.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.maps.places.v1; + +option cc_enable_arenas = true; +option csharp_namespace = "Google.Maps.Places.V1"; +option go_package = "cloud.google.com/go/maps/places/apiv1/placespb;placespb"; +option java_multiple_files = true; +option java_outer_classname = "AttributionProto"; +option java_package = "com.google.maps.places.v1"; +option objc_class_prefix = "GMPSV1"; +option php_namespace = "Google\\Maps\\Places\\V1"; + +// Information about the author of the UGC data. Used in +// [Photo][google.maps.places.v1.Photo], and +// [Review][google.maps.places.v1.Review]. +message AuthorAttribution { + // Name of the author of the [Photo][google.maps.places.v1.Photo] or + // [Review][google.maps.places.v1.Review]. + string display_name = 1; + + // URI of the author of the [Photo][google.maps.places.v1.Photo] or + // [Review][google.maps.places.v1.Review]. + string uri = 2; + + // Profile photo URI of the author of the + // [Photo][google.maps.places.v1.Photo] or + // [Review][google.maps.places.v1.Review]. + string photo_uri = 3; +} diff --git a/third_party/googleapis/google/maps/places/v1/ev_charging.proto b/third_party/googleapis/google/maps/places/v1/ev_charging.proto new file mode 100644 index 000000000..a81ae499c --- /dev/null +++ b/third_party/googleapis/google/maps/places/v1/ev_charging.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.maps.places.v1; + +import "google/protobuf/timestamp.proto"; + +option cc_enable_arenas = true; +option csharp_namespace = "Google.Maps.Places.V1"; +option go_package = "cloud.google.com/go/maps/places/apiv1/placespb;placespb"; +option java_multiple_files = true; +option java_outer_classname = "EvChargingProto"; +option java_package = "com.google.maps.places.v1"; +option objc_class_prefix = "GMPSV1"; +option php_namespace = "Google\\Maps\\Places\\V1"; + +// Information about the EV Charge Station hosted in Place. +// Terminology follows +// https://afdc.energy.gov/fuels/electricity_infrastructure.html One port +// could charge one car at a time. One port has one or more connectors. One +// station has one or more ports. +message EVChargeOptions { + // EV charging information grouped by [type, max_charge_rate_kw]. + // Shows EV charge aggregation of connectors that have the same type and max + // charge rate in kw. + message ConnectorAggregation { + // The connector type of this aggregation. + EVConnectorType type = 1; + + // The static max charging rate in kw of each connector in the aggregation. + double max_charge_rate_kw = 2; + + // Number of connectors in this aggregation. + int32 count = 3; + + // Number of connectors in this aggregation that are currently available. + optional int32 available_count = 4; + + // Number of connectors in this aggregation that are currently out of + // service. + optional int32 out_of_service_count = 5; + + // The timestamp when the connector availability information in this + // aggregation was last updated. + google.protobuf.Timestamp availability_last_update_time = 6; + } + + // Number of connectors at this station. However, because some ports can have + // multiple connectors but only be able to charge one car at a time (e.g.) the + // number of connectors may be greater than the total number of cars which can + // charge simultaneously. + int32 connector_count = 1; + + // A list of EV charging connector aggregations that contain connectors of the + // same type and same charge rate. + repeated ConnectorAggregation connector_aggregation = 2; +} + +// See http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=6872107 for +// additional information/context on EV charging connector types. +enum EVConnectorType { + // Unspecified connector. + EV_CONNECTOR_TYPE_UNSPECIFIED = 0; + + // Other connector types. + EV_CONNECTOR_TYPE_OTHER = 1; + + // J1772 type 1 connector. + EV_CONNECTOR_TYPE_J1772 = 2; + + // IEC 62196 type 2 connector. Often referred to as MENNEKES. + EV_CONNECTOR_TYPE_TYPE_2 = 3; + + // CHAdeMO type connector. + EV_CONNECTOR_TYPE_CHADEMO = 4; + + // Combined Charging System (AC and DC). Based on SAE. + // Type-1 J-1772 connector + EV_CONNECTOR_TYPE_CCS_COMBO_1 = 5; + + // Combined Charging System (AC and DC). Based on Type-2 + // Mennekes connector + EV_CONNECTOR_TYPE_CCS_COMBO_2 = 6; + + // The generic TESLA connector. This is NACS in the North America but can be + // non-NACS in other parts of the world (e.g. CCS Combo 2 (CCS2) or GB/T). + // This value is less representative of an actual connector type, and more + // represents the ability to charge a Tesla brand vehicle at a Tesla owned + // charging station. + EV_CONNECTOR_TYPE_TESLA = 7; + + // GB/T type corresponds to the GB/T standard in China. This type covers all + // GB_T types. + EV_CONNECTOR_TYPE_UNSPECIFIED_GB_T = 8; + + // Unspecified wall outlet. + EV_CONNECTOR_TYPE_UNSPECIFIED_WALL_OUTLET = 9; +} diff --git a/third_party/googleapis/google/maps/places/v1/fuel_options.proto b/third_party/googleapis/google/maps/places/v1/fuel_options.proto new file mode 100644 index 000000000..4a38de538 --- /dev/null +++ b/third_party/googleapis/google/maps/places/v1/fuel_options.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.maps.places.v1; + +import "google/protobuf/timestamp.proto"; +import "google/type/money.proto"; + +option cc_enable_arenas = true; +option csharp_namespace = "Google.Maps.Places.V1"; +option go_package = "cloud.google.com/go/maps/places/apiv1/placespb;placespb"; +option java_multiple_files = true; +option java_outer_classname = "FuelOptionsProto"; +option java_package = "com.google.maps.places.v1"; +option objc_class_prefix = "GMPSV1"; +option php_namespace = "Google\\Maps\\Places\\V1"; + +// The most recent information about fuel options in a gas station. This +// information is updated regularly. +message FuelOptions { + // Fuel price information for a given type. + message FuelPrice { + // Types of fuel. + enum FuelType { + // Unspecified fuel type. + FUEL_TYPE_UNSPECIFIED = 0; + + // Diesel fuel. + DIESEL = 1; + + // Regular unleaded. + REGULAR_UNLEADED = 2; + + // Midgrade. + MIDGRADE = 3; + + // Premium. + PREMIUM = 4; + + // SP 91. + SP91 = 5; + + // SP 91 E10. + SP91_E10 = 6; + + // SP 92. + SP92 = 7; + + // SP 95. + SP95 = 8; + + // SP95 E10. + SP95_E10 = 9; + + // SP 98. + SP98 = 10; + + // SP 99. + SP99 = 11; + + // SP 100. + SP100 = 12; + + // LPG. + LPG = 13; + + // E 80. + E80 = 14; + + // E 85. + E85 = 15; + + // Methane. + METHANE = 16; + + // Bio-diesel. + BIO_DIESEL = 17; + + // Truck diesel. + TRUCK_DIESEL = 18; + } + + // The type of fuel. + FuelType type = 1; + + // The price of the fuel. + google.type.Money price = 2; + + // The time the fuel price was last updated. + google.protobuf.Timestamp update_time = 3; + } + + // The last known fuel price for each type of fuel this station has. There is + // one entry per fuel type this station has. Order is not important. + repeated FuelPrice fuel_prices = 1; +} diff --git a/third_party/googleapis/google/maps/places/v1/geometry.proto b/third_party/googleapis/google/maps/places/v1/geometry.proto new file mode 100644 index 000000000..e5e53a57d --- /dev/null +++ b/third_party/googleapis/google/maps/places/v1/geometry.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.maps.places.v1; + +import "google/api/field_behavior.proto"; +import "google/type/latlng.proto"; + +option cc_enable_arenas = true; +option csharp_namespace = "Google.Maps.Places.V1"; +option go_package = "cloud.google.com/go/maps/places/apiv1/placespb;placespb"; +option java_multiple_files = true; +option java_outer_classname = "GeometryProto"; +option java_package = "com.google.maps.places.v1"; +option objc_class_prefix = "GMPSV1"; +option php_namespace = "Google\\Maps\\Places\\V1"; + +// Circle with a LatLng as center and radius. +message Circle { + // Required. Center latitude and longitude. + // + // The range of latitude must be within [-90.0, 90.0]. The range of the + // longitude must be within [-180.0, 180.0]. + google.type.LatLng center = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. Radius measured in meters. The radius must be within [0.0, + // 50000.0]. + double radius = 2 [(google.api.field_behavior) = REQUIRED]; +} diff --git a/third_party/googleapis/google/maps/places/v1/photo.proto b/third_party/googleapis/google/maps/places/v1/photo.proto new file mode 100644 index 000000000..d2f3f999b --- /dev/null +++ b/third_party/googleapis/google/maps/places/v1/photo.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.maps.places.v1; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/maps/places/v1/attribution.proto"; + +option cc_enable_arenas = true; +option csharp_namespace = "Google.Maps.Places.V1"; +option go_package = "cloud.google.com/go/maps/places/apiv1/placespb;placespb"; +option java_multiple_files = true; +option java_outer_classname = "PhotoProto"; +option java_package = "com.google.maps.places.v1"; +option objc_class_prefix = "GMPSV1"; +option php_namespace = "Google\\Maps\\Places\\V1"; + +// Information about a photo of a place. +message Photo { + option (google.api.resource) = { + type: "places.googleapis.com/Photo" + pattern: "places/{place}/photos/{photo}" + plural: "photos" + singular: "photo" + }; + + // Identifier. A reference representing this place photo which may be used to + // look up this place photo again (also called the API "resource" name: + // `places/{place_id}/photos/{photo}`). + string name = 1 [(google.api.field_behavior) = IDENTIFIER]; + + // The maximum available width, in pixels. + int32 width_px = 2; + + // The maximum available height, in pixels. + int32 height_px = 3; + + // This photo's authors. + repeated AuthorAttribution author_attributions = 4; +} diff --git a/third_party/googleapis/google/maps/places/v1/place.proto b/third_party/googleapis/google/maps/places/v1/place.proto new file mode 100644 index 000000000..5d29462e8 --- /dev/null +++ b/third_party/googleapis/google/maps/places/v1/place.proto @@ -0,0 +1,539 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.maps.places.v1; + +import "google/api/resource.proto"; +import "google/geo/type/viewport.proto"; +import "google/maps/places/v1/ev_charging.proto"; +import "google/maps/places/v1/fuel_options.proto"; +import "google/maps/places/v1/photo.proto"; +import "google/maps/places/v1/review.proto"; +import "google/type/date.proto"; +import "google/type/latlng.proto"; +import "google/type/localized_text.proto"; + +option cc_enable_arenas = true; +option csharp_namespace = "Google.Maps.Places.V1"; +option go_package = "cloud.google.com/go/maps/places/apiv1/placespb;placespb"; +option java_multiple_files = true; +option java_outer_classname = "PlaceProto"; +option java_package = "com.google.maps.places.v1"; +option objc_class_prefix = "GMPSV1"; +option php_namespace = "Google\\Maps\\Places\\V1"; + +// All the information representing a Place. +message Place { + option (google.api.resource) = { + type: "places.googleapis.com/Place" + pattern: "places/{place_id}" + plural: "places" + singular: "place" + }; + + // The structured components that form the formatted address, if this + // information is available. + message AddressComponent { + // The full text description or name of the address component. For example, + // an address component for the country Australia may have a long_name of + // "Australia". + string long_text = 1; + + // An abbreviated textual name for the address component, if available. For + // example, an address component for the country of Australia may have a + // short_name of "AU". + string short_text = 2; + + // An array indicating the type(s) of the address component. + repeated string types = 3; + + // The language used to format this components, in CLDR notation. + string language_code = 4; + } + + // Plus code (http://plus.codes) is a location reference with two formats: + // global code defining a 14mx14m (1/8000th of a degree) or smaller rectangle, + // and compound code, replacing the prefix with a reference location. + message PlusCode { + // Place's global (full) code, such as "9FWM33GV+HQ", representing an + // 1/8000 by 1/8000 degree area (~14 by 14 meters). + string global_code = 1; + + // Place's compound code, such as "33GV+HQ, Ramberg, Norway", containing + // the suffix of the global code and replacing the prefix with a formatted + // name of a reference entity. + string compound_code = 2; + } + + // Information about business hour of the place. + message OpeningHours { + // A period the place remains in open_now status. + message Period { + // Status changing points. + message Point { + // A day of the week, as an integer in the range 0-6. 0 is Sunday, 1 is + // Monday, etc. + optional int32 day = 1; + + // The hour in 2 digits. Ranges from 00 to 23. + optional int32 hour = 2; + + // The minute in 2 digits. Ranges from 00 to 59. + optional int32 minute = 3; + + // Date in the local timezone for the place. + google.type.Date date = 6; + + // Whether or not this endpoint was truncated. Truncation occurs when + // the real hours are outside the times we are willing to return hours + // between, so we truncate the hours back to these boundaries. This + // ensures that at most 24 * 7 hours from midnight of the day of the + // request are returned. + bool truncated = 5; + } + + // The time that the place starts to be open. + Point open = 1; + + // The time that the place starts to be closed. + Point close = 2; + } + + // A type used to identify the type of secondary hours. + enum SecondaryHoursType { + // Default value when secondary hour type is not specified. + SECONDARY_HOURS_TYPE_UNSPECIFIED = 0; + + // The drive-through hour for banks, restaurants, or pharmacies. + DRIVE_THROUGH = 1; + + // The happy hour. + HAPPY_HOUR = 2; + + // The delivery hour. + DELIVERY = 3; + + // The takeout hour. + TAKEOUT = 4; + + // The kitchen hour. + KITCHEN = 5; + + // The breakfast hour. + BREAKFAST = 6; + + // The lunch hour. + LUNCH = 7; + + // The dinner hour. + DINNER = 8; + + // The brunch hour. + BRUNCH = 9; + + // The pickup hour. + PICKUP = 10; + + // The access hours for storage places. + ACCESS = 11; + + // The special hours for seniors. + SENIOR_HOURS = 12; + + // The online service hours. + ONLINE_SERVICE_HOURS = 13; + } + + // Structured information for special days that fall within the period that + // the returned opening hours cover. Special days are days that could impact + // the business hours of a place, e.g. Christmas day. + message SpecialDay { + // The date of this special day. + google.type.Date date = 1; + } + + // Is this place open right now? Always present unless we lack time-of-day + // or timezone data for these opening hours. + optional bool open_now = 1; + + // The periods that this place is open during the week. The periods are in + // chronological order, starting with Sunday in the place-local timezone. An + // empty (but not absent) value indicates a place that is never open, e.g. + // because it is closed temporarily for renovations. + repeated Period periods = 2; + + // Localized strings describing the opening hours of this place, one string + // for each day of the week. Will be empty if the hours are unknown or + // could not be converted to localized text. Example: "Sun: 18:00–06:00" + repeated string weekday_descriptions = 3; + + // A type string used to identify the type of secondary hours. + SecondaryHoursType secondary_hours_type = 4; + + // Structured information for special days that fall within the period that + // the returned opening hours cover. Special days are days that could impact + // the business hours of a place, e.g. Christmas day. Set for + // current_opening_hours and current_secondary_opening_hours if there are + // exceptional hours. + repeated SpecialDay special_days = 5; + } + + // Business status for the place. + enum BusinessStatus { + // Default value. This value is unused. + BUSINESS_STATUS_UNSPECIFIED = 0; + + // The establishment is operational, not necessarily open now. + OPERATIONAL = 1; + + // The establishment is temporarily closed. + CLOSED_TEMPORARILY = 2; + + // The establishment is permanently closed. + CLOSED_PERMANENTLY = 3; + } + + // Information about data providers of this place. + message Attribution { + // Name of the Place's data provider. + string provider = 1; + + // URI to the Place's data provider. + string provider_uri = 2; + } + + // Payment options the place accepts. + message PaymentOptions { + // Place accepts credit cards as payment. + optional bool accepts_credit_cards = 1; + + // Place accepts debit cards as payment. + optional bool accepts_debit_cards = 2; + + // Place accepts cash only as payment. Places with this attribute may still + // accept other payment methods. + optional bool accepts_cash_only = 3; + + // Place accepts NFC payments. + optional bool accepts_nfc = 4; + } + + // Information about parking options for the place. A parking lot could + // support more than one option at the same time. + message ParkingOptions { + // Place offers free parking lots. + optional bool free_parking_lot = 1; + + // Place offers paid parking lots. + optional bool paid_parking_lot = 2; + + // Place offers free street parking. + optional bool free_street_parking = 3; + + // Place offers paid street parking. + optional bool paid_street_parking = 4; + + // Place offers valet parking. + optional bool valet_parking = 5; + + // Place offers free garage parking. + optional bool free_garage_parking = 6; + + // Place offers paid garage parking. + optional bool paid_garage_parking = 7; + } + + // Place resource name and id of sub destinations that relate to the place. + // For example, different terminals are different destinations of an airport. + message SubDestination { + // The resource name of the sub destination. + string name = 1 [ + (google.api.resource_reference) = { type: "places.googleapis.com/Place" } + ]; + + // The place id of the sub destination. + string id = 2; + } + + // Information about the accessibility options a place offers. + message AccessibilityOptions { + // Place offers wheelchair accessible parking. + optional bool wheelchair_accessible_parking = 1; + + // Places has wheelchair accessible entrance. + optional bool wheelchair_accessible_entrance = 2; + + // Place has wheelchair accessible restroom. + optional bool wheelchair_accessible_restroom = 3; + + // Place has wheelchair accessible seating. + 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). + string name = 1; + + // The unique identifier of a place. + string id = 2; + + // The localized name of the place, suitable as a short human-readable + // description. For example, "Google Sydney", "Starbucks", "Pyrmont", etc. + google.type.LocalizedText display_name = 31; + + // A set of type tags for this result. For example, "political" and + // "locality". For the complete list of possible values, see Table A and + // Table B at + // https://developers.google.com/maps/documentation/places/web-service/place-types + repeated string types = 5; + + // The primary type of the given result. This type must one of the Places API + // supported types. For example, "restaurant", "cafe", "airport", etc. A + // place can only have a single primary type. For the complete list of + // possible values, see Table A and Table B at + // https://developers.google.com/maps/documentation/places/web-service/place-types + string primary_type = 50; + + // The display name of the primary type, localized to the request language if + // applicable. For the complete list of possible values, see Table A and + // Table B at + // https://developers.google.com/maps/documentation/places/web-service/place-types + google.type.LocalizedText primary_type_display_name = 32; + + // A human-readable phone number for the place, in national format. + string national_phone_number = 7; + + // A human-readable phone number for the place, in international format. + string international_phone_number = 8; + + // A full, human-readable address for this place. + string formatted_address = 9; + + // A short, human-readable address for this place. + string short_formatted_address = 51; + + // Repeated components for each locality level. + // Note the following facts about the address_components[] array: + // - The array of address components may contain more components than the + // formatted_address. + // - The array does not necessarily include all the political entities that + // contain an address, apart from those included in the formatted_address. To + // retrieve all the political entities that contain a specific address, you + // should use reverse geocoding, passing the latitude/longitude of the address + // as a parameter to the request. + // - The format of the response is not guaranteed to remain the same between + // requests. In particular, the number of address_components varies based on + // the address requested and can change over time for the same address. A + // component can change position in the array. The type of the component can + // change. A particular component may be missing in a later response. + repeated AddressComponent address_components = 10; + + // Plus code of the place location lat/long. + PlusCode plus_code = 11; + + // The position of this place. + google.type.LatLng location = 12; + + // A viewport suitable for displaying the place on an average-sized map. + google.geo.type.Viewport viewport = 13; + + // A rating between 1.0 and 5.0, based on user reviews of this place. + double rating = 14; + + // A URL providing more information about this place. + string google_maps_uri = 15; + + // The authoritative website for this place, e.g. a business' homepage. + // Note that for places that are part of a chain (e.g. an IKEA store), this + // will usually be the website for the individual store, not the overall + // chain. + string website_uri = 16; + + // List of reviews about this place, sorted by relevance. + repeated Review reviews = 53; + + // The regular hours of operation. + OpeningHours regular_opening_hours = 21; + + // Number of minutes this place's timezone is currently offset from UTC. + // This is expressed in minutes to support timezones that are offset by + // fractions of an hour, e.g. X hours and 15 minutes. + optional int32 utc_offset_minutes = 22; + + // Information (including references) about photos of this place. + repeated Photo photos = 54; + + // The place's address in adr microformat: http://microformats.org/wiki/adr. + string adr_format_address = 24; + + // The business status for the place. + BusinessStatus business_status = 25; + + // Price level of the place. + PriceLevel price_level = 26; + + // A set of data provider that must be shown with this result. + repeated Attribution attributions = 27; + + // The total number of reviews (with or without text) for this place. + optional int32 user_rating_count = 28; + + // A truncated URL to an icon mask. User can access different icon type by + // appending type suffix to the end (eg, ".svg" or ".png"). + string icon_mask_base_uri = 29; + + // Background color for icon_mask in hex format, e.g. #909CE1. + string icon_background_color = 30; + + // Specifies if the business supports takeout. + optional bool takeout = 33; + + // Specifies if the business supports delivery. + optional bool delivery = 34; + + // Specifies if the business supports indoor or outdoor seating options. + optional bool dine_in = 35; + + // Specifies if the business supports curbside pickup. + optional bool curbside_pickup = 36; + + // Specifies if the place supports reservations. + optional bool reservable = 38; + + // Specifies if the place serves breakfast. + optional bool serves_breakfast = 39; + + // Specifies if the place serves lunch. + optional bool serves_lunch = 40; + + // Specifies if the place serves dinner. + optional bool serves_dinner = 41; + + // Specifies if the place serves beer. + optional bool serves_beer = 42; + + // Specifies if the place serves wine. + optional bool serves_wine = 43; + + // Specifies if the place serves brunch. + optional bool serves_brunch = 44; + + // Specifies if the place serves vegetarian food. + optional bool serves_vegetarian_food = 45; + + // The hours of operation for the next seven days (including today). The time + // period starts at midnight on the date of the request and ends at 11:59 pm + // six days later. This field includes the special_days subfield of all hours, + // set for dates that have exceptional hours. + OpeningHours current_opening_hours = 46; + + // Contains an array of entries for the next seven days including information + // about secondary hours of a business. Secondary hours are different from a + // business's main hours. For example, a restaurant can specify drive through + // hours or delivery hours as its secondary hours. This field populates the + // type subfield, which draws from a predefined list of opening hours types + // (such as DRIVE_THROUGH, PICKUP, or TAKEOUT) based on the types of the + // place. This field includes the special_days subfield of all hours, set for + // dates that have exceptional hours. + repeated OpeningHours current_secondary_opening_hours = 47; + + // Contains an array of entries for information about regular secondary hours + // of a business. Secondary hours are different from a business's main hours. + // For example, a restaurant can specify drive through hours or delivery hours + // as its secondary hours. This field populates the type subfield, which draws + // from a predefined list of opening hours types (such as DRIVE_THROUGH, + // PICKUP, or TAKEOUT) based on the types of the place. + repeated OpeningHours regular_secondary_opening_hours = 49; + + // Contains a summary of the place. A summary is comprised of a textual + // overview, and also includes the language code for these if applicable. + // Summary text must be presented as-is and can not be modified or altered. + google.type.LocalizedText editorial_summary = 52; + + // Place provides outdoor seating. + optional bool outdoor_seating = 55; + + // Place provides live music. + optional bool live_music = 56; + + // Place has a children's menu. + optional bool menu_for_children = 57; + + // Place serves cocktails. + optional bool serves_cocktails = 58; + + // Place serves dessert. + optional bool serves_dessert = 59; + + // Place serves coffee. + optional bool serves_coffee = 60; + + // Place is good for children. + optional bool good_for_children = 62; + + // Place allows dogs. + optional bool allows_dogs = 63; + + // Place has restroom. + optional bool restroom = 64; + + // Place accommodates groups. + optional bool good_for_groups = 65; + + // Place is suitable for watching sports. + optional bool good_for_watching_sports = 66; + + // Payment options the place accepts. If a payment option data is not + // available, the payment option field will be unset. + PaymentOptions payment_options = 67; + + // Options of parking provided by the place. + ParkingOptions parking_options = 70; + + // A list of sub destinations related to the place. + repeated SubDestination sub_destinations = 71; + + // Information about the accessibility options a place offers. + optional AccessibilityOptions accessibility_options = 72; + + // The most recent information about fuel options in a gas station. This + // information is updated regularly. + FuelOptions fuel_options = 78; + + // Information of ev charging options. + EVChargeOptions ev_charge_options = 79; +} + +// Price level of the place. +enum PriceLevel { + // Place price level is unspecified or unknown. + PRICE_LEVEL_UNSPECIFIED = 0; + + // Place provides free services. + PRICE_LEVEL_FREE = 1; + + // Place provides inexpensive services. + PRICE_LEVEL_INEXPENSIVE = 2; + + // Place provides moderately priced services. + PRICE_LEVEL_MODERATE = 3; + + // Place provides expensive services. + PRICE_LEVEL_EXPENSIVE = 4; + + // Place provides very expensive service s. + PRICE_LEVEL_VERY_EXPENSIVE = 5; +} diff --git a/third_party/googleapis/google/maps/places/v1/places_grpc_service_config.json b/third_party/googleapis/google/maps/places/v1/places_grpc_service_config.json new file mode 100644 index 000000000..219cd0b5e --- /dev/null +++ b/third_party/googleapis/google/maps/places/v1/places_grpc_service_config.json @@ -0,0 +1,15 @@ +{ + "methodConfig": [{ + "name": [ + { "service": "google.maps.places.v1"} + ], + "timeout": "60s", + "retryPolicy": { + "maxAttempts": 5, + "initialBackoff": "1s", + "maxBackoff": "10s", + "backoffMultiplier": 1.3, + "retryableStatusCodes": ["UNAVAILABLE"] + } + }] +} diff --git a/third_party/googleapis/google/maps/places/v1/places_service.proto b/third_party/googleapis/google/maps/places/v1/places_service.proto new file mode 100644 index 000000000..0bcc8ec9c --- /dev/null +++ b/third_party/googleapis/google/maps/places/v1/places_service.proto @@ -0,0 +1,441 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.maps.places.v1; + +import "google/api/annotations.proto"; +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/geometry.proto"; +import "google/maps/places/v1/place.proto"; + +option cc_enable_arenas = true; +option csharp_namespace = "Google.Maps.Places.V1"; +option go_package = "cloud.google.com/go/maps/places/apiv1/placespb;placespb"; +option java_multiple_files = true; +option java_outer_classname = "PlacesServiceProto"; +option java_package = "com.google.maps.places.v1"; +option objc_class_prefix = "GMPSV1"; +option php_namespace = "Google\\Maps\\Places\\V1"; + +// Service definition for the Places API. +// Note: every request actually requires a field mask set outside of +// the request proto (all/'*', is not assumed). That can be set via either a +// side channel (SystemParameterContext) over RPC, or a header +// (X-Goog-FieldMask) over HTTP. See: +// https://cloud.google.com/apis/docs/system-parameters +service Places { + option (google.api.default_host) = "places.googleapis.com"; + + // Search for places near locations. + rpc SearchNearby(SearchNearbyRequest) returns (SearchNearbyResponse) { + option (google.api.http) = { + post: "/v1/places:searchNearby" + body: "*" + }; + } + + // Text query based place search. + rpc SearchText(SearchTextRequest) returns (SearchTextResponse) { + option (google.api.http) = { + post: "/v1/places:searchText" + body: "*" + }; + } + + // Get a photo media with a photo reference string. + rpc GetPhotoMedia(GetPhotoMediaRequest) returns (PhotoMedia) { + option (google.api.http) = { + get: "/v1/{name=places/*/photos/*/media}" + }; + option (google.api.method_signature) = "name"; + } + + // Get place details with a place id (in a name) string. + rpc GetPlace(GetPlaceRequest) returns (Place) { + option (google.api.http) = { + get: "/v1/{name=places/*}" + }; + option (google.api.method_signature) = "name"; + } +} + +// Request proto for Search Nearby. +// +// +message SearchNearbyRequest { + // The region to search. + message LocationRestriction { + oneof type { + // A circle defined by center point and radius. + Circle circle = 2; + } + } + + // How results will be ranked in the response. + enum RankPreference { + // RankPreference value not set. Will use rank by POPULARITY by default. + RANK_PREFERENCE_UNSPECIFIED = 0; + + // Ranks results by distance. + DISTANCE = 1; + + // Ranks results by popularity. + POPULARITY = 2; + } + + // Place details will be displayed with the preferred language if available. + // If the language code is unspecified or unrecognized, place details of any + // language may be returned, with a preference for English if such details + // exist. + // + // Current list of supported languages: + // https://developers.google.com/maps/faq#languagesupport. + string language_code = 1; + + // The Unicode country/region code (CLDR) of the location where the + // request is coming from. This parameter is used to display the place + // details, like region-specific place name, if available. The parameter can + // affect results based on applicable law. + // + // For more information, see + // https://www.unicode.org/cldr/charts/latest/supplemental/territory_language_information.html. + // + // + // Note that 3-digit region codes are not currently supported. + string region_code = 2; + + // Included Place type (eg, "restaurant" or "gas_station") from + // https://developers.google.com/maps/documentation/places/web-service/place-types. + // + // Up to 50 types from [Table + // A](https://developers.google.com/maps/documentation/places/web-service/place-types#table-a) + // may be specified. + // + // If there are any conflicting types, i.e. a type appears in both + // included_types and excluded_types, an INVALID_ARGUMENT error is + // returned. + // + // If a Place type is specified with multiple type restrictions, only places + // that satisfy all of the restrictions are returned. For example, if we + // have {included_types = ["restaurant"], excluded_primary_types = + // ["restaurant"]}, the returned places provide "restaurant" + // related services but do not operate primarily as "restaurants". + repeated string included_types = 3; + + // Excluded Place type (eg, "restaurant" or "gas_station") from + // https://developers.google.com/maps/documentation/places/web-service/place-types. + // + // Up to 50 types from [Table + // A](https://developers.google.com/maps/documentation/places/web-service/place-types#table-a) + // may be specified. + // + // If the client provides both included_types (e.g. restaurant) and + // excluded_types (e.g. cafe), then the response should include places that + // are restaurant but not cafe. The response includes places that match at + // least one of the included_types and none of the excluded_types. + // + // If there are any conflicting types, i.e. a type appears in both + // included_types and excluded_types, an INVALID_ARGUMENT error is returned. + // + // If a Place type is specified with multiple type restrictions, only places + // that satisfy all of the restrictions are returned. For example, if we + // have {included_types = ["restaurant"], excluded_primary_types = + // ["restaurant"]}, the returned places provide "restaurant" + // related services but do not operate primarily as "restaurants". + repeated string excluded_types = 4; + + // Included primary Place type (e.g. "restaurant" or "gas_station") from + // https://developers.google.com/maps/documentation/places/web-service/place-types. + // A place can only have a single primary type from the supported types table + // associated with it. + // + // Up to 50 types from [Table + // A](https://developers.google.com/maps/documentation/places/web-service/place-types#table-a) + // may be specified. + // + // If there are any conflicting primary types, i.e. a type appears in both + // included_primary_types and excluded_primary_types, an INVALID_ARGUMENT + // error is returned. + // + // If a Place type is specified with multiple type restrictions, only places + // that satisfy all of the restrictions are returned. For example, if we + // have {included_types = ["restaurant"], excluded_primary_types = + // ["restaurant"]}, the returned places provide "restaurant" + // related services but do not operate primarily as "restaurants". + repeated string included_primary_types = 5; + + // Excluded primary Place type (e.g. "restaurant" or "gas_station") from + // https://developers.google.com/maps/documentation/places/web-service/place-types. + // + // Up to 50 types from [Table + // A](https://developers.google.com/maps/documentation/places/web-service/place-types#table-a) + // may be specified. + // + // If there are any conflicting primary types, i.e. a type appears in both + // included_primary_types and excluded_primary_types, an INVALID_ARGUMENT + // error is returned. + // + // If a Place type is specified with multiple type restrictions, only places + // that satisfy all of the restrictions are returned. For example, if we + // have {included_types = ["restaurant"], excluded_primary_types = + // ["restaurant"]}, the returned places provide "restaurant" + // related services but do not operate primarily as "restaurants". + repeated string excluded_primary_types = 6; + + // Maximum number of results to return. It must be between 1 and 20 (default), + // inclusively. If the number is unset, it falls back to the upper limit. If + // the number is set to negative or exceeds the upper limit, an + // INVALID_ARGUMENT error is returned. + int32 max_result_count = 7; + + // Required. The region to search. + LocationRestriction location_restriction = 8 + [(google.api.field_behavior) = REQUIRED]; + + // How results will be ranked in the response. + RankPreference rank_preference = 9; +} + +// 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. + repeated Place places = 1; +} + +// Request proto for SearchText. +// +// +message SearchTextRequest { + // How results will be ranked in the response. + enum RankPreference { + // RankPreference value not set. Will default to DISTANCE. + RANK_PREFERENCE_UNSPECIFIED = 0; + + // Ranks results by distance. + DISTANCE = 1; + + // Ranks results by relevance. Sort order determined by normal ranking + // stack. + RELEVANCE = 2; + } + + // The region to search. This location serves as a bias which means results + // around given location might be returned. + message LocationBias { + oneof type { + // A rectangle box defined by northeast and southwest corner. + // `rectangle.high()` must be the northeast point of the rectangle + // viewport. `rectangle.low()` must be the southwest point of the + // rectangle viewport. `rectangle.low().latitude()` cannot be greater than + // `rectangle.high().latitude()`. This will result in an empty latitude + // range. A rectangle viewport cannot be wider than 180 degrees. + google.geo.type.Viewport rectangle = 1; + + // A circle defined by center point and radius. + Circle circle = 2; + } + } + + // The region to search. This location serves as a restriction which means + // results outside given location will not be returned. + message LocationRestriction { + oneof type { + // A rectangle box defined by northeast and southwest corner. + // `rectangle.high()` must be the northeast point of the rectangle + // viewport. `rectangle.low()` must be the southwest point of the + // rectangle viewport. `rectangle.low().latitude()` cannot be greater than + // `rectangle.high().latitude()`. This will result in an empty latitude + // range. A rectangle viewport cannot be wider than 180 degrees. + google.geo.type.Viewport rectangle = 1; + } + } + + // Required. The text query for textual search. + string text_query = 1 [(google.api.field_behavior) = REQUIRED]; + + // Place details will be displayed with the preferred language if available. + // If the language code is unspecified or unrecognized, place details of any + // language may be returned, with a preference for English if such details + // exist. + // + // Current list of supported languages: + // https://developers.google.com/maps/faq#languagesupport. + string language_code = 2; + + // The Unicode country/region code (CLDR) of the location where the + // request is coming from. This parameter is used to display the place + // details, like region-specific place name, if available. The parameter can + // affect results based on applicable law. + // + // For more information, see + // https://www.unicode.org/cldr/charts/latest/supplemental/territory_language_information.html. + // + // + // Note that 3-digit region codes are not currently supported. + string region_code = 3; + + // How results will be ranked in the response. + RankPreference rank_preference = 4; + + // The requested place type. Full list of types supported: + // https://developers.google.com/maps/documentation/places/web-service/place-types. + // Only support one included type. + string included_type = 6; + + // Used to restrict the search to places that are currently open. The default + // is false. + bool open_now = 7; + + // Filter out results whose average user rating is strictly less than this + // limit. A valid value must be a float between 0 and 5 (inclusively) at a + // 0.5 cadence i.e. [0, 0.5, 1.0, ... , 5.0] inclusively. The input rating + // will round up to the nearest 0.5(ceiling). For instance, a rating of 0.6 + // will eliminate all results with a less than 1.0 rating. + double min_rating = 9; + + // Maximum number of results to return. It must be between 1 and 20, + // inclusively. The default is 20. If the number is unset, it falls back to + // the upper limit. If the number is set to negative or exceeds the upper + // limit, an INVALID_ARGUMENT error is returned. + int32 max_result_count = 10; + + // Used to restrict the search to places that are marked as certain price + // levels. Users can choose any combinations of price levels. Default to + // select all price levels. + repeated PriceLevel price_levels = 11; + + // Used to set strict type filtering for included_type. If set to true, only + // results of the same type will be returned. Default to false. + bool strict_type_filtering = 12; + + // The region to search. This location serves as a bias which means results + // around given location might be returned. Cannot be set along with + // location_restriction. + LocationBias location_bias = 13; + + // The region to search. This location serves as a restriction which means + // results outside given location will not be returned. Cannot be set along + // with location_bias. + LocationRestriction location_restriction = 14; +} + +// Response proto for SearchText. +// +message SearchTextResponse { + // A list of places that meet the user's text search criteria. + repeated Place places = 1; +} + +// Request for fetching a photo of a place using a photo resource name. +message GetPhotoMediaRequest { + // Required. The resource name of a photo media in the format: + // `places/{place_id}/photos/{photo_reference}/media`. + // + // The resource name of a photo as returned in a Place object's `photos.name` + // field comes with the format + // `places/{place_id}/photos/{photo_reference}`. You need to append `/media` + // at the end of the photo resource to get the photo media resource name. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "places.googleapis.com/PhotoMedia" + } + ]; + + // Optional. Specifies the maximum desired width, in pixels, of the image. If + // the image is smaller than the values specified, the original image will be + // returned. If the image is larger in either dimension, it will be scaled to + // match the smaller of the two dimensions, restricted to its original aspect + // ratio. Both the max_height_px and max_width_px properties accept an integer + // between 1 and 4800, inclusively. If the value is not within the allowed + // range, an INVALID_ARGUMENT error will be returned. + // + // At least one of max_height_px or max_width_px needs to be specified. If + // neither max_height_px nor max_width_px is specified, an INVALID_ARGUMENT + // error will be returned. + int32 max_width_px = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Specifies the maximum desired height, in pixels, of the image. If + // the image is smaller than the values specified, the original image will be + // returned. If the image is larger in either dimension, it will be scaled to + // match the smaller of the two dimensions, restricted to its original aspect + // ratio. Both the max_height_px and max_width_px properties accept an integer + // between 1 and 4800, inclusively. If the value is not within the allowed + // range, an INVALID_ARGUMENT error will be returned. + // + // At least one of max_height_px or max_width_px needs to be specified. If + // neither max_height_px nor max_width_px is specified, an INVALID_ARGUMENT + // error will be returned. + int32 max_height_px = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. If set, skip the default HTTP redirect behavior and render a text + // format (for example, in JSON format for HTTP use case) response. If not + // set, an HTTP redirect will be issued to redirect the call to the image + // media. This option is ignored for non-HTTP requests. + bool skip_http_redirect = 4 [(google.api.field_behavior) = OPTIONAL]; +} + +// A photo media from Places API. +message PhotoMedia { + option (google.api.resource) = { + type: "places.googleapis.com/PhotoMedia" + pattern: "places/{place_id}/photos/{photo_reference}/media" + plural: "photoMedias" + singular: "photoMedia" + }; + + // The resource name of a photo media in the format: + // `places/{place_id}/photos/{photo_reference}/media`. + string name = 1; + + // A short-lived uri that can be used to render the photo. + string photo_uri = 2; +} + +// Request for fetching a Place with a place id (in a name) string. +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}`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { type: "places.googleapis.com/Place" } + ]; + + // Optional. Place details will be displayed with the preferred language if + // available. + // + // Current list of supported languages: + // https://developers.google.com/maps/faq#languagesupport. + string language_code = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The Unicode country/region code (CLDR) of the location where the + // request is coming from. This parameter is used to display the place + // details, like region-specific place name, if available. The parameter can + // affect results based on applicable law. + // For more information, see + // https://www.unicode.org/cldr/charts/latest/supplemental/territory_language_information.html. + // + // + // Note that 3-digit region codes are not currently supported. + string region_code = 3 [(google.api.field_behavior) = OPTIONAL]; +} diff --git a/third_party/googleapis/google/maps/places/v1/places_v1.yaml b/third_party/googleapis/google/maps/places/v1/places_v1.yaml new file mode 100644 index 000000000..cadf26c50 --- /dev/null +++ b/third_party/googleapis/google/maps/places/v1/places_v1.yaml @@ -0,0 +1,45 @@ +type: google.api.Service +config_version: 3 +name: places.googleapis.com +title: Places API (New) + +apis: +- name: google.maps.places.v1.Places + +documentation: + summary: |- + The Places API allows developers to access a variety of search and + retrieval endpoints for a Place. + overview: '' + +publishing: + new_issue_uri: https://issuetracker.google.com/issues/new?component=188872&template=1815671&pli=1 + documentation_uri: https://developers.google.com/maps/documentation/places/web-service/ + api_short_name: places + github_label: 'api: places' + doc_tag_prefix: places + organization: GEO + library_settings: + - version: google.maps.api.v1 + launch_stage: GA + java_settings: + common: + destinations: + - PACKAGE_MANAGER + python_settings: + common: + destinations: + - PACKAGE_MANAGER + node_settings: + common: + destinations: + - PACKAGE_MANAGER + dotnet_settings: + common: + destinations: + - PACKAGE_MANAGER + go_settings: + common: + destinations: + - PACKAGE_MANAGER + proto_reference_documentation_uri: https://developers.google.com/maps/documentation/places/web-service/place-data-fields diff --git a/third_party/googleapis/google/maps/places/v1/review.proto b/third_party/googleapis/google/maps/places/v1/review.proto new file mode 100644 index 000000000..bccc4c0bc --- /dev/null +++ b/third_party/googleapis/google/maps/places/v1/review.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.maps.places.v1; + +import "google/api/resource.proto"; +import "google/maps/places/v1/attribution.proto"; +import "google/protobuf/timestamp.proto"; +import "google/type/localized_text.proto"; + +option cc_enable_arenas = true; +option csharp_namespace = "Google.Maps.Places.V1"; +option go_package = "cloud.google.com/go/maps/places/apiv1/placespb;placespb"; +option java_multiple_files = true; +option java_outer_classname = "ReviewProto"; +option java_package = "com.google.maps.places.v1"; +option objc_class_prefix = "GMPSV1"; +option php_namespace = "Google\\Maps\\Places\\V1"; + +// Information about a review of a place. +message Review { + option (google.api.resource) = { + type: "places.googleapis.com/Review" + pattern: "places/{place}/reviews/{review}" + plural: "reviews" + singular: "review" + }; + + // A reference representing this place review which may be used to look up + // this place review again (also called the API "resource" name: + // `places/{place_id}/reviews/{review}`). + string name = 1; + + // A string of formatted recent time, expressing the review time relative + // to the current time in a form appropriate for the language and country. + string relative_publish_time_description = 2; + + // The localized text of the review. + google.type.LocalizedText text = 9; + + // The review text in its original language. + google.type.LocalizedText original_text = 12; + + // A number between 1.0 and 5.0, also called the number of stars. + double rating = 7; + + // This review's author. + AuthorAttribution author_attribution = 13; + + // Timestamp for the review. + google.protobuf.Timestamp publish_time = 14; +} diff --git a/third_party/googleapis/google/maps/routing/v2/geocoding_results.proto b/third_party/googleapis/google/maps/routing/v2/geocoding_results.proto new file mode 100644 index 000000000..8532119d2 --- /dev/null +++ b/third_party/googleapis/google/maps/routing/v2/geocoding_results.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.maps.routing.v2; + +import "google/rpc/status.proto"; + +option cc_enable_arenas = true; +option csharp_namespace = "Google.Maps.Routing.V2"; +option go_package = "cloud.google.com/go/maps/routing/apiv2/routingpb;routingpb"; +option java_multiple_files = true; +option java_outer_classname = "GeocodingResultsProto"; +option java_package = "com.google.maps.routing.v2"; +option objc_class_prefix = "GMRV2"; +option php_namespace = "Google\\Maps\\Routing\\V2"; +option ruby_package = "Google::Maps::Routing::V2"; + +// Contains [GeocodedWaypoints][google.maps.routing.v2.GeocodedWaypoint] for +// origin, destination and intermediate waypoints. Only populated for address +// waypoints. +message GeocodingResults { + // Origin geocoded waypoint. + GeocodedWaypoint origin = 1; + + // Destination geocoded waypoint. + GeocodedWaypoint destination = 2; + + // A list of intermediate geocoded waypoints each containing an index field + // that corresponds to the zero-based position of the waypoint in the order + // they were specified in the request. + repeated GeocodedWaypoint intermediates = 3; +} + +// Details about the locations used as waypoints. Only populated for address +// waypoints. Includes details about the geocoding results for the purposes of +// determining what the address was geocoded to. +message GeocodedWaypoint { + // Indicates the status code resulting from the geocoding operation. + google.rpc.Status geocoder_status = 1; + + // The index of the corresponding intermediate waypoint in the request. + // Only populated if the corresponding waypoint is an intermediate + // waypoint. + optional int32 intermediate_waypoint_request_index = 2; + + // The type(s) of the result, in the form of zero or more type tags. + // Supported types: + // https://developers.google.com/maps/documentation/geocoding/requests-geocoding#Types + repeated string type = 3; + + // Indicates that the geocoder did not return an exact match for the original + // request, though it was able to match part of the requested address. You may + // wish to examine the original request for misspellings and/or an incomplete + // address. + bool partial_match = 4; + + // The place ID for this result. + string place_id = 5; +} diff --git a/third_party/googleapis/google/maps/routing/v2/localized_time.proto b/third_party/googleapis/google/maps/routing/v2/localized_time.proto new file mode 100644 index 000000000..1f19ef196 --- /dev/null +++ b/third_party/googleapis/google/maps/routing/v2/localized_time.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.maps.routing.v2; + +import "google/type/localized_text.proto"; + +option cc_enable_arenas = true; +option csharp_namespace = "Google.Maps.Routing.V2"; +option go_package = "cloud.google.com/go/maps/routing/apiv2/routingpb;routingpb"; +option java_multiple_files = true; +option java_outer_classname = "LocalizedTimeProto"; +option java_package = "com.google.maps.routing.v2"; +option objc_class_prefix = "GMRV2"; +option php_namespace = "Google\\Maps\\Routing\\V2"; +option ruby_package = "Google::Maps::Routing::V2"; + +// Localized description of time. +message LocalizedTime { + // The time specified as a string in a given time zone. + google.type.LocalizedText time = 1; + + // Contains the time zone. The value is the name of the time zone as defined + // in the [IANA Time Zone Database](http://www.iana.org/time-zones), e.g. + // "America/New_York". + string time_zone = 2; +} diff --git a/third_party/googleapis/google/maps/routing/v2/traffic_model.proto b/third_party/googleapis/google/maps/routing/v2/traffic_model.proto new file mode 100644 index 000000000..4326b4b12 --- /dev/null +++ b/third_party/googleapis/google/maps/routing/v2/traffic_model.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.maps.routing.v2; + +option cc_enable_arenas = true; +option csharp_namespace = "Google.Maps.Routing.V2"; +option go_package = "cloud.google.com/go/maps/routing/apiv2/routingpb;routingpb"; +option java_multiple_files = true; +option java_outer_classname = "TrafficModelProto"; +option java_package = "com.google.maps.routing.v2"; +option objc_class_prefix = "GMRV2"; +option php_namespace = "Google\\Maps\\Routing\\V2"; +option ruby_package = "Google::Maps::Routing::V2"; + +// Specifies the assumptions to use when calculating time in traffic. This +// setting affects the value returned in the `duration` field in the +// response, which contains the predicted time in traffic based on historical +// averages. +enum TrafficModel { + // Unused. If specified, will default to `BEST_GUESS`. + TRAFFIC_MODEL_UNSPECIFIED = 0; + + // Indicates that the returned `duration` should be the best + // estimate of travel time given what is known about both historical traffic + // conditions and live traffic. Live traffic becomes more important the closer + // the `departure_time` is to now. + BEST_GUESS = 1; + + // Indicates that the returned duration should be longer than the + // actual travel time on most days, though occasional days with particularly + // bad traffic conditions may exceed this value. + PESSIMISTIC = 2; + + // Indicates that the returned duration should be shorter than the actual + // travel time on most days, though occasional days with particularly good + // traffic conditions may be faster than this value. + OPTIMISTIC = 3; +} diff --git a/third_party/googleapis/google/maps/routing/v2/transit.proto b/third_party/googleapis/google/maps/routing/v2/transit.proto new file mode 100644 index 000000000..5099a4ff1 --- /dev/null +++ b/third_party/googleapis/google/maps/routing/v2/transit.proto @@ -0,0 +1,161 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.maps.routing.v2; + +import "google/maps/routing/v2/location.proto"; +import "google/type/localized_text.proto"; + +option cc_enable_arenas = true; +option csharp_namespace = "Google.Maps.Routing.V2"; +option go_package = "cloud.google.com/go/maps/routing/apiv2/routingpb;routingpb"; +option java_multiple_files = true; +option java_outer_classname = "TransitProto"; +option java_package = "com.google.maps.routing.v2"; +option objc_class_prefix = "GMRV2"; +option php_namespace = "Google\\Maps\\Routing\\V2"; +option ruby_package = "Google::Maps::Routing::V2"; + +// A transit agency that operates a transit line. +message TransitAgency { + // The name of this transit agency. + string name = 1; + + // The transit agency's locale-specific formatted phone number. + string phone_number = 2; + + // The transit agency's URI. + string uri = 3; +} + +// Contains information about the transit line used in this step. +message TransitLine { + // The transit agency (or agencies) that operates this transit line. + repeated TransitAgency agencies = 1; + + // The full name of this transit line, For example, "8 Avenue Local". + string name = 2; + + // the URI for this transit line as provided by the transit agency. + string uri = 3; + + // The color commonly used in signage for this line. Represented in + // hexadecimal. + string color = 4; + + // The URI for the icon associated with this line. + string icon_uri = 5; + + // The short name of this transit line. This name will normally be a line + // number, such as "M7" or "355". + string name_short = 6; + + // The color commonly used in text on signage for this line. Represented in + // hexadecimal. + string text_color = 7; + + // The type of vehicle that operates on this transit line. + TransitVehicle vehicle = 8; +} + +// Information about a transit stop. +message TransitStop { + // The name of the transit stop. + string name = 1; + + // The location of the stop expressed in latitude/longitude coordinates. + Location location = 2; +} + +// Information about a vehicle used in transit routes. +message TransitVehicle { + // The type of vehicles for transit routes. + enum TransitVehicleType { + // Unused. + TRANSIT_VEHICLE_TYPE_UNSPECIFIED = 0; + + // Bus. + BUS = 1; + + // A vehicle that operates on a cable, usually on the ground. Aerial cable + // cars may be of the type `GONDOLA_LIFT`. + CABLE_CAR = 2; + + // Commuter rail. + COMMUTER_TRAIN = 3; + + // Ferry. + FERRY = 4; + + // A vehicle that is pulled up a steep incline by a cable. A Funicular + // typically consists of two cars, with each car acting as a counterweight + // for the other. + FUNICULAR = 5; + + // An aerial cable car. + GONDOLA_LIFT = 6; + + // Heavy rail. + HEAVY_RAIL = 7; + + // High speed train. + HIGH_SPEED_TRAIN = 8; + + // Intercity bus. + INTERCITY_BUS = 9; + + // Long distance train. + LONG_DISTANCE_TRAIN = 10; + + // Light rail transit. + METRO_RAIL = 11; + + // Monorail. + MONORAIL = 12; + + // All other vehicles. + OTHER = 13; + + // Rail. + RAIL = 14; + + // Share taxi is a kind of bus with the ability to drop off and pick up + // passengers anywhere on its route. + SHARE_TAXI = 15; + + // Underground light rail. + SUBWAY = 16; + + // Above ground light rail. + TRAM = 17; + + // Trolleybus. + TROLLEYBUS = 18; + } + + // The name of this vehicle, capitalized. + google.type.LocalizedText name = 1; + + // The type of vehicle used. + TransitVehicleType type = 2; + + // The URI for an icon associated with this vehicle type. + string icon_uri = 3; + + // The URI for the icon associated with this vehicle type, based on the local + // transport signage. + string local_icon_uri = 4; +} diff --git a/third_party/googleapis/google/maps/routing/v2/transit_preferences.proto b/third_party/googleapis/google/maps/routing/v2/transit_preferences.proto new file mode 100644 index 000000000..987c06228 --- /dev/null +++ b/third_party/googleapis/google/maps/routing/v2/transit_preferences.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.maps.routing.v2; + +option cc_enable_arenas = true; +option csharp_namespace = "Google.Maps.Routing.V2"; +option go_package = "cloud.google.com/go/maps/routing/apiv2/routingpb;routingpb"; +option java_multiple_files = true; +option java_outer_classname = "TransitPreferencesProto"; +option java_package = "com.google.maps.routing.v2"; +option objc_class_prefix = "GMRV2"; +option php_namespace = "Google\\Maps\\Routing\\V2"; +option ruby_package = "Google::Maps::Routing::V2"; + +// Preferences for `TRANSIT` based routes that influence the route that is +// returned. +message TransitPreferences { + // A set of values used to specify the mode of transit. + enum TransitTravelMode { + // No transit travel mode specified. + TRANSIT_TRAVEL_MODE_UNSPECIFIED = 0; + + // Travel by bus. + BUS = 1; + + // Travel by subway. + SUBWAY = 2; + + // Travel by train. + TRAIN = 3; + + // Travel by light rail or tram. + LIGHT_RAIL = 4; + + // Travel by rail. This is equivalent to a combination of `SUBWAY`, `TRAIN`, + // and `LIGHT_RAIL`. + RAIL = 5; + } + + // Specifies routing preferences for transit routes. + enum TransitRoutingPreference { + // No preference specified. + TRANSIT_ROUTING_PREFERENCE_UNSPECIFIED = 0; + + // Indicates that the calculated route should prefer limited amounts of + // walking. + LESS_WALKING = 1; + + // Indicates that the calculated route should prefer a limited number of + // transfers. + FEWER_TRANSFERS = 2; + } + + // A set of travel modes to use when getting a `TRANSIT` route. Defaults to + // all supported modes of travel. + repeated TransitTravelMode allowed_travel_modes = 1; + + // A routing preference that, when specified, influences the `TRANSIT` route + // returned. + TransitRoutingPreference routing_preference = 2; +} diff --git a/third_party/googleapis/google/maps/solar/v1/BUILD.bazel b/third_party/googleapis/google/maps/solar/v1/BUILD.bazel new file mode 100644 index 000000000..633b8e0dd --- /dev/null +++ b/third_party/googleapis/google/maps/solar/v1/BUILD.bazel @@ -0,0 +1,376 @@ +# 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 = "solar_proto", + srcs = [ + "solar_service.proto", + ], + deps = [ + "//google/api:annotations_proto", + "//google/api:client_proto", + "//google/api:httpbody_proto", + "//google/type:date_proto", + "//google/type:latlng_proto", + "//google/type:money_proto", + ], +) + +proto_library_with_info( + name = "solar_proto_with_info", + deps = [ + ":solar_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 = "solar_java_proto", + deps = [":solar_proto"], +) + +java_grpc_library( + name = "solar_java_grpc", + srcs = [":solar_proto"], + deps = [":solar_java_proto"], +) + +java_gapic_library( + name = "solar_java_gapic", + srcs = [":solar_proto_with_info"], + gapic_yaml = None, + grpc_service_config = "solar_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "solar_v1.yaml", + test_deps = [ + ":solar_java_grpc", + ], + transport = "grpc+rest", + deps = [ + ":solar_java_proto", + "//google/api:api_java_proto", + ], +) + +java_gapic_test( + name = "solar_java_gapic_test_suite", + test_classes = [ + "com.google.maps.solar.v1.SolarClientHttpJsonTest", + "com.google.maps.solar.v1.SolarClientTest", + ], + runtime_deps = [":solar_java_gapic_test"], +) + +# Open Source Packages +java_gapic_assembly_gradle_pkg( + name = "google-cloud-maps-solar-v1-java", + transport = "grpc+rest", + deps = [ + ":solar_java_gapic", + ":solar_java_grpc", + ":solar_java_proto", + ":solar_proto", + ], + include_samples = True, +) + +############################################################################## +# Go +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "go_gapic_assembly_pkg", + "go_gapic_library", + "go_proto_library", +) + +go_proto_library( + name = "solar_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "cloud.google.com/go/maps/solar/apiv1/solarpb", + protos = [":solar_proto"], + deps = [ + "//google/api:annotations_go_proto", + "//google/api:httpbody_go_proto", + "//google/type:date_go_proto", + "//google/type:latlng_go_proto", + "//google/type:money_go_proto", + ], +) + +go_gapic_library( + name = "solar_go_gapic", + srcs = [":solar_proto_with_info"], + grpc_service_config = "solar_grpc_service_config.json", + importpath = "cloud.google.com/go/maps/solar/apiv1;solar", + metadata = True, + release_level = "beta", + rest_numeric_enums = True, + service_yaml = "solar_v1.yaml", + transport = "grpc+rest", + deps = [ + ":solar_go_proto", + "//google/api:httpbody_go_proto", + ], +) + +# Open Source Packages +go_gapic_assembly_pkg( + name = "gapi-cloud-maps-solar-v1-go", + deps = [ + ":solar_go_gapic", + ":solar_go_gapic_srcjar-test.srcjar", + ":solar_go_gapic_srcjar-metadata.srcjar", + ":solar_go_gapic_srcjar-snippets.srcjar", + ":solar_go_proto", + ], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "py_gapic_assembly_pkg", + "py_gapic_library", + "py_test", +) + +py_gapic_library( + name = "solar_py_gapic", + srcs = [":solar_proto"], + grpc_service_config = "solar_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "solar_v1.yaml", + transport = "grpc+rest", + deps = [], +) + +py_test( + name = "solar_py_gapic_test", + srcs = [ + "solar_py_gapic_pytest.py", + "solar_py_gapic_test.py", + ], + legacy_create_init = False, + deps = [":solar_py_gapic"], +) + +# Open Source Packages +py_gapic_assembly_pkg( + name = "maps-solar-v1-py", + deps = [ + ":solar_py_gapic", + ], +) + +############################################################################## +# PHP +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "php_gapic_assembly_pkg", + "php_gapic_library", + "php_proto_library", +) + +php_proto_library( + name = "solar_php_proto", + deps = [":solar_proto"], +) + +php_gapic_library( + name = "solar_php_gapic", + srcs = [":solar_proto_with_info"], + grpc_service_config = "solar_grpc_service_config.json", + rest_numeric_enums = True, + migration_mode = "NEW_SURFACE_ONLY", + service_yaml = "solar_v1.yaml", + transport = "grpc+rest", + deps = [ + ":solar_php_proto", + ], +) + +# Open Source Packages +php_gapic_assembly_pkg( + name = "google-cloud-maps-solar-v1-php", + deps = [ + ":solar_php_gapic", + ":solar_php_proto", + ], +) + +############################################################################## +# Node.js +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "nodejs_gapic_assembly_pkg", + "nodejs_gapic_library", +) + +nodejs_gapic_library( + name = "solar_nodejs_gapic", + package_name = "@google-cloud/solar", + src = ":solar_proto_with_info", + extra_protoc_parameters = ["metadata"], + grpc_service_config = "solar_grpc_service_config.json", + package = "google.maps.solar.v1", + rest_numeric_enums = True, + service_yaml = "solar_v1.yaml", + transport = "grpc+rest", + deps = [], +) + +nodejs_gapic_assembly_pkg( + name = "maps-solar-v1-nodejs", + deps = [ + ":solar_nodejs_gapic", + ":solar_proto", + ], +) + +############################################################################## +# Ruby +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "ruby_gapic_assembly_pkg", + "ruby_cloud_gapic_library", + "ruby_grpc_library", + "ruby_proto_library", +) + +ruby_proto_library( + name = "solar_ruby_proto", + deps = [":solar_proto"], +) + +ruby_grpc_library( + name = "solar_ruby_grpc", + srcs = [":solar_proto"], + deps = [":solar_ruby_proto"], +) + +ruby_cloud_gapic_library( + name = "solar_ruby_gapic", + srcs = [":solar_proto_with_info"], + extra_protoc_parameters = [ + "ruby-cloud-gem-name=google-cloud-maps-solar-v1", + ], + grpc_service_config = "solar_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "solar_v1.yaml", + transport = "grpc+rest", + deps = [ + ":solar_ruby_grpc", + ":solar_ruby_proto", + ], +) + +# Open Source Packages +ruby_gapic_assembly_pkg( + name = "google-cloud-maps-solar-v1-ruby", + deps = [ + ":solar_ruby_gapic", + ":solar_ruby_grpc", + ":solar_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 = "solar_csharp_proto", + extra_opts = [], + deps = [":solar_proto"], +) + +csharp_grpc_library( + name = "solar_csharp_grpc", + srcs = [":solar_proto"], + deps = [":solar_csharp_proto"], +) + +csharp_gapic_library( + name = "solar_csharp_gapic", + srcs = [":solar_proto_with_info"], + common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json", + grpc_service_config = "solar_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "solar_v1.yaml", + deps = [ + ":solar_csharp_grpc", + ":solar_csharp_proto", + ], +) + +# Open Source Packages +csharp_gapic_assembly_pkg( + name = "google-cloud-maps-solar-v1-csharp", + deps = [ + ":solar_csharp_gapic", + ":solar_csharp_grpc", + ":solar_csharp_proto", + ], +) + +############################################################################## +# C++ +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "cc_grpc_library", + "cc_proto_library", +) + +cc_proto_library( + name = "solar_cc_proto", + deps = [":solar_proto"], +) + +cc_grpc_library( + name = "solar_cc_grpc", + srcs = [":solar_proto"], + grpc_only = True, + deps = [":solar_cc_proto"], +) diff --git a/third_party/googleapis/google/maps/solar/v1/solar_grpc_service_config.json b/third_party/googleapis/google/maps/solar/v1/solar_grpc_service_config.json new file mode 100644 index 000000000..6fec46613 --- /dev/null +++ b/third_party/googleapis/google/maps/solar/v1/solar_grpc_service_config.json @@ -0,0 +1,17 @@ +{ + "methodConfig": [{ + "name": [ + { "service": "google.maps.solar.v1.Solar", "method": "FindClosestBuildingInsights" }, + { "service": "google.maps.solar.v1.Solar", "method": "GetDataLayers" }, + { "service": "google.maps.solar.v1.Solar", "method": "GetGeoTiff" } + ], + "timeout": "60s", + "retryPolicy": { + "maxAttempts": 5, + "initialBackoff": "1s", + "maxBackoff": "10s", + "backoffMultiplier": 1.3, + "retryableStatusCodes": ["UNAVAILABLE"] + } + }] +} diff --git a/third_party/googleapis/google/maps/solar/v1/solar_service.proto b/third_party/googleapis/google/maps/solar/v1/solar_service.proto new file mode 100644 index 000000000..cbe0d9bee --- /dev/null +++ b/third_party/googleapis/google/maps/solar/v1/solar_service.proto @@ -0,0 +1,691 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.maps.solar.v1; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/httpbody.proto"; +import "google/type/date.proto"; +import "google/type/latlng.proto"; +import "google/type/money.proto"; + +option csharp_namespace = "Google.Maps.Solar.V1"; +option go_package = "cloud.google.com/go/maps/solar/apiv1/solarpb;solarpb"; +option java_multiple_files = true; +option java_outer_classname = "SolarServiceProto"; +option java_package = "com.google.maps.solar.v1"; +option objc_class_prefix = "GGMPV1A"; +option php_namespace = "Google\\Maps\\Solar\\V1"; +option ruby_package = "Google::Maps::Solar::V1"; + +// Service definition for the Solar API. +service Solar { + option (google.api.default_host) = "solar.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform"; + + // Locates the closest building to a query point. Returns an error with + // code `NOT_FOUND` if there are no buildings within approximately 50m of the + // query point. + rpc FindClosestBuildingInsights(FindClosestBuildingInsightsRequest) + returns (BuildingInsights) { + option (google.api.http) = { + get: "/v1/buildingInsights:findClosest" + }; + } + + // Gets solar information for a region surrounding a location. + // Returns an error with code `NOT_FOUND` if the location is outside + // the coverage area. + rpc GetDataLayers(GetDataLayersRequest) returns (DataLayers) { + option (google.api.http) = { + get: "/v1/dataLayers:get" + }; + } + + // Returns an image by its ID. + rpc GetGeoTiff(GetGeoTiffRequest) returns (google.api.HttpBody) { + option (google.api.http) = { + get: "/v1/geoTiff:get" + }; + } +} + +// Request message for `Solar.FindClosestBuildingInsights`. +message FindClosestBuildingInsightsRequest { + // The longitude and latitude from which the API looks for the nearest known + // building. + google.type.LatLng location = 1; + + // The minimum quality level allowed in the results. No result with + // lower quality than this will be returned. Not specifying this is + // equivalent to restricting to HIGH quality only. + ImageryQuality required_quality = 3; +} + +// A bounding box in lat/lng coordinates. +message LatLngBox { + // The southwest corner of the box. + google.type.LatLng sw = 1; + + // The northeast corner of the box. + google.type.LatLng ne = 2; +} + +// Response message for `Solar.FindClosestBuildingInsights`. +// Information about the location, dimensions, and solar potential of a +// building. +message BuildingInsights { + // The resource name for the building, of the format `building/`. + string name = 1; + + // A point near the center of the building. + google.type.LatLng center = 2; + + // The bounding box of the building. + LatLngBox bounding_box = 9; + + // Date that the underlying imagery was acquired. This is approximate. + google.type.Date imagery_date = 3; + + // When processing was completed on this imagery. + google.type.Date imagery_processed_date = 11; + + // Postal code (e.g., US zip code) this building is contained by. + string postal_code = 4; + + // Administrative area 1 (e.g., in the US, the state) that contains this + // building. For example, in the US, the abbreviation might be "MA" or "CA." + string administrative_area = 5; + + // Statistical area (e.g., US census tract) this building is in. + string statistical_area = 6; + + // Region code for the country (or region) this building is in. + string region_code = 7; + + // Solar potential of the building. + SolarPotential solar_potential = 8; + + // The quality of the imagery used to compute the data for this building. + ImageryQuality imagery_quality = 10; +} + +// Information about the solar potential of a building. A number of +// fields in this are defined in terms of "panels". The fields +// [panel_capacity_watts] +// [google.maps.solar.v1.SolarPotential.panel_capacity_watts], +// [panel_height_meters] +// [google.maps.solar.v1.SolarPotential.panel_height_meters], +// and [panel_width_meters] +// [google.maps.solar.v1.SolarPotential.panel_width_meters] +// describe the parameters of the model of panel used in these +// calculations. +message SolarPotential { + // Size of the maximum array - that is, the maximum number of panels that + // can fit on the roof. + int32 max_array_panels_count = 1; + + // Capacity, in watts, of the panel used in the calculations. + float panel_capacity_watts = 9; + + // Height, in meters in portrait orientation, of the panel used in + // the calculations. + float panel_height_meters = 10; + + // Width, in meters in portrait orientation, of the panel used in + // the calculations. + float panel_width_meters = 11; + + // The expected lifetime, in years, of the solar panels. This is + // used in the financial calculations. + int32 panel_lifetime_years = 12; + + // Size, in square meters, of the maximum array. + float max_array_area_meters2 = 2; + + // Maximum number of sunshine hours received per year, by any point + // on the roof. Sunshine hours are a measure of the total amount of + // insolation (energy) received per year. 1 sunshine hour = 1 kWh per kW + // (where kW refers to kW of capacity under Standard Testing Conditions). + float max_sunshine_hours_per_year = 3; + + // Equivalent amount of CO2 produced per MWh of grid electricity. This + // is a measure of the carbon intensity of grid electricity displaced + // by solar electricity. + float carbon_offset_factor_kg_per_mwh = 4; + + // Total size and sunlight quantiles for the part of the roof that + // was assigned to some roof segment. Despite the name, this may not + // include the entire building. See [building_stats] + // [google.maps.solar.v1.SolarPotential.building_stats]. + SizeAndSunshineStats whole_roof_stats = 5; + + // Size and sunlight quantiles for the entire building, including + // parts of the roof that were not assigned to some roof segment. + // Because the orientations of these parts are not well + // characterised, the roof area estimate is unreliable, but the + // ground area estimate is reliable. It may be that a more reliable + // whole building roof area can be obtained by scaling the roof area + // from [whole_roof_stats] + // [google.maps.solar.v1.SolarPotential.whole_roof_stats] by + // the ratio of the ground areas of `building_stats` and + // `whole_roof_stats`. + SizeAndSunshineStats building_stats = 13; + + // Size and sunlight quantiles for each roof segment. + repeated RoofSegmentSizeAndSunshineStats roof_segment_stats = 6; + + // Each [SolarPanel] [google.maps.solar.v1.SolarPanel] + // describes a single solar panel. They are listed in the order that + // the panel layout algorithm placed this. This is usually, though + // not always, in decreasing order of annual energy production. + repeated SolarPanel solar_panels = 14; + + // Each [SolarPanelConfig] + // [google.maps.solar.v1.SolarPanelConfig] describes a + // different arrangement of solar panels on the roof. They are in + // order of increasing number of panels. The `SolarPanelConfig` with + // [panels_count] + // [google.maps.solar.v1.SolarPanelConfig.panels_count]=N is + // based on the first N panels in the `solar_panels` list. + repeated SolarPanelConfig solar_panel_configs = 7; + + // A [FinancialAnalysis] + // [google.maps.solar.v1.FinancialAnalysis] gives the savings + // from going solar assuming a given monthly bill and a given + // electricity provider. They are in order of increasing order of + // monthly bill amount. This field will be empty for buildings in + // areas for which the Solar API does not have enough information to + // perform financial computations. + repeated FinancialAnalysis financial_analyses = 8; +} + +// Information about the size and sunniness quantiles of a roof segment. +message RoofSegmentSizeAndSunshineStats { + // Angle of the roof segment relative to the theoretical ground plane. + // 0 = parallel to the ground, 90 = perpendicular to the ground. + optional float pitch_degrees = 1; + + // Compass direction the roof segment is pointing in. 0 = North, 90 = + // East, 180 = South. For a "flat" roof segment (`pitch_degrees` very + // near 0), azimuth is not well defined, so for consistency, we define it + // arbitrarily to be 0 (North). + optional float azimuth_degrees = 2; + + // Total size and sunlight quantiles for the roof segment. + SizeAndSunshineStats stats = 3; + + // A point near the center of the roof segment. + google.type.LatLng center = 4; + + // The bounding box of the roof segment. + LatLngBox bounding_box = 5; + + // The height of the roof segment plane, in meters above sea level, + // at the point designated by `center`. Together with the pitch, + // azimuth, and center location, this fully defines the roof segment + // plane. + optional float plane_height_at_center_meters = 6; +} + +// Size and sunniness quantiles of a roof, or part of a roof. +message SizeAndSunshineStats { + // The area of the roof or roof segment, in m^2. This is the roof area + // (accounting for tilt), not the ground footprint area. + float area_meters2 = 1; + + // Quantiles of the pointwise sunniness across the area. If there + // are N values here, this represents the (N-1)-iles. For example, + // if there are 5 values, then they would be the quartiles (min, + // 25%, 50%, 75%, max). Values are in annual kWh/kW like + // [max_sunshine_hours_per_year] + // [google.maps.solar.v1.SolarPotential.max_sunshine_hours_per_year]. + repeated float sunshine_quantiles = 2; + + // The ground footprint area covered by the roof or roof segment, in m^2. + float ground_area_meters2 = 3; +} + +// SolarPanel describes the position, orientation, and production of a +// single solar panel. See the [panel_height_meters] +// [google.maps.solar.v1.SolarPotential.panel_height_meters], +// [panel_width_meters] +// [google.maps.solar.v1.SolarPotential.panel_width_meters], +// and [panel_capacity_watts] +// [google.maps.solar.v1.SolarPotential.panel_capacity_watts] +// fields in [SolarPotential] +// [google.maps.solar.v1.SolarPotential] for information on the +// parameters of the panel. +message SolarPanel { + // The centre of the panel. + google.type.LatLng center = 1; + + // The orientation of the panel. + SolarPanelOrientation orientation = 2; + + // How much sunlight energy this layout captures over the course of a + // year, in DC kWh. + float yearly_energy_dc_kwh = 3; + + // Index in [roof_segment_stats] + // [google.maps.solar.v1.SolarPotential.roof_segment_stats] + // of the `RoofSegmentSizeAndSunshineStats` which corresponds to the + // roof segment that this panel is placed on. + optional int32 segment_index = 4; +} + +// SolarPanelConfig describes a particular placement of solar panels +// on the roof. +message SolarPanelConfig { + // Total number of panels. Note that this is redundant to (the sum + // of) the corresponding fields in [roof_segment_summaries] + // [google.maps.solar.v1.SolarPanelConfig.roof_segment_summaries]. + int32 panels_count = 1; + + // How much sunlight energy this layout captures over the course of a + // year, in DC kWh, assuming the panels described above. + float yearly_energy_dc_kwh = 2; + + // Information about the production of each roof segment that is carrying + // at least one panel in this layout. `roof_segment_summaries[i]` describes + // the i-th roof segment, including its size, expected production and + // orientation. + repeated RoofSegmentSummary roof_segment_summaries = 4; +} + +// Information about a roof segment on the building, with some number of +// panels placed on it. +message RoofSegmentSummary { + // Angle of the roof segment relative to the theoretical ground plane. + // 0 = parallel to the ground, 90 = perpendicular to the ground. + optional float pitch_degrees = 2; + + // Compass direction the roof segment is pointing in. 0 = North, 90 = + // East, 180 = South. For a "flat" roof segment (`pitch_degrees` very + // near 0), azimuth is not well defined, so for consistency, we define it + // arbitrarily to be 0 (North). + optional float azimuth_degrees = 3; + + // The total number of panels on this segment. + int32 panels_count = 7; + + // How much sunlight energy this part of the layout captures over the + // course of a year, in DC kWh, assuming the panels described above. + float yearly_energy_dc_kwh = 8; + + // Index in [roof_segment_stats] + // [google.maps.solar.v1.SolarPotential.roof_segment_stats] + // of the corresponding `RoofSegmentSizeAndSunshineStats`. + optional int32 segment_index = 9; +} + +// Analysis of the cost and benefits of the optimum solar layout for a +// particular electric bill size. +message FinancialAnalysis { + // The monthly electric bill this analysis assumes. + google.type.Money monthly_bill = 3; + + // Whether this is the bill size selected to be the default bill for the + // area this building is in. Exactly one `FinancialAnalysis` in + // `BuildingSolarPotential` should have `default_bill` set. + bool default_bill = 4; + + // How much electricity the house uses in an average month, based on the + // bill size and the local electricity rates. + float average_kwh_per_month = 5; + + // Index in [solar_panel_configs] + // [google.maps.solar.v1.SolarPotential.solar_panel_configs] + // of the optimum solar layout for this bill size. This can be -1 + // indicating that there is no layout. In this case, the remaining + // submessages will be omitted. + optional int32 panel_config_index = 6; + + // Financial information that applies regardless of the financing method + // used. + FinancialDetails financial_details = 7; + + // Cost and benefit of leasing the solar panels. + LeasingSavings leasing_savings = 8; + + // Cost and benefit of buying the solar panels with cash. + CashPurchaseSavings cash_purchase_savings = 9; + + // Cost and benefit of buying the solar panels by financing the purchase. + FinancedPurchaseSavings financed_purchase_savings = 10; +} + +// Details of a financial analysis. Some of these details are already +// stored at higher levels (e.g., out of pocket cost). Total money +// amounts are over a lifetime period defined by the +// [panel_lifetime_years] +// [google.maps.solar.v1.SolarPotential.panel_lifetime_years] +// field in [SolarPotential] +// [google.maps.solar.v1.SolarPotential]. Note: The out of +// pocket cost of purchasing the panels is given in the +// [out_of_pocket_cost] +// [google.maps.solar.v1.CashPurchaseSavings.out_of_pocket_cost] +// field in [CashPurchaseSavings] +// [google.maps.solar.v1.CashPurchaseSavings]. +message FinancialDetails { + // How many AC kWh we think the solar panels will generate in their first + // year. + float initial_ac_kwh_per_year = 1; + + // Utility bill for electricity not produced by solar, for the + // lifetime of the panels. + google.type.Money remaining_lifetime_utility_bill = 2; + + // Amount of money available from federal incentives; this applies if the + // user buys (with or without a loan) the panels. + google.type.Money federal_incentive = 3; + + // Amount of money available from state incentives; this applies if the + // user buys (with or without a loan) the panels. + google.type.Money state_incentive = 4; + + // Amount of money available from utility incentives; this applies if the + // user buys (with or without a loan) the panels. + google.type.Money utility_incentive = 5; + + // Amount of money the user will receive from Solar Renewable Energy + // Credits over the panel lifetime; this applies if the user buys + // (with or without a loan) the panels. + google.type.Money lifetime_srec_total = 6; + + // Total cost of electricity the user would have paid over the + // lifetime period if they didn't install solar. + google.type.Money cost_of_electricity_without_solar = 7; + + // Whether net metering is allowed. + bool net_metering_allowed = 8; + + // Percentage (0-100) of the user's power supplied by solar. + // Valid for the first year but approximately correct for future years. + optional float solar_percentage = 9; + + // The percentage (0-100) of solar electricity production we assumed was + // exported to the grid, based on the first quarter of production. This + // affects the calculations if net metering is not allowed. + optional float percentage_exported_to_grid = 10; +} + +// Financial information that's shared between different financing methods. +message SavingsOverTime { + // Savings in the first year after panel installation. + google.type.Money savings_year1 = 1; + + // Savings in the first twenty years after panel installation. + google.type.Money savings_year20 = 2; + + // Using the assumed discount rate, what is the present value of the + // cumulative 20-year savings? + google.type.Money present_value_of_savings_year20 = 3; + + // Savings in the entire panel lifetime. + google.type.Money savings_lifetime = 5; + + // Using the assumed discount rate, what is the present value of the + // cumulative lifetime savings? + google.type.Money present_value_of_savings_lifetime = 6; + + // Indicates whether this scenario is financially viable. Will be false for + // scenarios with poor financial viability (e.g., money-losing). + bool financially_viable = 4; +} + +// Cost and benefit of leasing a particular configuration of solar panels +// with a particular electricity usage. +message LeasingSavings { + // Whether leases are allowed in this juristiction (leases are not + // allowed in some states). If this field is false, then the values in + // this message should probably be ignored. + bool leases_allowed = 1; + + // Whether leases are supported in this juristiction by the financial + // calculation engine. If this field is false, then the values in this + // message should probably be ignored. This is independent of + // `leases_allowed`: in some areas leases are allowed, but under conditions + // that aren't handled by the financial models. + bool leases_supported = 2; + + // Estimated annual leasing cost. + google.type.Money annual_leasing_cost = 3; + + // How much is saved (or not) over the lifetime period. + SavingsOverTime savings = 4; +} + +// Cost and benefit of an outright purchase of a particular configuration +// of solar panels with a particular electricity usage. +message CashPurchaseSavings { + // Initial cost before tax incentives: the amount that must be paid + // out-of-pocket. Contrast with `upfront_cost`, which is after tax incentives. + google.type.Money out_of_pocket_cost = 1; + + // Initial cost after tax incentives: it's the amount that must be paid + // during first year. Contrast with `out_of_pocket_cost`, which is before tax + // incentives. + google.type.Money upfront_cost = 2; + + // The value of all tax rebates. + google.type.Money rebate_value = 3; + + // Number of years until payback occurs. A negative value means payback + // never occurs within the lifetime period. + optional float payback_years = 4; + + // How much is saved (or not) over the lifetime period. + SavingsOverTime savings = 5; +} + +// Cost and benefit of using a loan to buy a particular configuration +// of solar panels with a particular electricity usage. +// Initial out of pocket cost is zero in our model: the loan covers +// everything. +message FinancedPurchaseSavings { + // Annual loan payments. + google.type.Money annual_loan_payment = 1; + + // The value of all tax rebates (including Federal Investment Tax Credit + // (ITC)). + google.type.Money rebate_value = 2; + + // The interest rate on loans assumed in this set of calculations. + float loan_interest_rate = 3; + + // How much is saved (or not) over the lifetime period. + SavingsOverTime savings = 4; +} + +// Request message for `Solar.GetDataLayers`. +message GetDataLayersRequest { + // The longitude and latitude for the center of the region to get data for. + google.type.LatLng location = 1; + + // The radius, in meters, defining the region surrounding that + // centre point for which data should be returned. The limitations + // on this value are: + // + // * Any value up to 100m can always be specified. + // * Values over 100m can be specified, as long as + // `radius_meters` <= `pixel_size_meters * 1000`. + // * However, for values over 175m, the `DataLayerView` in the + // request must not include monthly flux or hourly shade. + float radius_meters = 2; + + // The desired subset of the data to return. + DataLayerView view = 3; + + // The minimum quality level allowed in the results. No result with + // lower quality than this will be returned. Not specifying this is + // equivalent to restricting to HIGH quality only. + ImageryQuality required_quality = 5; + + // The minimum scale, in meters per pixel, of the data to return. + // Values of 0.1 (the default, if this field is not set explicitly), + // 0.25, 0.5, and 1.0 are supported. Imagery components whose normal + // resolution is less than `pixel_size_meters` will be returned at + // the resolution specified by `pixel_size_meters`; imagery + // components whose normal resolution is equal to or greater than + // `pixel_size_meters` will be returned at that normal resolution. + float pixel_size_meters = 6; +} + +// Information about the solar potential of a region. The actual data +// are contained in a number of GeoTIFF files covering the requested +// region, for which this message contains URLs: Each string in the +// `DataLayers` message contains a URL from which the +// corresponding GeoTIFF can be fetched. These URLs are valid for a +// few hours after they've been generated. Most of the GeoTIFF files +// are at a resolution of 0.1m/pixel, but the monthly flux file is at +// 0.5m/pixel, and the hourly shade files are at 1m/pixel. If a +// `pixel_size_meters` value was specified in the +// `GetDataLayersRequest`, then the minimum resolution in the GeoTIFF +// files will be that value. +message DataLayers { + // When the source imagery (from which all the other data are derived) in this + // region was taken. It is necessarily somewhat approximate, as the images may + // have been taken over more than one day. + google.type.Date imagery_date = 1; + + // When processing was completed on this imagery. + google.type.Date imagery_processed_date = 2; + + // The URL for an image of the DSM (Digital Surface Model) of the region. + // Values are in meters above EGM96 geoid (i.e., sea level). Invalid locations + // (where we don't have data) are stored as -9999. + string dsm_url = 3; + + // The URL for an image of RGB data (aerial photo) of the region. + string rgb_url = 4; + + // The URL for the building mask image: one bit per pixel saying whether that + // pixel is considered to be part of a rooftop or not. + string mask_url = 5; + + // The URL for the annual flux map (annual sunlight on roofs) of the region. + // Values are kWh/kW/year. This is *unmasked flux*: flux is computed for every + // location, not just building rooftops. Invalid locations are stored as + // -9999: locations outside our coverage area will be invalid, and a few + // locations inside the coverage area, where we were unable to calculate flux, + // will also be invalid. + string annual_flux_url = 6; + + // The URL for the monthly flux map (sunlight on roofs, broken down by month) + // of the region. Values are kWh/kW/year. The GeoTIFF pointed to by this URL + // will contain twelve bands, corresponding to January...December, in order. + string monthly_flux_url = 7; + + // Twelve URLs for hourly shade, corresponding to January...December, in + // order. Each GeoTIFF will contain 24 bands, corresponding to the 24 hours of + // the day. Each pixel is a 32 bit integer, corresponding to the (up to) 31 + // days of that month; a 1 bit means that the corresponding location is able + // to see the sun at that day, of that hour, of that month. Invalid locations + // are stored as -9999 (since this is negative, it has bit 31 set, and no + // valid value could have bit 31 set as that would correspond to the 32nd day + // of the month). + // + // An example may be useful. If you want to know whether a point (at + // pixel location (x, y)) saw sun at 4pm on the 22nd of June you + // would: + // + // 1. fetch the sixth URL in this list (corresponding to June). + // 1. look up the 17th channel (corresponding to 4pm). + // 1. read the 32-bit value at (x, y). + // 1. read bit 21 of the value (corresponding to the 22nd of the month). + // 1. if that bit is a 1, then that spot saw the sun at 4pm 22 June. + // + // More formally: + // Given `month` (1-12), `day` (1...month max; February has 28 days) + // and `hour` (0-23), the shade/sun for that month/day/hour at a + // position `(x, y)` is the bit + // ``` + // (hourly_shade[month - 1])(x, y)[hour] & (1 << (day - 1)) + // ``` + // where `(x, y)` is spatial indexing, `[month - 1]` refers to + // fetching the `month - 1`st URL (indexing from zero), `[hour]` is + // indexing into the channels, and a final non-zero result means + // "sunny". There are no leap days, and DST doesn't exist (all days + // are 24 hours long; noon is always "standard time" noon). + repeated string hourly_shade_urls = 8; + + // The quality of the result's imagery. + ImageryQuality imagery_quality = 9; +} + +// What subset of the solar information to return. +enum DataLayerView { + // Equivalent to FULL. + DATA_LAYER_VIEW_UNSPECIFIED = 0; + + // Get the DSM only. + DSM_LAYER = 1; + + // Get the DSM, RGB, and mask. + IMAGERY_LAYERS = 2; + + // Get the DSM, RGB, mask, and annual flux. + IMAGERY_AND_ANNUAL_FLUX_LAYERS = 3; + + // Get the DSM, RGB, mask, annual flux, and monthly flux. + IMAGERY_AND_ALL_FLUX_LAYERS = 4; + + // Get all data. + FULL_LAYERS = 5; +} + +// The quality of the imagery used to compute some API result. +// +// Note: Regardless of imagery quality level, DSM outputs always have a +// resolution of 0.1 m/pixel, monthly flux outputs always have a resolution of +// 0.5 m/pixel, and hourly shade outputs always have a resolution of 1 m/pixel. +enum ImageryQuality { + // No quality is known. + IMAGERY_QUALITY_UNSPECIFIED = 0; + + // The underlying imagery and DSM data were processed at 0.1 m/pixel. + HIGH = 1; + + // The underlying imagery and DSM data were processed at 0.25 m/pixel. + MEDIUM = 2; + + // The underlying imagery and DSM data were processed at 0.5 m/pixel. + LOW = 3; +} + +// The orientation of a solar panel. This must be interpreted relative to the +// azimuth of the roof segment that the panel is placed on. +enum SolarPanelOrientation { + // No panel orientation is known. + SOLAR_PANEL_ORIENTATION_UNSPECIFIED = 0; + + // A `LANDSCAPE` panel has its long edge perpendicular to the + // azimuth direction of the roof segment that it is placed on. + LANDSCAPE = 1; + + // A `PORTRAIT` panel has its long edge parallel to the azimuth + // direction of the roof segment that it is placed on. + PORTRAIT = 2; +} + +// Request message for `Solar.GetGeoTiff`. +message GetGeoTiffRequest { + // The ID of the asset being requested. + string id = 1; +} diff --git a/third_party/googleapis/google/maps/solar/v1/solar_v1.yaml b/third_party/googleapis/google/maps/solar/v1/solar_v1.yaml new file mode 100644 index 000000000..ab412a4f9 --- /dev/null +++ b/third_party/googleapis/google/maps/solar/v1/solar_v1.yaml @@ -0,0 +1,18 @@ +type: google.api.Service +config_version: 3 +name: solar.googleapis.com +title: Solar API + +apis: +- name: google.maps.solar.v1.Solar + +documentation: + summary: Solar API. + overview: '' + +authentication: + rules: + - selector: 'google.maps.solar.v1.Solar.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform diff --git a/third_party/googleapis/google/monitoring/dashboard/v1/error_reporting_panel.proto b/third_party/googleapis/google/monitoring/dashboard/v1/error_reporting_panel.proto new file mode 100644 index 000000000..5a4d79b39 --- /dev/null +++ b/third_party/googleapis/google/monitoring/dashboard/v1/error_reporting_panel.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.monitoring.dashboard.v1; + +option csharp_namespace = "Google.Cloud.Monitoring.Dashboard.V1"; +option go_package = "cloud.google.com/go/monitoring/dashboard/apiv1/dashboardpb;dashboardpb"; +option java_multiple_files = true; +option java_outer_classname = "ErrorReportingPanelProto"; +option java_package = "com.google.monitoring.dashboard.v1"; +option php_namespace = "Google\\Cloud\\Monitoring\\Dashboard\\V1"; + +// A widget that displays a list of error groups. +message ErrorReportingPanel { + // The resource name of the Google Cloud Platform project. Written + // as `projects/{projectID}` or `projects/{projectNumber}`, where + // `{projectID}` and `{projectNumber}` can be found in the + // [Google Cloud console](https://support.google.com/cloud/answer/6158840). + // + // Examples: `projects/my-project-123`, `projects/5551234`. + repeated string project_names = 1; + + // An identifier of the service, such as the name of the + // executable, job, or Google App Engine service name. This field is expected + // to have a low number of values that are relatively stable over time, as + // opposed to `version`, which can be changed whenever new code is deployed. + // + // Contains the service name for error reports extracted from Google + // App Engine logs or `default` if the App Engine default service is used. + repeated string services = 2; + + // Represents the source code version that the developer provided, + // which could represent a version label or a Git SHA-1 hash, for example. + // For App Engine standard environment, the version is set to the version of + // the app. + repeated string versions = 3; +} diff --git a/third_party/googleapis/google/monitoring/dashboard/v1/incident_list.proto b/third_party/googleapis/google/monitoring/dashboard/v1/incident_list.proto new file mode 100644 index 000000000..1915e93a7 --- /dev/null +++ b/third_party/googleapis/google/monitoring/dashboard/v1/incident_list.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.monitoring.dashboard.v1; + +import "google/api/field_behavior.proto"; +import "google/api/monitored_resource.proto"; + +option csharp_namespace = "Google.Cloud.Monitoring.Dashboard.V1"; +option go_package = "cloud.google.com/go/monitoring/dashboard/apiv1/dashboardpb;dashboardpb"; +option java_multiple_files = true; +option java_outer_classname = "IncidentListProto"; +option java_package = "com.google.monitoring.dashboard.v1"; +option php_namespace = "Google\\Cloud\\Monitoring\\Dashboard\\V1"; +option ruby_package = "Google::Cloud::Monitoring::Dashboard::V1"; + +// A widget that displays a list of incidents +message IncidentList { + // Optional. The monitored resource for which incidents are listed. + // The resource doesn't need to be fully specified. That is, you can specify + // the resource type but not the values of the resource labels. + // The resource type and labels are used for filtering. + repeated google.api.MonitoredResource monitored_resources = 1 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A list of alert policy names to filter the incident list by. + // Don't include the project ID prefix in the policy name. For + // example, use `alertPolicies/utilization`. + repeated string policy_names = 2 [(google.api.field_behavior) = OPTIONAL]; +} diff --git a/third_party/googleapis/google/monitoring/dashboard/v1/piechart.proto b/third_party/googleapis/google/monitoring/dashboard/v1/piechart.proto new file mode 100644 index 000000000..c59c83af5 --- /dev/null +++ b/third_party/googleapis/google/monitoring/dashboard/v1/piechart.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.monitoring.dashboard.v1; + +import "google/api/field_behavior.proto"; +import "google/monitoring/dashboard/v1/metrics.proto"; +import "google/protobuf/duration.proto"; + +option csharp_namespace = "Google.Cloud.Monitoring.Dashboard.V1"; +option go_package = "cloud.google.com/go/monitoring/dashboard/apiv1/dashboardpb;dashboardpb"; +option java_multiple_files = true; +option java_outer_classname = "PieChartProto"; +option java_package = "com.google.monitoring.dashboard.v1"; +option php_namespace = "Google\\Cloud\\Monitoring\\Dashboard\\V1"; +option ruby_package = "Google::Cloud::Monitoring::Dashboard::V1"; + +// A widget that displays timeseries data as a pie or a donut. +message PieChart { + // Groups a time series query definition. + message PieChartDataSet { + // Required. The query for the PieChart. See, + // `google.monitoring.dashboard.v1.TimeSeriesQuery`. + TimeSeriesQuery time_series_query = 1 + [(google.api.field_behavior) = REQUIRED]; + + // Optional. A template for the name of the slice. This name will be + // displayed in the legend and the tooltip of the pie chart. It replaces the + // auto-generated names for the slices. For example, if the template is set + // to + // `${resource.labels.zone}`, the zone's value will be used for the name + // instead of the default name. + string slice_name_template = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The lower bound on data point frequency for this data set, + // implemented by specifying the minimum alignment period to use in a time + // series query. For example, if the data is published once every 10 + // minutes, the `min_alignment_period` should be at least 10 minutes. It + // would not make sense to fetch and align data at one minute intervals. + google.protobuf.Duration min_alignment_period = 3 + [(google.api.field_behavior) = OPTIONAL]; + } + + // Types for the pie chart. + enum PieChartType { + // The zero value. No type specified. Do not use. + PIE_CHART_TYPE_UNSPECIFIED = 0; + + // A Pie type PieChart. + PIE = 1; + + // Similar to PIE, but the DONUT type PieChart has a hole in the middle. + DONUT = 2; + } + + // Required. The queries for the chart's data. + repeated PieChartDataSet data_sets = 1 + [(google.api.field_behavior) = REQUIRED]; + + // Required. Indicates the visualization type for the PieChart. + PieChartType chart_type = 2 [(google.api.field_behavior) = REQUIRED]; + + // Optional. Indicates whether or not the pie chart should show slices' labels + bool show_labels = 4 [(google.api.field_behavior) = OPTIONAL]; +} diff --git a/third_party/googleapis/google/monitoring/dashboard/v1/section_header.proto b/third_party/googleapis/google/monitoring/dashboard/v1/section_header.proto new file mode 100644 index 000000000..1bec020c8 --- /dev/null +++ b/third_party/googleapis/google/monitoring/dashboard/v1/section_header.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.monitoring.dashboard.v1; + +option csharp_namespace = "Google.Cloud.Monitoring.Dashboard.V1"; +option go_package = "cloud.google.com/go/monitoring/dashboard/apiv1/dashboardpb;dashboardpb"; +option java_multiple_files = true; +option java_outer_classname = "SectionHeaderProto"; +option java_package = "com.google.monitoring.dashboard.v1"; +option php_namespace = "Google\\Cloud\\Monitoring\\Dashboard\\V1"; +option ruby_package = "Google::Cloud::Monitoring::Dashboard::V1"; + +// A widget that defines a new section header. Sections populate a table of +// contents and allow easier navigation of long-form content. +message SectionHeader { + // The subtitle of the section + string subtitle = 1; + + // Whether to insert a divider below the section in the table of contents + bool divider_below = 2; +} diff --git a/third_party/googleapis/google/monitoring/dashboard/v1/single_view_group.proto b/third_party/googleapis/google/monitoring/dashboard/v1/single_view_group.proto new file mode 100644 index 000000000..e6393925e --- /dev/null +++ b/third_party/googleapis/google/monitoring/dashboard/v1/single_view_group.proto @@ -0,0 +1,30 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.monitoring.dashboard.v1; + +option csharp_namespace = "Google.Cloud.Monitoring.Dashboard.V1"; +option go_package = "cloud.google.com/go/monitoring/dashboard/apiv1/dashboardpb;dashboardpb"; +option java_multiple_files = true; +option java_outer_classname = "SingleViewGroupProto"; +option java_package = "com.google.monitoring.dashboard.v1"; +option php_namespace = "Google\\Cloud\\Monitoring\\Dashboard\\V1"; +option ruby_package = "Google::Cloud::Monitoring::Dashboard::V1"; + +// A widget that groups the other widgets by using a dropdown menu. All widgets +// that are within the area spanned by the grouping widget are considered +// member widgets. +message SingleViewGroup {} diff --git a/third_party/googleapis/google/shopping/css/BUILD.bazel b/third_party/googleapis/google/shopping/css/BUILD.bazel new file mode 100644 index 000000000..1750a78cb --- /dev/null +++ b/third_party/googleapis/google/shopping/css/BUILD.bazel @@ -0,0 +1,36 @@ +# This build file includes a target for the Ruby wrapper library for +# google-shopping-css. + +# 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 shopping-css. +# 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 = "css_ruby_wrapper", + srcs = ["//google/shopping/css/v1:css_proto_with_info"], + extra_protoc_parameters = [ + "ruby-cloud-gem-name=google-shopping-css", + "ruby-cloud-wrapper-of=v1:0.0", + ], + service_yaml = "//google/shopping/css/v1:css_v1.yaml", + transport = "grpc+rest", +) + +# Open Source package. +ruby_gapic_assembly_pkg( + name = "google-shopping-css-ruby", + deps = [ + ":css_ruby_wrapper", + ], +) diff --git a/third_party/googleapis/google/shopping/css/v1/BUILD.bazel b/third_party/googleapis/google/shopping/css/v1/BUILD.bazel new file mode 100644 index 000000000..cf9a6456f --- /dev/null +++ b/third_party/googleapis/google/shopping/css/v1/BUILD.bazel @@ -0,0 +1,401 @@ +# 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 = "css_proto", + srcs = [ + "accounts.proto", + "accounts_labels.proto", + "css_product_common.proto", + "css_product_inputs.proto", + "css_products.proto", + ], + deps = [ + "//google/api:annotations_proto", + "//google/api:client_proto", + "//google/api:field_behavior_proto", + "//google/api:resource_proto", + "//google/shopping/type:type_proto", # Manual fix. Original :types_proto + "@com_google_protobuf//:empty_proto", + "@com_google_protobuf//:timestamp_proto", + ], +) + +proto_library_with_info( + name = "css_proto_with_info", + deps = [ + ":css_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 = "css_java_proto", + deps = [":css_proto"], +) + +java_grpc_library( + name = "css_java_grpc", + srcs = [":css_proto"], + deps = [":css_java_proto"], +) + +java_gapic_library( + name = "css_java_gapic", + srcs = [":css_proto_with_info"], + gapic_yaml = None, + grpc_service_config = "css_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "css_v1.yaml", + test_deps = [ + ":css_java_grpc", + ], + transport = "grpc+rest", + deps = [ + ":css_java_proto", + "//google/api:api_java_proto", + "//google/shopping/type:type_java_proto", # Added manually + ], +) + +java_gapic_test( + name = "css_java_gapic_test_suite", + test_classes = [ + "com.google.shopping.css.v1.AccountLabelsServiceClientHttpJsonTest", + "com.google.shopping.css.v1.AccountLabelsServiceClientTest", + "com.google.shopping.css.v1.AccountsServiceClientHttpJsonTest", + "com.google.shopping.css.v1.AccountsServiceClientTest", + "com.google.shopping.css.v1.CssProductInputsServiceClientHttpJsonTest", + "com.google.shopping.css.v1.CssProductInputsServiceClientTest", + "com.google.shopping.css.v1.CssProductsServiceClientHttpJsonTest", + "com.google.shopping.css.v1.CssProductsServiceClientTest", + ], + runtime_deps = [":css_java_gapic_test"], +) + +# Open Source Packages +java_gapic_assembly_gradle_pkg( + name = "google-cloud-shopping-css-v1-java", + transport = "grpc+rest", + deps = [ + ":css_java_gapic", + ":css_java_grpc", + ":css_java_proto", + ":css_proto", + "//google/shopping/type:type_java_proto", # Added manually + ], + include_samples = True, +) + +############################################################################## +# Go +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "go_gapic_assembly_pkg", + "go_gapic_library", + "go_proto_library", +) + +go_proto_library( + name = "css_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "cloud.google.com/go/shopping/css/apiv1/csspb", + protos = [":css_proto"], + deps = [ + "//google/api:annotations_go_proto", + "//google/shopping/type:type_go_proto", # Added manually + ], +) + +go_gapic_library( + name = "css_go_gapic", + srcs = [":css_proto_with_info"], + grpc_service_config = "css_grpc_service_config.json", + importpath = "cloud.google.com/go/shopping/css/apiv1;css", # Manual fix + metadata = True, + release_level = "beta", + rest_numeric_enums = True, + service_yaml = "css_v1.yaml", + transport = "grpc+rest", + deps = [ + ":css_go_proto", + ], +) + +# Open Source Packages +go_gapic_assembly_pkg( + name = "gapi-cloud-shopping-css-v1-go", + deps = [ + ":css_go_gapic", + ":css_go_gapic_srcjar-test.srcjar", + ":css_go_gapic_srcjar-metadata.srcjar", + ":css_go_gapic_srcjar-snippets.srcjar", + ":css_go_proto", + "//google/api:api_go_proto", # Added manually + "//google/shopping/type:type_go_proto", # Added manually + ], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "py_gapic_assembly_pkg", + "py_gapic_library", + "py_test", + "py_import", +) + +py_import( # Added manually + name = "shopping_type", + srcs = [ + "//google/shopping/type:type_py_gapic", + ], +) + +py_gapic_library( + name = "css_py_gapic", + srcs = [":css_proto"], + grpc_service_config = "css_grpc_service_config.json", + opt_args = ["proto-plus-deps=google.shopping.type"], # Added manually + rest_numeric_enums = True, + service_yaml = "css_v1.yaml", + transport = "grpc+rest", + deps = [ + ":shopping_type", # Added manually + ], +) + +py_test( + name = "css_py_gapic_test", + srcs = [ + "css_py_gapic_pytest.py", + "css_py_gapic_test.py", + ], + legacy_create_init = False, + deps = [":css_py_gapic"], +) + +# Open Source Packages +py_gapic_assembly_pkg( + name = "shopping-css-v1-py", + deps = [ + ":css_py_gapic", + ], +) + +############################################################################## +# PHP +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "php_gapic_assembly_pkg", + "php_gapic_library", + "php_proto_library", +) + +php_proto_library( + name = "css_php_proto", + deps = [":css_proto"], +) + +php_gapic_library( + name = "css_php_gapic", + srcs = [":css_proto_with_info"], + grpc_service_config = "css_grpc_service_config.json", + rest_numeric_enums = True, + migration_mode = "NEW_SURFACE_ONLY", + service_yaml = "css_v1.yaml", + transport = "grpc+rest", + deps = [ + ":css_php_proto", + ], +) + +# Open Source Packages +php_gapic_assembly_pkg( + name = "google-cloud-shopping-css-v1-php", + deps = [ + ":css_php_gapic", + ":css_php_proto", + ], +) + +############################################################################## +# Node.js +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "nodejs_gapic_assembly_pkg", + "nodejs_gapic_library", +) + +nodejs_gapic_library( + name = "css_nodejs_gapic", + package_name = "@google-shopping/css", + src = ":css_proto_with_info", + extra_protoc_parameters = ["metadata"], + grpc_service_config = "css_grpc_service_config.json", + package = "google.shopping.css.v1", + rest_numeric_enums = True, + service_yaml = "css_v1.yaml", + transport = "grpc+rest", + deps = [], +) + +nodejs_gapic_assembly_pkg( + name = "shopping-css-v1-nodejs", + deps = [ + ":css_nodejs_gapic", + ":css_proto", + "//google/shopping/type:type_proto", # Added manually + ], +) + +############################################################################## +# Ruby +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "ruby_gapic_assembly_pkg", + "ruby_cloud_gapic_library", + "ruby_grpc_library", + "ruby_proto_library", +) + +ruby_proto_library( + name = "css_ruby_proto", + deps = [":css_proto"], +) + +ruby_grpc_library( + name = "css_ruby_grpc", + srcs = [":css_proto"], + deps = [":css_ruby_proto"], +) + +ruby_cloud_gapic_library( + name = "css_ruby_gapic", + srcs = [":css_proto_with_info"], + extra_protoc_parameters = [ + "ruby-cloud-gem-name=google-shopping-css-v1", + "ruby-cloud-extra-dependencies=google-shopping-type=>0.0+<2.a", + ], + grpc_service_config = "css_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "css_v1.yaml", + transport = "grpc+rest", + deps = [ + ":css_ruby_grpc", + ":css_ruby_proto", + ], +) + +# Open Source Packages +ruby_gapic_assembly_pkg( + name = "google-shopping-css-v1-ruby", + deps = [ + ":css_ruby_gapic", + ":css_ruby_grpc", + ":css_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 = "css_csharp_proto", + extra_opts = [], + deps = [":css_proto"], +) + +csharp_grpc_library( + name = "css_csharp_grpc", + srcs = [":css_proto"], + deps = [":css_csharp_proto"], +) + +csharp_gapic_library( + name = "css_csharp_gapic", + srcs = [":css_proto_with_info"], + common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json", + grpc_service_config = "css_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "css_v1.yaml", + transport = "grpc+rest", + deps = [ + ":css_csharp_grpc", + ":css_csharp_proto", + ], +) + +# Open Source Packages +csharp_gapic_assembly_pkg( + name = "google-cloud-shopping-css-v1-csharp", + deps = [ + ":css_csharp_gapic", + ":css_csharp_grpc", + ":css_csharp_proto", + ], +) + +############################################################################## +# C++ +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "cc_grpc_library", + "cc_proto_library", +) + +cc_proto_library( + name = "css_cc_proto", + deps = [":css_proto"], +) + +cc_grpc_library( + name = "css_cc_grpc", + srcs = [":css_proto"], + grpc_only = True, + deps = [":css_cc_proto"], +) diff --git a/third_party/googleapis/google/shopping/css/v1/accounts.proto b/third_party/googleapis/google/shopping/css/v1/accounts.proto new file mode 100644 index 000000000..6c098ccec --- /dev/null +++ b/third_party/googleapis/google/shopping/css/v1/accounts.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.shopping.css.v1; + +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.Shopping.Css.V1"; +option go_package = "cloud.google.com/go/shopping/css/apiv1/csspb;csspb"; +option java_multiple_files = true; +option java_outer_classname = "AccountsProto"; +option java_package = "com.google.shopping.css.v1"; +option php_namespace = "Google\\Shopping\\Css\\V1"; +option ruby_package = "Google::Shopping::Css::V1"; + +// Service for managing CSS/MC account information. +service AccountsService { + option (google.api.default_host) = "css.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/content"; + + // Lists all the accounts under the specified CSS account ID, and + // optionally filters by label ID and account name. + rpc ListChildAccounts(ListChildAccountsRequest) + returns (ListChildAccountsResponse) { + option (google.api.http) = { + get: "/v1/{parent=accounts/*}:listChildAccounts" + }; + option (google.api.method_signature) = "parent"; + } + + // Retrieves a single CSS/MC account by ID. + rpc GetAccount(GetAccountRequest) returns (Account) { + option (google.api.http) = { + get: "/v1/{name=accounts/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Updates labels assigned to CSS/MC accounts by a CSS domain. + rpc UpdateLabels(UpdateAccountLabelsRequest) returns (Account) { + option (google.api.http) = { + post: "/v1/{name=accounts/*}:updateLabels" + body: "*" + }; + option (google.api.method_signature) = "name"; + } +} + +// The request message for the `ListChildAccounts` method. +message ListChildAccountsRequest { + // Required. The parent account. Must be a CSS group or domain. + // Format: accounts/{account} + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { type: "css.googleapis.com/Account" } + ]; + + // If set, only the MC accounts with the given label ID will be returned. + optional int64 label_id = 2; + + // If set, only the MC accounts with the given name (case sensitive) will be + // returned. + optional string full_name = 3; + + // Optional. The maximum number of accounts to return. The service may return + // fewer than this value. If unspecified, at most 50 accounts will be + // returned. The maximum value is 1000; values above 1000 will be coerced to + // 1000. + int32 page_size = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A page token, received from a previous `ListChildAccounts` call. + // Provide this to retrieve the subsequent page. + // + // When paginating, all other parameters provided to `ListChildAccounts` must + // match the call that provided the page token. + string page_token = 5 [(google.api.field_behavior) = OPTIONAL]; +} + +// Response message for the `ListChildAccounts` method. +message ListChildAccountsResponse { + // The CSS/MC accounts returned for the specified CSS parent account. + repeated Account accounts = 1; + + // A token, which can be sent as `page_token` to retrieve the next page. + // If this field is omitted, there are no subsequent pages. + string next_page_token = 2; +} + +// The request message for the `GetAccount` method. +message GetAccountRequest { + // Required. The name of the managed CSS/MC account. + // Format: accounts/{account} + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { type: "css.googleapis.com/Account" } + ]; + + // Optional. Only required when retrieving MC account information. + // The CSS domain that is the parent resource of the MC account. + // Format: accounts/{account} + optional string parent = 2 [ + (google.api.field_behavior) = OPTIONAL, + (google.api.resource_reference) = { type: "css.googleapis.com/Account" } + ]; +} + +// The request message for the `UpdateLabels` method. +message UpdateAccountLabelsRequest { + // Required. The label resource name. + // Format: accounts/{account} + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { type: "css.googleapis.com/Account" } + ]; + + // The list of label IDs to overwrite the existing account label IDs. + // If the list is empty, all currently assigned label IDs will be deleted. + repeated int64 label_ids = 2; + + // Optional. Only required when updating MC account labels. + // The CSS domain that is the parent resource of the MC account. + // Format: accounts/{account} + optional string parent = 3 [ + (google.api.field_behavior) = OPTIONAL, + (google.api.resource_reference) = { type: "css.googleapis.com/Account" } + ]; +} + +// Information about CSS/MC account. +message Account { + option (google.api.resource) = { + type: "css.googleapis.com/Account" + pattern: "accounts/{account}" + plural: "accounts" + singular: "account" + }; + + // The account type. + enum AccountType { + // Unknown account type. + ACCOUNT_TYPE_UNSPECIFIED = 0; + + // CSS group account. + CSS_GROUP = 1; + + // CSS domain account. + CSS_DOMAIN = 2; + + // MC Primary CSS MCA account. + MC_PRIMARY_CSS_MCA = 3; + + // MC CSS MCA account. + MC_CSS_MCA = 4; + + // MC Marketplace MCA account. + MC_MARKETPLACE_MCA = 5; + + // MC Other MCA account. + MC_OTHER_MCA = 6; + + // MC Standalone account. + MC_STANDALONE = 7; + + // MC MCA sub-account. + MC_MCA_SUBACCOUNT = 8; + } + + // The label resource name. + // Format: accounts/{account} + string name = 1; + + // Output only. Immutable. The CSS/MC account's full name. + string full_name = 2 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.field_behavior) = IMMUTABLE + ]; + + // The CSS/MC account's short display name. + optional string display_name = 3; + + // Output only. Immutable. The CSS/MC account's homepage. + optional string homepage_uri = 4 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.field_behavior) = IMMUTABLE + ]; + + // The CSS/MC account's parent resource. CSS group for CSS domains; CSS + // domain for MC accounts. Returned only if the user has access to the + // parent account. + optional string parent = 5; + + // Manually created label IDs assigned to the CSS/MC account by a CSS parent + // account. + repeated int64 label_ids = 6; + + // Automatically created label IDs assigned to the MC account by + // CSS Center. + repeated int64 automatic_label_ids = 7; + + // Output only. The type of this account. + AccountType account_type = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/shopping/css/v1/accounts_labels.proto b/third_party/googleapis/google/shopping/css/v1/accounts_labels.proto new file mode 100644 index 000000000..fb6549923 --- /dev/null +++ b/third_party/googleapis/google/shopping/css/v1/accounts_labels.proto @@ -0,0 +1,182 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.shopping.css.v1; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/empty.proto"; + +option csharp_namespace = "Google.Shopping.Css.V1"; +option go_package = "cloud.google.com/go/shopping/css/apiv1/csspb;csspb"; +option java_multiple_files = true; +option java_outer_classname = "AccountsLabelsProto"; +option java_package = "com.google.shopping.css.v1"; +option php_namespace = "Google\\Shopping\\Css\\V1"; +option ruby_package = "Google::Shopping::Css::V1"; + +// Manages Merchant Center and CSS accounts labels. +service AccountLabelsService { + option (google.api.default_host) = "css.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/content"; + + // Lists the labels assigned to an account. + rpc ListAccountLabels(ListAccountLabelsRequest) + returns (ListAccountLabelsResponse) { + option (google.api.http) = { + get: "/v1/{parent=accounts/*}/labels" + }; + option (google.api.method_signature) = "parent"; + } + + // Creates a new label, not assigned to any account. + rpc CreateAccountLabel(CreateAccountLabelRequest) returns (AccountLabel) { + option (google.api.http) = { + post: "/v1/{parent=accounts/*}/labels" + body: "account_label" + }; + option (google.api.method_signature) = "parent,account_label"; + } + + // Updates a label. + rpc UpdateAccountLabel(UpdateAccountLabelRequest) returns (AccountLabel) { + option (google.api.http) = { + patch: "/v1/{account_label.name=accounts/*/labels/*}" + body: "account_label" + }; + option (google.api.method_signature) = "account_label"; + } + + // Deletes a label and removes it from all accounts to which it was assigned. + rpc DeleteAccountLabel(DeleteAccountLabelRequest) + returns (google.protobuf.Empty) { + option (google.api.http) = { + delete: "/v1/{name=accounts/*/labels/*}" + }; + option (google.api.method_signature) = "name"; + } +} + +// Label assigned by CSS domain or CSS group to one of its sub-accounts. +message AccountLabel { + option (google.api.resource) = { + type: "css.googleapis.com/AccountLabel" + pattern: "accounts/{account}/labels/{label}" + plural: "accountLabels" + singular: "accountLabel" + }; + + // The label type. + enum LabelType { + // Unknown label type. + LABEL_TYPE_UNSPECIFIED = 0; + + // Indicates that the label was created manually. + MANUAL = 1; + + // Indicates that the label was created automatically by CSS Center. + AUTOMATIC = 2; + } + + // The resource name of the label. + // Format: accounts/{account}/labels/{label} + string name = 1; + + // Output only. The ID of the label. + int64 label_id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The ID of account this label belongs to. + int64 account_id = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The display name of this label. + optional string display_name = 4; + + // The description of this label. + optional string description = 5; + + // Output only. The type of this label. + LabelType label_type = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Request message for the `ListAccountLabels` method. +message ListAccountLabelsRequest { + // Required. The parent account. + // Format: accounts/{account} + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "css.googleapis.com/AccountLabel" + } + ]; + + // The maximum number of labels to return. The service may return fewer than + // this value. + // If unspecified, at most 50 labels will be returned. + // The maximum value is 1000; values above 1000 will be coerced to 1000. + int32 page_size = 2; + + // A page token, received from a previous `ListAccountLabels` call. + // Provide this to retrieve the subsequent page. + // + // When paginating, all other parameters provided to `ListAccountLabels` must + // match the call that provided the page token. + string page_token = 3; +} + +// Response message for the `ListAccountLabels` method. +message ListAccountLabelsResponse { + // The labels from the specified account. + repeated AccountLabel account_labels = 1; + + // A token, which can be sent as `page_token` to retrieve the next page. + // If this field is omitted, there are no subsequent pages. + string next_page_token = 2; +} + +// Request message for the 'CreateAccountLanel' method. +message CreateAccountLabelRequest { + // Required. The parent account. + // Format: accounts/{account} + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "css.googleapis.com/AccountLabel" + } + ]; + + // Required. The label to create. + AccountLabel account_label = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for the `UpdateAccountLabel` method. +message UpdateAccountLabelRequest { + // Required. The updated label. All fields must be provided. + AccountLabel account_label = 1 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for the 'DeleteAccountLabel' method. +message DeleteAccountLabelRequest { + // Required. The name of the label to delete. + // Format: accounts/{account}/labels/{label} + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "css.googleapis.com/AccountLabel" + } + ]; +} diff --git a/third_party/googleapis/google/shopping/css/v1/css_grpc_service_config.json b/third_party/googleapis/google/shopping/css/v1/css_grpc_service_config.json new file mode 100644 index 000000000..79cd4a2df --- /dev/null +++ b/third_party/googleapis/google/shopping/css/v1/css_grpc_service_config.json @@ -0,0 +1,69 @@ +{ + "methodConfig": [ + { + "name": [ + { + "service": "google.shopping.css.v1.AccountsService", + "method": "GetAccount" + }, + { + "service": "google.shopping.css.v1.AccountsService", + "method": "ListChildAccounts" + }, + { + "service": "google.shopping.css.v1.AccountLabelsService", + "method": "ListAccountLabels" + }, + { + "service": "google.shopping.css.v1.CssProductsService", + "method": "GetCssProduct" + }, + { + "service": "google.shopping.css.v1.CssProductsService", + "method": "ListCssProducts" + } + ], + "timeout": "60s", + "retryPolicy": { + "maxAttempts": 5, + "initialBackoff": "1s", + "maxBackoff": "10s", + "backoffMultiplier": 1.3, + "retryableStatusCodes": ["UNAVAILABLE"] + } + }, + { + "name": [ + { + "service": "google.shopping.css.v1.AccountsService", + "method": "UpdateLabels" + }, + { + "service": "google.shopping.css.v1.AccountLabelsService", + "method": "CreateAccountLabel" + }, + { + "service": "google.shopping.css.v1.AccountLabelsService", + "method": "UpdateAccountLabel" + }, + { + "service": "google.shopping.css.v1.AccountLabelsService", + "method": "DeleteAccountLabel" + }, + { + "service": "google.shopping.css.v1.CssProductInputsService", + "method": "InsertCssProductInput" + }, + { + "service": "google.shopping.css.v1.CssProductInputsService", + "method": "UpdateCssProductInput" + }, + { + "service": "google.shopping.css.v1.CssProductInputsService", + "method": "DeleteCssProductInput" + } + ], + "timeout": "60s" + } + ] +} diff --git a/third_party/googleapis/google/shopping/css/v1/css_product_common.proto b/third_party/googleapis/google/shopping/css/v1/css_product_common.proto new file mode 100644 index 000000000..9df0eea25 --- /dev/null +++ b/third_party/googleapis/google/shopping/css/v1/css_product_common.proto @@ -0,0 +1,331 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.shopping.css.v1; + +import "google/api/field_behavior.proto"; +import "google/protobuf/timestamp.proto"; +import "google/shopping/type/types.proto"; + +option csharp_namespace = "Google.Shopping.Css.V1"; +option go_package = "cloud.google.com/go/shopping/css/apiv1/csspb;csspb"; +option java_multiple_files = true; +option java_outer_classname = "CssProductCommonProto"; +option java_package = "com.google.shopping.css.v1"; +option php_namespace = "Google\\Shopping\\Css\\V1"; +option ruby_package = "Google::Shopping::Css::V1"; + +// Attributes for CSS Product. +message Attributes { + // URL directly linking to your the Product Detail Page of the CSS. + optional string cpp_link = 1; + + // URL for the mobile-optimized version of the Product Detail Page of the CSS. + optional string cpp_mobile_link = 2; + + // Allows advertisers to override the item URL when the product is shown + // within the context of Product Ads. + optional string cpp_ads_redirect = 42; + + // Low Price of the aggregate offer. + google.shopping.type.Price low_price = 3; + + // High Price of the aggregate offer. + google.shopping.type.Price high_price = 4; + + // The number of aggregate offers. + optional int64 number_of_offers = 5; + + // Condition of the headline offer. + optional string headline_offer_condition = 6; + + // Headline Price of the aggregate offer. + google.shopping.type.Price headline_offer_price = 7; + + // Link to the headline offer. + optional string headline_offer_link = 8; + + // Mobile Link to the headline offer. + optional string headline_offer_mobile_link = 9; + + // Headline Price of the aggregate offer. + google.shopping.type.Price headline_offer_shipping_price = 41; + + // Title of the item. + optional string title = 10; + + // URL of an image of the item. + optional string image_link = 11; + + // Additional URL of images of the item. + repeated string additional_image_links = 12; + + // Description of the item. + optional string description = 13; + + // Product Related Attributes.[14-36] + // Brand of the item. + optional string brand = 14; + + // Manufacturer Part Number + // ([MPN](https://support.google.com/merchants/answer/188494#mpn)) of the + // item. + optional string mpn = 15; + + // Global Trade Item Number + // ([GTIN](https://support.google.com/merchants/answer/188494#gtin)) of the + // item. + optional string gtin = 16; + + // Categories of the item (formatted as in [products data + // specification](https://support.google.com/merchants/answer/6324406)). + repeated string product_types = 36; + + // Google's category of the item (see [Google product + // taxonomy](https://support.google.com/merchants/answer/1705911)). When + // querying products, this field will contain the user provided value. There + // is currently no way to get back the auto assigned google product + // categories through the API. + optional string google_product_category = 17; + + // Set to true if the item is targeted towards adults. + optional bool adult = 18; + + // The number of identical products in a merchant-defined multipack. + optional int64 multipack = 19; + + // Whether the item is a merchant-defined bundle. A bundle is a custom + // grouping of different products sold by a merchant for a single price. + optional bool is_bundle = 20; + + // Target age group of the item. + optional string age_group = 21; + + // Color of the item. + optional string color = 22; + + // Target gender of the item. + optional string gender = 23; + + // The material of which the item is made. + optional string material = 24; + + // The item's pattern (e.g. polka dots). + optional string pattern = 25; + + // Size of the item. Only one value is allowed. For variants with different + // sizes, insert a separate product for each size with the same + // `itemGroupId` value (see + // [https://support.google.com/merchants/answer/6324492](size definition)). + optional string size = 26; + + // System in which the size is specified. Recommended for apparel items. + optional string size_system = 27; + + // The cut of the item. It can be used to represent combined size types for + // apparel items. Maximum two of size types can be provided (see + // [https://support.google.com/merchants/answer/6324497](size type)). + repeated string size_types = 28; + + // Shared identifier for all variants of the same product. + optional string item_group_id = 29; + + // Technical specification or additional product details. + repeated ProductDetail product_details = 30; + + // The weight of the product in the units provided. The value must be + // between 0 (exclusive) and 2000 (inclusive). + ProductWeight product_weight = 31; + + // The length of the product in the units provided. The value must be + // between 0 (exclusive) and 3000 (inclusive). + ProductDimension product_length = 32; + + // The width of the product in the units provided. The value must be between + // 0 (exclusive) and 3000 (inclusive). + ProductDimension product_width = 33; + + // The height of the product in the units provided. The value must be + // between + // 0 (exclusive) and 3000 (inclusive). + ProductDimension product_height = 34; + + // Bullet points describing the most relevant highlights of a product. + repeated string product_highlights = 35; + + // A list of certificates claimed by the CSS for the given product. + repeated Certification certifications = 39; + + // Date on which the item should expire, as specified upon insertion, in + // [ISO + // 8601](http://en.wikipedia.org/wiki/ISO_8601) format. The actual + // expiration date in Google Shopping is exposed in `productstatuses` as + // [googleExpirationDate](https://support.google.com/merchants/answer/6324499) + // and might be earlier if `expirationDate` is too far in the future. + // Note: It may take 2+ days from the expiration date for the item to + // actually get deleted. + google.protobuf.Timestamp expiration_date = 40; + + // The list of destinations to include for this target (corresponds to + // checked check boxes in Merchant Center). Default destinations are always + // included unless provided in `excludedDestinations`. + repeated string included_destinations = 43; + + // The list of destinations to exclude for this target (corresponds to + // unchecked check boxes in Merchant Center). + repeated string excluded_destinations = 44; + + // Publication of this item will be temporarily paused. + optional string pause = 45; + + // Custom label 0 for custom grouping of items in a Shopping campaign. + optional string custom_label_0 = 46; + + // Custom label 1 for custom grouping of items in a Shopping campaign. + optional string custom_label_1 = 47; + + // Custom label 2 for custom grouping of items in a Shopping campaign. + optional string custom_label_2 = 48; + + // Custom label 3 for custom grouping of items in a Shopping campaign. + optional string custom_label_3 = 49; + + // Custom label 4 for custom grouping of items in a Shopping campaign. + optional string custom_label_4 = 50; +} + +// The certification for the product. +message Certification { + // Name of the certification. + string name = 1; + + // Name of the certification body. + string authority = 2; + + // A unique code to identify the certification. + string code = 3; +} + +// The product details. +message ProductDetail { + // The section header used to group a set of product details. + string section_name = 1; + + // The name of the product detail. + string attribute_name = 2; + + // The value of the product detail. + string attribute_value = 3; +} + +// The dimension of the product. +message ProductDimension { + // Required. The dimension value represented as a number. The value can have a + // maximum precision of four decimal places. + double value = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The dimension units. + // Acceptable values are: + // * "`in`" + // * "`cm`" + string unit = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// The weight of the product. +message ProductWeight { + // Required. The weight represented as a number. The weight can have a maximum + // precision of four decimal places. + double value = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The weight unit. + // Acceptable values are: + // * "`g`" + // * "`kg`" + // * "`oz`" + // * "`lb`" + string unit = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// The status of the Css Product, data validation issues, that is, +// information about the Css Product computed asynchronously. +message CssProductStatus { + // The destination status of the product status. + message DestinationStatus { + // The name of the destination + string destination = 1; + + // List of country codes (ISO 3166-1 alpha-2) where the aggregate offer is + // approved. + repeated string approved_countries = 2; + + // List of country codes (ISO 3166-1 alpha-2) where the aggregate offer is + // pending approval. + repeated string pending_countries = 3; + + // List of country codes (ISO 3166-1 alpha-2) where the aggregate offer is + // disapproved. + repeated string disapproved_countries = 4; + } + + // The ItemLevelIssue of the product status. + message ItemLevelIssue { + // The error code of the issue. + string code = 1; + + // How this issue affects serving of the aggregate offer. + string servability = 2; + + // Whether the issue can be resolved by the merchant. + string resolution = 3; + + // The attribute's name, if the issue is caused by a single attribute. + string attribute = 4; + + // The destination the issue applies to. + string destination = 5; + + // A short issue description in English. + string description = 6; + + // A detailed issue description in English. + string detail = 7; + + // The URL of a web page to help with resolving this issue. + string documentation = 8; + + // List of country codes (ISO 3166-1 alpha-2) where issue applies to the + // aggregate offer. + repeated string applicable_countries = 9; + } + + // The intended destinations for the product. + repeated DestinationStatus destination_statuses = 3; + + // A list of all issues associated with the product. + repeated ItemLevelIssue item_level_issues = 4; + + // Date on which the item has been created, in [ISO + // 8601](http://en.wikipedia.org/wiki/ISO_8601) format. + google.protobuf.Timestamp creation_date = 5; + + // Date on which the item has been last updated, in [ISO + // 8601](http://en.wikipedia.org/wiki/ISO_8601) format. + google.protobuf.Timestamp last_update_date = 6; + + // Date on which the item expires in Google Shopping, in [ISO + // 8601](http://en.wikipedia.org/wiki/ISO_8601) format. + google.protobuf.Timestamp google_expiration_date = 7; +} diff --git a/third_party/googleapis/google/shopping/css/v1/css_product_inputs.proto b/third_party/googleapis/google/shopping/css/v1/css_product_inputs.proto new file mode 100644 index 000000000..ad71c170c --- /dev/null +++ b/third_party/googleapis/google/shopping/css/v1/css_product_inputs.proto @@ -0,0 +1,178 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.shopping.css.v1; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/empty.proto"; +import "google/protobuf/timestamp.proto"; +import "google/shopping/css/v1/css_product_common.proto"; +import "google/shopping/type/types.proto"; + +option csharp_namespace = "Google.Shopping.Css.V1"; +option go_package = "cloud.google.com/go/shopping/css/apiv1/csspb;csspb"; +option java_multiple_files = true; +option java_outer_classname = "CssProductInputsProto"; +option java_package = "com.google.shopping.css.v1"; +option php_namespace = "Google\\Shopping\\Css\\V1"; +option ruby_package = "Google::Shopping::Css::V1"; + +// Service to use CssProductInput resource. +// This service helps to insert/update/delete CSS Products. +service CssProductInputsService { + option (google.api.default_host) = "css.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/content"; + + // Uploads a CssProductInput to your CSS Center account. If an + // input with the same contentLanguage, identity, feedLabel and feedId already + // exists, this method replaces that entry. + // + // After inserting, updating, or deleting a CSS Product input, it may + // take several minutes before the processed CSS Product can be retrieved. + rpc InsertCssProductInput(InsertCssProductInputRequest) + returns (CssProductInput) { + option (google.api.http) = { + post: "/v1/{parent=accounts/*}/cssProductInputs:insert" + body: "css_product_input" + }; + } + + // Deletes a CSS Product input from your CSS Center account. + // + // After a delete it may take several minutes until the input is no longer + // available. + rpc DeleteCssProductInput(DeleteCssProductInputRequest) + returns (google.protobuf.Empty) { + option (google.api.http) = { + delete: "/v1/{name=accounts/*/cssProductInputs/*}" + }; + option (google.api.method_signature) = "name"; + } +} + +// This resource represents input data you submit for a CSS Product, not +// the processed CSS Product that you see in CSS Center, in Shopping Ads, or +// across Google surfaces. +message CssProductInput { + option (google.api.resource) = { + type: "css.googleapis.com/CssProductInput" + pattern: "accounts/{account}/cssProductInputs/{css_product_input}" + }; + + // The name of the CSS Product input. + // Format: + // `accounts/{account}/cssProductInputs/{css_product_input}` + string name = 1; + + // Output only. The name of the processed CSS Product. + // Format: + // `accounts/{account}/cssProducts/{css_product}` + // " + string final_name = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. Your unique identifier for the CSS Product. This is the same for + // the CSS Product input and processed CSS Product. We only allow ids with + // alphanumerics, underscores and dashes. See the [products feed + // specification](https://support.google.com/merchants/answer/188494#id) for + // details. + string raw_provided_id = 3 [(google.api.field_behavior) = REQUIRED]; + + // Required. The two-letter [ISO + // 639-1](http://en.wikipedia.org/wiki/ISO_639-1) language code for the CSS + // Product. + string content_language = 4 [(google.api.field_behavior) = REQUIRED]; + + // Required. The [feed + // label](https://developers.google.com/shopping-content/guides/products/feed-labels) + // for the CSS Product. + // Feed Label is synonymous to "target country" and hence should always be a + // valid region code. For example: 'DE' for Germany, 'FR' for France. + string feed_label = 5 [(google.api.field_behavior) = REQUIRED]; + + // Represents the existing version (freshness) of the CSS Product, which + // can be used to preserve the right order when multiple updates are done at + // the same time. + // + // This field must not be set to the future time. + // + // If set, the update is prevented if a newer version of the item already + // exists in our system (that is the last update time of the existing + // CSS products is later than the freshness time set in the update). If + // the update happens, the last update time is then set to this freshness + // time. + // + // If not set, the update will not be prevented and the last update time will + // default to when this request was received by the CSS API. + // + // If the operation is prevented, the aborted exception will be + // thrown. + google.protobuf.Timestamp freshness_time = 6; + + // A list of CSS Product attributes. + Attributes attributes = 7; + + // A list of custom (CSS-provided) attributes. It can also be used for + // submitting any attribute of the feed specification in its generic + // form (for example: + // `{ "name": "size type", "value": "regular" }`). + // This is useful for submitting attributes not explicitly exposed by the + // API, such as additional attributes used for Buy on Google. + repeated google.shopping.type.CustomAttribute custom_attributes = 8; +} + +// Request message for the InsertCssProductInput method. +message InsertCssProductInputRequest { + // Required. The account where this CSS Product will be inserted. + // Format: accounts/{account} + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "css.googleapis.com/CssProductInput" + } + ]; + + // Required. The CSS Product Input to insert. + CssProductInput css_product_input = 2 + [(google.api.field_behavior) = REQUIRED]; + + // Required. The primary or supplemental feed id. If CSS Product already + // exists and feed id provided is different, then the CSS Product will be + // moved to a new feed. Note: For now, CSSs do not need to provide feed ids as + // we create feeds on the fly. We do not have supplemental feed support for + // CSS Products yet. + int64 feed_id = 3 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for the DeleteCssProductInput method. +message DeleteCssProductInputRequest { + // Required. The name of the CSS product input resource to delete. + // Format: accounts/{account}/cssProductInputs/{css_product_input} + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "css.googleapis.com/CssProductInput" + } + ]; + + // The Content API Supplemental Feed ID. + // The field must not be set if the action applies to a primary feed. + // If the field is set, then product action applies to a supplemental feed + // instead of primary Content API feed. + optional int64 supplemental_feed_id = 2; +} diff --git a/third_party/googleapis/google/shopping/css/v1/css_products.proto b/third_party/googleapis/google/shopping/css/v1/css_products.proto new file mode 100644 index 000000000..7c0076dd4 --- /dev/null +++ b/third_party/googleapis/google/shopping/css/v1/css_products.proto @@ -0,0 +1,152 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.shopping.css.v1; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/shopping/css/v1/css_product_common.proto"; +import "google/shopping/type/types.proto"; + +option csharp_namespace = "Google.Shopping.Css.V1"; +option go_package = "cloud.google.com/go/shopping/css/apiv1/csspb;csspb"; +option java_multiple_files = true; +option java_outer_classname = "CssProductsProto"; +option java_package = "com.google.shopping.css.v1"; +option php_namespace = "Google\\Shopping\\Css\\V1"; +option ruby_package = "Google::Shopping::Css::V1"; + +// Service for doing get and list on Css Products(a.k.a Aggregate Offers +// internally). +service CssProductsService { + option (google.api.default_host) = "css.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/content"; + + // Retrieves the processed CSS Product from your CSS Center account. After + // inserting, updating, or deleting a product input, it may take several + // minutes before the updated final product can be retrieved. + rpc GetCssProduct(GetCssProductRequest) returns (CssProduct) { + option (google.api.http) = { + get: "/v1/{name=accounts/*/cssProducts/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Lists the processed CSS Products in your CSS Center account. The response + // might contain fewer items than specified by pageSize. Rely on pageToken to + // determine if there are more items to be requested. + // + // After inserting, updating, or deleting a CSS product input, it may + // take several minutes before the updated processed CSS product can be + // retrieved. + rpc ListCssProducts(ListCssProductsRequest) + returns (ListCssProductsResponse) { + option (google.api.http) = { + get: "/v1/{parent=accounts/*}/cssProducts" + }; + option (google.api.method_signature) = "parent"; + } +} + +// The request message for the `GetCssProduct` method. +message GetCssProductRequest { + // Required. The name of the CSS product to retrieve. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { type: "css.googleapis.com/CssProduct" } + ]; +} + +// The processed CSS Product(a.k.a Aggregate Offer internally). +message CssProduct { + option (google.api.resource) = { + type: "css.googleapis.com/CssProduct" + pattern: "accounts/{account}/cssProducts/{css_product}" + plural: "cssProducts" + singular: "cssProduct" + }; + + // The name of the CSS Product. + // Format: + // `"accounts/{account}/cssProducts/{css_product}"` + string name = 1; + + // Output only. Your unique raw identifier for the product. + string raw_provided_id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The two-letter [ISO + // 639-1](http://en.wikipedia.org/wiki/ISO_639-1) language code for the + // product. + string content_language = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The feed label for the product. + string feed_label = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. A list of product attributes. + Attributes attributes = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. A list of custom (CSS-provided) attributes. It can also be + // used to submit any attribute of the feed specification in its generic form + // (for example, + // `{ "name": "size type", "value": "regular" }`). + // This is useful for submitting attributes not explicitly exposed by the + // API, such as additional attributes used for Buy on Google. + repeated google.shopping.type.CustomAttribute custom_attributes = 6 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The status of a product, data validation issues, that is, + // information about a product computed asynchronously. + CssProductStatus css_product_status = 8 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Request message for the ListCssProducts method. +message ListCssProductsRequest { + // Required. The account/domain to list processed CSS Products for. + // Format: accounts/{account} + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "css.googleapis.com/CssProduct" + } + ]; + + // The maximum number of CSS Products to return. The service may return + // fewer than this value. + // The maximum value is 1000; values above 1000 will be coerced to 1000. If + // unspecified, the maximum number of CSS products will be returned. + int32 page_size = 2; + + // A page token, received from a previous `ListCssProducts` call. + // Provide this to retrieve the subsequent page. + // + // When paginating, all other parameters provided to `ListCssProducts` + // must match the call that provided the page token. + string page_token = 3; +} + +// Response message for the ListCssProducts method. +message ListCssProductsResponse { + // The processed CSS products from the specified account. These are your + // processed CSS products after applying rules and supplemental feeds. + repeated CssProduct css_products = 1; + + // A token, which can be sent as `page_token` to retrieve the next page. + // If this field is omitted, there are no subsequent pages. + string next_page_token = 2; +} diff --git a/third_party/googleapis/google/shopping/css/v1/css_v1.yaml b/third_party/googleapis/google/shopping/css/v1/css_v1.yaml new file mode 100644 index 000000000..87e5641e2 --- /dev/null +++ b/third_party/googleapis/google/shopping/css/v1/css_v1.yaml @@ -0,0 +1,85 @@ +type: google.api.Service +config_version: 3 +name: css.googleapis.com +title: CSS API + +apis: +- name: google.shopping.css.v1.AccountLabelsService +- name: google.shopping.css.v1.AccountsService +- name: google.shopping.css.v1.CssProductInputsService +- name: google.shopping.css.v1.CssProductsService + +documentation: + summary: |- + Programmatically manage your Comparison Shopping Service (CSS) account data + at scale. + +authentication: + rules: + - selector: 'google.shopping.css.v1.AccountLabelsService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/content + - selector: 'google.shopping.css.v1.AccountsService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/content + - selector: google.shopping.css.v1.CssProductInputsService.DeleteCssProductInput + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/content + - selector: google.shopping.css.v1.CssProductInputsService.InsertCssProductInput + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/content + - selector: google.shopping.css.v1.CssProductsService.GetCssProduct + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/content + - selector: google.shopping.css.v1.CssProductsService.ListCssProducts + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/content + +publishing: + new_issue_uri: https://issuetracker.google.com/issues/new?component=826068&template=1564577 + documentation_uri: https://developers.google.com/comparison-shopping-services/api + api_short_name: css + github_label: 'api: css' + doc_tag_prefix: css + organization: SHOPPING + library_settings: + - version: google.shopping.css.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 diff --git a/third_party/googleapis/google/shopping/merchant/inventories/BUILD.bazel b/third_party/googleapis/google/shopping/merchant/inventories/BUILD.bazel new file mode 100644 index 000000000..8baf90c2d --- /dev/null +++ b/third_party/googleapis/google/shopping/merchant/inventories/BUILD.bazel @@ -0,0 +1,36 @@ +# This build file includes a target for the Ruby wrapper library for +# google-shopping-merchant-inventories. + +# 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 merchant inventories. +# 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 = "inventories_ruby_wrapper", + srcs = ["//google/shopping/merchant/inventories/v1beta:inventories_proto_with_info"], + extra_protoc_parameters = [ + "ruby-cloud-gem-name=google-shopping-merchant-inventories", + "ruby-cloud-wrapper-of=v1beta:0.2", + ], + service_yaml = "//google/shopping/merchant/inventories/v1beta:merchantapi_v1beta.yaml", + transport = "grpc+rest", +) + +# Open Source package. +ruby_gapic_assembly_pkg( + name = "google-shopping-merchant-inventories-ruby", + deps = [ + ":inventories_ruby_wrapper", + ], +) diff --git a/third_party/googleapis/google/shopping/merchant/inventories/v1beta/BUILD.bazel b/third_party/googleapis/google/shopping/merchant/inventories/v1beta/BUILD.bazel new file mode 100644 index 000000000..ed0ec9ce0 --- /dev/null +++ b/third_party/googleapis/google/shopping/merchant/inventories/v1beta/BUILD.bazel @@ -0,0 +1,396 @@ + +# 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 = "inventories_proto", + srcs = [ + "localinventory.proto", + "regionalinventory.proto", + ], + deps = [ + "//google/api:annotations_proto", + "//google/api:client_proto", + "//google/api:field_behavior_proto", + "//google/api:resource_proto", + "//google/shopping/type:type_proto", # Manual fix. Original :types_proto + "//google/type:interval_proto", + "@com_google_protobuf//:empty_proto", + ], +) + +proto_library_with_info( + name = "inventories_proto_with_info", + deps = [ + ":inventories_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 = "inventories_java_proto", + deps = [":inventories_proto"], +) + +java_grpc_library( + name = "inventories_java_grpc", + srcs = [":inventories_proto"], + deps = [":inventories_java_proto"], +) + +java_gapic_library( + name = "inventories_java_gapic", + srcs = [":inventories_proto_with_info"], + gapic_yaml = None, + grpc_service_config = "inventories_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "merchantapi_v1beta.yaml", + test_deps = [ + ":inventories_java_grpc", + ], + transport = "grpc+rest", + deps = [ + ":inventories_java_proto", + "//google/shopping/type:type_java_proto", # Added manually + ], +) + +java_gapic_test( + name = "inventories_java_gapic_test_suite", + test_classes = [ + "com.google.shopping.merchant.inventories.v1beta.LocalInventoryServiceClientHttpJsonTest", + "com.google.shopping.merchant.inventories.v1beta.LocalInventoryServiceClientTest", + "com.google.shopping.merchant.inventories.v1beta.RegionalInventoryServiceClientHttpJsonTest", + "com.google.shopping.merchant.inventories.v1beta.RegionalInventoryServiceClientTest", + ], + runtime_deps = [":inventories_java_gapic_test"], +) + +# Open Source Packages +java_gapic_assembly_gradle_pkg( + name = "google-cloud-merchant-inventories-v1beta-java", + include_samples = True, + transport = "grpc+rest", + deps = [ + ":inventories_java_gapic", + ":inventories_java_grpc", + ":inventories_java_proto", + ":inventories_proto", + "//google/shopping/type:type_java_proto", # Added manually + ], +) + +############################################################################## +# Go +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "go_gapic_assembly_pkg", + "go_gapic_library", + "go_proto_library", +) + +go_proto_library( + name = "inventories_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "cloud.google.com/go/shopping/merchant/inventories/apiv1beta/inventoriespb", + protos = [":inventories_proto"], + deps = [ + "//google/api:annotations_go_proto", + "//google/shopping/type:type_go_proto", # Manual fix + "//google/type:interval_go_proto", + ], +) + +go_gapic_library( + name = "inventories_go_gapic", + srcs = [":inventories_proto_with_info"], + grpc_service_config = "inventories_grpc_service_config.json", + importpath = "cloud.google.com/go/shopping/merchant/inventories/apiv1beta;inventories", + metadata = True, + release_level = "beta", + rest_numeric_enums = True, + service_yaml = "merchantapi_v1beta.yaml", + transport = "grpc+rest", + deps = [ + ":inventories_go_proto", + ], +) + +# Open Source Packages +go_gapic_assembly_pkg( + name = "gapi-cloud-merchant-inventories-v1beta-go", + deps = [ + ":inventories_go_gapic", + ":inventories_go_gapic_srcjar-metadata.srcjar", + ":inventories_go_gapic_srcjar-snippets.srcjar", + ":inventories_go_gapic_srcjar-test.srcjar", + ":inventories_go_proto", + ], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "py_gapic_assembly_pkg", + "py_gapic_library", + "py_test", + "py_import", +) + +py_import( + name = "shopping_type", + srcs = [ + "//google/shopping/type:type_py_gapic", + ], +) + +py_gapic_library( + name = "inventories_py_gapic", + srcs = [":inventories_proto"], + grpc_service_config = "inventories_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "merchantapi_v1beta.yaml", + transport = "grpc+rest", + opt_args = [ + "proto-plus-deps=google.shopping.type", + "python-gapic-namespace=google.shopping", + "python-gapic-name=merchant_inventories", + ], + deps = [ + ":shopping_type", + ], +) + +py_test( + name = "inventories_py_gapic_test", + srcs = [ + "inventories_py_gapic_pytest.py", + "inventories_py_gapic_test.py", + ], + legacy_create_init = False, + deps = [":inventories_py_gapic"], +) + +# Open Source Packages +py_gapic_assembly_pkg( + name = "merchant-inventories-v1beta-py", + deps = [ + ":inventories_py_gapic", + ], +) + +############################################################################## +# PHP +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "php_gapic_assembly_pkg", + "php_gapic_library", + "php_proto_library", +) + +php_proto_library( + name = "inventories_php_proto", + deps = [":inventories_proto"], +) + +php_gapic_library( + name = "inventories_php_gapic", + srcs = [":inventories_proto_with_info"], + grpc_service_config = "inventories_grpc_service_config.json", + migration_mode = "NEW_SURFACE_ONLY", + rest_numeric_enums = True, + service_yaml = "merchantapi_v1beta.yaml", + transport = "grpc+rest", + deps = [ + ":inventories_php_proto", + ], +) + +# Open Source Packages +php_gapic_assembly_pkg( + name = "google-cloud-merchant-inventories-v1beta-php", + deps = [ + ":inventories_php_gapic", + ":inventories_php_proto", + ], +) + +############################################################################## +# Node.js +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "nodejs_gapic_assembly_pkg", + "nodejs_gapic_library", +) + +nodejs_gapic_library( + name = "inventories_nodejs_gapic", + package_name = "@google-shopping/inventories", + src = ":inventories_proto_with_info", + extra_protoc_parameters = ["metadata"], + grpc_service_config = "inventories_grpc_service_config.json", + package = "google.shopping.merchant.inventories.v1beta", + rest_numeric_enums = True, + service_yaml = "merchantapi_v1beta.yaml", + transport = "grpc+rest", + deps = [], +) + +nodejs_gapic_assembly_pkg( + name = "merchant-inventories-v1beta-nodejs", + deps = [ + ":inventories_nodejs_gapic", + ":inventories_proto", + "//google/shopping/type:type_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 = "inventories_ruby_proto", + deps = [":inventories_proto"], +) + +ruby_grpc_library( + name = "inventories_ruby_grpc", + srcs = [":inventories_proto"], + deps = [":inventories_ruby_proto"], +) + +ruby_cloud_gapic_library( + name = "inventories_ruby_gapic", + srcs = [":inventories_proto_with_info"], + extra_protoc_parameters = [ + "ruby-cloud-gem-name=google-shopping-merchant-inventories-v1beta", + "ruby-cloud-extra-dependencies=google-shopping-type=>0.0+<2.a", + ], + grpc_service_config = "inventories_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "merchantapi_v1beta.yaml", + transport = "grpc+rest", + deps = [ + ":inventories_ruby_grpc", + ":inventories_ruby_proto", + ], +) + +# Open Source Packages +ruby_gapic_assembly_pkg( + name = "google-cloud-merchant-inventories-v1beta-ruby", + deps = [ + ":inventories_ruby_gapic", + ":inventories_ruby_grpc", + ":inventories_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 = "inventories_csharp_proto", + extra_opts = [], + deps = [":inventories_proto"], +) + +csharp_grpc_library( + name = "inventories_csharp_grpc", + srcs = [":inventories_proto"], + deps = [":inventories_csharp_proto"], +) + +csharp_gapic_library( + name = "inventories_csharp_gapic", + srcs = [":inventories_proto_with_info"], + common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json", + grpc_service_config = "inventories_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "merchantapi_v1beta.yaml", + deps = [ + ":inventories_csharp_grpc", + ":inventories_csharp_proto", + ], +) + +# Open Source Packages +csharp_gapic_assembly_pkg( + name = "google-cloud-merchant-inventories-v1beta-csharp", + deps = [ + ":inventories_csharp_gapic", + ":inventories_csharp_grpc", + ":inventories_csharp_proto", + ], +) + +############################################################################## +# C++ +############################################################################## +# load( +# "@com_google_googleapis_imports//:imports.bzl", +# "cc_grpc_library", +# "cc_proto_library", +# ) +# +# cc_proto_library( +# name = "inventories_cc_proto", +# deps = [":inventories_proto"], +# ) +# +# cc_grpc_library( +# name = "inventories_cc_grpc", +# srcs = [":inventories_proto"], +# grpc_only = True, +# deps = [":inventories_cc_proto"], +# ) diff --git a/third_party/googleapis/google/shopping/merchant/inventories/v1beta/inventories_grpc_service_config.json b/third_party/googleapis/google/shopping/merchant/inventories/v1beta/inventories_grpc_service_config.json new file mode 100644 index 000000000..88b1ae56e --- /dev/null +++ b/third_party/googleapis/google/shopping/merchant/inventories/v1beta/inventories_grpc_service_config.json @@ -0,0 +1,16 @@ +{ + "methodConfig": [{ + "name": [ + { "service": "google.shopping.merchant.inventories.v1beta.LocalInventoryService" }, + { "service": "google.shopping.merchant.inventories.v1beta.RegionalInventoryService" } + ], + "timeout": "60s", + "retryPolicy": { + "maxAttempts": 5, + "initialBackoff": "1s", + "maxBackoff": "10s", + "backoffMultiplier": 1.3, + "retryableStatusCodes": ["UNAVAILABLE"] + } + }] +} diff --git a/third_party/googleapis/google/shopping/merchant/inventories/v1beta/localinventory.proto b/third_party/googleapis/google/shopping/merchant/inventories/v1beta/localinventory.proto new file mode 100644 index 000000000..6e128d2bc --- /dev/null +++ b/third_party/googleapis/google/shopping/merchant/inventories/v1beta/localinventory.proto @@ -0,0 +1,210 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.shopping.merchant.inventories.v1beta; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/empty.proto"; +import "google/shopping/type/types.proto"; +import "google/type/interval.proto"; + +option go_package = "cloud.google.com/go/shopping/merchant/inventories/apiv1beta/inventoriespb;inventoriespb"; +option java_multiple_files = true; +option java_outer_classname = "LocalInventoryProto"; +option java_package = "com.google.shopping.merchant.inventories.v1beta"; + +// Service to manage local inventory for products +service LocalInventoryService { + option (google.api.default_host) = "merchantapi.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/content"; + + // Lists the `LocalInventory` resources for the given product in your merchant + // account. The response might contain fewer items than specified by + // `pageSize`. If `pageToken` was returned in previous request, it can be used + // to obtain additional results. + // + // `LocalInventory` resources are listed per product for a given account. + rpc ListLocalInventories(ListLocalInventoriesRequest) + returns (ListLocalInventoriesResponse) { + option (google.api.http) = { + get: "/inventories/v1beta/{parent=accounts/*/products/*}/localInventories" + }; + option (google.api.method_signature) = "parent"; + } + + // Inserts a `LocalInventory` resource to a product in your merchant + // account. + // + // Replaces the full `LocalInventory` resource if an entry with the same + // [`storeCode`][google.shopping.merchant.inventories.v1beta.LocalInventory.store_code] + // already exists for the product. + // + // It might take up to 30 minutes for the new or updated `LocalInventory` + // resource to appear in products. + rpc InsertLocalInventory(InsertLocalInventoryRequest) + returns (LocalInventory) { + option (google.api.http) = { + post: "/inventories/v1beta/{parent=accounts/*/products/*}/localInventories:insert" + body: "local_inventory" + }; + } + + // Deletes the specified `LocalInventory` from the given product in your + // merchant account. It might take a up to an hour for the + // `LocalInventory` to be deleted from the specific product. + // Once you have received a successful delete response, wait for that + // period before attempting a delete again. + rpc DeleteLocalInventory(DeleteLocalInventoryRequest) + returns (google.protobuf.Empty) { + option (google.api.http) = { + delete: "/inventories/v1beta/{name=accounts/*/products/*/localInventories/*}" + }; + option (google.api.method_signature) = "name"; + } +} + +// Local inventory information for the product. Represents in-store information +// for a specific product at the store specified by +// [`storeCode`][google.shopping.merchant.inventories.v1beta.LocalInventory.store_code]. +// For a list of all accepted attribute values, see the [local product inventory +// feed specification](https://support.google.com/merchants/answer/3061342). +message LocalInventory { + option (google.api.resource) = { + type: "merchantapi.googleapis.com/LocalInventory" + pattern: "accounts/{account}/products/{product}/localInventories/{store_code}" + }; + + // Output only. The name of the `LocalInventory` resource. + // Format: + // `accounts/{account}/products/{product}/localInventories/{store_code}` + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The account that owns the product. This field will be ignored + // if set by the client. + int64 account = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. Store code (the store ID from your Business Profile) of the + // physical store the product is sold in. See the [Local product inventory + // feed specification](https://support.google.com/merchants/answer/3061342) + // for more information. + string store_code = 3 [(google.api.field_behavior) = REQUIRED]; + + // Price of the product at this store. + google.shopping.type.Price price = 4; + + // Sale price of the product at this store. Mandatory if + // [`salePriceEffectiveDate`][google.shopping.merchant.inventories.v1beta.LocalInventory.sale_price_effective_date] + // is defined. + google.shopping.type.Price sale_price = 5; + + // The `TimePeriod` of the + // sale at this store. + google.type.Interval sale_price_effective_date = 6; + + // Availability of the product at this store. + // For accepted attribute values, see the [local product inventory feed + // specification](https://support.google.com/merchants/answer/3061342) + optional string availability = 7; + + // Quantity of the product available at this store. Must be greater than or + // equal to zero. + optional int64 quantity = 8; + + // Supported pickup method for this product. Unless the value is `"not + // supported"`, this field must be submitted together with + // `pickupSla`. + // For accepted attribute values, see the [local product inventory feed + // specification](https://support.google.com/merchants/answer/3061342) + optional string pickup_method = 9; + + // Relative time period from the order date for an order for this product, + // from this store, to be ready for pickup. Must be submitted with + // `pickupMethod`. + // For accepted attribute values, see the [local product inventory feed + // specification](https://support.google.com/merchants/answer/3061342) + optional string pickup_sla = 10; + + // Location of the product inside the store. Maximum length is 20 bytes. + optional string instore_product_location = 11; + + // A list of custom (merchant-provided) attributes. You can also use + // `CustomAttribute` to submit any attribute of the feed specification in its + // generic form. + repeated google.shopping.type.CustomAttribute custom_attributes = 12; +} + +// Request message for the `ListLocalInventories` method. +message ListLocalInventoriesRequest { + // Required. The `name` of the parent product to list local inventories for. + // Format: + // `accounts/{account}/products/{product}` + string parent = 1 [(google.api.field_behavior) = REQUIRED]; + + // The maximum number of `LocalInventory` resources for the given + // product to return. The service returns fewer than this value if the number + // of inventories for the given product is less that than the `pageSize`. The + // default value is 25000. The maximum value is 25000; If a value higher than + // the maximum is specified, then the `pageSize` will default to the maximum + int32 page_size = 2; + + // A page token, received from a previous `ListLocalInventories` call. + // Provide the page token to retrieve the subsequent page. + // + // When paginating, all other parameters provided to `ListLocalInventories` + // must match the call that provided the page token. The token returned as + // [nextPageToken][google.shopping.merchant.inventories.v1beta.ListLocalInventoriesResponse.next_page_token] + // in the response to the previous request. + string page_token = 3; +} + +// Response message for the `ListLocalInventories` method. +message ListLocalInventoriesResponse { + // The `LocalInventory` resources for the given product from the specified + // account. + repeated LocalInventory local_inventories = 1; + + // A token, which can be sent as `pageToken` to retrieve the next page. + // If this field is omitted, there are no subsequent pages. + string next_page_token = 2; +} + +// Request message for the `InsertLocalInventory` method. +message InsertLocalInventoryRequest { + // Required. The account and product where this inventory will be inserted. + // Format: `accounts/{account}/products/{product}` + string parent = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. Local inventory information of the product. If the product + // already has a `LocalInventory` resource for the same `storeCode`, full + // replacement of the `LocalInventory` resource is performed. + LocalInventory local_inventory = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for the `DeleteLocalInventory` method. +message DeleteLocalInventoryRequest { + // Required. The name of the local inventory for the given product to delete. + // Format: + // `accounts/{account}/products/{product}/localInventories/{store_code}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "merchantapi.googleapis.com/LocalInventory" + } + ]; +} diff --git a/third_party/googleapis/google/shopping/merchant/inventories/v1beta/merchantapi_v1beta.yaml b/third_party/googleapis/google/shopping/merchant/inventories/v1beta/merchantapi_v1beta.yaml new file mode 100644 index 000000000..31566c4ab --- /dev/null +++ b/third_party/googleapis/google/shopping/merchant/inventories/v1beta/merchantapi_v1beta.yaml @@ -0,0 +1,99 @@ +type: google.api.Service +config_version: 3 +name: merchantapi.googleapis.com +title: Merchant API + +apis: +- name: google.shopping.merchant.inventories.v1beta.LocalInventoryService +- name: google.shopping.merchant.inventories.v1beta.RegionalInventoryService + +documentation: + summary: Programmatically manage your Merchant Center accounts. + +authentication: + rules: + - selector: 'google.shopping.merchant.inventories.v1beta.LocalInventoryService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/content + - selector: 'google.shopping.merchant.inventories.v1beta.RegionalInventoryService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/content + +publishing: + new_issue_uri: https://issuetracker.google.com/issues/new?component=171084&template=555201 + documentation_uri: https://developers.google.com/merchant/api + api_short_name: merchantapi + github_label: 'api: merchantapi' + doc_tag_prefix: merchantapi + organization: SHOPPING + library_settings: + - version: google.shopping.merchant.inventories.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 + - version: google.shopping.merchant.reports.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/shopping/merchant/inventories/v1beta/regionalinventory.proto b/third_party/googleapis/google/shopping/merchant/inventories/v1beta/regionalinventory.proto new file mode 100644 index 000000000..756bef28c --- /dev/null +++ b/third_party/googleapis/google/shopping/merchant/inventories/v1beta/regionalinventory.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.shopping.merchant.inventories.v1beta; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/empty.proto"; +import "google/shopping/type/types.proto"; +import "google/type/interval.proto"; + +option go_package = "cloud.google.com/go/shopping/merchant/inventories/apiv1beta/inventoriespb;inventoriespb"; +option java_multiple_files = true; +option java_outer_classname = "RegionalInventoryProto"; +option java_package = "com.google.shopping.merchant.inventories.v1beta"; + +// Service to manage regional inventory for products. There is also separate +// `regions` resource and API to manage regions definitions. +service RegionalInventoryService { + option (google.api.default_host) = "merchantapi.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/content"; + + // Lists the `RegionalInventory` resources for the given product in your + // merchant account. The response might contain fewer items than specified by + // `pageSize`. If `pageToken` was returned in previous request, it can be + // used to obtain additional results. + // + // `RegionalInventory` resources are listed per product for a given account. + rpc ListRegionalInventories(ListRegionalInventoriesRequest) + returns (ListRegionalInventoriesResponse) { + option (google.api.http) = { + get: "/inventories/v1beta/{parent=accounts/*/products/*}/regionalInventories" + }; + option (google.api.method_signature) = "parent"; + } + + // Inserts a `RegionalInventory` to a given product in your + // merchant account. + // + // Replaces the full `RegionalInventory` resource if an entry with the same + // [`region`][google.shopping.merchant.inventories.v1beta.RegionalInventory.region] + // already exists for the product. + // + // It might take up to 30 minutes for the new or updated `RegionalInventory` + // resource to appear in products. + rpc InsertRegionalInventory(InsertRegionalInventoryRequest) + returns (RegionalInventory) { + option (google.api.http) = { + post: "/inventories/v1beta/{parent=accounts/*/products/*}/regionalInventories:insert" + body: "regional_inventory" + }; + } + + // Deletes the specified `RegionalInventory` resource from the given product + // in your merchant account. It might take up to an hour for the + // `RegionalInventory` to be deleted from the specific product. + // Once you have received a successful delete response, wait for that + // period before attempting a delete again. + rpc DeleteRegionalInventory(DeleteRegionalInventoryRequest) + returns (google.protobuf.Empty) { + option (google.api.http) = { + delete: "/inventories/v1beta/{name=accounts/*/products/*/regionalInventories/*}" + }; + option (google.api.method_signature) = "name"; + } +} + +// Regional inventory information for the product. Represents specific +// information like price and availability for a given product in a specific +// [`region`][google.shopping.merchant.inventories.v1beta.RegionalInventory.region]. +// For a list of all accepted attribute values, see the [regional product +// inventory feed +// specification](https://support.google.com/merchants/answer/9698880). +message RegionalInventory { + option (google.api.resource) = { + type: "merchantapi.googleapis.com/RegionalInventory" + pattern: "accounts/{account}/products/{product}/regionalInventories/{region}" + }; + + // Output only. The name of the `RegionalInventory` resource. + // Format: + // `{regional_inventory.name=accounts/{account}/products/{product}/regionalInventories/{region}` + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The account that owns the product. This field will be ignored + // if set by the client. + int64 account = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. ID of the region for this + // `RegionalInventory` resource. See the [Regional availability and + // pricing](https://support.google.com/merchants/answer/9698880) for more + // details. + string region = 3 [(google.api.field_behavior) = REQUIRED]; + + // Price of the product in this region. + google.shopping.type.Price price = 4; + + // Sale price of the product in this region. Mandatory if + // [`salePriceEffectiveDate`][google.shopping.merchant.inventories.v1beta.RegionalInventory.sale_price_effective_date] + // is defined. + google.shopping.type.Price sale_price = 5; + + // The `TimePeriod` of the + // sale price in this region. + google.type.Interval sale_price_effective_date = 6; + + // Availability of the product in this region. + // For accepted attribute values, see the [regional product inventory feed + // specification](https://support.google.com/merchants/answer/3061342) + optional string availability = 7; + + // A list of custom (merchant-provided) attributes. You can also use + // `CustomAttribute` to submit any attribute of the feed specification in its + // generic form. + repeated google.shopping.type.CustomAttribute custom_attributes = 8; +} + +// Request message for the `ListRegionalInventories` method. +message ListRegionalInventoriesRequest { + // Required. The `name` of the parent product to list `RegionalInventory` + // resources for. Format: `accounts/{account}/products/{product}` + string parent = 1 [(google.api.field_behavior) = REQUIRED]; + + // The maximum number of `RegionalInventory` resources for the given product + // to return. The service returns fewer than this value if the number of + // inventories for the given product is less that than the `pageSize`. The + // default value is 25000. The maximum value is 100000; If a value higher than + // the maximum is specified, then the `pageSize` will default to the maximum. + int32 page_size = 2; + + // A page token, received from a previous `ListRegionalInventories` call. + // Provide the page token to retrieve the subsequent page. + // + // When paginating, all other parameters provided to `ListRegionalInventories` + // must match the call that provided the page token. The token returned as + // [nextPageToken][google.shopping.merchant.inventories.v1beta.ListRegionalInventoriesResponse.next_page_token] + // in the response to the previous request. + string page_token = 3; +} + +// Response message for the `ListRegionalInventories` method. +message ListRegionalInventoriesResponse { + // The `RegionalInventory` resources for the given product from the specified + // account. + repeated RegionalInventory regional_inventories = 1; + + // A token, which can be sent as `pageToken` to retrieve the next page. + // If this field is omitted, there are no subsequent pages. + string next_page_token = 2; +} + +// Request message for the `InsertRegionalInventory` method. +message InsertRegionalInventoryRequest { + // Required. The account and product where this inventory will be inserted. + // Format: `accounts/{account}/products/{product}` + string parent = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. Regional inventory information to add to the product. If the + // product already has a `RegionalInventory` resource for the same `region`, + // full replacement of the `RegionalInventory` resource is performed. + RegionalInventory regional_inventory = 2 + [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for the `DeleteRegionalInventory` method. +message DeleteRegionalInventoryRequest { + // Required. The name of the `RegionalInventory` resource to delete. + // Format: + // `accounts/{account}/products/{product}/regionalInventories/{region}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "merchantapi.googleapis.com/RegionalInventory" + } + ]; +} diff --git a/third_party/googleapis/google/shopping/merchant/reports/BUILD.bazel b/third_party/googleapis/google/shopping/merchant/reports/BUILD.bazel new file mode 100644 index 000000000..513065147 --- /dev/null +++ b/third_party/googleapis/google/shopping/merchant/reports/BUILD.bazel @@ -0,0 +1,36 @@ +# This build file includes a target for the Ruby wrapper library for +# google-shopping-merchant-reports. + +# 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 merchant reports. +# 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 = "reports_ruby_wrapper", + srcs = ["//google/shopping/merchant/reports/v1beta:reports_proto_with_info"], + extra_protoc_parameters = [ + "ruby-cloud-gem-name=google-shopping-merchant-reports", + "ruby-cloud-wrapper-of=v1beta:0.3", + ], + service_yaml = "//google/shopping/merchant/reports/v1beta:merchantapi_v1beta.yaml", + transport = "grpc+rest", +) + +# Open Source package. +ruby_gapic_assembly_pkg( + name = "google-shopping-merchant-reports-ruby", + deps = [ + ":reports_ruby_wrapper", + ], +) diff --git a/third_party/googleapis/google/shopping/merchant/reports/v1beta/BUILD.bazel b/third_party/googleapis/google/shopping/merchant/reports/v1beta/BUILD.bazel new file mode 100644 index 000000000..422b34f3e --- /dev/null +++ b/third_party/googleapis/google/shopping/merchant/reports/v1beta/BUILD.bazel @@ -0,0 +1,390 @@ +# 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 = "reports_proto", + srcs = [ + "reports.proto", + ], + deps = [ + "//google/api:annotations_proto", + "//google/api:client_proto", + "//google/api:field_behavior_proto", + "//google/shopping/type:type_proto", # Manual fix. Original :types_proto + "//google/type:date_proto", + "@com_google_protobuf//:timestamp_proto", + ], +) + +proto_library_with_info( + name = "reports_proto_with_info", + deps = [ + ":reports_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 = "reports_java_proto", + deps = [":reports_proto"], +) + +java_grpc_library( + name = "reports_java_grpc", + srcs = [":reports_proto"], + deps = [":reports_java_proto"], +) + +java_gapic_library( + name = "reports_java_gapic", + srcs = [":reports_proto_with_info"], + gapic_yaml = None, + grpc_service_config = "reports_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "merchantapi_v1beta.yaml", + test_deps = [ + ":reports_java_grpc", + ], + transport = "grpc+rest", + deps = [ + ":reports_java_proto", + "//google/api:api_java_proto", +"//google/shopping/type:type_java_proto", # Added manually + ], +) + +java_gapic_test( + name = "reports_java_gapic_test_suite", + test_classes = [ + "com.google.shopping.merchant.reports.v1beta.ReportServiceClientHttpJsonTest", + "com.google.shopping.merchant.reports.v1beta.ReportServiceClientTest", + ], + runtime_deps = [":reports_java_gapic_test"], +) + +# Open Source Packages +java_gapic_assembly_gradle_pkg( + name = "google-cloud-merchant-reports-v1beta-java", + include_samples = True, + transport = "grpc+rest", + deps = [ + ":reports_java_gapic", + ":reports_java_grpc", + ":reports_java_proto", + ":reports_proto", +"//google/shopping/type:type_java_proto", # Added manually + ], +) + +############################################################################## +# Go +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "go_gapic_assembly_pkg", + "go_gapic_library", + "go_proto_library", +) + +go_proto_library( + name = "reports_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "cloud.google.com/go/shopping/merchant/reports/apiv1beta/reportspb", + protos = [":reports_proto"], + deps = [ + "//google/api:annotations_go_proto", + "//google/shopping/type:type_go_proto", # Manual fix. Original :types_go_proto + "//google/type:date_go_proto", + ], +) + +go_gapic_library( + name = "reports_go_gapic", + srcs = [":reports_proto_with_info"], + grpc_service_config = "reports_grpc_service_config.json", + importpath = "cloud.google.com/go/shopping/merchant/reports/apiv1beta;reports", + metadata = True, + release_level = "beta", + rest_numeric_enums = True, + service_yaml = "merchantapi_v1beta.yaml", + transport = "grpc+rest", + deps = [ + ":reports_go_proto", + ], +) + +# Open Source Packages +go_gapic_assembly_pkg( + name = "gapi-cloud-merchant-reports-v1beta-go", + deps = [ + ":reports_go_gapic", + ":reports_go_gapic_srcjar-metadata.srcjar", + ":reports_go_gapic_srcjar-snippets.srcjar", + ":reports_go_gapic_srcjar-test.srcjar", + ":reports_go_proto", + ], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "py_gapic_assembly_pkg", + "py_gapic_library", + "py_import", +) + +py_import( + name = "shopping_type", + srcs = [ + "//google/shopping/type:type_py_gapic", +], +) + +py_gapic_library( + name = "reports_py_gapic", + srcs = [":reports_proto"], + grpc_service_config = "reports_grpc_service_config.json", + opt_args = [ + "proto-plus-deps=google.shopping.type", + "python-gapic-name=merchant_reports", + "python-gapic-namespace=google.shopping", + ], + rest_numeric_enums = True, + service_yaml = "merchantapi_v1beta.yaml", + transport = "grpc+rest", + deps = [ + ":shopping_type", + ], +) + +py_test( + name = "reports_py_gapic_test", + srcs = [ + "reports_py_gapic_pytest.py", + "reports_py_gapic_test.py", + ], + legacy_create_init = False, + deps = [":reports_py_gapic"], +) + +# Open Source Packages +py_gapic_assembly_pkg( + name = "merchant-reports-v1beta-py", + deps = [ + ":reports_py_gapic", + ], +) + +############################################################################## +# PHP +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "php_gapic_assembly_pkg", + "php_gapic_library", + "php_proto_library", +) + +php_proto_library( + name = "reports_php_proto", + deps = [":reports_proto"], +) + +php_gapic_library( + name = "reports_php_gapic", + srcs = [":reports_proto_with_info"], + grpc_service_config = "reports_grpc_service_config.json", + migration_mode = "NEW_SURFACE_ONLY", + rest_numeric_enums = True, + service_yaml = "merchantapi_v1beta.yaml", + transport = "grpc+rest", + deps = [ + ":reports_php_proto", + ], +) + +# Open Source Packages +php_gapic_assembly_pkg( + name = "google-cloud-merchant-reports-v1beta-php", + deps = [ + ":reports_php_gapic", + ":reports_php_proto", + ], +) + +############################################################################## +# Node.js +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "nodejs_gapic_assembly_pkg", + "nodejs_gapic_library", +) + +nodejs_gapic_library( + name = "reports_nodejs_gapic", + package_name = "@google-shopping/reports", + src = ":reports_proto_with_info", + extra_protoc_parameters = ["metadata"], + grpc_service_config = "reports_grpc_service_config.json", + package = "google.shopping.merchant.reports.v1beta", + rest_numeric_enums = True, + service_yaml = "merchantapi_v1beta.yaml", + transport = "grpc+rest", + deps = [], +) + +nodejs_gapic_assembly_pkg( + name = "merchant-reports-v1beta-nodejs", + deps = [ + ":reports_nodejs_gapic", + ":reports_proto", + "//google/shopping/type:type_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 = "reports_ruby_proto", + deps = [":reports_proto"], +) + +ruby_grpc_library( + name = "reports_ruby_grpc", + srcs = [":reports_proto"], + deps = [":reports_ruby_proto"], +) + +ruby_cloud_gapic_library( + name = "reports_ruby_gapic", + srcs = [":reports_proto_with_info"], + extra_protoc_parameters = [ + "ruby-cloud-extra-dependencies=google-shopping-type=>0.0+<2.a", + "ruby-cloud-gem-name=google-shopping-merchant-reports-v1beta", + ], + grpc_service_config = "reports_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "merchantapi_v1beta.yaml", + transport = "grpc+rest", + deps = [ + ":reports_ruby_grpc", + ":reports_ruby_proto", + ], +) + +# Open Source Packages +ruby_gapic_assembly_pkg( + name = "google-cloud-merchant-reports-v1beta-ruby", + deps = [ + ":reports_ruby_gapic", + ":reports_ruby_grpc", + ":reports_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 = "reports_csharp_proto", + deps = [":reports_proto"], +) + +csharp_grpc_library( + name = "reports_csharp_grpc", + srcs = [":reports_proto"], + deps = [":reports_csharp_proto"], +) + +csharp_gapic_library( + name = "reports_csharp_gapic", + srcs = [":reports_proto_with_info"], + common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json", + grpc_service_config = "reports_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "merchantapi_v1beta.yaml", + deps = [ + ":reports_csharp_grpc", + ":reports_csharp_proto", + ], +) + +# Open Source Packages +csharp_gapic_assembly_pkg( + name = "google-cloud-merchant-reports-v1beta-csharp", + deps = [ + ":reports_csharp_gapic", + ":reports_csharp_grpc", + ":reports_csharp_proto", + ], +) + +############################################################################## +# C++ +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "cc_grpc_library", + "cc_proto_library", +) + +cc_proto_library( + name = "reports_cc_proto", + deps = [":reports_proto"], +) + +cc_grpc_library( + name = "reports_cc_grpc", + srcs = [":reports_proto"], + grpc_only = True, + deps = [":reports_cc_proto"], +) diff --git a/third_party/googleapis/google/shopping/merchant/reports/v1beta/merchantapi_v1beta.yaml b/third_party/googleapis/google/shopping/merchant/reports/v1beta/merchantapi_v1beta.yaml new file mode 100644 index 000000000..d83ae222a --- /dev/null +++ b/third_party/googleapis/google/shopping/merchant/reports/v1beta/merchantapi_v1beta.yaml @@ -0,0 +1,94 @@ +type: google.api.Service +config_version: 3 +name: merchantapi.googleapis.com +title: Merchant API + +apis: +- name: google.shopping.merchant.reports.v1beta.ReportService + +documentation: + summary: Programmatically manage your Merchant Center accounts. + +authentication: + rules: + - selector: google.shopping.merchant.reports.v1beta.ReportService.Search + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/content + +publishing: + new_issue_uri: https://issuetracker.google.com/issues/new?component=171084&template=555201 + documentation_uri: https://developers.google.com/merchant/api + api_short_name: merchantapi + github_label: 'api: merchantapi' + doc_tag_prefix: merchantapi + organization: SHOPPING + library_settings: + - version: google.shopping.merchant.inventories.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 + - version: google.shopping.merchant.reports.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/shopping/merchant/reports/v1beta/reports.proto b/third_party/googleapis/google/shopping/merchant/reports/v1beta/reports.proto new file mode 100644 index 000000000..039932120 --- /dev/null +++ b/third_party/googleapis/google/shopping/merchant/reports/v1beta/reports.proto @@ -0,0 +1,1159 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.shopping.merchant.reports.v1beta; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/protobuf/timestamp.proto"; +import "google/shopping/type/types.proto"; +import "google/type/date.proto"; + +option go_package = "cloud.google.com/go/shopping/merchant/reports/apiv1beta/reportspb;reportspb"; +option java_multiple_files = true; +option java_outer_classname = "ReportsProto"; +option java_package = "com.google.shopping.merchant.reports.v1beta"; + +// Service for retrieving reports and insights about your products, their +// performance, and their competitive environment on Google. +service ReportService { + option (google.api.default_host) = "merchantapi.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/content"; + + // Retrieves a report defined by a search query. The response might contain + // fewer rows than specified by `page_size`. Rely on `next_page_token` to + // determine if there are more rows to be requested. + rpc Search(SearchRequest) returns (SearchResponse) { + option (google.api.http) = { + post: "/reports/v1beta/{parent=accounts/*}/reports:search" + body: "*" + }; + option (google.api.method_signature) = "parent"; + } +} + +// Request message for the `ReportService.Search` method. +message SearchRequest { + // Required. Id of the account making the call. Must be a standalone account + // or an MCA subaccount. Format: accounts/{account} + string parent = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. Query that defines a report to be retrieved. + // + // For details on how to construct your query, see the Query Language + // guide. For the full list of available tables and fields, see the Available + // fields. + string query = 2 [(google.api.field_behavior) = REQUIRED]; + + // Optional. Number of `ReportRows` to retrieve in a single page. Defaults to + // the maximum of 1000. Values above 1000 are coerced to 1000. + int32 page_size = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Token of the page to retrieve. If not specified, the first page + // of results is returned. In order to request the next page of results, the + // value obtained from `next_page_token` in the previous response should be + // used. + string page_token = 4 [(google.api.field_behavior) = OPTIONAL]; +} + +// Response message for the `ReportService.Search` method. +message SearchResponse { + // Rows that matched the search query. + repeated ReportRow results = 1; + + // Token which can be sent as `page_token` to retrieve the next page. If + // omitted, there are no subsequent pages. + string next_page_token = 2; +} + +// Result row returned from the search query. +// +// Only the message corresponding to the queried table is populated in the +// response. Within the populated message, only the fields requested explicitly +// in the query are populated. +message ReportRow { + // Fields available for query in `product_performance_view` table. + ProductPerformanceView product_performance_view = 1; + + // Fields available for query in `product_view` table. + ProductView product_view = 2; + + // Fields available for query in `price_competitiveness_product_view` table. + PriceCompetitivenessProductView price_competitiveness_product_view = 3; + + // Fields available for query in `price_insights_product_view` table. + PriceInsightsProductView price_insights_product_view = 4; + + // Fields available for query in `best_sellers_product_cluster_view` table. + BestSellersProductClusterView best_sellers_product_cluster_view = 5; + + // Fields available for query in `best_sellers_brand_view` table. + BestSellersBrandView best_sellers_brand_view = 6; + + // Fields available for query in `competitive_visibility_competitor_view` + // table. + CompetitiveVisibilityCompetitorView competitive_visibility_competitor_view = + 8; + + // Fields available for query in `competitive_visibility_top_merchant_view` + // table. + CompetitiveVisibilityTopMerchantView + competitive_visibility_top_merchant_view = 9; + + // Fields available for query in `competitive_visibility_benchmark_view` + // table. + CompetitiveVisibilityBenchmarkView competitive_visibility_benchmark_view = 10; +} + +// Fields available for query in `product_performance_view` table. +// +// Product performance data for your account, including performance metrics (for +// example, `clicks`) and dimensions according to which performance metrics are +// segmented (for example, `offer_id`). Values of product dimensions, such as +// `offer_id`, reflect the state of a product at the time of the impression. +// +// Segment fields cannot be selected in queries without also selecting at least +// one metric field. +// +// Values are only set for fields requested explicitly in the request's search +// query. +message ProductPerformanceView { + // Marketing method to which metrics apply. Segment. + optional MarketingMethod.MarketingMethodEnum marketing_method = 1; + + // Date in the merchant timezone to which metrics apply. Segment. + // + // Condition on `date` is required in the `WHERE` clause. + google.type.Date date = 2; + + // First day of the week (Monday) of the metrics date in the merchant + // timezone. Segment. + google.type.Date week = 3; + + // Code of the country where the customer is located at the time of the event. + // Represented in the ISO 3166 format. Segment. + // + // If the customer country cannot be determined, a special 'ZZ' code is + // returned. + optional string customer_country_code = 4; + + // Merchant-provided id of the product. Segment. + optional string offer_id = 5; + + // Title of the product. Segment. + optional string title = 6; + + // Brand of the product. Segment. + optional string brand = 7; + + // [Product category (1st + // level)](https://developers.google.com/shopping-content/guides/reports/segmentation#category_and_product_type) + // in Google's product taxonomy. Segment. + optional string category_l1 = 8; + + // [Product category (2nd + // level)](https://developers.google.com/shopping-content/guides/reports/segmentation#category_and_product_type) + // in Google's product taxonomy. Segment. + optional string category_l2 = 9; + + // [Product category (3rd + // level)](https://developers.google.com/shopping-content/guides/reports/segmentation#category_and_product_type) + // in Google's product taxonomy. Segment. + optional string category_l3 = 10; + + // [Product category (4th + // level)](https://developers.google.com/shopping-content/guides/reports/segmentation#category_and_product_type) + // in Google's product taxonomy. Segment. + optional string category_l4 = 11; + + // [Product category (5th + // level)](https://developers.google.com/shopping-content/guides/reports/segmentation#category_and_product_type) + // in Google's product taxonomy. Segment. + optional string category_l5 = 12; + + // [Product type (1st + // level)](https://developers.google.com/shopping-content/guides/reports/segmentation#category_and_product_type) + // in merchant's own product taxonomy. Segment. + optional string product_type_l1 = 13; + + // [Product type (2nd + // level)](https://developers.google.com/shopping-content/guides/reports/segmentation#category_and_product_type) + // in merchant's own product taxonomy. Segment. + optional string product_type_l2 = 14; + + // [Product type (3rd + // level)](https://developers.google.com/shopping-content/guides/reports/segmentation#category_and_product_type) + // in merchant's own product taxonomy. Segment. + optional string product_type_l3 = 15; + + // [Product type (4th + // level)](https://developers.google.com/shopping-content/guides/reports/segmentation#category_and_product_type) + // in merchant's own product taxonomy. Segment. + optional string product_type_l4 = 16; + + // [Product type (5th + // level)](https://developers.google.com/shopping-content/guides/reports/segmentation#category_and_product_type) + // in merchant's own product taxonomy. Segment. + optional string product_type_l5 = 17; + + // Custom label 0 for custom grouping of products. Segment. + optional string custom_label0 = 18; + + // Custom label 1 for custom grouping of products. Segment. + optional string custom_label1 = 19; + + // Custom label 2 for custom grouping of products. Segment. + optional string custom_label2 = 20; + + // Custom label 3 for custom grouping of products. Segment. + optional string custom_label3 = 21; + + // Custom label 4 for custom grouping of products. Segment. + optional string custom_label4 = 22; + + // Number of clicks. Metric. + optional int64 clicks = 23; + + // Number of times merchant's products are shown. Metric. + optional int64 impressions = 24; + + // Click-through rate - the number of clicks merchant's products receive + // (clicks) divided by the number of times the products are shown + // (impressions). Metric. + optional double click_through_rate = 25; + + // Number of conversions attributed to the product, reported on the conversion + // date. Depending on the attribution model, a conversion might be distributed + // across multiple clicks, where each click gets its own credit assigned. This + // metric is a sum of all such credits. Metric. + // + // Available only for the `FREE` traffic source. + optional double conversions = 26; + + // Value of conversions attributed to the product, reported on the conversion + // date. Metric. + // + // Available only for the `FREE` traffic source. + google.shopping.type.Price conversion_value = 27; + + // Number of conversions divided by the number of clicks, reported on the + // impression date. Metric. + // + // Available only for the `FREE` traffic source. + optional double conversion_rate = 28; +} + +// Fields available for query in `product_view` table. +// +// Products in the current inventory. Products in this table are the same as in +// Products sub-API but not all product attributes from Products sub-API are +// available for query in this table. In contrast to Products sub-API, this +// table allows to filter the returned list of products by product attributes. +// To retrieve a single product by `id` or list all products, Products sub-API +// should be used. +// +// Values are only set for fields requested explicitly in the request's search +// query. +// +message ProductView { + // Item issue associated with the product. + message ItemIssue { + // Issue type. + message ItemIssueType { + // Error code of the issue, equivalent to the `code` of [Product + // issues](https://developers.google.com/shopping-content/guides/product-issues). + optional string code = 1; + + // Canonical attribute name for attribute-specific issues. + optional string canonical_attribute = 2; + } + + // How the issue affects the serving of the product. + message ItemIssueSeverity { + // Issue severity per reporting context. + message IssueSeverityPerReportingContext { + // Reporting context the issue applies to. + optional google.shopping.type.ReportingContext.ReportingContextEnum + reporting_context = 1; + + // List of disapproved countries in the reporting context, represented + // in ISO 3166 format. + repeated string disapproved_countries = 2; + + // List of demoted countries in the reporting context, represented in + // ISO 3166 format. + repeated string demoted_countries = 3; + } + + // Issue severity aggregated for all reporting contexts. + enum AggregatedIssueSeverity { + // Not specified. + AGGREGATED_ISSUE_SEVERITY_UNSPECIFIED = 0; + + // Issue disapproves the product in at least one reporting context. + DISAPPROVED = 1; + + // Issue demotes the product in all reporting contexts it affects. + DEMOTED = 2; + + // Issue resolution is `PENDING_PROCESSING`. + PENDING = 3; + } + + // Issue severity per reporting context. + repeated IssueSeverityPerReportingContext severity_per_reporting_context = + 1; + + // Aggregated severity of the issue for all reporting contexts it affects. + // + // **This field can be used for filtering the results.** + optional AggregatedIssueSeverity aggregated_severity = 2; + } + + // How to resolve the issue. + enum ItemIssueResolution { + // Not specified. + ITEM_ISSUE_RESOLUTION_UNSPECIFIED = 0; + + // The merchant has to fix the issue. + MERCHANT_ACTION = 1; + + // The issue will be resolved automatically (for example, image crawl) or + // through a Google review. No merchant action is required now. Resolution + // might lead to another issue (for example, if crawl fails). + PENDING_PROCESSING = 2; + } + + // Item issue type. + ItemIssueType type = 1; + + // Item issue severity. + ItemIssueSeverity severity = 2; + + // Item issue resolution. + optional ItemIssueResolution resolution = 3; + } + + // Status of the product aggregated for all reporting contexts. + // + // Here's an example of how the aggregated status is computed: + // + // Free listings | Shopping Ads | Status + // --------------|--------------|------------------------------ + // Approved | Approved | ELIGIBLE + // Approved | Pending | ELIGIBLE + // Approved | Disapproved | ELIGIBLE_LIMITED + // Pending | Pending | PENDING + // Disapproved | Disapproved | NOT_ELIGIBLE_OR_DISAPPROVED + // + // + enum AggregatedReportingContextStatus { + // Not specified. + AGGREGATED_REPORTING_CONTEXT_STATUS_UNSPECIFIED = 0; + + // Product is not eligible or is disapproved for all reporting contexts. + NOT_ELIGIBLE_OR_DISAPPROVED = 1; + + // Product's status is pending in all reporting contexts. + PENDING = 2; + + // Product is eligible for some (but not all) reporting contexts. + ELIGIBLE_LIMITED = 3; + + // Product is eligible for all reporting contexts. + ELIGIBLE = 4; + } + + // REST ID of the product, in the form of + // `channel~languageCode~feedLabel~offerId`. Merchant API methods that operate + // on products take this as their `name` parameter. + // + // Required in the `SELECT` clause. + optional string id = 1; + + // Channel of the product. Can be `ONLINE` or `LOCAL`. + optional google.shopping.type.Channel.ChannelEnum channel = 28; + + // Language code of the product in BCP 47 format. + optional string language_code = 2; + + // Feed label of the product. + optional string feed_label = 3; + + // Merchant-provided id of the product. + optional string offer_id = 4; + + // Title of the product. + optional string title = 5; + + // Brand of the product. + optional string brand = 6; + + // Product category (1st level) in [Google's product + // taxonomy](https://support.google.com/merchants/answer/6324436). + optional string category_l1 = 7; + + // Product category (2nd level) in [Google's product + // taxonomy](https://support.google.com/merchants/answer/6324436). + optional string category_l2 = 8; + + // Product category (3rd level) in [Google's product + // taxonomy](https://support.google.com/merchants/answer/6324436). + optional string category_l3 = 9; + + // Product category (4th level) in [Google's product + // taxonomy](https://support.google.com/merchants/answer/6324436). + optional string category_l4 = 10; + + // Product category (5th level) in [Google's product + // taxonomy](https://support.google.com/merchants/answer/6324436). + optional string category_l5 = 11; + + // Product type (1st level) in merchant's own [product + // taxonomy](https://support.google.com/merchants/answer/6324406). + optional string product_type_l1 = 12; + + // Product type (2nd level) in merchant's own [product + // taxonomy](https://support.google.com/merchants/answer/6324406). + optional string product_type_l2 = 13; + + // Product type (3rd level) in merchant's own [product + // taxonomy](https://support.google.com/merchants/answer/6324406). + optional string product_type_l3 = 14; + + // Product type (4th level) in merchant's own [product + // taxonomy](https://support.google.com/merchants/answer/6324406). + optional string product_type_l4 = 15; + + // Product type (5th level) in merchant's own [product + // taxonomy](https://support.google.com/merchants/answer/6324406). + optional string product_type_l5 = 16; + + // Product price. Absent if the information about the price of the product is + // not available. + google.shopping.type.Price price = 17; + + // [Condition](https://support.google.com/merchants/answer/6324469) of the + // product. + optional string condition = 18; + + // [Availability](https://support.google.com/merchants/answer/6324448) of the + // product. + optional string availability = 19; + + // Normalized [shipping + // label](https://support.google.com/merchants/answer/6324504) specified in + // the feed. + optional string shipping_label = 20; + + // List of Global Trade Item Numbers (GTINs) of the product. + repeated string gtin = 21; + + // Item group id provided by the merchant for grouping variants together. + optional string item_group_id = 22; + + // Link to the processed image of the product, hosted on the Google + // infrastructure. + optional string thumbnail_link = 23; + + // The time the merchant created the product in timestamp seconds. + google.protobuf.Timestamp creation_time = 24; + + // Expiration date for the product, specified on insertion. + google.type.Date expiration_date = 25; + + // Aggregated status. + optional AggregatedReportingContextStatus + aggregated_reporting_context_status = 26; + + // List of item issues for the product. + // + // **This field cannot be used for sorting the results.** + // + // **Only selected attributes of this field (for example, + // `item_issues.severity.aggregated_severity`) can be used for filtering the + // results.** + repeated ItemIssue item_issues = 27; +} + +// Fields available for query in `price_competitiveness_product_view` table. +// +// [Price competitiveness](https://support.google.com/merchants/answer/9626903) +// report. +// +// Values are only set for fields requested explicitly in the request's search +// query. +message PriceCompetitivenessProductView { + // Country of the price benchmark. Represented in the ISO 3166 format. + // + // Required in the `SELECT` clause. + optional string report_country_code = 1; + + // REST ID of the product, in the form of + // `channel~languageCode~feedLabel~offerId`. Can be used to join data with the + // `product_view` table. + // + // Required in the `SELECT` clause. + optional string id = 2; + + // Merchant-provided id of the product. + optional string offer_id = 3; + + // Title of the product. + optional string title = 4; + + // Brand of the product. + optional string brand = 5; + + // Product category (1st level) in [Google's product + // taxonomy](https://support.google.com/merchants/answer/6324436). + optional string category_l1 = 6; + + // Product category (2nd level) in [Google's product + // taxonomy](https://support.google.com/merchants/answer/6324436). + optional string category_l2 = 7; + + // Product category (3rd level) in [Google's product + // taxonomy](https://support.google.com/merchants/answer/6324436). + optional string category_l3 = 8; + + // Product category (4th level) in [Google's product + // taxonomy](https://support.google.com/merchants/answer/6324436). + optional string category_l4 = 9; + + // Product category (5th level) in [Google's product + // taxonomy](https://support.google.com/merchants/answer/6324436). + optional string category_l5 = 10; + + // Product type (1st level) in merchant's own [product + // taxonomy](https://support.google.com/merchants/answer/6324406). + optional string product_type_l1 = 11; + + // Product type (2nd level) in merchant's own [product + // taxonomy](https://support.google.com/merchants/answer/6324406). + optional string product_type_l2 = 12; + + // Product type (3rd level) in merchant's own [product + // taxonomy](https://support.google.com/merchants/answer/6324406). + optional string product_type_l3 = 13; + + // Product type (4th level) in merchant's own [product + // taxonomy](https://support.google.com/merchants/answer/6324406). + optional string product_type_l4 = 14; + + // Product type (5th level) in merchant's own [product + // taxonomy](https://support.google.com/merchants/answer/6324406). + optional string product_type_l5 = 15; + + // Current price of the product. + google.shopping.type.Price price = 16; + + // Latest available price benchmark for the product's catalog in the benchmark + // country. + google.shopping.type.Price benchmark_price = 17; +} + +// Fields available for query in `price_insights_product_view` table. +// +// [Price insights](https://support.google.com/merchants/answer/11916926) +// report. +// +// Values are only set for fields requested explicitly in the request's search +// query. +message PriceInsightsProductView { + // REST ID of the product, in the form of + // `channel~languageCode~feedLabel~offerId`. Can be used to join data with the + // `product_view` table. + // + // Required in the `SELECT` clause. + optional string id = 1; + + // Merchant-provided id of the product. + optional string offer_id = 2; + + // Title of the product. + optional string title = 3; + + // Brand of the product. + optional string brand = 4; + + // Product category (1st level) in [Google's product + // taxonomy](https://support.google.com/merchants/answer/6324436). + optional string category_l1 = 5; + + // Product category (2nd level) in [Google's product + // taxonomy](https://support.google.com/merchants/answer/6324436). + optional string category_l2 = 6; + + // Product category (3rd level) in [Google's product + // taxonomy](https://support.google.com/merchants/answer/6324436). + optional string category_l3 = 7; + + // Product category (4th level) in [Google's product + // taxonomy](https://support.google.com/merchants/answer/6324436). + optional string category_l4 = 8; + + // Product category (5th level) in [Google's product + // taxonomy](https://support.google.com/merchants/answer/6324436). + optional string category_l5 = 9; + + // Product type (1st level) in merchant's own [product + // taxonomy](https://support.google.com/merchants/answer/6324406). + optional string product_type_l1 = 10; + + // Product type (2nd level) in merchant's own [product + // taxonomy](https://support.google.com/merchants/answer/6324406). + optional string product_type_l2 = 11; + + // Product type (3rd level) in merchant's own [product + // taxonomy](https://support.google.com/merchants/answer/6324406). + optional string product_type_l3 = 12; + + // Product type (4th level) in merchant's own [product + // taxonomy](https://support.google.com/merchants/answer/6324406). + optional string product_type_l4 = 13; + + // Product type (5th level) in merchant's own [product + // taxonomy](https://support.google.com/merchants/answer/6324406). + optional string product_type_l5 = 14; + + // Current price of the product. + google.shopping.type.Price price = 15; + + // Latest suggested price for the product. + google.shopping.type.Price suggested_price = 16; + + // Predicted change in impressions as a fraction after introducing the + // suggested price compared to current active price. For example, 0.05 is a 5% + // predicted increase in impressions. + optional double predicted_impressions_change_fraction = 17; + + // Predicted change in clicks as a fraction after introducing the + // suggested price compared to current active price. For example, 0.05 is a 5% + // predicted increase in clicks. + optional double predicted_clicks_change_fraction = 18; + + // Predicted change in conversions as a fraction after introducing the + // suggested price compared to current active price. For example, 0.05 is a 5% + // predicted increase in conversions). + optional double predicted_conversions_change_fraction = 19; +} + +// Fields available for query in `best_sellers_product_cluster_view` table. +// +// [Best sellers](https://support.google.com/merchants/answer/9488679) report +// with top product clusters. A product cluster is a grouping for different +// offers and variants that represent the same product, for example, Google +// Pixel 7. +// +// Values are only set for fields requested explicitly in the request's search +// query. +message BestSellersProductClusterView { + // Status of the product cluster or brand in your inventory. + enum InventoryStatus { + // Not specified. + INVENTORY_STATUS_UNSPECIFIED = 0; + + // You have a product for this product cluster or brand in stock. + IN_STOCK = 1; + + // You have a product for this product cluster or brand in inventory but it + // is currently out of stock. + OUT_OF_STOCK = 2; + + // You do not have a product for this product cluster or brand in inventory. + NOT_IN_INVENTORY = 3; + } + + // Report date. The value of this field can only be one of the following: + // + // * The first day of the week (Monday) for weekly reports, + // * The first day of the month for monthly reports. + // + // Required in the `SELECT` clause. If a `WHERE` condition on `report_date` is + // not specified in the query, the latest available weekly or monthly report + // is returned. + google.type.Date report_date = 1; + + // Granularity of the report. The ranking can be done over a week or a month + // timeframe. + // + // Required in the `SELECT` clause. Condition on `report_granularity` is + // required in the `WHERE` clause. + optional ReportGranularity.ReportGranularityEnum report_granularity = 2; + + // Country where the ranking is calculated. Represented in the ISO 3166 + // format. + // + // Required in the `SELECT` clause. Condition on `report_country_code` is + // required in the `WHERE` clause. + optional string report_country_code = 3; + + // Google product category ID to calculate the ranking for, represented in + // [Google's product + // taxonomy](https://support.google.com/merchants/answer/6324436). + // + // Required in the `SELECT` clause. If a `WHERE` condition on + // `report_category_id` is not specified in the query, rankings for all + // top-level categories are returned. + optional int64 report_category_id = 4; + + // Title of the product cluster. + optional string title = 6; + + // Brand of the product cluster. + optional string brand = 7; + + // Product category (1st level) of the product cluster, represented in + // [Google's product + // taxonomy](https://support.google.com/merchants/answer/6324436). + optional string category_l1 = 8; + + // Product category (2nd level) of the product cluster, represented in + // [Google's product + // taxonomy](https://support.google.com/merchants/answer/6324436). + optional string category_l2 = 9; + + // Product category (3rd level) of the product cluster, represented in + // [Google's product + // taxonomy](https://support.google.com/merchants/answer/6324436). + optional string category_l3 = 10; + + // Product category (4th level) of the product cluster, represented in + // [Google's product + // taxonomy](https://support.google.com/merchants/answer/6324436). + optional string category_l4 = 11; + + // Product category (5th level) of the product cluster, represented in + // [Google's product + // taxonomy](https://support.google.com/merchants/answer/6324436). + optional string category_l5 = 12; + + // GTINs of example variants of the product cluster. + repeated string variant_gtins = 13; + + // Whether the product cluster is `IN_STOCK` in your product feed in at least + // one of the countries, `OUT_OF_STOCK` in your product feed in all countries, + // or `NOT_IN_INVENTORY` at all. + // + // The field doesn't take the Best sellers report country filter into account. + optional InventoryStatus inventory_status = 14; + + // Whether there is at least one product of the brand currently `IN_STOCK` in + // your product feed in at least one of the countries, all products are + // `OUT_OF_STOCK` in your product feed in all countries, or + // `NOT_IN_INVENTORY`. + // + // The field doesn't take the Best sellers report country filter into account. + optional InventoryStatus brand_inventory_status = 15; + + // Popularity of the product cluster on Ads and organic surfaces, in the + // selected category and country, based on the estimated number of units sold. + optional int64 rank = 16; + + // Popularity rank in the previous week or month. + optional int64 previous_rank = 17; + + // Estimated demand in relation to the product cluster with the highest + // popularity rank in the same category and country. + optional RelativeDemand.RelativeDemandEnum relative_demand = 18; + + // Estimated demand in relation to the product cluster with the highest + // popularity rank in the same category and country in the previous week or + // month. + optional RelativeDemand.RelativeDemandEnum previous_relative_demand = 19; + + // Change in the estimated demand. Whether it rose, sank or remained flat. + optional RelativeDemandChangeType.RelativeDemandChangeTypeEnum + relative_demand_change = 20; +} + +// Fields available for query in `best_sellers_brand_view` table. +// +// [Best sellers](https://support.google.com/merchants/answer/9488679) report +// with top brands. +// +// Values are only set for fields requested explicitly in the request's search +// query. +message BestSellersBrandView { + // Report date. The value of this field can only be one of the following: + // + // * The first day of the week (Monday) for weekly reports, + // * The first day of the month for monthly reports. + // + // Required in the `SELECT` clause. If a `WHERE` condition on `report_date` is + // not specified in the query, the latest available weekly or monthly report + // is returned. + google.type.Date report_date = 1; + + // Granularity of the report. The ranking can be done over a week or a month + // timeframe. + // + // Required in the `SELECT` clause. Condition on `report_granularity` is + // required in the `WHERE` clause. + optional ReportGranularity.ReportGranularityEnum report_granularity = 2; + + // Country where the ranking is calculated. Represented in the ISO 3166 + // format. + // + // Required in the `SELECT` clause. Condition on `report_country_code` is + // required in the `WHERE` clause. + optional string report_country_code = 3; + + // Google product category ID to calculate the ranking for, represented in + // [Google's product + // taxonomy](https://support.google.com/merchants/answer/6324436). + // + // Required in the `SELECT` clause. If a `WHERE` condition on + // `report_category_id` is not specified in the query, rankings for all + // top-level categories are returned. + optional int64 report_category_id = 4; + + // Name of the brand. + optional string brand = 6; + + // Popularity of the brand on Ads and organic surfaces, in the selected + // category and country, based on the estimated number of units sold. + optional int64 rank = 7; + + // Popularity rank in the previous week or month. + optional int64 previous_rank = 8; + + // Estimated demand in relation to the brand with the highest popularity rank + // in the same category and country. + optional RelativeDemand.RelativeDemandEnum relative_demand = 9; + + // Estimated demand in relation to the brand with the highest popularity rank + // in the same category and country in the previous week or month. + optional RelativeDemand.RelativeDemandEnum previous_relative_demand = 10; + + // Change in the estimated demand. Whether it rose, sank or remained flat. + optional RelativeDemandChangeType.RelativeDemandChangeTypeEnum + relative_demand_change = 11; +} + +// Fields available for query in `competitive_visibility_competitor_view` table. +// +// [Competitive +// visibility](https://support.google.com/merchants/answer/11366442) report with +// businesses with similar visibility. +// +// Values are only set for fields requested explicitly in the request's search +// query. +message CompetitiveVisibilityCompetitorView { + // Date of this row. + // + // A condition on `date` is required in the `WHERE` clause. + google.type.Date date = 1; + + // Domain of your competitor or your domain, if 'is_your_domain' is true. + // + // Required in the `SELECT` clause. Cannot be filtered on in the 'WHERE' + // clause. + optional string domain = 2; + + // True if this row contains data for your domain. + // + // Cannot be filtered on in the 'WHERE' clause. + optional bool is_your_domain = 3; + + // Country where impressions appeared. + // + // Required in the `SELECT` clause. A condition on `report_country_code` is + // required in the `WHERE` clause. + optional string report_country_code = 4; + + // Google product category ID to calculate the report for, represented in + // [Google's product + // taxonomy](https://support.google.com/merchants/answer/6324436). + // + // Required in the `SELECT` clause. A condition on `report_category_id` is + // required in the `WHERE` clause. + optional int64 report_category_id = 5; + + // Traffic source of impressions. + // + // Required in the `SELECT` clause. + optional TrafficSource.TrafficSourceEnum traffic_source = 6; + + // Position of the domain in the similar businesses ranking for the selected + // keys (`date`, `report_category_id`, `report_country_code`, + // `traffic_source`) based on impressions. 1 is the highest. + // + // Cannot be filtered on in the 'WHERE' clause. + optional int64 rank = 7; + + // [Ads / organic ratio] + // (https://support.google.com/merchants/answer/11366442#zippy=%2Cads-free-ratio) + // shows how often the domain receives impressions from Shopping ads compared + // to organic traffic. The number is rounded and bucketed. + // + // Cannot be filtered on in the 'WHERE' clause. + optional double ads_organic_ratio = 8; + + // [Page overlap rate] + // (https://support.google.com/merchants/answer/11366442#zippy=%2Cpage-overlap-rate) + // shows how frequently competing retailers’ offers are shown together with + // your offers on the same page. + // + // Cannot be filtered on in the 'WHERE' clause. + optional double page_overlap_rate = 9; + + // [Higher position rate] + // (https://support.google.com/merchants/answer/11366442#zippy=%2Chigher-position-rate) + // shows how often a competitor’s offer got placed in a higher position on the + // page than your offer. + // + // Cannot be filtered on in the 'WHERE' clause. + optional double higher_position_rate = 10; + + // [Relative visibility] + // (https://support.google.com/merchants/answer/11366442#zippy=%2Crelative-visibility) + // shows how often your competitors’ offers are shown compared to your offers. + // In other words, this is the number of displayed impressions of a competitor + // retailer divided by the number of your displayed impressions during a + // selected time range for a selected product category and country. + // + // Cannot be filtered on in the 'WHERE' clause. + optional double relative_visibility = 11; +} + +// Fields available for query in `competitive_visibility_top_merchant_view` +// table. +// +// [Competitive +// visibility](https://support.google.com/merchants/answer/11366442) report with +// business with highest visibility. +// +// Values are only set for fields requested explicitly in the request's search +// query. +message CompetitiveVisibilityTopMerchantView { + // Date of this row. + // + // Cannot be selected in the `SELECT` clause. A condition on `date` is + // required in the `WHERE` clause. + google.type.Date date = 1; + + // Domain of your competitor or your domain, if 'is_your_domain' is true. + // + // Required in the `SELECT` clause. Cannot be filtered on in the 'WHERE' + // clause. + optional string domain = 2; + + // True if this row contains data for your domain. + // + // Cannot be filtered on in the 'WHERE' clause. + optional bool is_your_domain = 3; + + // Country where impressions appeared. + // + // Required in the `SELECT` clause. A condition on `report_country_code` is + // required in the `WHERE` clause. + optional string report_country_code = 4; + + // Google product category ID to calculate the report for, represented in + // [Google's product + // taxonomy](https://support.google.com/merchants/answer/6324436). + // + // Required in the `SELECT` clause. A condition on `report_category_id` is + // required in the `WHERE` clause. + optional int64 report_category_id = 5; + + // Traffic source of impressions. + // + // Required in the `SELECT` clause. + optional TrafficSource.TrafficSourceEnum traffic_source = 6; + + // Position of the domain in the top merchants ranking for the selected keys + // (`date`, `report_category_id`, `report_country_code`, `traffic_source`) + // based on impressions. 1 is the highest. + // + // Cannot be filtered on in the 'WHERE' clause. + optional int64 rank = 7; + + // [Ads / organic ratio] + // (https://support.google.com/merchants/answer/11366442#zippy=%2Cads-free-ratio) + // shows how often the domain receives impressions from Shopping ads compared + // to organic traffic. The number is rounded and bucketed. + // + // Cannot be filtered on in the 'WHERE' clause. + optional double ads_organic_ratio = 8; + + // [Page overlap rate] + // (https://support.google.com/merchants/answer/11366442#zippy=%2Cpage-overlap-rate) + // shows how frequently competing retailers’ offers are shown together with + // your offers on the same page. + // + // Cannot be filtered on in the 'WHERE' clause. + optional double page_overlap_rate = 9; + + // [Higher position rate] + // (https://support.google.com/merchants/answer/11366442#zippy=%2Chigher-position-rate) + // shows how often a competitor’s offer got placed in a higher position on the + // page than your offer. + // + // Cannot be filtered on in the 'WHERE' clause. + optional double higher_position_rate = 10; +} + +// Fields available for query in `competitive_visibility_benchmark_view` table. +// +// [Competitive +// visibility](https://support.google.com/merchants/answer/11366442) report with +// the category benchmark. +// +// Values are only set for fields requested explicitly in the request's search +// query. +message CompetitiveVisibilityBenchmarkView { + // Date of this row. + // + // Required in the `SELECT` clause. A condition on `date` is required in the + // `WHERE` clause. + google.type.Date date = 1; + + // Country where impressions appeared. + // + // Required in the `SELECT` clause. A condition on `report_country_code` is + // required in the `WHERE` clause. + optional string report_country_code = 2; + + // Google product category ID to calculate the report for, represented in + // [Google's product + // taxonomy](https://support.google.com/merchants/answer/6324436). + // + // Required in the `SELECT` clause. A condition on `report_category_id` is + // required in the `WHERE` clause. + optional int64 report_category_id = 3; + + // Traffic source of impressions. + // + // Required in the `SELECT` clause. + optional TrafficSource.TrafficSourceEnum traffic_source = 4; + + // Change in visibility based on impressions for your domain with respect to + // the start of the selected time range (or first day with non-zero + // impressions). + // + // Cannot be filtered on in the 'WHERE' clause. + optional double your_domain_visibility_trend = 5; + + // Change in visibility based on impressions with respect to the start of the + // selected time range (or first day with non-zero impressions) for a + // combined set of merchants with highest visibility approximating the + // market. + // + // Cannot be filtered on in the 'WHERE' clause. + optional double category_benchmark_visibility_trend = 6; +} + +// Marketing method used to promote your products on Google (organic versus +// ads). +message MarketingMethod { + // Marketing method values. + enum MarketingMethodEnum { + // Not specified. + MARKETING_METHOD_ENUM_UNSPECIFIED = 0; + + // Organic marketing. + ORGANIC = 1; + + // Ads-based marketing. + ADS = 2; + } +} + +// Granularity of the Best sellers report. Best sellers reports are computed +// over a week and a month timeframe. +message ReportGranularity { + // Report granularity values. + enum ReportGranularityEnum { + // Not specified. + REPORT_GRANULARITY_ENUM_UNSPECIFIED = 0; + + // Report is computed over a week timeframe. + WEEKLY = 1; + + // Report is computed over a month timeframe. + MONTHLY = 2; + } +} + +// Relative demand of a product cluster or brand in the Best sellers report. +message RelativeDemand { + // Relative demand values. + enum RelativeDemandEnum { + // Not specified. + RELATIVE_DEMAND_ENUM_UNSPECIFIED = 0; + + // Demand is 0-5% of the demand of the highest ranked product cluster or + // brand. + VERY_LOW = 10; + + // Demand is 6-10% of the demand of the highest ranked product cluster or + // brand. + LOW = 20; + + // Demand is 11-20% of the demand of the highest ranked product cluster or + // brand. + MEDIUM = 30; + + // Demand is 21-50% of the demand of the highest ranked product cluster or + // brand. + HIGH = 40; + + // Demand is 51-100% of the demand of the highest ranked product cluster or + // brand. + VERY_HIGH = 50; + } +} + +// Relative demand of a product cluster or brand in the Best sellers report +// compared to the previous time period. +message RelativeDemandChangeType { + // Relative demand change type values. + enum RelativeDemandChangeTypeEnum { + // Not specified. + RELATIVE_DEMAND_CHANGE_TYPE_ENUM_UNSPECIFIED = 0; + + // Relative demand is lower than the previous time period. + SINKER = 1; + + // Relative demand is equal to the previous time period. + FLAT = 2; + + // Relative demand is higher than the previous time period. + RISER = 3; + } +} + +// Traffic source of impressions in the Competitive visibility report. +message TrafficSource { + // Traffic source values. + enum TrafficSourceEnum { + // Not specified. + TRAFFIC_SOURCE_ENUM_UNSPECIFIED = 0; + + // Organic traffic. + ORGANIC = 1; + + // Traffic from ads. + ADS = 2; + + // Organic and ads traffic. + ALL = 3; + } +} diff --git a/third_party/googleapis/google/shopping/merchant/reports/v1beta/reports_grpc_service_config.json b/third_party/googleapis/google/shopping/merchant/reports/v1beta/reports_grpc_service_config.json new file mode 100644 index 000000000..e094e8bd0 --- /dev/null +++ b/third_party/googleapis/google/shopping/merchant/reports/v1beta/reports_grpc_service_config.json @@ -0,0 +1,15 @@ +{ + "methodConfig": [{ + "name": [ + { "service": "google.shopping.merchant.reports.v1beta.ReportService" } + ], + "timeout": "60s", + "retryPolicy": { + "maxAttempts": 5, + "initialBackoff": "1s", + "maxBackoff": "10s", + "backoffMultiplier": 1.3, + "retryableStatusCodes": ["UNAVAILABLE"] + } + }] +} diff --git a/third_party/googleapis/google/shopping/type/BUILD.bazel b/third_party/googleapis/google/shopping/type/BUILD.bazel new file mode 100644 index 000000000..d45457806 --- /dev/null +++ b/third_party/googleapis/google/shopping/type/BUILD.bazel @@ -0,0 +1,197 @@ +# This file was automatically generated by BuildFileGenerator + +# 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") + +proto_library( + name = "type_proto", + srcs = [ + "types.proto", + ], + deps = [ + ], +) + +############################################################################## +# Java +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "java_proto_library", + "java_gapic_assembly_gradle_pkg", +) + +java_proto_library( + name = "type_java_proto", + deps = [":type_proto"], +) + +# Open Source Packages +java_gapic_assembly_gradle_pkg( + name = "google-shopping-type-java", + deps = [ + ":type_proto", + ":type_java_proto", + ], +) + +############################################################################## +# Go +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "go_proto_library", + "go_gapic_assembly_pkg", +) + +go_proto_library( + name = "type_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "cloud.google.com/go/shopping/type/typepb", + protos = [":type_proto"], + deps = [ + ], +) + +go_gapic_assembly_pkg( + name = "google-shopping-type-go", + deps = [ + ":type_go_proto", + ], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "moved_proto_library", + "py_grpc_library", + "py_proto_library", + "py_gapic_library", + "py_gapic_assembly_pkg", +) + +moved_proto_library( + name = "type_moved_proto", + srcs = [":type_proto"], + deps = [ + ], +) + +py_proto_library( + name = "type_py_proto", + deps = [":type_moved_proto"], +) + +py_grpc_library( + name = "type_py_grpc", + srcs = [":type_moved_proto"], + deps = [":type_py_proto"], +) + +py_gapic_library( + name = "type_py_gapic", + srcs = [":type_proto"], + rest_numeric_enums = False, + transport = "grpc+rest", +) + +# Open Source Packages +py_gapic_assembly_pkg( + name = "google-shopping-type-py", + deps = [ + ":type_py_gapic", + ], +) + +############################################################################## +# PHP +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "php_gapic_assembly_pkg", + "php_proto_library", +) + +php_proto_library( + name = "type_php_proto", + deps = [":type_proto"], +) + +php_gapic_assembly_pkg( + name = "google-shopping-type-php", + deps = [ + ":type_php_proto", + ], +) + +############################################################################## +# Ruby +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "ruby_grpc_library", + "ruby_proto_library", +) + +ruby_proto_library( + name = "type_ruby_proto", + deps = [":type_proto"], +) + +ruby_grpc_library( + name = "type_ruby_grpc", + srcs = [":type_proto"], + deps = [":type_ruby_proto"], +) + +############################################################################## +# C# +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "csharp_proto_library", + "csharp_gapic_assembly_pkg", +) + +csharp_proto_library( + name = "type_csharp_proto", + deps = [":type_proto"], +) + +# Open Source Packages +csharp_gapic_assembly_pkg( + name = "google-shopping-type-csharp", + package_name = "Google.Shopping.Type", + generate_nongapic_package = True, + deps = [ + ":type_csharp_proto", + ], +) + +############################################################################## +# C++ +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "cc_grpc_library", + "cc_proto_library", +) + +cc_proto_library( + name = "type_cc_proto", + deps = [":type_proto"], +) + +cc_grpc_library( + name = "type_cc_grpc", + srcs = [":type_proto"], + grpc_only = True, + deps = [":type_cc_proto"], +) diff --git a/third_party/googleapis/google/shopping/type/types.proto b/third_party/googleapis/google/shopping/type/types.proto new file mode 100644 index 000000000..f2e842724 --- /dev/null +++ b/third_party/googleapis/google/shopping/type/types.proto @@ -0,0 +1,161 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.shopping.type; + +option csharp_namespace = "Google.Shopping.Type"; +option go_package = "cloud.google.com/go/shopping/type/typepb;typepb"; +option java_multiple_files = true; +option java_outer_classname = "TypesProto"; +option java_package = "com.google.shopping.type"; + +// The price represented as a number and currency. +message Price { + // The price represented as a number in micros (1 million micros is an + // equivalent to one's currency standard unit, for example, 1 USD = 1000000 + // micros). + // This field can also be set as infinity by setting to -1. + // This field only support -1 and positive value. + optional int64 amount_micros = 1; + + // The currency of the price using three-letter acronyms according to [ISO + // 4217](http://en.wikipedia.org/wiki/ISO_4217). + optional string currency_code = 2; +} + +// A message that represents custom attributes. Exactly one of `value` or +// `group_values` must not be empty. +message CustomAttribute { + // The name of the attribute. + optional string name = 1; + + // The value of the attribute. If `value` is not empty, `group_values` must be + // empty. + optional string value = 2; + + // Subattributes within this attribute group. If + // `group_values` is not empty, `value` must be empty. + repeated CustomAttribute group_values = 3; +} + +// Destinations available for a product. +// +// Destinations are used in Merchant Center to allow you to control where the +// products from your data feed should be displayed. +// +message Destination { + // Destination values. + enum DestinationEnum { + // Not specified. + DESTINATION_ENUM_UNSPECIFIED = 0; + + // [Shopping ads](https://support.google.com/google-ads/answer/2454022). + SHOPPING_ADS = 1; + + // [Display ads](https://support.google.com/merchants/answer/6069387). + DISPLAY_ADS = 2; + + // [Local inventory + // ads](https://support.google.com/merchants/answer/3057972). + LOCAL_INVENTORY_ADS = 3; + + // [Free listings](https://support.google.com/merchants/answer/9199328). + FREE_LISTINGS = 4; + + // [Free local product + // listings](https://support.google.com/merchants/answer/9825611). + FREE_LOCAL_LISTINGS = 5; + + // [YouTube Shopping](https://support.google.com/merchants/answer/12362804). + YOUTUBE_SHOPPING = 6; + } +} + +// Reporting contexts that your account and product issues apply to. +// +// Reporting contexts are groups of surfaces and formats for product results on +// Google. They can represent the entire destination (for example, [Shopping +// ads](https://support.google.com/merchants/answer/6149970)) or a subset of +// formats within a destination (for example, [Discovery +// ads](https://support.google.com/merchants/answer/13389785)). +// +message ReportingContext { + // Reporting context values. + enum ReportingContextEnum { + // Not specified. + REPORTING_CONTEXT_ENUM_UNSPECIFIED = 0; + + // [Shopping ads](https://support.google.com/merchants/answer/6149970). + SHOPPING_ADS = 1; + + // [Discovery and Demand Gen + // ads](https://support.google.com/merchants/answer/13389785). + DISCOVERY_ADS = 2; + + // [Video ads](https://support.google.com/google-ads/answer/6340491). + VIDEO_ADS = 3; + + // [Display ads](https://support.google.com/merchants/answer/6069387). + DISPLAY_ADS = 4; + + // [Local inventory + // ads](https://support.google.com/merchants/answer/3271956). + LOCAL_INVENTORY_ADS = 5; + + // [Vehicle inventory + // ads](https://support.google.com/merchants/answer/11544533). + VEHICLE_INVENTORY_ADS = 6; + + // [Free product + // listings](https://support.google.com/merchants/answer/9199328). + FREE_LISTINGS = 7; + + // [Free local product + // listings](https://support.google.com/merchants/answer/9825611). + FREE_LOCAL_LISTINGS = 8; + + // [Free local vehicle + // listings](https://support.google.com/merchants/answer/11544533). + FREE_LOCAL_VEHICLE_LISTINGS = 9; + + // [YouTube + // Shopping](https://support.google.com/merchants/answer/13478370). + YOUTUBE_SHOPPING = 10; + + // [Cloud retail](https://cloud.google.com/solutions/retail). + CLOUD_RETAIL = 11; + + // [Local cloud retail](https://cloud.google.com/solutions/retail). + LOCAL_CLOUD_RETAIL = 12; + } +} + +// [Channel](https://support.google.com/merchants/answer/7361332) of a product. +// +// Channel is used to distinguish between online and local products. +message Channel { + // Channel values. + enum ChannelEnum { + // Not specified. + CHANNEL_ENUM_UNSPECIFIED = 0; + + // Online product. + ONLINE = 1; + + // Local product. + LOCAL = 2; + } +} diff --git a/third_party/googleapis/google/spanner/executor/v1/BUILD.bazel b/third_party/googleapis/google/spanner/executor/v1/BUILD.bazel new file mode 100644 index 000000000..a63b20f79 --- /dev/null +++ b/third_party/googleapis/google/spanner/executor/v1/BUILD.bazel @@ -0,0 +1,240 @@ +# 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 = "executor_proto", + srcs = [ + "cloud_executor.proto", + ], + deps = [ + "//google/api:client_proto", + "//google/api:field_behavior_proto", + "//google/longrunning:operations_proto", + "//google/rpc:status_proto", + "//google/spanner/admin/database/v1:database_proto", + "//google/spanner/admin/instance/v1:instance_proto", + "//google/spanner/v1:spanner_proto", + "@com_google_protobuf//:timestamp_proto", + ], +) + +proto_library_with_info( + name = "executor_proto_with_info", + deps = [ + ":executor_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 = "executor_java_proto", + deps = [":executor_proto"], +) + +java_grpc_library( + name = "executor_java_grpc", + srcs = [":executor_proto"], + deps = [":executor_java_proto"], +) + +java_gapic_library( + name = "executor_java_gapic", + srcs = [":executor_proto_with_info"], + gapic_yaml = "spanner_executor_gapic.yaml", + grpc_service_config = "spanner_cloud_executor_grpc_service_config.json", + service_yaml = "spanner_cloud_executor.yaml", + test_deps = [ + ":executor_java_grpc", + ], + transport = "grpc", + deps = [ + ":executor_java_proto", + "//google/api:api_java_proto", + "//google/spanner/admin/database/v1:database_java_proto", + ], +) + +java_gapic_test( + name = "executor_java_gapic_test_suite", + test_classes = [ + "com.google.cloud.spanner.executor.v1.SpannerExecutorProxyClientTest", + ], + runtime_deps = [":executor_java_gapic_test"], +) + +# Open Source Packages +java_gapic_assembly_gradle_pkg( + name = "google-cloud-spanner-executor-v1-java", + include_samples = True, + transport = "grpc", + deps = [ + ":executor_java_gapic", + ":executor_java_grpc", + ":executor_java_proto", + ":executor_proto", + ], +) + +############################################################################## +# Go +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "go_gapic_assembly_pkg", + "go_gapic_library", + "go_proto_library", +) + +go_proto_library( + name = "executor_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "cloud.google.com/go/spanner/executor/apiv1/executorpb", + protos = [":executor_proto"], + deps = [ + "//google/api:annotations_go_proto", + "//google/longrunning:longrunning_go_proto", + "//google/rpc:status_go_proto", + "//google/spanner/admin/database/v1:database_go_proto", + "//google/spanner/admin/instance/v1:instance_go_proto", + "//google/spanner/v1:spanner_go_proto", + ], +) + +go_gapic_library( + name = "executor_go_gapic", + srcs = [":executor_proto_with_info"], + grpc_service_config = "spanner_cloud_executor_grpc_service_config.json", + importpath = "cloud.google.com/go/spanner/executor/apiv1;executor", + metadata = True, + release_level = "beta", + service_yaml = "spanner_cloud_executor.yaml", + transport = "grpc", + deps = [ + ":executor_go_proto", + "//google/longrunning:longrunning_go_proto", + "//google/spanner/admin/database/v1:database_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-spanner-executor-v1-go", + deps = [ + ":executor_go_gapic", + ":executor_go_gapic_srcjar-test.srcjar", + ":executor_go_gapic_srcjar-metadata.srcjar", + ":executor_go_gapic_srcjar-snippets.srcjar", + ":executor_go_proto", + ], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "py_gapic_assembly_pkg", + "py_gapic_library", + "py_proto_library", + "py_test", +) + +py_proto_library( + name = "executor_py_proto", + deps = [":executor_proto"], +) + +py_gapic_library( + name = "executor_py_gapic", + srcs = [":executor_proto"], + grpc_service_config = "spanner_cloud_executor_grpc_service_config.json", + service_yaml = "spanner_cloud_executor.yaml", + transport = "grpc", + deps = [ + ":executor_py_proto", + ], +) + +py_test( + name = "executor_py_gapic_test", + srcs = [ + "executor_py_gapic_pytest.py", + "executor_py_gapic_test.py", + ], + legacy_create_init = False, + deps = [ + ":executor_py_gapic", + ], +) + +# Open Source Packages +py_gapic_assembly_pkg( + name = "spanner-executor-v1-py", + deps = [ + ":executor_py_gapic", + ], +) + +############################################################################## +# Node.js +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "nodejs_gapic_assembly_pkg", + "nodejs_gapic_library", +) + +nodejs_gapic_library( + name = "executor_nodejs_gapic", + package_name = "@google-cloud/executor", + src = ":executor_proto_with_info", + extra_protoc_parameters = ["metadata","template=typescript_gapic",], + grpc_service_config = "spanner_cloud_executor_grpc_service_config.json", + package = "google.spanner.executor.v1", + service_yaml = "spanner_cloud_executor.yaml", + transport = "grpc", + deps = [ + ], +) + +nodejs_gapic_assembly_pkg( + name = "spanner-executor-v1-nodejs", + deps = [ + ":executor_nodejs_gapic", + ":executor_proto", + "//google/spanner/admin/database/v1:database_proto", + "//google/spanner/admin/instance/v1:instance_proto", + "//google/spanner/v1:spanner_proto", + ], +) \ No newline at end of file diff --git a/third_party/googleapis/google/spanner/executor/v1/README.md b/third_party/googleapis/google/spanner/executor/v1/README.md new file mode 100644 index 000000000..8183a8af2 --- /dev/null +++ b/third_party/googleapis/google/spanner/executor/v1/README.md @@ -0,0 +1,16 @@ +# Cloud Spanner Executor test API + + +Stop. This folder is likely not what you are looking for. + +This folder contains protocol buffer definitions for test-only API for +Cloud Spanner clients. Unless told otherwise by a Google Cloud representative, +do not use any of the contents of this folder. If you would like to use Cloud +Spanner, please consult our +[official documentation](https://cloud.google.com/spanner/docs/apis) for details +on our APIs, or else consider one of our +[client libraries](https://cloud.google.com/spanner/docs/reference/libraries). + +This API defined in this folder is unreleased and may shut off, break, or fail +at any time for any users who are not registered as a part of a private preview +program. diff --git a/third_party/googleapis/google/spanner/executor/v1/cloud_executor.proto b/third_party/googleapis/google/spanner/executor/v1/cloud_executor.proto new file mode 100644 index 000000000..56332dc0e --- /dev/null +++ b/third_party/googleapis/google/spanner/executor/v1/cloud_executor.proto @@ -0,0 +1,1483 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.spanner.executor.v1; + +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/longrunning/operations.proto"; +import "google/protobuf/timestamp.proto"; +import "google/rpc/status.proto"; +import "google/spanner/admin/database/v1/backup.proto"; +import "google/spanner/admin/database/v1/common.proto"; +import "google/spanner/admin/database/v1/spanner_database_admin.proto"; +import "google/spanner/admin/instance/v1/spanner_instance_admin.proto"; +import "google/spanner/v1/spanner.proto"; +import "google/spanner/v1/type.proto"; + +option go_package = "cloud.google.com/go/spanner/executor/apiv1/executorpb;executorpb"; +option java_multiple_files = true; +option java_outer_classname = "CloudExecutorProto"; +option java_package = "com.google.spanner.executor.v1"; + +// Service that executes SpannerActions asynchronously. +service SpannerExecutorProxy { + option (google.api.default_host) = "spanner-cloud-executor.googleapis.com"; + + // ExecuteActionAsync is a streaming call that starts executing a new Spanner + // action. + // + // For each request, the server will reply with one or more responses, but + // only the last response will contain status in the outcome. + // + // Responses can be matched to requests by action_id. It is allowed to have + // multiple actions in flight--in that case, actions are be executed in + // parallel. + rpc ExecuteActionAsync(stream SpannerAsyncActionRequest) + returns (stream SpannerAsyncActionResponse) {} +} + +// Request to executor service that start a new Spanner action. +message SpannerAsyncActionRequest { + // Action id to uniquely identify this action request. + int32 action_id = 1; + + // The actual SpannerAction to perform. + SpannerAction action = 2; +} + +// Response from executor service. +message SpannerAsyncActionResponse { + // Action id corresponds to the request. + int32 action_id = 1; + + // If action results are split into multiple responses, only the last response + // can and should contain status. + SpannerActionOutcome outcome = 2; +} + +// SpannerAction defines a primitive action that can be performed against +// Spanner, such as begin or commit a transaction, or perform a read or +// mutation. +message SpannerAction { + // Database against which to perform action. + // In a context where a series of actions take place, an action may omit + // database path if it applies to the same database as the previous action. + string database_path = 1; + + // Action represents a spanner action kind, there will only be one action kind + // per SpannerAction. + oneof action { + // Action to start a transaction. + StartTransactionAction start = 10; + + // Action to finish a transaction. + FinishTransactionAction finish = 11; + + // Action to do a normal read. + ReadAction read = 20; + + // Action to do a query. + QueryAction query = 21; + + // Action to buffer a mutation. + MutationAction mutation = 22; + + // Action to a DML. + DmlAction dml = 23; + + // Action to a batch DML. + BatchDmlAction batch_dml = 24; + + // Action to write a mutation. + WriteMutationsAction write = 25; + + // Action to a partitioned update. + PartitionedUpdateAction partitioned_update = 27; + + // Action that contains any administrative operation, like database, + // instance manipulation. + AdminAction admin = 30; + + // Action to start a batch transaction. + StartBatchTransactionAction start_batch_txn = 40; + + // Action to close a batch transaction. + CloseBatchTransactionAction close_batch_txn = 41; + + // Action to generate database partitions for batch read. + GenerateDbPartitionsForReadAction generate_db_partitions_read = 42; + + // Action to generate database partitions for batch query. + GenerateDbPartitionsForQueryAction generate_db_partitions_query = 43; + + // Action to execute batch actions on generated partitions. + ExecutePartitionAction execute_partition = 44; + + // Action to execute change stream query. + ExecuteChangeStreamQuery execute_change_stream_query = 50; + } +} + +// A single read request. +message ReadAction { + // The table to read at. + string table = 1; + + // The index to read at if it's an index read. + optional string index = 2; + + // List of columns must begin with the key columns used for the read. + repeated string column = 3; + + // Keys for performing this read. + KeySet keys = 4; + + // Limit on number of rows to read. If set, must be positive. + int32 limit = 5; +} + +// A SQL query request. +message QueryAction { + // Parameter that bind to placeholders in the SQL string + message Parameter { + // Name of the parameter (with no leading @). + string name = 1; + + // Type of the parameter. + google.spanner.v1.Type type = 2; + + // Value of the parameter. + Value value = 3; + } + + // The SQL string. + string sql = 1; + + // Parameters for the SQL string. + repeated Parameter params = 2; +} + +// A single DML statement. +message DmlAction { + // DML statement. + QueryAction update = 1; + + // Whether to autocommit the transaction after executing the DML statement, + // if the Executor supports autocommit. + optional bool autocommit_if_supported = 2; +} + +// Batch of DML statements invoked using batched execution. +message BatchDmlAction { + // DML statements. + repeated QueryAction updates = 1; +} + +// Value represents a single value that can be read or written to/from +// Spanner. +message Value { + // Exactly one of the following fields will be present. + oneof value_type { + // If is_null is set, then this value is null. + bool is_null = 1; + + // Int type value. It's used for all integer number types, like int32 and + // int64. + int64 int_value = 2; + + // Bool type value. + bool bool_value = 3; + + // Double type value. It's used for all float point types, like float and + // double. + double double_value = 4; + + // Bytes type value, stored in CORD. It's also used for PROTO type value. + bytes bytes_value = 5; + + // String type value, stored in CORD. + string string_value = 6; + + // Struct type value. It contains a ValueList representing the values in + // this struct. + ValueList struct_value = 7; + + // Timestamp type value. + google.protobuf.Timestamp timestamp_value = 8; + + // Date type value. Date is specified as a number of days since Unix epoch. + int32 date_days_value = 9; + + // If set, holds the sentinel value for the transaction CommitTimestamp. + bool is_commit_timestamp = 10; + + // Array type value. The underlying Valuelist should have values that have + // the same type. + ValueList array_value = 11; + } + + // Type of array element. Only set if value is an array. + optional google.spanner.v1.Type array_type = 12; +} + +// KeyRange represents a range of rows in a table or index. +// +// A range has a start key and an end key. These keys can be open or +// closed, indicating if the range includes rows with that key. +// +// Keys are represented by "ValueList", where the ith value in the list +// corresponds to the ith component of the table or index primary key. +message KeyRange { + // Type controls whether "start" and "limit" are open or closed. By default, + // "start" is closed, and "limit" is open. + enum Type { + // "TYPE_UNSPECIFIED" is equivalent to "CLOSED_OPEN". + TYPE_UNSPECIFIED = 0; + + // [start,limit] + CLOSED_CLOSED = 1; + + // [start,limit) + CLOSED_OPEN = 2; + + // (start,limit] + OPEN_CLOSED = 3; + + // (start,limit) + OPEN_OPEN = 4; + } + + // "start" and "limit" must have the same number of key parts, + // though they may name only a prefix of the table or index key. + // The start key of this KeyRange. + ValueList start = 1; + + // The end key of this KeyRange. + ValueList limit = 2; + + // "start" and "limit" type for this KeyRange. + optional Type type = 3; +} + +// KeySet defines a collection of Spanner keys and/or key ranges. All +// the keys are expected to be in the same table. The keys need not be +// sorted in any particular way. +message KeySet { + // A list of specific keys. Entries in "keys" should have exactly as + // many elements as there are columns in the primary or index key + // with which this "KeySet" is used. + repeated ValueList point = 1; + + // A list of key ranges. + repeated KeyRange range = 2; + + // For convenience "all" can be set to "true" to indicate that this + // "KeySet" matches all keys in the table or index. Note that any keys + // specified in "keys" or "ranges" are only yielded once. + bool all = 3; +} + +// List of values. +message ValueList { + // Values contained in this ValueList. + repeated Value value = 1; +} + +// A single mutation request. +message MutationAction { + // Arguments to Insert, InsertOrUpdate, and Replace operations. + message InsertArgs { + // The names of the columns to be written. + repeated string column = 1; + + // Type information for the "values" entries below. + repeated google.spanner.v1.Type type = 2; + + // The values to be written. + repeated ValueList values = 3; + } + + // Arguments to Update. + message UpdateArgs { + // The columns to be updated. Identical to InsertArgs.column. + repeated string column = 1; + + // Type information for "values". Identical to InsertArgs.type. + repeated google.spanner.v1.Type type = 2; + + // The values to be updated. Identical to InsertArgs.values. + repeated ValueList values = 3; + } + + // Mod represents the write action that will be perform to a table. Each mod + // will specify exactly one action, from insert, update, insert_or_update, + // replace and delete. + message Mod { + // The table to write. + string table = 1; + + // Exactly one of the remaining elements may be present. + // Insert new rows into "table". + InsertArgs insert = 2; + + // Update columns stored in existing rows of "table". + UpdateArgs update = 3; + + // Insert or update existing rows of "table". + InsertArgs insert_or_update = 4; + + // Replace existing rows of "table". + InsertArgs replace = 5; + + // Delete rows from "table". + KeySet delete_keys = 6; + } + + // Mods that contained in this mutation. + repeated Mod mod = 1; +} + +// WriteMutationAction defines an action of flushing the mutation so they +// are visible to subsequent operations in the transaction. +message WriteMutationsAction { + // The mutation to write. + MutationAction mutation = 1; +} + +// PartitionedUpdateAction defines an action to execute a partitioned DML +// which runs different partitions in parallel. +message PartitionedUpdateAction { + message ExecutePartitionedUpdateOptions { + // RPC Priority + optional google.spanner.v1.RequestOptions.Priority rpc_priority = 1; + + // Transaction tag + optional string tag = 2; + } + + // Options for partitioned update. + optional ExecutePartitionedUpdateOptions options = 1; + + // Partitioned dml query. + QueryAction update = 2; +} + +// StartTransactionAction defines an action of initializing a transaction. +message StartTransactionAction { + // Concurrency is for read-only transactions and must be omitted for + // read-write transactions. + optional Concurrency concurrency = 1; + + // Metadata about tables and columns that will be involved in this + // transaction. It is to convert values of key parts correctly. + repeated TableMetadata table = 2; + + // Transaction_seed contains workid and op pair for this transaction, used for + // testing. + string transaction_seed = 3; + + // Execution options (e.g., whether transaction is opaque, optimistic). + optional TransactionExecutionOptions execution_options = 4; +} + +// Concurrency for read-only transactions. +message Concurrency { + // Concurrency mode set for read-only transactions, exactly one mode below + // should be set. + oneof concurrency_mode { + // Indicates a read at a consistent timestamp that is specified relative to + // now. That is, if the caller has specified an exact staleness of s + // seconds, we will read at now - s. + double staleness_seconds = 1; + + // Indicates a boundedly stale read that reads at a timestamp >= T. + int64 min_read_timestamp_micros = 2; + + // Indicates a boundedly stale read that is at most N seconds stale. + double max_staleness_seconds = 3; + + // Indicates a read at a consistent timestamp. + int64 exact_timestamp_micros = 4; + + // Indicates a strong read, must only be set to true, or unset. + bool strong = 5; + + // Indicates a batch read, must only be set to true, or unset. + bool batch = 6; + } + + // True if exact_timestamp_micros is set, and the chosen timestamp is that of + // a snapshot epoch. + bool snapshot_epoch_read = 7; + + // If set, this is a snapshot epoch read constrained to read only the + // specified log scope root table, and its children. Will not be set for full + // database epochs. + string snapshot_epoch_root_table = 8; + + // Set only when batch is true. + int64 batch_read_timestamp_micros = 9; +} + +// TableMetadata contains metadata of a single table. +message TableMetadata { + // Table name. + string name = 1; + + // Columns, in the same order as in the schema. + repeated ColumnMetadata column = 2; + + // Keys, in order. Column name is currently not populated. + repeated ColumnMetadata key_column = 3; +} + +// ColumnMetadata represents metadata of a single column. +message ColumnMetadata { + // Column name. + string name = 1; + + // Column type. + google.spanner.v1.Type type = 2; +} + +// Options for executing the transaction. +message TransactionExecutionOptions { + // Whether optimistic concurrency should be used to execute this transaction. + bool optimistic = 1; +} + +// FinishTransactionAction defines an action of finishing a transaction. +message FinishTransactionAction { + // Mode indicates how the transaction should be finished. + enum Mode { + // "MODE_UNSPECIFIED" is equivalent to "COMMIT". + MODE_UNSPECIFIED = 0; + + // Commit the transaction. + COMMIT = 1; + + // Drop the transaction without committing it. + ABANDON = 2; + } + + // Defines how exactly the transaction should be completed, e.g. with + // commit or abortion. + Mode mode = 1; +} + +// AdminAction defines all the cloud spanner admin actions, including +// instance/database admin ops, backup ops and operation actions. +message AdminAction { + // Exactly one of the actions below will be performed in AdminAction. + oneof action { + // Action that creates a user instance config. + CreateUserInstanceConfigAction create_user_instance_config = 1; + + // Action that updates a user instance config. + UpdateUserInstanceConfigAction update_user_instance_config = 2; + + // Action that deletes a user instance config. + DeleteUserInstanceConfigAction delete_user_instance_config = 3; + + // Action that gets a user instance config. + GetCloudInstanceConfigAction get_cloud_instance_config = 4; + + // Action that lists user instance configs. + ListCloudInstanceConfigsAction list_instance_configs = 5; + + // Action that creates a Cloud Spanner instance. + CreateCloudInstanceAction create_cloud_instance = 6; + + // Action that updates a Cloud Spanner instance. + UpdateCloudInstanceAction update_cloud_instance = 7; + + // Action that deletes a Cloud Spanner instance. + DeleteCloudInstanceAction delete_cloud_instance = 8; + + // Action that lists Cloud Spanner instances. + ListCloudInstancesAction list_cloud_instances = 9; + + // Action that retrieves a Cloud Spanner instance. + GetCloudInstanceAction get_cloud_instance = 10; + + // Action that creates a Cloud Spanner database. + CreateCloudDatabaseAction create_cloud_database = 11; + + // Action that updates the schema of a Cloud Spanner database. + UpdateCloudDatabaseDdlAction update_cloud_database_ddl = 12; + + // Action that updates the schema of a Cloud Spanner database. + UpdateCloudDatabaseAction update_cloud_database = 27; + + // Action that drops a Cloud Spanner database. + DropCloudDatabaseAction drop_cloud_database = 13; + + // Action that lists Cloud Spanner databases. + ListCloudDatabasesAction list_cloud_databases = 14; + + // Action that lists Cloud Spanner database operations. + ListCloudDatabaseOperationsAction list_cloud_database_operations = 15; + + // Action that restores a Cloud Spanner database from a backup. + RestoreCloudDatabaseAction restore_cloud_database = 16; + + // Action that gets a Cloud Spanner database. + GetCloudDatabaseAction get_cloud_database = 17; + + // Action that creates a Cloud Spanner database backup. + CreateCloudBackupAction create_cloud_backup = 18; + + // Action that copies a Cloud Spanner database backup. + CopyCloudBackupAction copy_cloud_backup = 19; + + // Action that gets a Cloud Spanner database backup. + GetCloudBackupAction get_cloud_backup = 20; + + // Action that updates a Cloud Spanner database backup. + UpdateCloudBackupAction update_cloud_backup = 21; + + // Action that deletes a Cloud Spanner database backup. + DeleteCloudBackupAction delete_cloud_backup = 22; + + // Action that lists Cloud Spanner database backups. + ListCloudBackupsAction list_cloud_backups = 23; + + // Action that lists Cloud Spanner database backup operations. + ListCloudBackupOperationsAction list_cloud_backup_operations = 24; + + // Action that gets an operation. + GetOperationAction get_operation = 25; + + // Action that cancels an operation. + CancelOperationAction cancel_operation = 26; + + // Action that reconfigures a Cloud Spanner database. + ReconfigureCloudDatabaseAction reconfigure_cloud_database = 28; + } +} + +// Action that creates a user instance config. +message CreateUserInstanceConfigAction { + // User instance config ID (not path), e.g. "custom-config". + string user_config_id = 1; + + // Cloud project ID, e.g. "spanner-cloud-systest". + string project_id = 2; + + // Base config ID, e.g. "test-config". + string base_config_id = 3; + + // Replicas that should be included in the user config. + repeated google.spanner.admin.instance.v1.ReplicaInfo replicas = 4; +} + +// Action that updates a user instance config. +message UpdateUserInstanceConfigAction { + // User instance config ID (not path), e.g. "custom-config". + string user_config_id = 1; + + // Cloud project ID, e.g. "spanner-cloud-systest". + string project_id = 2; + + // The descriptive name for this instance config as it appears in UIs. + optional string display_name = 3; + + // labels. + map labels = 4; +} + +// Action that gets a user instance config. +message GetCloudInstanceConfigAction { + // Instance config ID (not path), e.g. "custom-config". + string instance_config_id = 1; + + // Cloud project ID, e.g. "spanner-cloud-systest". + string project_id = 2; +} + +// Action that deletes a user instance configs. +message DeleteUserInstanceConfigAction { + // User instance config ID (not path), e.g. "custom-config". + string user_config_id = 1; + + // Cloud project ID, e.g. "spanner-cloud-systest". + string project_id = 2; +} + +// Action that lists user instance configs. +message ListCloudInstanceConfigsAction { + // Cloud project ID, e.g. "spanner-cloud-systest". + string project_id = 1; + + // Number of instance configs to be returned in the response. If 0 or + // less, defaults to the server's maximum allowed page size. + optional int32 page_size = 2; + + // If non-empty, "page_token" should contain a next_page_token + // from a previous ListInstanceConfigsResponse to the same "parent". + optional string page_token = 3; +} + +// Action that creates a Cloud Spanner instance. +message CreateCloudInstanceAction { + // Cloud instance ID (not path), e.g. "test-instance". + string instance_id = 1; + + // Cloud project ID, e.g. "spanner-cloud-systest". + string project_id = 2; + + // Instance config ID, e.g. "test-config". + string instance_config_id = 3; + + // Number of nodes (processing_units should not be set or set to 0 if used). + optional int32 node_count = 4; + + // Number of processing units (node_count should be set to 0 if used). + optional int32 processing_units = 6; + + // The autoscaling config for this instance. If non-empty, an autoscaling + // instance will be created (processing_units and node_count should be set to + // 0 if used). + optional google.spanner.admin.instance.v1.AutoscalingConfig + autoscaling_config = 7; + + // labels. + map labels = 5; +} + +// Action that updates a Cloud Spanner instance. +message UpdateCloudInstanceAction { + // Cloud instance ID (not path), e.g. "test-instance". + string instance_id = 1; + + // Cloud project ID, e.g. "spanner-cloud-systest". + string project_id = 2; + + // The descriptive name for this instance as it appears in UIs. + // Must be unique per project and between 4 and 30 characters in length. + optional string display_name = 3; + + // The number of nodes allocated to this instance. At most one of either + // node_count or processing_units should be present in the message. + optional int32 node_count = 4; + + // The number of processing units allocated to this instance. At most one of + // processing_units or node_count should be present in the message. + optional int32 processing_units = 5; + + // The autoscaling config for this instance. If non-empty, this instance is + // using autoscaling (processing_units and node_count should be set to + // 0 if used). + optional google.spanner.admin.instance.v1.AutoscalingConfig + autoscaling_config = 7; + + // labels. + map labels = 6; +} + +// Action that deletes a Cloud Spanner instance. +message DeleteCloudInstanceAction { + // Cloud instance ID (not path), e.g. "test-instance". + string instance_id = 1; + + // Cloud project ID, e.g. "spanner-cloud-systest". + string project_id = 2; +} + +// Action that creates a Cloud Spanner database. +message CreateCloudDatabaseAction { + // Cloud instance ID (not path), e.g. "test-instance". + string instance_id = 1; + + // Cloud project ID, e.g. "spanner-cloud-systest". + string project_id = 2; + + // Cloud database ID (not full path), e.g. "db0". + string database_id = 3; + + // SDL statements to apply to the new database. + repeated string sdl_statement = 4; + + // The KMS key used to encrypt the database to be created if the database + // should be CMEK protected. + google.spanner.admin.database.v1.EncryptionConfig encryption_config = 5; + + // Optional SQL dialect (GOOGLESQL or POSTGRESQL). Default: GOOGLESQL. + optional string dialect = 6; + + optional bytes proto_descriptors = 7; +} + +// Action that updates the schema of a Cloud Spanner database. +message UpdateCloudDatabaseDdlAction { + // Cloud instance ID (not path), e.g. "test-instance". + string instance_id = 1; + + // Cloud project ID, e.g. "spanner-cloud-systest". + string project_id = 2; + + // Cloud database ID (not full path), e.g. "db0". + string database_id = 3; + + // SDL statements to apply to the database. + repeated string sdl_statement = 4; + + // Op ID can be used to track progress of the update. If set, it must be + // unique per database. If not set, Cloud Spanner will generate operation ID + // automatically. + string operation_id = 5; + + optional bytes proto_descriptors = 6; +} + +// Action that updates a Cloud Spanner database. +message UpdateCloudDatabaseAction { + // Cloud instance ID (not path), e.g. "test-instance". + string instance_id = 1; + + // Cloud project ID, e.g. "spanner-cloud-systest". + string project_id = 2; + + // Cloud database name (not full path), e.g. "db0". + string database_name = 3; + + // Updated value of enable_drop_protection, this is the only field that has + // supported to be updated. + bool enable_drop_protection = 4; +} + +// Action that drops a Cloud Spanner database. +message DropCloudDatabaseAction { + // Cloud instance ID (not path), e.g. "test-instance". + string instance_id = 1; + + // Cloud project ID, e.g. "spanner-cloud-systest". + string project_id = 2; + + // Cloud database ID (not full path), e.g. "db0". + string database_id = 3; +} + +// Action that reconfigures a Cloud Spanner database. +message ReconfigureCloudDatabaseAction { + // The fully qualified uri of the database to be reconfigured. + optional string database_uri = 1; + + // The locations of the serving regions, e.g. "asia-south1". + repeated string serving_locations = 2; +} + +// Action that lists Cloud Spanner databases. +message ListCloudDatabasesAction { + // Cloud project ID, e.g. "spanner-cloud-systest". + string project_id = 1; + + // Cloud instance ID (not path) to list databases from, e.g. "test-instance". + string instance_id = 2; + + // Number of databases to be returned in the response. If 0 or + // less, defaults to the server's maximum allowed page size. + int32 page_size = 3; + + // If non-empty, "page_token" should contain a next_page_token + // from a previous ListDatabasesResponse to the same "parent" + // and with the same "filter". + string page_token = 4; +} + +// Action that lists Cloud Spanner databases. +message ListCloudInstancesAction { + // Cloud project ID, e.g. "spanner-cloud-systest". + string project_id = 1; + + // A filter expression that filters what operations are returned in the + // response. + // The expression must specify the field name, a comparison operator, + // and the value that you want to use for filtering. + // Refer spanner_instance_admin.proto.ListInstancesRequest for + // detail. + optional string filter = 2; + + // Number of instances to be returned in the response. If 0 or + // less, defaults to the server's maximum allowed page size. + optional int32 page_size = 3; + + // If non-empty, "page_token" should contain a next_page_token + // from a previous ListInstancesResponse to the same "parent" + // and with the same "filter". + optional string page_token = 4; +} + +// Action that retrieves a Cloud Spanner instance. +message GetCloudInstanceAction { + // Cloud project ID, e.g. "spanner-cloud-systest". + string project_id = 1; + + // Cloud instance ID (not path) to retrieve the instance from, + // e.g. "test-instance". + string instance_id = 2; +} + +// Action that lists Cloud Spanner database operations. +message ListCloudDatabaseOperationsAction { + // Cloud project ID, e.g. "spanner-cloud-systest". + string project_id = 1; + + // Cloud instance ID (not path) to list database operations from, + // e.g. "test-instance". + string instance_id = 2; + + // A filter expression that filters what operations are returned in the + // response. + // The expression must specify the field name, a comparison operator, + // and the value that you want to use for filtering. + // Refer spanner_database_admin.proto.ListDatabaseOperationsRequest for + // detail. + string filter = 3; + + // Number of databases to be returned in the response. If 0 or + // less, defaults to the server's maximum allowed page size. + int32 page_size = 4; + + // If non-empty, "page_token" should contain a next_page_token + // from a previous ListDatabaseOperationsResponse to the same "parent" + // and with the same "filter". + string page_token = 5; +} + +// Action that restores a Cloud Spanner database from a backup. +message RestoreCloudDatabaseAction { + // Cloud project ID, e.g. "spanner-cloud-systest". + string project_id = 1; + + // Cloud instance ID (not path) containing the backup, e.g. "backup-instance". + string backup_instance_id = 2; + + // The id of the backup from which to restore, e.g. "test-backup". + string backup_id = 3; + + // Cloud instance ID (not path) containing the database, e.g. + // "database-instance". + string database_instance_id = 4; + + // The id of the database to create and restore to, e.g. "db0". Note that this + // database must not already exist. + string database_id = 5; +} + +// Action that gets a Cloud Spanner database. +message GetCloudDatabaseAction { + // Cloud project ID, e.g. "spanner-cloud-systest". + string project_id = 1; + + // Cloud instance ID (not path), e.g. "test-instance". + string instance_id = 2; + + // The id of the database to get, e.g. "db0". + string database_id = 3; +} + +// Action that creates a Cloud Spanner database backup. +message CreateCloudBackupAction { + // Cloud project ID, e.g. "spanner-cloud-systest". + string project_id = 1; + + // Cloud instance ID (not path), e.g. "test-instance". + string instance_id = 2; + + // The id of the backup to be created, e.g. "test-backup". + string backup_id = 3; + + // The id of the database from which this backup was + // created, e.g. "db0". Note that this needs to be in the + // same instance as the backup. + string database_id = 4; + + // Output only. The expiration time of the backup, which must be at least 6 + // hours and at most 366 days from the time the request is received. + google.protobuf.Timestamp expire_time = 5 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The version time of the backup, which must be within the time range of + // [earliest_version_time, NOW], where earliest_version_time is retrieved by + // cloud spanner frontend API (See details: go/cs-pitr-lite-design). + optional google.protobuf.Timestamp version_time = 6; +} + +// Action that copies a Cloud Spanner database backup. +message CopyCloudBackupAction { + // Cloud project ID, e.g. "spanner-cloud-systest". + string project_id = 1; + + // Cloud instance ID (not path), e.g. "test-instance". + string instance_id = 2; + + // The id of the backup to be created, e.g. "test-backup". + string backup_id = 3; + + // The fully qualified uri of the source backup from which this + // backup was copied. eg. + // "projects//instances//backups/". + string source_backup = 4; + + // Output only. The expiration time of the backup, which must be at least 6 + // hours and at most 366 days from the time the request is received. + google.protobuf.Timestamp expire_time = 5 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Action that gets a Cloud Spanner database backup. +message GetCloudBackupAction { + // Cloud project ID, e.g. "spanner-cloud-systest". + string project_id = 1; + + // Cloud instance ID (not path), e.g. "test-instance". + string instance_id = 2; + + // The id of the backup to get, e.g. "test-backup". + string backup_id = 3; +} + +// Action that updates a Cloud Spanner database backup. +message UpdateCloudBackupAction { + // Cloud project ID, e.g. "spanner-cloud-systest". + string project_id = 1; + + // Cloud instance ID (not path), e.g. "test-instance". + string instance_id = 2; + + // The id of the backup to update, e.g. "test-backup". + string backup_id = 3; + + // Output only. Updated value of expire_time, this is the only field + // that supported to be updated. + google.protobuf.Timestamp expire_time = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Action that deletes a Cloud Spanner database backup. +message DeleteCloudBackupAction { + // Cloud project ID, e.g. "spanner-cloud-systest". + string project_id = 1; + + // Cloud instance ID (not path), e.g. "test-instance". + string instance_id = 2; + + // The id of the backup to delete, e.g. "test-backup". + string backup_id = 3; +} + +// Action that lists Cloud Spanner database backups. +message ListCloudBackupsAction { + // Cloud project ID, e.g. "spanner-cloud-systest". + string project_id = 1; + + // Cloud instance ID (not path) to list backups from, e.g. "test-instance". + string instance_id = 2; + + // A filter expression that filters backups listed in the response. + // The expression must specify the field name, a comparison operator, + // and the value that you want to use for filtering. + // Refer backup.proto.ListBackupsRequest for detail. + string filter = 3; + + // Number of backups to be returned in the response. If 0 or + // less, defaults to the server's maximum allowed page size. + int32 page_size = 4; + + // If non-empty, "page_token" should contain a next_page_token + // from a previous ListBackupsResponse to the same "parent" + // and with the same "filter". + string page_token = 5; +} + +// Action that lists Cloud Spanner database backup operations. +message ListCloudBackupOperationsAction { + // Cloud project ID, e.g. "spanner-cloud-systest". + string project_id = 1; + + // Cloud instance ID (not path) to list backup operations from, + // e.g. "test-instance". + string instance_id = 2; + + // A filter expression that filters what operations are returned in the + // response. + // The expression must specify the field name, a comparison operator, + // and the value that you want to use for filtering. + // Refer backup.proto.ListBackupOperationsRequest for detail. + string filter = 3; + + // Number of backups to be returned in the response. If 0 or + // less, defaults to the server's maximum allowed page size. + int32 page_size = 4; + + // If non-empty, "page_token" should contain a next_page_token + // from a previous ListBackupOperationsResponse to the same "parent" + // and with the same "filter". + string page_token = 5; +} + +// Action that gets an operation. +message GetOperationAction { + // The name of the operation resource. + string operation = 1; +} + +// Action that cancels an operation. +message CancelOperationAction { + // The name of the operation resource to be cancelled. + string operation = 1; +} + +// Starts a batch read-only transaction in executor. Successful outcomes of this +// action will contain batch_txn_id--the identificator that can be used to start +// the same transaction in other Executors to parallelize partition processing. +// +// Example of a batch read flow: +// 1. Start batch transaction with a timestamp (StartBatchTransactionAction) +// 2. Generate database partitions for a read or query +// (GenerateDbPartitionsForReadAction/GenerateDbPartitionsForQueryAction) +// 3. Call ExecutePartitionAction for some or all partitions, process rows +// 4. Clean up the transaction (CloseBatchTransactionAction). +// +// More sophisticated example, with parallel processing: +// 1. Start batch transaction with a timestamp (StartBatchTransactionAction), +// note the returned BatchTransactionId +// 2. Generate database partitions for a read or query +// (GenerateDbPartitionsForReadAction/GenerateDbPartitionsForQueryAction) +// 3. Distribute the partitions over a pool of workers, along with the +// transaction ID. +// +// In each worker: +// 4-1. StartBatchTransactionAction with the given transaction ID +// 4-2. ExecutePartitionAction for each partition it got, process read results +// 4-3. Close (not cleanup) the transaction (CloseBatchTransactionAction). +// +// When all workers are done: +// 5. Cleanup the transaction (CloseBatchTransactionAction). This can be done +// either by the last worker to finish the job, or by the main Executor that +// initialized this transaction in the first place. It is also possible to clean +// it up with a brand new Executor -- just execute StartBatchTransactionAction +// with the ID, then clean it up right away. +// +// Cleaning up is optional, but recommended. +message StartBatchTransactionAction { + // To start a new transaction, specify an exact timestamp. Alternatively, an + // existing batch transaction ID can be used. Either one of two must be + // set. + oneof param { + // The exact timestamp to start the batch transaction. + google.protobuf.Timestamp batch_txn_time = 1; + + // ID of a batch read-only transaction. It can be used to start the same + // batch transaction on multiple executors and parallelize partition + // processing. + bytes tid = 2; + } + + // Database role to assume while performing this action. Setting the + // database_role will enforce additional role-based access checks on this + // action. + string cloud_database_role = 3; +} + +// Closes or cleans up the currently opened batch read-only transaction. +// +// Once a transaction is closed, the Executor can be disposed of or used to +// start start another transaction. Closing a batch transaction in one Executor +// doesn't affect the transaction's state in other Executors that also read from +// it. +// +// When a transaction is cleaned up, it becomes globally invalid. Cleaning up is +// optional, but recommended. +message CloseBatchTransactionAction { + // Indicates whether the transaction needs to be cleaned up. + bool cleanup = 1; +} + +// Generate database partitions for the given read. Successful outcomes will +// contain database partitions in the db_partition field. +message GenerateDbPartitionsForReadAction { + // Read to generate partitions for. + ReadAction read = 1; + + // Metadata related to the tables involved in the read. + repeated TableMetadata table = 2; + + // Desired size of data in each partition. Spanner doesn't guarantee to + // respect this value. + optional int64 desired_bytes_per_partition = 3; + + // If set, the desired max number of partitions. Spanner doesn't guarantee to + // respect this value. + optional int64 max_partition_count = 4; +} + +// Generate database partitions for the given query. Successful outcomes will +// contain database partitions in the db_partition field. +message GenerateDbPartitionsForQueryAction { + // Query to generate partitions for. + QueryAction query = 1; + + // Desired size of data in each partition. Spanner doesn't guarantee to + // respect this value. + optional int64 desired_bytes_per_partition = 2; +} + +// Identifies a database partition generated for a particular read or query. To +// read rows from the partition, use ExecutePartitionAction. +message BatchPartition { + // Serialized Partition instance. + bytes partition = 1; + + // The partition token decrypted from partition. + bytes partition_token = 2; + + // Table name is set iff the partition was generated for a read (as opposed to + // a query). + optional string table = 3; + + // Index name if the partition was generated for an index read. + optional string index = 4; +} + +// Performs a read or query for the given partitions. This action must be +// executed in the context of the same transaction that was used to generate +// given partitions. +message ExecutePartitionAction { + // Batch partition to execute on. + BatchPartition partition = 1; +} + +// Execute a change stream TVF query. +message ExecuteChangeStreamQuery { + // Name for this change stream. + string name = 1; + + // Specifies that records with commit_timestamp greater than or equal to + // start_time should be returned. + google.protobuf.Timestamp start_time = 2; + + // Specifies that records with commit_timestamp less than or equal to + // end_time should be returned. + optional google.protobuf.Timestamp end_time = 3; + + // Specifies which change stream partition to query, based on the content of + // child partitions records. + optional string partition_token = 4; + + // Read options for this change stream query. + repeated string read_options = 5; + + // Determines how frequently a heartbeat ChangeRecord will be returned in case + // there are no transactions committed in this partition, in milliseconds. + optional int32 heartbeat_milliseconds = 6; + + // Deadline for this change stream query, in seconds. + optional int64 deadline_seconds = 7; + + // Database role to assume while performing this action. This should only be + // set for cloud requests. Setting the database role will enforce additional + // role-based access checks on this action. + optional string cloud_database_role = 8; +} + +// SpannerActionOutcome defines a result of execution of a single SpannerAction. +message SpannerActionOutcome { + // If an outcome is split into multiple parts, status will be set only in the + // last part. + optional google.rpc.Status status = 1; + + // Transaction timestamp. It must be set for successful committed actions. + optional google.protobuf.Timestamp commit_time = 2; + + // Result of a ReadAction. This field must be set for ReadActions even if + // no rows were read. + optional ReadResult read_result = 3; + + // Result of a Query. This field must be set for Queries even if no rows were + // read. + optional QueryResult query_result = 4; + + // This bit indicates that Spanner has restarted the current transaction. It + // means that the client should replay all the reads and writes. + // Setting it to true is only valid in the context of a read-write + // transaction, as an outcome of a committing FinishTransactionAction. + optional bool transaction_restarted = 5; + + // In successful StartBatchTransactionAction outcomes, this contains the ID of + // the transaction. + optional bytes batch_txn_id = 6; + + // Generated database partitions (result of a + // GenetageDbPartitionsForReadAction/GenerateDbPartitionsForQueryAction). + repeated BatchPartition db_partition = 7; + + // Result of admin related actions. + optional AdminResult admin_result = 8; + + // Stores rows modified by query in single DML or batch DML action. + // In case of batch DML action, stores 0 as row count of errored DML query. + repeated int64 dml_rows_modified = 9; + + // Change stream records returned by a change stream query. + repeated ChangeStreamRecord change_stream_records = 10; +} + +// AdminResult contains admin action results, for database/backup/operation. +message AdminResult { + // Results of cloud backup related actions. + CloudBackupResponse backup_response = 1; + + // Results of operation related actions. + OperationResponse operation_response = 2; + + // Results of database related actions. + CloudDatabaseResponse database_response = 3; + + // Results of instance related actions. + CloudInstanceResponse instance_response = 4; + + // Results of instance config related actions. + CloudInstanceConfigResponse instance_config_response = 5; +} + +// CloudBackupResponse contains results returned by cloud backup related +// actions. +message CloudBackupResponse { + // List of backups returned by ListCloudBackupsAction. + repeated google.spanner.admin.database.v1.Backup listed_backups = 1; + + // List of operations returned by ListCloudBackupOperationsAction. + repeated google.longrunning.Operation listed_backup_operations = 2; + + // "next_page_token" can be sent in a subsequent list action + // to fetch more of the matching data. + string next_page_token = 3; + + // Backup returned by GetCloudBackupAction/UpdateCloudBackupAction. + google.spanner.admin.database.v1.Backup backup = 4; +} + +// OperationResponse contains results returned by operation related actions. +message OperationResponse { + // List of operations returned by ListOperationsAction. + repeated google.longrunning.Operation listed_operations = 1; + + // "next_page_token" can be sent in a subsequent list action + // to fetch more of the matching data. + string next_page_token = 2; + + // Operation returned by GetOperationAction. + google.longrunning.Operation operation = 3; +} + +// CloudInstanceResponse contains results returned by cloud instance related +// actions. +message CloudInstanceResponse { + // List of instances returned by ListCloudInstancesAction. + repeated google.spanner.admin.instance.v1.Instance listed_instances = 1; + + // "next_page_token" can be sent in a subsequent list action + // to fetch more of the matching data. + string next_page_token = 2; + + // Instance returned by GetCloudInstanceAction + google.spanner.admin.instance.v1.Instance instance = 3; +} + +// CloudInstanceConfigResponse contains results returned by cloud instance +// config related actions. +message CloudInstanceConfigResponse { + // List of instance configs returned by ListCloudInstanceConfigsAction. + repeated google.spanner.admin.instance.v1.InstanceConfig + listed_instance_configs = 1; + + // "next_page_token" can be sent in a subsequent list action + // to fetch more of the matching data. + string next_page_token = 2; + + // Instance config returned by GetCloudInstanceConfigAction. + google.spanner.admin.instance.v1.InstanceConfig instance_config = 3; +} + +// CloudDatabaseResponse contains results returned by cloud database related +// actions. +message CloudDatabaseResponse { + // List of databases returned by ListCloudDatabasesAction. + repeated google.spanner.admin.database.v1.Database listed_databases = 1; + + // List of operations returned by ListCloudDatabaseOperationsAction. + repeated google.longrunning.Operation listed_database_operations = 2; + + // "next_page_token" can be sent in a subsequent list action + // to fetch more of the matching data. + string next_page_token = 3; + + // Database returned by GetCloudDatabaseAction + google.spanner.admin.database.v1.Database database = 4; +} + +// ReadResult contains rows read. +message ReadResult { + // Table name. + string table = 1; + + // Index name, if read from an index. + optional string index = 2; + + // Request index (multiread only). + optional int32 request_index = 3; + + // Rows read. Each row is a struct with multiple fields, one for each column + // in read result. All rows have the same type. + repeated ValueList row = 4; + + // The type of rows read. It must be set if at least one row was read. + optional google.spanner.v1.StructType row_type = 5; +} + +// QueryResult contains result of a Query. +message QueryResult { + // Rows read. Each row is a struct with multiple fields, one for each column + // in read result. All rows have the same type. + repeated ValueList row = 1; + + // The type of rows read. It must be set if at least one row was read. + optional google.spanner.v1.StructType row_type = 2; +} + +// Raw ChangeStream records. +// Encodes one of: DataChangeRecord, HeartbeatRecord, ChildPartitionsRecord +// returned from the ChangeStream API. +message ChangeStreamRecord { + // Record represents one type of the change stream record. + oneof record { + // Data change record. + DataChangeRecord data_change = 1; + + // Child partitions record. + ChildPartitionsRecord child_partition = 2; + + // Heartbeat record. + HeartbeatRecord heartbeat = 3; + } +} + +// ChangeStream data change record. +message DataChangeRecord { + // Column types. + message ColumnType { + // Column name. + string name = 1; + + // Column type in JSON. + string type = 2; + + // Whether the column is a primary key column. + bool is_primary_key = 3; + + // The position of the column as defined in the schema. + int64 ordinal_position = 4; + } + + // Describes the changes that were made. + message Mod { + // The primary key values in JSON. + string keys = 1; + + // The new values of the changed columns in JSON. Only contain the non-key + // columns. + string new_values = 2; + + // The old values of the changed columns in JSON. Only contain the non-key + // columns. + string old_values = 3; + } + + // The timestamp in which the change was committed. + google.protobuf.Timestamp commit_time = 1; + + // The sequence number for the record within the transaction. + string record_sequence = 2; + + // A globally unique string that represents the transaction in which the + // change was committed. + string transaction_id = 3; + + // Indicates whether this is the last record for a transaction in the current + // partition. + bool is_last_record = 4; + + // Name of the table affected by the change. + string table = 5; + + // Column types defined in the schema. + repeated ColumnType column_types = 6; + + // Changes made in the transaction. + repeated Mod mods = 7; + + // Describes the type of change. One of INSERT, UPDATE or DELETE. + string mod_type = 8; + + // One of value capture type: NEW_VALUES, OLD_VALUES, OLD_AND_NEW_VALUES. + string value_capture_type = 9; + + // Number of records in transactions. + int64 record_count = 10; + + // Number of partitions in transactions. + int64 partition_count = 11; + + // Transaction tag info. + string transaction_tag = 12; + + // Whether the transaction is a system transactionn. + bool is_system_transaction = 13; +} + +// ChangeStream child partition record. +message ChildPartitionsRecord { + // A single child partition. + message ChildPartition { + // Partition token string used to identify the child partition in queries. + string token = 1; + + // Parent partition tokens of this child partition. + repeated string parent_partition_tokens = 2; + } + + // Data change records returned from child partitions in this child partitions + // record will have a commit timestamp greater than or equal to start_time. + google.protobuf.Timestamp start_time = 1; + + // A monotonically increasing sequence number that can be used to define the + // ordering of the child partitions record when there are multiple child + // partitions records returned with the same start_time in a particular + // partition. + string record_sequence = 2; + + // A set of child partitions and their associated information. + repeated ChildPartition child_partitions = 3; +} + +// ChangeStream heartbeat record. +message HeartbeatRecord { + // Timestamp for this heartbeat check. + google.protobuf.Timestamp heartbeat_time = 1; +} diff --git a/third_party/googleapis/google/spanner/executor/v1/spanner_cloud_executor.yaml b/third_party/googleapis/google/spanner/executor/v1/spanner_cloud_executor.yaml new file mode 100644 index 000000000..e96be6b92 --- /dev/null +++ b/third_party/googleapis/google/spanner/executor/v1/spanner_cloud_executor.yaml @@ -0,0 +1,24 @@ +type: google.api.Service +config_version: 3 +name: spanner-cloud-executor.googleapis.com +title: Cloud Spanner Executor test API + +apis: +- name: google.spanner.executor.v1.SpannerExecutorProxy + +documentation: + summary: |- + Stop. This folder is likely not what you are looking for. + + This folder contains protocol buffer definitions for test-only API for + Cloud Spanner clients. Unless told otherwise by a Google Cloud + representative, do not use any of the contents of this folder. If you + would like to use Cloud Spanner, please consult our [official + documentation](https://cloud.google.com/spanner/docs/apis) for details on + our APIs, or else consider one of our + [client + libraries](https://cloud.google.com/spanner/docs/reference/libraries). + + This API defined in this folder is unreleased and may shut off, break, or + fail at any time for any users who are not registered as a part of a + private preview program. diff --git a/third_party/googleapis/google/spanner/executor/v1/spanner_cloud_executor_grpc_service_config.json b/third_party/googleapis/google/spanner/executor/v1/spanner_cloud_executor_grpc_service_config.json new file mode 100644 index 000000000..2257b454e --- /dev/null +++ b/third_party/googleapis/google/spanner/executor/v1/spanner_cloud_executor_grpc_service_config.json @@ -0,0 +1,3 @@ +{ + "methodConfig": [] +} \ No newline at end of file diff --git a/third_party/googleapis/google/spanner/executor/v1/spanner_executor_gapic.yaml b/third_party/googleapis/google/spanner/executor/v1/spanner_executor_gapic.yaml new file mode 100644 index 000000000..a5d1ebc5d --- /dev/null +++ b/third_party/googleapis/google/spanner/executor/v1/spanner_executor_gapic.yaml @@ -0,0 +1,6 @@ +type: com.google.api.codegen.ConfigProto +config_schema_version: 2.0.0 +language_settings: + java: + package_name: com.google.cloud.spanner.executor.v1 + release_level: GA diff --git a/third_party/googleapis/google/storage/control/v2/BUILD.bazel b/third_party/googleapis/google/storage/control/v2/BUILD.bazel new file mode 100644 index 000000000..c865933e8 --- /dev/null +++ b/third_party/googleapis/google/storage/control/v2/BUILD.bazel @@ -0,0 +1,382 @@ +# 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 = "control_proto", + srcs = [ + "storage_control.proto", + ], + deps = [ + "//google/api:client_proto", + "//google/api:field_behavior_proto", + "//google/api:field_info_proto", + "//google/api:resource_proto", + "//google/api:routing_proto", + "//google/longrunning:operations_proto", + "@com_google_protobuf//:empty_proto", + "@com_google_protobuf//:timestamp_proto", + ], +) + +proto_library_with_info( + name = "control_proto_with_info", + deps = [ + ":control_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 = "control_java_proto", + deps = [":control_proto"], +) + +java_grpc_library( + name = "control_java_grpc", + srcs = [":control_proto"], + deps = [":control_java_proto"], +) + +java_gapic_library( + name = "control_java_gapic", + srcs = [":control_proto_with_info"], + gapic_yaml = None, + grpc_service_config = "storage_control_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "storage_v2.yaml", + test_deps = [ + ":control_java_grpc", + ], + transport = "grpc", + deps = [ + ":control_java_proto", + "//google/api:api_java_proto", + ], +) + +java_gapic_test( + name = "control_java_gapic_test_suite", + test_classes = [ + "com.google.storage.control.v2.StorageControlClientTest", + ], + runtime_deps = [":control_java_gapic_test"], +) + +# Open Source Packages +java_gapic_assembly_gradle_pkg( + name = "google-cloud-storage-control-v2-java", + include_samples = True, + transport = "grpc", + deps = [ + ":control_java_gapic", + ":control_java_grpc", + ":control_java_proto", + ":control_proto", + ], +) + +# Other than Java, the build target for all other languages are commented out. + +############################################################################### +## Go +############################################################################### +#load( +# "@com_google_googleapis_imports//:imports.bzl", +# "go_gapic_assembly_pkg", +# "go_gapic_library", +# "go_proto_library", +#) +# +#go_proto_library( +# name = "control_go_proto", +# compilers = ["@io_bazel_rules_go//proto:go_grpc"], +# importpath = "cloud.google.com/go/storage/control/apiv2/storagecontrolpb", +# protos = [":control_proto"], +# deps = [ +# "//google/api:annotations_go_proto", +# "//google/longrunning:longrunning_go_proto", +# ], +#) +# +#go_gapic_library( +# name = "control_go_gapic", +# srcs = [":control_proto_with_info"], +# grpc_service_config = "storage_control_grpc_service_config.json", +# importpath = "cloud.google.com/go/storage/control/apiv2;storagecontrol", +# metadata = True, +# release_level = "beta", +# rest_numeric_enums = True, +# service_yaml = "storage_v2.yaml", +# transport = "grpc", +# deps = [ +# ":control_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-storage-control-v2-go", +# deps = [ +# ":control_go_gapic", +# ":control_go_gapic_srcjar-test.srcjar", +# ":control_go_gapic_srcjar-metadata.srcjar", +# ":control_go_gapic_srcjar-snippets.srcjar", +# ":control_go_proto", +# ], +#) +# +############################################################################### +## Python +############################################################################### +#load( +# "@com_google_googleapis_imports//:imports.bzl", +# "py_gapic_assembly_pkg", +# "py_gapic_library", +# "py_test", +#) +# +#py_gapic_library( +# name = "control_py_gapic", +# srcs = [":control_proto"], +# grpc_service_config = "storage_control_grpc_service_config.json", +# rest_numeric_enums = True, +# service_yaml = "storage_v2.yaml", +# transport = "grpc", +# deps = [ +# +# ], +#) +# +#py_test( +# name = "control_py_gapic_test", +# srcs = [ +# "control_py_gapic_pytest.py", +# "control_py_gapic_test.py", +# ], +# legacy_create_init = False, +# deps = [":control_py_gapic"], +#) +# +## Open Source Packages +#py_gapic_assembly_pkg( +# name = "storage-control-v2-py", +# deps = [ +# ":control_py_gapic", +# ], +#) +# +############################################################################### +## PHP +############################################################################### +#load( +# "@com_google_googleapis_imports//:imports.bzl", +# "php_gapic_assembly_pkg", +# "php_gapic_library", +# "php_proto_library", +#) +# +#php_proto_library( +# name = "control_php_proto", +# deps = [":control_proto"], +#) +# +#php_gapic_library( +# name = "control_php_gapic", +# srcs = [":control_proto_with_info"], +# grpc_service_config = "storage_control_grpc_service_config.json", +# rest_numeric_enums = True, +# migration_mode = "NEW_SURFACE_ONLY", +# service_yaml = "storage_v2.yaml", +# transport = "grpc", +# deps = [ +# ":control_php_proto", +# ], +#) +# +## Open Source Packages +#php_gapic_assembly_pkg( +# name = "google-cloud-storage-control-v2-php", +# deps = [ +# ":control_php_gapic", +# ":control_php_proto", +# ], +#) +# +############################################################################### +## Node.js +############################################################################### +#load( +# "@com_google_googleapis_imports//:imports.bzl", +# "nodejs_gapic_assembly_pkg", +# "nodejs_gapic_library", +#) +# +#nodejs_gapic_library( +# name = "control_nodejs_gapic", +# package_name = "@google-cloud/control", +# src = ":control_proto_with_info", +# extra_protoc_parameters = ["metadata"], +# grpc_service_config = "storage_control_grpc_service_config.json", +# package = "google.storage.control.v2", +# rest_numeric_enums = True, +# service_yaml = "storage_v2.yaml", +# transport = "grpc", +# deps = [], +#) +# +#nodejs_gapic_assembly_pkg( +# name = "storage-control-v2-nodejs", +# deps = [ +# ":control_nodejs_gapic", +# ":control_proto", +# ], +#) +# +############################################################################### +## Ruby +############################################################################### +#load( +# "@com_google_googleapis_imports//:imports.bzl", +# "ruby_gapic_assembly_pkg", +# "ruby_cloud_gapic_library", +# "ruby_grpc_library", +# "ruby_proto_library", +#) +# +#ruby_proto_library( +# name = "control_ruby_proto", +# deps = [":control_proto"], +#) +# +#ruby_grpc_library( +# name = "control_ruby_grpc", +# srcs = [":control_proto"], +# deps = [":control_ruby_proto"], +#) +# +#ruby_cloud_gapic_library( +# name = "control_ruby_gapic", +# srcs = [":control_proto_with_info"], +# extra_protoc_parameters = [ +# "ruby-cloud-gem-name=google-cloud-storage-control-v2", +# ], +# grpc_service_config = "storage_control_grpc_service_config.json", +# rest_numeric_enums = True, +# service_yaml = "storage_v2.yaml", +# transport = "grpc", +# deps = [ +# ":control_ruby_grpc", +# ":control_ruby_proto", +# ], +#) +# +## Open Source Packages +#ruby_gapic_assembly_pkg( +# name = "google-cloud-storage-control-v2-ruby", +# deps = [ +# ":control_ruby_gapic", +# ":control_ruby_grpc", +# ":control_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 = "control_csharp_proto", +# extra_opts = [], +# deps = [":control_proto"], +#) +# +#csharp_grpc_library( +# name = "control_csharp_grpc", +# srcs = [":control_proto"], +# deps = [":control_csharp_proto"], +#) +# +#csharp_gapic_library( +# name = "control_csharp_gapic", +# srcs = [":control_proto_with_info"], +# common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json", +# grpc_service_config = "storage_control_grpc_service_config.json", +# rest_numeric_enums = True, +# service_yaml = "storage_v2.yaml", +# transport = "grpc", +# deps = [ +# ":control_csharp_grpc", +# ":control_csharp_proto", +# ], +#) +# +## Open Source Packages +#csharp_gapic_assembly_pkg( +# name = "google-cloud-storage-control-v2-csharp", +# deps = [ +# ":control_csharp_gapic", +# ":control_csharp_grpc", +# ":control_csharp_proto", +# ], +#) +# +############################################################################## +# C++ +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "cc_grpc_library", + "cc_proto_library", +) + +cc_proto_library( + name = "control_cc_proto", + deps = [":control_proto"], +) + +cc_grpc_library( + name = "control_cc_grpc", + srcs = [":control_proto"], + grpc_only = True, + deps = [":control_cc_proto"], +) + diff --git a/third_party/googleapis/google/storage/control/v2/storage_control.proto b/third_party/googleapis/google/storage/control/v2/storage_control.proto new file mode 100644 index 000000000..65a01f390 --- /dev/null +++ b/third_party/googleapis/google/storage/control/v2/storage_control.proto @@ -0,0 +1,427 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.storage.control.v2; + +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/field_info.proto"; +import "google/api/resource.proto"; +import "google/api/routing.proto"; +import "google/longrunning/operations.proto"; +import "google/protobuf/empty.proto"; +import "google/protobuf/timestamp.proto"; + +option go_package = "cloud.google.com/go/storage/control/apiv2/storagecontrolpb;storagecontrolpb"; +option java_multiple_files = true; +option java_outer_classname = "StorageControlProto"; +option java_package = "com.google.storage.control.v2"; +option (google.api.resource_definition) = { + type: "storage.googleapis.com/Bucket" + pattern: "projects/{project}/buckets/{bucket}" +}; + +// StorageControl service includes selected control plane operations. +service StorageControl { + option (google.api.default_host) = "storage.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform," + "https://www.googleapis.com/auth/cloud-platform.read-only," + "https://www.googleapis.com/auth/devstorage.full_control," + "https://www.googleapis.com/auth/devstorage.read_only," + "https://www.googleapis.com/auth/devstorage.read_write"; + + // Creates a new folder. + rpc CreateFolder(CreateFolderRequest) returns (Folder) { + option (google.api.routing) = { + routing_parameters { field: "parent" path_template: "{bucket=**}" } + }; + option (google.api.method_signature) = "parent,folder,folder_id"; + } + + // Permanently deletes an empty folder. + rpc DeleteFolder(DeleteFolderRequest) returns (google.protobuf.Empty) { + option (google.api.routing) = { + routing_parameters { + field: "name" + path_template: "{bucket=projects/*/buckets/*}/**" + } + }; + option (google.api.method_signature) = "name"; + } + + // Returns metadata for the specified folder. + rpc GetFolder(GetFolderRequest) returns (Folder) { + option (google.api.routing) = { + routing_parameters { + field: "name" + path_template: "{bucket=projects/*/buckets/*}/**" + } + }; + option (google.api.method_signature) = "name"; + } + + // Retrieves a list of folders for a given bucket. + rpc ListFolders(ListFoldersRequest) returns (ListFoldersResponse) { + option (google.api.routing) = { + routing_parameters { field: "parent" path_template: "{bucket=**}" } + }; + option (google.api.method_signature) = "parent"; + } + + // Renames a source folder to a destination folder. During a rename, the + // source and destination folders are locked until the long running operation + // completes. + rpc RenameFolder(RenameFolderRequest) returns (google.longrunning.Operation) { + option (google.api.routing) = { + routing_parameters { + field: "name" + path_template: "{bucket=projects/*/buckets/*}/**" + } + }; + option (google.api.method_signature) = "name,destination_folder_id"; + option (google.longrunning.operation_info) = { + response_type: "Folder" + metadata_type: "RenameFolderMetadata" + }; + } + + // Returns the storage layout configuration for a given bucket. + rpc GetStorageLayout(GetStorageLayoutRequest) returns (StorageLayout) { + option (google.api.routing) = { + routing_parameters { + field: "name" + path_template: "{bucket=projects/*/buckets/*}/**" + } + }; + option (google.api.method_signature) = "name"; + } +} + +// Contains information about a pending rename operation. +message PendingRenameInfo { + // Output only. The name of the rename operation. + string operation = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// A folder. +message Folder { + option (google.api.resource) = { + type: "storage.googleapis.com/Folder" + pattern: "projects/{project}/buckets/{bucket}/folders/{folder=**}" + plural: "folders" + singular: "folder" + }; + + // Identifier. The name of this folder. + // Format: `projects/{project}/buckets/{bucket}/folders/{folder}` + string name = 1 [(google.api.field_behavior) = IDENTIFIER]; + + // Output only. The version of the metadata for this folder. Used for + // preconditions and for detecting changes in metadata. + int64 metageneration = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The creation time of the folder. + google.protobuf.Timestamp create_time = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The modification time of the folder. + google.protobuf.Timestamp update_time = 5 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Only present if the folder is part of an ongoing RenameFolder + // operation. Contains information which can be used to query the operation + // status. The presence of this field also indicates all write operations are + // blocked for this folder, including folder, managed folder, and object + // operations. + PendingRenameInfo pending_rename_info = 7 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Request message for GetFolder. +message GetFolderRequest { + // Required. Name of the folder. + // Format: `projects/{project}/buckets/{bucket}/folders/{folder}` + string name = 6 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { type: "storage.googleapis.com/Folder" } + ]; + + // Makes the operation only succeed conditional on whether the folder's + // current metageneration matches the given value. + optional int64 if_metageneration_match = 3; + + // Makes the operation only succeed conditional on whether the folder's + // current metageneration does not match the given value. + optional int64 if_metageneration_not_match = 4; + + // Optional. A unique identifier for this request. UUID is the recommended + // format, but other formats are still accepted. + string request_id = 5 [ + (google.api.field_info).format = UUID4, + (google.api.field_behavior) = OPTIONAL + ]; +} + +// Request message for CreateFolder. +message CreateFolderRequest { + // Required. Name of the bucket in which the folder will reside. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "storage.googleapis.com/Folder" + } + ]; + + // Required. Properties of the new folder being created. + // The bucket and name of the folder are specified in the parent and folder_id + // fields, respectively. Populating those fields in `folder` will result in an + // error. + Folder folder = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The absolute path of the folder, using a single `/` as delimiter. + string folder_id = 3 [(google.api.field_behavior) = REQUIRED]; + + // Optional. If true, parent folder doesn't have to be present and all missing + // ancestor folders will be created atomically. + bool recursive = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A unique identifier for this request. UUID is the recommended + // format, but other formats are still accepted. This request is only + // idempotent if a `request_id` is provided. + string request_id = 5 [ + (google.api.field_info).format = UUID4, + (google.api.field_behavior) = OPTIONAL + ]; +} + +// Request message for DeleteFolder. +message DeleteFolderRequest { + // Required. Name of the folder. + // Format: `projects/{project}/buckets/{bucket}/folders/{folder}` + string name = 6 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { type: "storage.googleapis.com/Folder" } + ]; + + // Makes the operation only succeed conditional on whether the folder's + // current metageneration matches the given value. + optional int64 if_metageneration_match = 3; + + // Makes the operation only succeed conditional on whether the folder's + // current metageneration does not match the given value. + optional int64 if_metageneration_not_match = 4; + + // Optional. A unique identifier for this request. UUID is the recommended + // format, but other formats are still accepted. This request is only + // idempotent if a `request_id` is provided. + string request_id = 5 [ + (google.api.field_info).format = UUID4, + (google.api.field_behavior) = OPTIONAL + ]; +} + +// Request message for ListFolders. +message ListFoldersRequest { + // Required. Name of the bucket in which to look for folders. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "storage.googleapis.com/Folder" + } + ]; + + // Optional. Maximum number of folders to return in a single response. The + // service will use this parameter or 1,000 items, whichever is smaller. + int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A previously-returned page token representing part of the larger + // set of results to view. + string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Filter results to folders whose names begin with this prefix. + // If set, the value must either be an empty string or end with a '/'. + string prefix = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. If set, returns results in a directory-like mode. The results + // will only include folders that either exactly match the above prefix, or + // are one level below the prefix. The only supported value is '/'. + string delimiter = 8 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Filter results to folders whose names are lexicographically equal + // to or after lexicographic_start. If lexicographic_end is also set, the + // folders listed have names between lexicographic_start (inclusive) and + // lexicographic_end (exclusive). + string lexicographic_start = 6 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Filter results to folders whose names are lexicographically + // before lexicographic_end. If lexicographic_start is also set, the folders + // listed have names between lexicographic_start (inclusive) and + // lexicographic_end (exclusive). + string lexicographic_end = 7 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A unique identifier for this request. UUID is the recommended + // format, but other formats are still accepted. + string request_id = 9 [ + (google.api.field_info).format = UUID4, + (google.api.field_behavior) = OPTIONAL + ]; +} + +// Response message for ListFolders. +message ListFoldersResponse { + // The list of child folders + repeated Folder folders = 1; + + // The continuation token, used to page through large result sets. Provide + // this value in a subsequent request to return the next page of results. + string next_page_token = 2; +} + +// Request message for RenameFolder. +message RenameFolderRequest { + // Required. Name of the source folder being renamed. + // Format: `projects/{project}/buckets/{bucket}/folders/{folder}` + string name = 7 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { type: "storage.googleapis.com/Folder" } + ]; + + // Required. The destination folder ID, e.g. `foo/bar/`. + string destination_folder_id = 8 [(google.api.field_behavior) = REQUIRED]; + + // Makes the operation only succeed conditional on whether the source + // folder's current metageneration matches the given value. + optional int64 if_metageneration_match = 4; + + // Makes the operation only succeed conditional on whether the source + // folder's current metageneration does not match the given value. + optional int64 if_metageneration_not_match = 5; + + // Optional. A unique identifier for this request. UUID is the recommended + // format, but other formats are still accepted. This request is only + // idempotent if a `request_id` is provided. + string request_id = 6 [ + (google.api.field_info).format = UUID4, + (google.api.field_behavior) = OPTIONAL + ]; +} + +// The message contains metadata that is common to all Storage Control +// long-running operations, present in its `google.longrunning.Operation` +// messages, and accessible via `metadata.common_metadata`. +message CommonLongRunningOperationMetadata { + // 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. The time the operation was last modified. + google.protobuf.Timestamp update_time = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The type of operation invoked. + string type = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Identifies whether the user has requested cancellation. + bool requested_cancellation = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The estimated progress of the operation in percentage [0, + // 100]. The value -1 means the progress is unknown. + int32 progress_percent = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Message returned in the metadata field of the Operation resource for +// RenameFolder operations. +message RenameFolderMetadata { + // Generic metadata for the long running operation. + CommonLongRunningOperationMetadata common_metadata = 1; + + // The path of the source folder. + string source_folder_id = 2; + + // The path of the destination folder. + string destination_folder_id = 3; +} + +// The storage layout configuration of a bucket. +message StorageLayout { + option (google.api.resource) = { + type: "storage.googleapis.com/StorageLayout" + pattern: "projects/{project}/buckets/{bucket}/storageLayout" + }; + + // Configuration for Custom Dual Regions. It should specify precisely two + // eligible regions within the same Multiregion. More information on regions + // may be found [https://cloud.google.com/storage/docs/locations][here]. + message CustomPlacementConfig { + // List of locations to use for data placement. + repeated string data_locations = 1; + } + + // Configuration for a bucket's hierarchical namespace feature. + message HierarchicalNamespace { + // Enables the hierarchical namespace feature. + bool enabled = 1; + } + + // Output only. The name of the StorageLayout resource. + // Format: `projects/{project}/buckets/{bucket}/storageLayout` + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The location of the bucket. + string location = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The location type of the bucket (region, dual-region, + // multi-region, etc). + string location_type = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The data placement configuration for custom dual region. If + // there is no configuration, this is not a custom dual region bucket. + CustomPlacementConfig custom_placement_config = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The bucket's hierarchical namespace configuration. If there is + // no configuration, the hierarchical namespace is disabled. + HierarchicalNamespace hierarchical_namespace = 5 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Request message for GetStorageLayout. +message GetStorageLayoutRequest { + // Required. The name of the StorageLayout resource. + // Format: `projects/{project}/buckets/{bucket}/storageLayout` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "storage.googleapis.com/StorageLayout" + } + ]; + + // An optional prefix used for permission check. It is useful when the caller + // only has limited permissions under a specific prefix. + string prefix = 2; + + // Optional. A unique identifier for this request. UUID is the recommended + // format, but other formats are still accepted. + string request_id = 3 [ + (google.api.field_info).format = UUID4, + (google.api.field_behavior) = OPTIONAL + ]; +} diff --git a/third_party/googleapis/google/storage/control/v2/storage_control_grpc_service_config.json b/third_party/googleapis/google/storage/control/v2/storage_control_grpc_service_config.json new file mode 100644 index 000000000..024ce0f87 --- /dev/null +++ b/third_party/googleapis/google/storage/control/v2/storage_control_grpc_service_config.json @@ -0,0 +1,49 @@ +{ + "methodConfig": [ + { + "name": [ + { + "service": "google.longrunning.Operations" + }, + { + "service": "google.storage.control.v2.StorageControl", + "method": "GetFolder" + }, + { + "service": "google.storage.control.v2.StorageControl", + "method": "ListFolders" + }, + { + "service": "google.storage.control.v2.StorageControl", + "method": "GetStorageLayout" + }, + { + "service": "google.storage.control.v2.StorageControl", + "method": "RenameFolder" + } + ], + "timeout": "60s", + "retryPolicy": { + "maxAttempts": 5, + "initialBackoff": "1s", + "maxBackoff": "60s", + "backoffMultiplier": 2, + "retryableStatusCodes": [ + "RESOURCE_EXHAUSTED", + "UNAVAILABLE", + "DEADLINE_EXCEEDED", + "INTERNAL", + "UNKNOWN" + ] + } + }, + { + "name": [ + { + "service": "google.storage.control.v2.StorageControl" + } + ], + "timeout": "60s" + } + ] +} diff --git a/third_party/googleapis/google/storage/control/v2/storage_v2.yaml b/third_party/googleapis/google/storage/control/v2/storage_v2.yaml new file mode 100644 index 000000000..b84566987 --- /dev/null +++ b/third_party/googleapis/google/storage/control/v2/storage_v2.yaml @@ -0,0 +1,73 @@ +type: google.api.Service +config_version: 3 +name: storage.googleapis.com +title: Cloud Storage API + +apis: +- name: google.longrunning.Operations +- name: google.storage.control.v2.StorageControl + +types: +- name: google.storage.control.v2.CommonLongRunningOperationMetadata +- name: google.storage.control.v2.RenameFolderMetadata + +documentation: + summary: 'Lets you store and retrieve potentially-large, immutable data objects.' + overview: |- + The Google Cloud Storage API allows applications to read and write data + through the abstractions of buckets and objects, which are similar to + directories and files except that buckets cannot contain other buckets, + and directory-level operations (like directory rename) are not supported. + Buckets share a single global namespace, and each bucket belongs to a + specific project that has an associated owner that pays for the data + stored in the bucket. This API is accessed using standard gRPC requests. + +authentication: + rules: + - selector: 'google.longrunning.Operations.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/cloud-platform.read-only, + https://www.googleapis.com/auth/devstorage.full_control, + https://www.googleapis.com/auth/devstorage.read_only, + https://www.googleapis.com/auth/devstorage.read_write + - selector: 'google.storage.control.v2.StorageControl.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/cloud-platform.read-only, + https://www.googleapis.com/auth/devstorage.full_control, + https://www.googleapis.com/auth/devstorage.read_only, + https://www.googleapis.com/auth/devstorage.read_write + +publishing: + method_settings: + - selector: google.storage.control.v2.StorageControl.CreateFolder + auto_populated_fields: + - request_id + - selector: google.storage.control.v2.StorageControl.DeleteFolder + auto_populated_fields: + - request_id + - selector: google.storage.control.v2.StorageControl.GetFolder + auto_populated_fields: + - request_id + - selector: google.storage.control.v2.StorageControl.RenameFolder + auto_populated_fields: + - request_id + - selector: google.storage.control.v2.StorageControl.GetStorageLayout + auto_populated_fields: + - request_id + new_issue_uri: https://issuetracker.google.com/issues/new?component=187243&template=1162869 + documentation_uri: https://cloud.google.com/storage/docs/overview + api_short_name: storage + github_label: 'api: storage' + doc_tag_prefix: storage + organization: CLOUD + library_settings: + - version: google.cloud.storage.control.v2 + launch_stage: ALPHA + java_settings: + common: + destinations: + - PACKAGE_MANAGER diff --git a/third_party/googleapis/google/storage/v1/README.md b/third_party/googleapis/google/storage/v1/README.md new file mode 100644 index 000000000..599906587 --- /dev/null +++ b/third_party/googleapis/google/storage/v1/README.md @@ -0,0 +1,6 @@ +# Google Cloud Storage Audit Logs + +This is the specification for the v1 Google Cloud Storage package. It only +contains the message definitions needed by Cloud Audit Logging. The v1 gRPC +service no longer runs and instead Google Cloud Storage only supports v2 API +calls. You can learn more about that in the [google/storage/v2](../v2) package. diff --git a/third_party/googleapis/google/storage/v2/README.md b/third_party/googleapis/google/storage/v2/README.md new file mode 100644 index 000000000..86f10b361 --- /dev/null +++ b/third_party/googleapis/google/storage/v2/README.md @@ -0,0 +1,16 @@ +# Cloud Storage API + + +Stop. This folder is likely not what you are looking for. + +This folder contains protocol buffer definitions for an unreleased API for +accessing Cloud Storage. Unless told otherwise by a Google Cloud representative, +do not use any of the contents of this folder. If you would like to use Cloud +Storage, please consult our +[official documentation](https://cloud.google.com/storage/docs/apis) for details +on our XML and JSON APIs, or else consider one of our +[client libraries](https://cloud.google.com/storage/docs/reference/libraries). + +This API defined in this folder is unreleased and may shut off, break, or fail +at any time for any users who are not registered as a part of a private preview +program. diff --git a/third_party/googleapis/grafeas/v1/vex.proto b/third_party/googleapis/grafeas/v1/vex.proto new file mode 100644 index 000000000..ba53a8438 --- /dev/null +++ b/third_party/googleapis/grafeas/v1/vex.proto @@ -0,0 +1,203 @@ +// Copyright 2023 The Grafeas Authors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package grafeas.v1; + +import "grafeas/v1/common.proto"; + +option go_package = "google.golang.org/genproto/googleapis/grafeas/v1;grafeas"; +option java_multiple_files = true; +option java_package = "io.grafeas.v1"; +option objc_class_prefix = "GRA"; + +// A single VulnerabilityAssessmentNote represents +// one particular product's vulnerability assessment for one CVE. +message VulnerabilityAssessmentNote { + // The title of the note. E.g. `Vex-Debian-11.4` + string title = 1; + + // A one sentence description of this Vex. + string short_description = 2; + + // A detailed description of this Vex. + string long_description = 3; + + // Identifies the language used by this document, + // corresponding to IETF BCP 47 / RFC 5646. + string language_code = 4; + + // Publisher contains information about the publisher of + // this Note. + // (-- api-linter: core::0123::resource-annotation=disabled + // aip.dev/not-precedent: Publisher is not a separate resource. --) + message Publisher { + // Name of the publisher. + // Examples: 'Google', 'Google Cloud Platform'. + string name = 1; + + // Provides information about the authority of the issuing party to + // release the document, in particular, the party's constituency and + // responsibilities or other obligations. + string issuing_authority = 2; + + // The context or namespace. + // Contains a URL which is under control of the issuing party and can + // be used as a globally unique identifier for that issuing party. + // Example: https://csaf.io + string publisher_namespace = 3; + } + + // Publisher details of this Note. + Publisher publisher = 5; + + // Product contains information about a product and how to uniquely identify + // it. + // (-- api-linter: core::0123::resource-annotation=disabled + // aip.dev/not-precedent: Product is not a separate resource. --) + message Product { + // Name of the product. + string name = 1; + + // Token that identifies a product so that it can be referred to from other + // parts in the document. There is no predefined format as long as it + // uniquely identifies a group in the context of the current document. + string id = 2; + + oneof identifier { + // Contains a URI which is vendor-specific. + // Example: The artifact repository URL of an image. + string generic_uri = 3; + } + } + + // The product affected by this vex. + Product product = 6; + + // Assessment provides all information that is related to a single + // vulnerability for this product. + message Assessment { + // Holds the MITRE standard Common Vulnerabilities and Exposures (CVE) + // tracking number for the vulnerability. + string cve = 1; + + // A one sentence description of this Vex. + string short_description = 2; + + // A detailed description of this Vex. + string long_description = 3; + + // Holds a list of references associated with this vulnerability item and + // assessment. These uris have additional information about the + // vulnerability and the assessment itself. E.g. Link to a document which + // details how this assessment concluded the state of this vulnerability. + repeated grafeas.v1.RelatedUrl related_uris = 4; + + // Provides the state of this Vulnerability assessment. + enum State { + // No state is specified. + STATE_UNSPECIFIED = 0; + // This product is known to be affected by this vulnerability. + AFFECTED = 1; + // This product is known to be not affected by this vulnerability. + NOT_AFFECTED = 2; + // This product contains a fix for this vulnerability. + FIXED = 3; + // It is not known yet whether these versions are or are not affected + // by the vulnerability. However, it is still under investigation. + UNDER_INVESTIGATION = 4; + } + + // Provides the state of this Vulnerability assessment. + State state = 5; + + // Contains information about the impact of this vulnerability, + // this will change with time. + repeated string impacts = 6; + + // Justification provides the justification when the state of the + // assessment if NOT_AFFECTED. + message Justification { + // Provides the type of justification. + enum JustificationType { + // JUSTIFICATION_TYPE_UNSPECIFIED. + JUSTIFICATION_TYPE_UNSPECIFIED = 0; + // The vulnerable component is not present in the product. + COMPONENT_NOT_PRESENT = 1; + // The vulnerable code is not present. Typically this case + // occurs when source code is configured or built in a way that excludes + // the vulnerable code. + VULNERABLE_CODE_NOT_PRESENT = 2; + // The vulnerable code can not be executed. + // Typically this case occurs when the product includes the vulnerable + // code but does not call or use the vulnerable code. + VULNERABLE_CODE_NOT_IN_EXECUTE_PATH = 3; + // The vulnerable code cannot be controlled by an attacker to exploit + // the vulnerability. + VULNERABLE_CODE_CANNOT_BE_CONTROLLED_BY_ADVERSARY = 4; + // The product includes built-in protections or features that prevent + // exploitation of the vulnerability. These built-in protections cannot + // be subverted by the attacker and cannot be configured or disabled by + // the user. These mitigations completely prevent exploitation based on + // known attack vectors. + INLINE_MITIGATIONS_ALREADY_EXIST = 5; + } + + // The justification type for this vulnerability. + JustificationType justification_type = 1; + + // Additional details on why this justification was chosen. + string details = 2; + } + + // Justification provides the justification when the state of the + // assessment if NOT_AFFECTED. + Justification justification = 7; + + // Specifies details on how to handle (and presumably, fix) a vulnerability. + message Remediation { + // The type of remediation that can be applied. + enum RemediationType { + // No remediation type specified. + REMEDIATION_TYPE_UNSPECIFIED = 0; + // A MITIGATION is available. + MITIGATION = 1; + // No fix is planned. + NO_FIX_PLANNED = 2; + // Not available. + NONE_AVAILABLE = 3; + // A vendor fix is available. + VENDOR_FIX = 4; + // A workaround is available. + WORKAROUND = 5; + } + + // The type of remediation that can be applied. + RemediationType remediation_type = 1; + + // Contains a comprehensive human-readable discussion of the remediation. + string details = 2; + + // Contains the URL where to obtain the remediation. + grafeas.v1.RelatedUrl remediation_uri = 3; + } + + // Specifies details on how to handle (and presumably, fix) a vulnerability. + repeated Remediation remediations = 8; + } + + // Represents a vulnerability assessment for the product. + Assessment assessment = 7; +}